diff --git a/api/gloo/gloo/v1/enterprise/options/rbac/rbac.proto b/api/gloo/gloo/v1/enterprise/options/rbac/rbac.proto index 94fb59d9f..00354109c 100644 --- a/api/gloo/gloo/v1/enterprise/options/rbac/rbac.proto +++ b/api/gloo/gloo/v1/enterprise/options/rbac/rbac.proto @@ -61,6 +61,8 @@ message JWTPrincipal { BOOLEAN = 1; // The JWT claim value is a list that contains a string that exactly matches the value. LIST_CONTAINS = 2; + // The JWT claim value is a glob pattern that matches the value. + GLOB_MATCH = 3; } // The matcher to use when evaluating this principal. By default, exact string comparison (EXACT_STRING) is used. ClaimMatcher matcher = 3; diff --git a/api/gloo/graphql.gloo/v1beta1/graphql.proto b/api/gloo/graphql.gloo/v1beta1/graphql.proto index 69beb6729..736615c02 100644 --- a/api/gloo/graphql.gloo/v1beta1/graphql.proto +++ b/api/gloo/graphql.gloo/v1beta1/graphql.proto @@ -8,515 +8,137 @@ option java_package = "io.envoyproxy.envoy.config.filter.http.graphql.v2"; option java_outer_classname = "GraphQLFilterProto"; option java_multiple_files = true; +import "google/protobuf/struct.proto"; import "extproto/ext.proto"; option (extproto.equal_all) = true; option (extproto.hash_all) = true; option (extproto.clone_all) = true; import "github.com/solo-io/solo-kit/api/v1/solo-kit.proto"; -import "github.com/solo-io/solo-kit/api/v1/ref.proto"; - -import "validate/validate.proto"; - -import "google/protobuf/duration.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/struct.proto"; -import "google/protobuf/wrappers.proto"; -/** - Using `string` value templates - When defining resolutions, many instances allow you to use "templated strings", which are strings - with extra templating capabilities. The following rules must be followed when using a templated strings: - - templated values will be interpolated into the strings they are in - * e.g. if `$parent.token` is `ABDEFG`, "Bearer_{$parent.token}" may become "Bearer_ABCDEFG" - - templated values must start with `{$`, immediately preceded by - - `parent` for extracting a value from the parent object - - `args` for extracting a value from the graphql field arguments - - `headers` for extracting a value from the request headers. - - `headers` extractions can only have one value in the path to represent the header being extracted - - for other extractions, e.g. `parent` and `args`, a more complicated path can be used for extracting nested values - using the following rules: - - use `a.b` to extract key "b" from object "a" - - use `a[0]` to extract the 1st element in array "a" - - use `a[*].b` to extract key "b" from all objects in array "a" - - use `a[*]` to create a list of key-value pairs from object "a" - - use `a[*][0]` to create a list of all keys from object "a" - - use `a[*][1]` to create a list of all values from object "a" - */ - -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// Defines a configuration for generating outgoing requests for a resolver. +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message RequestTemplate { - // Use this attribute to set request headers to your REST service. It consists of a - // map of strings to templated value strings. The string key determines the name of the - // resulting header, the value provided will be the value. - // - // The least needed here is the ":method" and ":path" headers. - // for example, if a header is an authorization token, taken from the graphql args, - // we can use the following configuration: - // headers: - // Authorization: "Bearer {$args.token}" - map headers = 1; - - // Use this attribute to set query parameters to your REST service. It consists of a - // map of strings to templated value strings. The string key determines the name of the - // query param, the provided value will be the value. This value is appended to any - // value set to the :path header in `headers`. - // - // for example, if a query parameter is an id, taken from the graphql parent object, - // we can use the following configuration: - // queryParams: - // id: "{$parent.id}" - map query_params = 2; - - // Used to construct the outgoing body to the upstream from the - // graphql value providers. - // All string values can be templated strings. - google.protobuf.Value body = 3; + reserved 1, 2, 3; + reserved "headers", "query_params", "body"; } -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message ResponseTemplate { - /* - Sets the "root" of the upstream response to be turned into a graphql type by the graphql server. - For example, if the graphql type is: - - type Simple { - name String - } - - and the upstream response is `{"data": {"simple": {"name": "simple name"}}}`, - the graphql server will not be able to marshal the upstream response into the Simple graphql type - because it does not know where the relevant data is. If we set result_root to "data.simple", we can give the - graphql server a hint of where to look in the upstream response for the relevant data that graphql type wants. - */ - string result_root = 1; - - /* - Field-specific mapping for a graphql field to a JSON path in the upstream response. - For example, if the graphql type is: - - type Person { - firstname String - lastname String - fullname String - } - - and the upstream response is `{"firstname": "Joe", "details": {"lastname": "Smith"}}`, - the graphql server will not be able to marshal the upstream response into the Person graphql type because of the - nested `lastname` field. We can use a simple setter here: - - setters: - lastname: '{$body.details.lastname}' - fullname: '{$body.details.firstname} {$body.details.lastname}' - - and the graphql server will be able to extract data for a field given the path to the relevant data - in the upstream JSON response. We do not need to have a setter for the `firstname` field because the - JSON response has that field in a position the graphql server can understand automatically. - - So far only the $body keyword is supported, but in the future we may add support for others such as $headers. - */ - map setters = 2; + reserved 1, 2; + reserved "result_root", "setters"; } -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// Defines a configuration for generating outgoing requests for a resolver. +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message GrpcRequestTemplate { - // json representation of outgoing gRPC message to be sent to gRPC service - google.protobuf.Value outgoing_message_json = 1; - - // request has shape matching service with name registered in registry - // is the full_name(), e.g. main.Bookstore - string service_name = 2; - - // make request to method with this name on the grpc service defined above - // is just the name(), e.g. GetBook - string method_name = 3; - - // in the future, we may want to make this a map - // once we know better what the use cases are - map request_metadata = 4; + reserved 1, 2, 3, 4; + reserved "outgoing_message_json", "service_name", "method_name", "request_metadata"; } -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// control-plane API +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message RESTResolver { - core.solo.io.ResourceRef upstream_ref = 1; - // configuration used to compose the outgoing request to a REST API - RequestTemplate request = 2; - // configuration used to modify the response from the REST API - // before being handled by the graphql server. - ResponseTemplate response = 3; - string span_name = 4; - - // The timeout to use for this resolver. If unset, the upstream connection timeout - // or a default of 1 second will be used. - google.protobuf.Duration timeout = 5; + reserved 1, 2, 3, 4, 5; + reserved "upstream_ref", "request", "response", "span_name", "timeout"; } -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// Defines a configuration for serializing and deserializing requests for a gRPC resolver. -// Is a Schema Extension +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message GrpcDescriptorRegistry { + // DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message ProtoRefs { - // List of references to config maps that contain proto data for this resolver. - // For each of the config maps referenced here, they must contain keys in their data map with valid base64 encoded - // proto descriptor set binaries as the values. - // Also they must be in a namespace watched by gloo edge. - repeated core.solo.io.ResourceRef config_map_refs = 1; - } - oneof descriptor_set { - option (validate.required) = true; - - // Supplies the filename of - // the proto descriptor set for the gRPC - // services. - string proto_descriptor = 1; - - // Supplies the binary content of - // the proto descriptor set for the gRPC - // services. - // Note: in yaml, this must be provided as a base64 standard encoded string; yaml cannot handle binary bytes - bytes proto_descriptor_bin = 2; - - // Allows the user to put proto descriptor set binary content in configmaps; - // The descriptor set binary content in these config maps must be base64 encoded - // Generating the proto descriptor binary and base64 encoding it can be done using the following command - // `protoc ./your-proto-here.proto --proto_path . --descriptor_set_out="/dev/stdout" --include_imports | base64` - ProtoRefs proto_refs_list = 3; + reserved 1; + reserved "config_map_refs"; } + reserved 1, 2, 3; + reserved "proto_descriptor", "proto_descriptor_bin", "proto_refs_list"; } -// control-plane API +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message GrpcResolver { - core.solo.io.ResourceRef upstream_ref = 1; - // configuration used to compose the outgoing request to a REST API - GrpcRequestTemplate request_transform = 2; - // Unclear why 3 was skipped, but reserve it in case it was previously used and removed - reserved 3; - string span_name = 4; - - // The timeout to use for this resolver. If unset, the upstream connection timeout - // or a default of 1 second will be used. - google.protobuf.Duration timeout = 5; + reserved 1, 2, 3, 4, 5; + reserved "upstream_ref", "request_transform", "span_name", "timeout"; } -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message StitchedSchema { + // DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message SubschemaConfig { + // DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message TypeMergeConfig { - // This specifies one or more key fields required from other services to perform this query. - // Query planning will automatically resolve these fields from other subschemas in dependency order. - // This is a graphql selection set specified as a string - // e.g. '{ username }' - string selection_set = 1; - // specifies the root field from this subschema used to request the local type - string query_name = 2; - // this provides the schema stitching engine the format to turn the initial object representation - // to query arguments - // so if the GetUser query was defined as - // - // ```gql - // input UserSearch { - // username: String - // } - // - // type Query { - // GetUser(user_search: UserSearch): User - // } - // ``` - // we would want to set the user query argument with the correct username from an object. - // we can do that by setting the args as: - // ```yaml - // args: - // user_search.username: username - // ``` - // where `user_search.username` is the "setter" path that we are setting the argument input value at and - // `username` is the "extraction" path that we are extracting from an object, such as `{"username": "wpatel"}`. - - map args = 3; + reserved 1, 2, 3; + reserved "selection_set", "query_name", "args"; } - // name of the GraphQLApi subschema - string name = 1; - // namespace of the GraphQLApi subschema - string namespace = 2; - /* - Type merge configuration for this subschema. Let's say this subschema is a Users service schema - and provides the User type (with a query to fetch a user given the username) - - ```gql - type Query { - GetUser(username: String): User - } - type User { - username: String - firstName: String - lastName: String - } - ``` - - and another subschema, e.g. Reviews schema, may have a partial User type: - ```gql - type Review { - author: User - } - - type User { - username: String - } - ``` - We want to provide the relevant information from this Users service schema, - so that another API that can give us a partial User type (with the username) will then - be able to have access to the full user type. With the correct type merging config under the Users subschema, e.g.: - - ```yaml - type_merge: - User: - selection_set: '{ username }' - query_name: 'GetUser' - args: - username: username - ``` - the stitched schema will now be able to provide the full user type to all types that require it. In this case, - we can now get the first name of an author from the Review.author field even though the Reviews schema does not - provide the full User type. - */ - map type_merge = 3; + reserved 1, 2, 3; + reserved "name", "namespace", "type_merge"; } - // List of GraphQLApis that compose this stitched GraphQL schema. - repeated SubschemaConfig subschemas = 1; + reserved 1; + reserved "subschemas"; } -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message MockResolver { + // DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message AsyncResponse { - // The response from the resolver as a JSON. - google.protobuf.Value response = 1; - // The delay time before this response is sent back to the graphql server - google.protobuf.Duration delay = 2; - } - oneof response { - // The JSON response from the resolver that will be "responded" immediately. - google.protobuf.Value sync_response = 1; - - // Used to create a asynchronous JSON response from the Mock resolver. - AsyncResponse async_response = 2; - - // Responds as an error with the given message. This can be any string message. - string error_response = 3; + reserved 1, 2; + reserved "response", "delay"; } + reserved 1, 2, 3; + reserved "sync_response", "async_response", "error_response"; } -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// Define a named resolver which can be then matched to a field using the `resolve` directive. -// if a field does not have resolver, the default resolver will be used. -// the default resolver takes the field with the same name from the parent, and uses that value -// to resolve the field. -// If a field with the same name does not exist in the parent, null will be used. +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message Resolution { - // The resolver to use. - oneof resolver { - // REST resolver used to translate and send graphql requests - // to a REST upstream. - RESTResolver rest_resolver = 1; - // gRPC resolver used to translate and send graphql requests - // to a gRPC upstream. - GrpcResolver grpc_resolver = 2; - // Resolver used to mock responses from an upstream. - // This resolver does not make a call out to an upstream, but can mock responses - // either synchronously or with a delay. - // Additionally, can be used to mock errors from an upstream. - MockResolver mock_resolver = 4; - } - - // The stats prefix which will be used for this resolver. - // If empty, will generate a stats prefix ${RESOLVER_NAME} - google.protobuf.StringValue stat_prefix = 3; + reserved 1, 2, 3, 4; + reserved "rest_resolver", "grpc_resolver", "stat_prefix", "mock_resolver"; } -// Deprecated, Enterprise-Only: THIS FEATURE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE. APIs are versioned as alpha and subject to change. -// User-facing CR config for resolving client requests to graphql schemas. -// Routes that have this config will execute graphql queries, and will not make it to the router filter. i.e. this -// filter will terminate the request for these routes. -// Note: while users can provide this configuration manually, the eventual UX will -// be to generate the Executable Schema CRs from other sources and just have users -// configure the routes to point to these schema CRs. +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message GraphQLApiSpec { - - - oneof schema { - // An Executable Schema represents a single upstream, which could be a locally resolved - // schema, or a remotely resolved schema. - ExecutableSchema executable_schema = 6; - // A stitched schema represents the product of stitching multiple graphql subschemas together. - StitchedSchema stitched_schema = 7; - } - - // The stats prefix which will be used for this route config. - // If empty, will generate a stats prefix ${GRAPHQLAPI_REF} - google.protobuf.StringValue stat_prefix = 3; - - // Configuration settings for persisted query cache - PersistedQueryCacheConfig persisted_query_cache_config = 4; - - // Safelist: only allow queries to be executed that match these sha256 hashes. - // The hash can be computed from the query string or provided (i.e. persisted queries). - repeated string allowed_query_hashes = 5; - + // DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message GraphQLApiOptions { - // If true, includes information about request and response in the gateway-proxy debug and trace logs. - // This is useful when debugging but is not recommended for security and performance reasons in - // production scenarios. - // Defaults to false. - bool log_sensitive_info = 1; + reserved 1; + reserved "log_sensitive_info"; } - // Options that apply to this GraphQLApi. - GraphQLApiOptions options = 8; + reserved 1, 2, 3, 4, 5, 6, 7, 8; + reserved "namespaced_statuses", "metadata", "stat_prefix", "persisted_query_cache_config", "allowed_query_hashes", "executable_schema", "stitched_schema", "options"; } -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// This message specifies Persisted Query Cache configuration. +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message PersistedQueryCacheConfig { - // The unit is number of queries to store, default to 1000. - uint32 cache_size = 1; + reserved 1; + reserved "cache_size"; } -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message ExecutableSchema { - // Schema to use in string format. - - /* The following directives are supported: - - @resolve(name: string) - - @cacheControl(maxAge: uint32, inheritMaxAge: bool, scope: unset/public/private) - - Define named resolvers on the `Executor.Local.resolutions` message, and reference them here using @resolve: - ```gql - type Query { - author: String @resolve(name: "authorResolver") - } - - Further, fields/types can be annotated with the @cacheControl directive, e.g. - ```gql - type Query @cacheControl(maxAge: 60) { - author: String @resolve(name: "authorResolver") @cacheControl(maxAge: 90, scope: private) - } - ``` - Any type-level cache control defaults are overridden by field settings, if provided. - The most restrictive cache control setting (smallest maxAge and scope) across all fields in - an entire query will be returned to the client in the `Cache-Control` header with appropriate - `max-age` and scope (unset, `public`, or `private`) directives. - */ - string schema_definition = 1; - - // how to execute the schema - Executor executor = 2; - - // Schema extensions - GrpcDescriptorRegistry grpc_descriptor_registry = 3; + reserved 1, 2, 3; + reserved "schema_definition", "executor", "grpc_descriptor_registry"; } -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message Executor { - // Execute schema using resolvers. + // DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message Local { + // DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message LocalExecutorOptions { - // Max GraphQL operation (query/mutation/subscription) depth. This sets a limitation on the max nesting on a query that runs against this schema. - // any GraphQL operation that runs past the `max_depth` will add an error message to the response and will return as `null`. - // As as simple example, if the schema is - // ```gql - // type Query { - // employee: Employee - // } - // - // type Employee { - // manager: Employee - // name: String - // } - // ``` - // and we set a `max_depth` of `3` and we run a query - // ```gql - // query { # query depth : 0 - // employee { # query depth : 1 - // manager { # query depth : 2 - // name # query depth : 3 - // manager { # query depth : 3 - // name # query depth : 4 - // } - // } - // } - // } - // ``` - // the graphql server will respond with a response: - // ```json - // { "data" : { - // "employee" : { - // "manager" : { - // "name" : "Manager 1", - // "manager" : { - // "name" : null - // }}}}, - // "errors": [ - // {"message": "field 'name' exceeds the max operation depth of 3 for this schema"} - // ] - // } - // If not configured, or the value is 0, the query depth will be unbounded. - google.protobuf.UInt32Value max_depth = 1; + reserved 1; + reserved "max_depth"; } - /* Mapping of resolver name to resolver definition. - The names are used to reference the resolver in the graphql schema. - For example, a resolver with name "authorResolver" can be defined as - ```yaml - authorResolver: - restResolver: - upstreamRef: ... - request: - ... - response: - ... - ``` - and referenced in the graphql schema as - ```gql - type Query { - author: String @resolve(name: "authorResolver") - } - ``` - */ - map resolutions = 1; - // Do we enable introspection for the schema? general recommendation is to - // disable this for production and hence it defaults to false. - bool enable_introspection = 2; - - // Options that apply to this local executable schema - LocalExecutorOptions options = 3; + reserved 1, 2, 3; + reserved "resolutions", "enable_introspection", "options"; } + // DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields message Remote { - core.solo.io.ResourceRef upstream_ref = 1; - // map of header name to extraction type: - // e.g. - // ':path': '/hard/coded/path' - // ':method': '{$headers.method}' - // ':key': '{$metadata.io.solo.transformation:endpoint_url}' - map headers = 2; - - // map of query parameter name to extraction type: - // e.g. - // - // 'query': '{$metadata.$KEY_NAME:$KEY_VALUE}' - map query_params = 3; - - string span_name = 4; - } - oneof executor { - Local local = 1; - Remote remote = 2; + reserved 1, 2, 3, 4; + reserved "upstream_ref", "headers", "query_params", "span_name"; } + reserved 1, 2; + reserved "local", "remote"; } diff --git a/pkg/api/gloo.solo.io/v1/enterprise/options/rbac/rbac.pb.go b/pkg/api/gloo.solo.io/v1/enterprise/options/rbac/rbac.pb.go index cbb559bc3..007af41a9 100644 --- a/pkg/api/gloo.solo.io/v1/enterprise/options/rbac/rbac.pb.go +++ b/pkg/api/gloo.solo.io/v1/enterprise/options/rbac/rbac.pb.go @@ -33,6 +33,8 @@ const ( JWTPrincipal_BOOLEAN JWTPrincipal_ClaimMatcher = 1 // The JWT claim value is a list that contains a string that exactly matches the value. JWTPrincipal_LIST_CONTAINS JWTPrincipal_ClaimMatcher = 2 + // The JWT claim value is a glob pattern that matches the value. + JWTPrincipal_GLOB_MATCH JWTPrincipal_ClaimMatcher = 3 ) // Enum value maps for JWTPrincipal_ClaimMatcher. @@ -41,11 +43,13 @@ var ( 0: "EXACT_STRING", 1: "BOOLEAN", 2: "LIST_CONTAINS", + 3: "GLOB_MATCH", } JWTPrincipal_ClaimMatcher_value = map[string]int32{ "EXACT_STRING": 0, "BOOLEAN": 1, "LIST_CONTAINS": 2, + "GLOB_MATCH": 3, } ) @@ -459,7 +463,7 @@ var file_github_com_solo_io_solo_apis_api_gloo_gloo_v1_enterprise_options_rbac_r 0x72, 0x62, 0x61, 0x63, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x57, 0x54, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x52, 0x0c, 0x6a, 0x77, 0x74, 0x50, 0x72, 0x69, 0x6e, 0x63, - 0x69, 0x70, 0x61, 0x6c, 0x22, 0xc4, 0x02, 0x0a, 0x0c, 0x4a, 0x57, 0x54, 0x50, 0x72, 0x69, 0x6e, + 0x69, 0x70, 0x61, 0x6c, 0x22, 0xd4, 0x02, 0x0a, 0x0c, 0x4a, 0x57, 0x54, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x4b, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, @@ -475,11 +479,12 @@ var file_github_com_solo_io_solo_apis_api_gloo_gloo_v1_enterprise_options_rbac_r 0x0a, 0x0b, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x40, 0x0a, 0x0c, 0x43, 0x6c, 0x61, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x0c, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x58, 0x41, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x49, 0x53, 0x54, - 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x02, 0x22, 0x48, 0x0a, 0x0b, 0x50, + 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x47, + 0x4c, 0x4f, 0x42, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x03, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x6d, diff --git a/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.clone.go b/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.clone.go index deafbc77b..4109a8ba3 100644 --- a/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.clone.go +++ b/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.clone.go @@ -13,13 +13,7 @@ import ( "github.com/solo-io/protoc-gen-ext/pkg/clone" "google.golang.org/protobuf/proto" - github_com_solo_io_solo_kit_pkg_api_v1_resources_core "github.com/solo-io/solo-kit/pkg/api/v1/resources/core" - - google_golang_org_protobuf_types_known_durationpb "google.golang.org/protobuf/types/known/durationpb" - google_golang_org_protobuf_types_known_structpb "google.golang.org/protobuf/types/known/structpb" - - google_golang_org_protobuf_types_known_wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" ) // ensure the imports are used @@ -41,30 +35,6 @@ func (m *RequestTemplate) Clone() proto.Message { } target = &RequestTemplate{} - if m.GetHeaders() != nil { - target.Headers = make(map[string]string, len(m.GetHeaders())) - for k, v := range m.GetHeaders() { - - target.Headers[k] = v - - } - } - - if m.GetQueryParams() != nil { - target.QueryParams = make(map[string]string, len(m.GetQueryParams())) - for k, v := range m.GetQueryParams() { - - target.QueryParams[k] = v - - } - } - - if h, ok := interface{}(m.GetBody()).(clone.Cloner); ok { - target.Body = h.Clone().(*google_golang_org_protobuf_types_known_structpb.Value) - } else { - target.Body = proto.Clone(m.GetBody()).(*google_golang_org_protobuf_types_known_structpb.Value) - } - return target } @@ -76,17 +46,6 @@ func (m *ResponseTemplate) Clone() proto.Message { } target = &ResponseTemplate{} - target.ResultRoot = m.GetResultRoot() - - if m.GetSetters() != nil { - target.Setters = make(map[string]string, len(m.GetSetters())) - for k, v := range m.GetSetters() { - - target.Setters[k] = v - - } - } - return target } @@ -98,25 +57,6 @@ func (m *GrpcRequestTemplate) Clone() proto.Message { } target = &GrpcRequestTemplate{} - if h, ok := interface{}(m.GetOutgoingMessageJson()).(clone.Cloner); ok { - target.OutgoingMessageJson = h.Clone().(*google_golang_org_protobuf_types_known_structpb.Value) - } else { - target.OutgoingMessageJson = proto.Clone(m.GetOutgoingMessageJson()).(*google_golang_org_protobuf_types_known_structpb.Value) - } - - target.ServiceName = m.GetServiceName() - - target.MethodName = m.GetMethodName() - - if m.GetRequestMetadata() != nil { - target.RequestMetadata = make(map[string]string, len(m.GetRequestMetadata())) - for k, v := range m.GetRequestMetadata() { - - target.RequestMetadata[k] = v - - } - } - return target } @@ -128,32 +68,6 @@ func (m *RESTResolver) Clone() proto.Message { } target = &RESTResolver{} - if h, ok := interface{}(m.GetUpstreamRef()).(clone.Cloner); ok { - target.UpstreamRef = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) - } else { - target.UpstreamRef = proto.Clone(m.GetUpstreamRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) - } - - if h, ok := interface{}(m.GetRequest()).(clone.Cloner); ok { - target.Request = h.Clone().(*RequestTemplate) - } else { - target.Request = proto.Clone(m.GetRequest()).(*RequestTemplate) - } - - if h, ok := interface{}(m.GetResponse()).(clone.Cloner); ok { - target.Response = h.Clone().(*ResponseTemplate) - } else { - target.Response = proto.Clone(m.GetResponse()).(*ResponseTemplate) - } - - target.SpanName = m.GetSpanName() - - if h, ok := interface{}(m.GetTimeout()).(clone.Cloner); ok { - target.Timeout = h.Clone().(*google_golang_org_protobuf_types_known_durationpb.Duration) - } else { - target.Timeout = proto.Clone(m.GetTimeout()).(*google_golang_org_protobuf_types_known_durationpb.Duration) - } - return target } @@ -165,42 +79,6 @@ func (m *GrpcDescriptorRegistry) Clone() proto.Message { } target = &GrpcDescriptorRegistry{} - switch m.DescriptorSet.(type) { - - case *GrpcDescriptorRegistry_ProtoDescriptor: - - target.DescriptorSet = &GrpcDescriptorRegistry_ProtoDescriptor{ - ProtoDescriptor: m.GetProtoDescriptor(), - } - - case *GrpcDescriptorRegistry_ProtoDescriptorBin: - - if m.GetProtoDescriptorBin() != nil { - newArr := make([]byte, len(m.GetProtoDescriptorBin())) - copy(newArr, m.GetProtoDescriptorBin()) - target.DescriptorSet = &GrpcDescriptorRegistry_ProtoDescriptorBin{ - ProtoDescriptorBin: newArr, - } - } else { - target.DescriptorSet = &GrpcDescriptorRegistry_ProtoDescriptorBin{ - ProtoDescriptorBin: nil, - } - } - - case *GrpcDescriptorRegistry_ProtoRefsList: - - if h, ok := interface{}(m.GetProtoRefsList()).(clone.Cloner); ok { - target.DescriptorSet = &GrpcDescriptorRegistry_ProtoRefsList{ - ProtoRefsList: h.Clone().(*GrpcDescriptorRegistry_ProtoRefs), - } - } else { - target.DescriptorSet = &GrpcDescriptorRegistry_ProtoRefsList{ - ProtoRefsList: proto.Clone(m.GetProtoRefsList()).(*GrpcDescriptorRegistry_ProtoRefs), - } - } - - } - return target } @@ -212,26 +90,6 @@ func (m *GrpcResolver) Clone() proto.Message { } target = &GrpcResolver{} - if h, ok := interface{}(m.GetUpstreamRef()).(clone.Cloner); ok { - target.UpstreamRef = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) - } else { - target.UpstreamRef = proto.Clone(m.GetUpstreamRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) - } - - if h, ok := interface{}(m.GetRequestTransform()).(clone.Cloner); ok { - target.RequestTransform = h.Clone().(*GrpcRequestTemplate) - } else { - target.RequestTransform = proto.Clone(m.GetRequestTransform()).(*GrpcRequestTemplate) - } - - target.SpanName = m.GetSpanName() - - if h, ok := interface{}(m.GetTimeout()).(clone.Cloner); ok { - target.Timeout = h.Clone().(*google_golang_org_protobuf_types_known_durationpb.Duration) - } else { - target.Timeout = proto.Clone(m.GetTimeout()).(*google_golang_org_protobuf_types_known_durationpb.Duration) - } - return target } @@ -243,19 +101,6 @@ func (m *StitchedSchema) Clone() proto.Message { } target = &StitchedSchema{} - if m.GetSubschemas() != nil { - target.Subschemas = make([]*StitchedSchema_SubschemaConfig, len(m.GetSubschemas())) - for idx, v := range m.GetSubschemas() { - - if h, ok := interface{}(v).(clone.Cloner); ok { - target.Subschemas[idx] = h.Clone().(*StitchedSchema_SubschemaConfig) - } else { - target.Subschemas[idx] = proto.Clone(v).(*StitchedSchema_SubschemaConfig) - } - - } - } - return target } @@ -267,40 +112,6 @@ func (m *MockResolver) Clone() proto.Message { } target = &MockResolver{} - switch m.Response.(type) { - - case *MockResolver_SyncResponse: - - if h, ok := interface{}(m.GetSyncResponse()).(clone.Cloner); ok { - target.Response = &MockResolver_SyncResponse{ - SyncResponse: h.Clone().(*google_golang_org_protobuf_types_known_structpb.Value), - } - } else { - target.Response = &MockResolver_SyncResponse{ - SyncResponse: proto.Clone(m.GetSyncResponse()).(*google_golang_org_protobuf_types_known_structpb.Value), - } - } - - case *MockResolver_AsyncResponse_: - - if h, ok := interface{}(m.GetAsyncResponse()).(clone.Cloner); ok { - target.Response = &MockResolver_AsyncResponse_{ - AsyncResponse: h.Clone().(*MockResolver_AsyncResponse), - } - } else { - target.Response = &MockResolver_AsyncResponse_{ - AsyncResponse: proto.Clone(m.GetAsyncResponse()).(*MockResolver_AsyncResponse), - } - } - - case *MockResolver_ErrorResponse: - - target.Response = &MockResolver_ErrorResponse{ - ErrorResponse: m.GetErrorResponse(), - } - - } - return target } @@ -312,52 +123,6 @@ func (m *Resolution) Clone() proto.Message { } target = &Resolution{} - if h, ok := interface{}(m.GetStatPrefix()).(clone.Cloner); ok { - target.StatPrefix = h.Clone().(*google_golang_org_protobuf_types_known_wrapperspb.StringValue) - } else { - target.StatPrefix = proto.Clone(m.GetStatPrefix()).(*google_golang_org_protobuf_types_known_wrapperspb.StringValue) - } - - switch m.Resolver.(type) { - - case *Resolution_RestResolver: - - if h, ok := interface{}(m.GetRestResolver()).(clone.Cloner); ok { - target.Resolver = &Resolution_RestResolver{ - RestResolver: h.Clone().(*RESTResolver), - } - } else { - target.Resolver = &Resolution_RestResolver{ - RestResolver: proto.Clone(m.GetRestResolver()).(*RESTResolver), - } - } - - case *Resolution_GrpcResolver: - - if h, ok := interface{}(m.GetGrpcResolver()).(clone.Cloner); ok { - target.Resolver = &Resolution_GrpcResolver{ - GrpcResolver: h.Clone().(*GrpcResolver), - } - } else { - target.Resolver = &Resolution_GrpcResolver{ - GrpcResolver: proto.Clone(m.GetGrpcResolver()).(*GrpcResolver), - } - } - - case *Resolution_MockResolver: - - if h, ok := interface{}(m.GetMockResolver()).(clone.Cloner); ok { - target.Resolver = &Resolution_MockResolver{ - MockResolver: h.Clone().(*MockResolver), - } - } else { - target.Resolver = &Resolution_MockResolver{ - MockResolver: proto.Clone(m.GetMockResolver()).(*MockResolver), - } - } - - } - return target } @@ -369,61 +134,6 @@ func (m *GraphQLApiSpec) Clone() proto.Message { } target = &GraphQLApiSpec{} - if h, ok := interface{}(m.GetStatPrefix()).(clone.Cloner); ok { - target.StatPrefix = h.Clone().(*google_golang_org_protobuf_types_known_wrapperspb.StringValue) - } else { - target.StatPrefix = proto.Clone(m.GetStatPrefix()).(*google_golang_org_protobuf_types_known_wrapperspb.StringValue) - } - - if h, ok := interface{}(m.GetPersistedQueryCacheConfig()).(clone.Cloner); ok { - target.PersistedQueryCacheConfig = h.Clone().(*PersistedQueryCacheConfig) - } else { - target.PersistedQueryCacheConfig = proto.Clone(m.GetPersistedQueryCacheConfig()).(*PersistedQueryCacheConfig) - } - - if m.GetAllowedQueryHashes() != nil { - target.AllowedQueryHashes = make([]string, len(m.GetAllowedQueryHashes())) - for idx, v := range m.GetAllowedQueryHashes() { - - target.AllowedQueryHashes[idx] = v - - } - } - - if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { - target.Options = h.Clone().(*GraphQLApiSpec_GraphQLApiOptions) - } else { - target.Options = proto.Clone(m.GetOptions()).(*GraphQLApiSpec_GraphQLApiOptions) - } - - switch m.Schema.(type) { - - case *GraphQLApiSpec_ExecutableSchema: - - if h, ok := interface{}(m.GetExecutableSchema()).(clone.Cloner); ok { - target.Schema = &GraphQLApiSpec_ExecutableSchema{ - ExecutableSchema: h.Clone().(*ExecutableSchema), - } - } else { - target.Schema = &GraphQLApiSpec_ExecutableSchema{ - ExecutableSchema: proto.Clone(m.GetExecutableSchema()).(*ExecutableSchema), - } - } - - case *GraphQLApiSpec_StitchedSchema: - - if h, ok := interface{}(m.GetStitchedSchema()).(clone.Cloner); ok { - target.Schema = &GraphQLApiSpec_StitchedSchema{ - StitchedSchema: h.Clone().(*StitchedSchema), - } - } else { - target.Schema = &GraphQLApiSpec_StitchedSchema{ - StitchedSchema: proto.Clone(m.GetStitchedSchema()).(*StitchedSchema), - } - } - - } - return target } @@ -435,8 +145,6 @@ func (m *PersistedQueryCacheConfig) Clone() proto.Message { } target = &PersistedQueryCacheConfig{} - target.CacheSize = m.GetCacheSize() - return target } @@ -448,20 +156,6 @@ func (m *ExecutableSchema) Clone() proto.Message { } target = &ExecutableSchema{} - target.SchemaDefinition = m.GetSchemaDefinition() - - if h, ok := interface{}(m.GetExecutor()).(clone.Cloner); ok { - target.Executor = h.Clone().(*Executor) - } else { - target.Executor = proto.Clone(m.GetExecutor()).(*Executor) - } - - if h, ok := interface{}(m.GetGrpcDescriptorRegistry()).(clone.Cloner); ok { - target.GrpcDescriptorRegistry = h.Clone().(*GrpcDescriptorRegistry) - } else { - target.GrpcDescriptorRegistry = proto.Clone(m.GetGrpcDescriptorRegistry()).(*GrpcDescriptorRegistry) - } - return target } @@ -473,34 +167,6 @@ func (m *Executor) Clone() proto.Message { } target = &Executor{} - switch m.Executor.(type) { - - case *Executor_Local_: - - if h, ok := interface{}(m.GetLocal()).(clone.Cloner); ok { - target.Executor = &Executor_Local_{ - Local: h.Clone().(*Executor_Local), - } - } else { - target.Executor = &Executor_Local_{ - Local: proto.Clone(m.GetLocal()).(*Executor_Local), - } - } - - case *Executor_Remote_: - - if h, ok := interface{}(m.GetRemote()).(clone.Cloner); ok { - target.Executor = &Executor_Remote_{ - Remote: h.Clone().(*Executor_Remote), - } - } else { - target.Executor = &Executor_Remote_{ - Remote: proto.Clone(m.GetRemote()).(*Executor_Remote), - } - } - - } - return target } @@ -572,19 +238,6 @@ func (m *GrpcDescriptorRegistry_ProtoRefs) Clone() proto.Message { } target = &GrpcDescriptorRegistry_ProtoRefs{} - if m.GetConfigMapRefs() != nil { - target.ConfigMapRefs = make([]*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef, len(m.GetConfigMapRefs())) - for idx, v := range m.GetConfigMapRefs() { - - if h, ok := interface{}(v).(clone.Cloner); ok { - target.ConfigMapRefs[idx] = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) - } else { - target.ConfigMapRefs[idx] = proto.Clone(v).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) - } - - } - } - return target } @@ -596,23 +249,6 @@ func (m *StitchedSchema_SubschemaConfig) Clone() proto.Message { } target = &StitchedSchema_SubschemaConfig{} - target.Name = m.GetName() - - target.Namespace = m.GetNamespace() - - if m.GetTypeMerge() != nil { - target.TypeMerge = make(map[string]*StitchedSchema_SubschemaConfig_TypeMergeConfig, len(m.GetTypeMerge())) - for k, v := range m.GetTypeMerge() { - - if h, ok := interface{}(v).(clone.Cloner); ok { - target.TypeMerge[k] = h.Clone().(*StitchedSchema_SubschemaConfig_TypeMergeConfig) - } else { - target.TypeMerge[k] = proto.Clone(v).(*StitchedSchema_SubschemaConfig_TypeMergeConfig) - } - - } - } - return target } @@ -624,19 +260,6 @@ func (m *StitchedSchema_SubschemaConfig_TypeMergeConfig) Clone() proto.Message { } target = &StitchedSchema_SubschemaConfig_TypeMergeConfig{} - target.SelectionSet = m.GetSelectionSet() - - target.QueryName = m.GetQueryName() - - if m.GetArgs() != nil { - target.Args = make(map[string]string, len(m.GetArgs())) - for k, v := range m.GetArgs() { - - target.Args[k] = v - - } - } - return target } @@ -648,18 +271,6 @@ func (m *MockResolver_AsyncResponse) Clone() proto.Message { } target = &MockResolver_AsyncResponse{} - if h, ok := interface{}(m.GetResponse()).(clone.Cloner); ok { - target.Response = h.Clone().(*google_golang_org_protobuf_types_known_structpb.Value) - } else { - target.Response = proto.Clone(m.GetResponse()).(*google_golang_org_protobuf_types_known_structpb.Value) - } - - if h, ok := interface{}(m.GetDelay()).(clone.Cloner); ok { - target.Delay = h.Clone().(*google_golang_org_protobuf_types_known_durationpb.Duration) - } else { - target.Delay = proto.Clone(m.GetDelay()).(*google_golang_org_protobuf_types_known_durationpb.Duration) - } - return target } @@ -671,8 +282,6 @@ func (m *GraphQLApiSpec_GraphQLApiOptions) Clone() proto.Message { } target = &GraphQLApiSpec_GraphQLApiOptions{} - target.LogSensitiveInfo = m.GetLogSensitiveInfo() - return target } @@ -684,27 +293,6 @@ func (m *Executor_Local) Clone() proto.Message { } target = &Executor_Local{} - if m.GetResolutions() != nil { - target.Resolutions = make(map[string]*Resolution, len(m.GetResolutions())) - for k, v := range m.GetResolutions() { - - if h, ok := interface{}(v).(clone.Cloner); ok { - target.Resolutions[k] = h.Clone().(*Resolution) - } else { - target.Resolutions[k] = proto.Clone(v).(*Resolution) - } - - } - } - - target.EnableIntrospection = m.GetEnableIntrospection() - - if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { - target.Options = h.Clone().(*Executor_Local_LocalExecutorOptions) - } else { - target.Options = proto.Clone(m.GetOptions()).(*Executor_Local_LocalExecutorOptions) - } - return target } @@ -716,32 +304,6 @@ func (m *Executor_Remote) Clone() proto.Message { } target = &Executor_Remote{} - if h, ok := interface{}(m.GetUpstreamRef()).(clone.Cloner); ok { - target.UpstreamRef = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) - } else { - target.UpstreamRef = proto.Clone(m.GetUpstreamRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) - } - - if m.GetHeaders() != nil { - target.Headers = make(map[string]string, len(m.GetHeaders())) - for k, v := range m.GetHeaders() { - - target.Headers[k] = v - - } - } - - if m.GetQueryParams() != nil { - target.QueryParams = make(map[string]string, len(m.GetQueryParams())) - for k, v := range m.GetQueryParams() { - - target.QueryParams[k] = v - - } - } - - target.SpanName = m.GetSpanName() - return target } @@ -753,11 +315,5 @@ func (m *Executor_Local_LocalExecutorOptions) Clone() proto.Message { } target = &Executor_Local_LocalExecutorOptions{} - if h, ok := interface{}(m.GetMaxDepth()).(clone.Cloner); ok { - target.MaxDepth = h.Clone().(*google_golang_org_protobuf_types_known_wrapperspb.UInt32Value) - } else { - target.MaxDepth = proto.Clone(m.GetMaxDepth()).(*google_golang_org_protobuf_types_known_wrapperspb.UInt32Value) - } - return target } diff --git a/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.equal.go b/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.equal.go index 6547b13e3..0df818c33 100644 --- a/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.equal.go +++ b/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.equal.go @@ -46,38 +46,6 @@ func (m *RequestTemplate) Equal(that interface{}) bool { return false } - if len(m.GetHeaders()) != len(target.GetHeaders()) { - return false - } - for k, v := range m.GetHeaders() { - - if strings.Compare(v, target.GetHeaders()[k]) != 0 { - return false - } - - } - - if len(m.GetQueryParams()) != len(target.GetQueryParams()) { - return false - } - for k, v := range m.GetQueryParams() { - - if strings.Compare(v, target.GetQueryParams()[k]) != 0 { - return false - } - - } - - if h, ok := interface{}(m.GetBody()).(equality.Equalizer); ok { - if !h.Equal(target.GetBody()) { - return false - } - } else { - if !proto.Equal(m.GetBody(), target.GetBody()) { - return false - } - } - return true } @@ -102,21 +70,6 @@ func (m *ResponseTemplate) Equal(that interface{}) bool { return false } - if strings.Compare(m.GetResultRoot(), target.GetResultRoot()) != 0 { - return false - } - - if len(m.GetSetters()) != len(target.GetSetters()) { - return false - } - for k, v := range m.GetSetters() { - - if strings.Compare(v, target.GetSetters()[k]) != 0 { - return false - } - - } - return true } @@ -141,35 +94,6 @@ func (m *GrpcRequestTemplate) Equal(that interface{}) bool { return false } - if h, ok := interface{}(m.GetOutgoingMessageJson()).(equality.Equalizer); ok { - if !h.Equal(target.GetOutgoingMessageJson()) { - return false - } - } else { - if !proto.Equal(m.GetOutgoingMessageJson(), target.GetOutgoingMessageJson()) { - return false - } - } - - if strings.Compare(m.GetServiceName(), target.GetServiceName()) != 0 { - return false - } - - if strings.Compare(m.GetMethodName(), target.GetMethodName()) != 0 { - return false - } - - if len(m.GetRequestMetadata()) != len(target.GetRequestMetadata()) { - return false - } - for k, v := range m.GetRequestMetadata() { - - if strings.Compare(v, target.GetRequestMetadata()[k]) != 0 { - return false - } - - } - return true } @@ -194,50 +118,6 @@ func (m *RESTResolver) Equal(that interface{}) bool { return false } - if h, ok := interface{}(m.GetUpstreamRef()).(equality.Equalizer); ok { - if !h.Equal(target.GetUpstreamRef()) { - return false - } - } else { - if !proto.Equal(m.GetUpstreamRef(), target.GetUpstreamRef()) { - return false - } - } - - if h, ok := interface{}(m.GetRequest()).(equality.Equalizer); ok { - if !h.Equal(target.GetRequest()) { - return false - } - } else { - if !proto.Equal(m.GetRequest(), target.GetRequest()) { - return false - } - } - - if h, ok := interface{}(m.GetResponse()).(equality.Equalizer); ok { - if !h.Equal(target.GetResponse()) { - return false - } - } else { - if !proto.Equal(m.GetResponse(), target.GetResponse()) { - return false - } - } - - if strings.Compare(m.GetSpanName(), target.GetSpanName()) != 0 { - return false - } - - if h, ok := interface{}(m.GetTimeout()).(equality.Equalizer); ok { - if !h.Equal(target.GetTimeout()) { - return false - } - } else { - if !proto.Equal(m.GetTimeout(), target.GetTimeout()) { - return false - } - } - return true } @@ -262,48 +142,6 @@ func (m *GrpcDescriptorRegistry) Equal(that interface{}) bool { return false } - switch m.DescriptorSet.(type) { - - case *GrpcDescriptorRegistry_ProtoDescriptor: - if _, ok := target.DescriptorSet.(*GrpcDescriptorRegistry_ProtoDescriptor); !ok { - return false - } - - if strings.Compare(m.GetProtoDescriptor(), target.GetProtoDescriptor()) != 0 { - return false - } - - case *GrpcDescriptorRegistry_ProtoDescriptorBin: - if _, ok := target.DescriptorSet.(*GrpcDescriptorRegistry_ProtoDescriptorBin); !ok { - return false - } - - if bytes.Compare(m.GetProtoDescriptorBin(), target.GetProtoDescriptorBin()) != 0 { - return false - } - - case *GrpcDescriptorRegistry_ProtoRefsList: - if _, ok := target.DescriptorSet.(*GrpcDescriptorRegistry_ProtoRefsList); !ok { - return false - } - - if h, ok := interface{}(m.GetProtoRefsList()).(equality.Equalizer); ok { - if !h.Equal(target.GetProtoRefsList()) { - return false - } - } else { - if !proto.Equal(m.GetProtoRefsList(), target.GetProtoRefsList()) { - return false - } - } - - default: - // m is nil but target is not nil - if m.DescriptorSet != target.DescriptorSet { - return false - } - } - return true } @@ -328,40 +166,6 @@ func (m *GrpcResolver) Equal(that interface{}) bool { return false } - if h, ok := interface{}(m.GetUpstreamRef()).(equality.Equalizer); ok { - if !h.Equal(target.GetUpstreamRef()) { - return false - } - } else { - if !proto.Equal(m.GetUpstreamRef(), target.GetUpstreamRef()) { - return false - } - } - - if h, ok := interface{}(m.GetRequestTransform()).(equality.Equalizer); ok { - if !h.Equal(target.GetRequestTransform()) { - return false - } - } else { - if !proto.Equal(m.GetRequestTransform(), target.GetRequestTransform()) { - return false - } - } - - if strings.Compare(m.GetSpanName(), target.GetSpanName()) != 0 { - return false - } - - if h, ok := interface{}(m.GetTimeout()).(equality.Equalizer); ok { - if !h.Equal(target.GetTimeout()) { - return false - } - } else { - if !proto.Equal(m.GetTimeout(), target.GetTimeout()) { - return false - } - } - return true } @@ -386,23 +190,6 @@ func (m *StitchedSchema) Equal(that interface{}) bool { return false } - if len(m.GetSubschemas()) != len(target.GetSubschemas()) { - return false - } - for idx, v := range m.GetSubschemas() { - - if h, ok := interface{}(v).(equality.Equalizer); ok { - if !h.Equal(target.GetSubschemas()[idx]) { - return false - } - } else { - if !proto.Equal(v, target.GetSubschemas()[idx]) { - return false - } - } - - } - return true } @@ -427,54 +214,6 @@ func (m *MockResolver) Equal(that interface{}) bool { return false } - switch m.Response.(type) { - - case *MockResolver_SyncResponse: - if _, ok := target.Response.(*MockResolver_SyncResponse); !ok { - return false - } - - if h, ok := interface{}(m.GetSyncResponse()).(equality.Equalizer); ok { - if !h.Equal(target.GetSyncResponse()) { - return false - } - } else { - if !proto.Equal(m.GetSyncResponse(), target.GetSyncResponse()) { - return false - } - } - - case *MockResolver_AsyncResponse_: - if _, ok := target.Response.(*MockResolver_AsyncResponse_); !ok { - return false - } - - if h, ok := interface{}(m.GetAsyncResponse()).(equality.Equalizer); ok { - if !h.Equal(target.GetAsyncResponse()) { - return false - } - } else { - if !proto.Equal(m.GetAsyncResponse(), target.GetAsyncResponse()) { - return false - } - } - - case *MockResolver_ErrorResponse: - if _, ok := target.Response.(*MockResolver_ErrorResponse); !ok { - return false - } - - if strings.Compare(m.GetErrorResponse(), target.GetErrorResponse()) != 0 { - return false - } - - default: - // m is nil but target is not nil - if m.Response != target.Response { - return false - } - } - return true } @@ -499,70 +238,6 @@ func (m *Resolution) Equal(that interface{}) bool { return false } - if h, ok := interface{}(m.GetStatPrefix()).(equality.Equalizer); ok { - if !h.Equal(target.GetStatPrefix()) { - return false - } - } else { - if !proto.Equal(m.GetStatPrefix(), target.GetStatPrefix()) { - return false - } - } - - switch m.Resolver.(type) { - - case *Resolution_RestResolver: - if _, ok := target.Resolver.(*Resolution_RestResolver); !ok { - return false - } - - if h, ok := interface{}(m.GetRestResolver()).(equality.Equalizer); ok { - if !h.Equal(target.GetRestResolver()) { - return false - } - } else { - if !proto.Equal(m.GetRestResolver(), target.GetRestResolver()) { - return false - } - } - - case *Resolution_GrpcResolver: - if _, ok := target.Resolver.(*Resolution_GrpcResolver); !ok { - return false - } - - if h, ok := interface{}(m.GetGrpcResolver()).(equality.Equalizer); ok { - if !h.Equal(target.GetGrpcResolver()) { - return false - } - } else { - if !proto.Equal(m.GetGrpcResolver(), target.GetGrpcResolver()) { - return false - } - } - - case *Resolution_MockResolver: - if _, ok := target.Resolver.(*Resolution_MockResolver); !ok { - return false - } - - if h, ok := interface{}(m.GetMockResolver()).(equality.Equalizer); ok { - if !h.Equal(target.GetMockResolver()) { - return false - } - } else { - if !proto.Equal(m.GetMockResolver(), target.GetMockResolver()) { - return false - } - } - - default: - // m is nil but target is not nil - if m.Resolver != target.Resolver { - return false - } - } - return true } @@ -587,86 +262,6 @@ func (m *GraphQLApiSpec) Equal(that interface{}) bool { return false } - if h, ok := interface{}(m.GetStatPrefix()).(equality.Equalizer); ok { - if !h.Equal(target.GetStatPrefix()) { - return false - } - } else { - if !proto.Equal(m.GetStatPrefix(), target.GetStatPrefix()) { - return false - } - } - - if h, ok := interface{}(m.GetPersistedQueryCacheConfig()).(equality.Equalizer); ok { - if !h.Equal(target.GetPersistedQueryCacheConfig()) { - return false - } - } else { - if !proto.Equal(m.GetPersistedQueryCacheConfig(), target.GetPersistedQueryCacheConfig()) { - return false - } - } - - if len(m.GetAllowedQueryHashes()) != len(target.GetAllowedQueryHashes()) { - return false - } - for idx, v := range m.GetAllowedQueryHashes() { - - if strings.Compare(v, target.GetAllowedQueryHashes()[idx]) != 0 { - return false - } - - } - - if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { - if !h.Equal(target.GetOptions()) { - return false - } - } else { - if !proto.Equal(m.GetOptions(), target.GetOptions()) { - return false - } - } - - switch m.Schema.(type) { - - case *GraphQLApiSpec_ExecutableSchema: - if _, ok := target.Schema.(*GraphQLApiSpec_ExecutableSchema); !ok { - return false - } - - if h, ok := interface{}(m.GetExecutableSchema()).(equality.Equalizer); ok { - if !h.Equal(target.GetExecutableSchema()) { - return false - } - } else { - if !proto.Equal(m.GetExecutableSchema(), target.GetExecutableSchema()) { - return false - } - } - - case *GraphQLApiSpec_StitchedSchema: - if _, ok := target.Schema.(*GraphQLApiSpec_StitchedSchema); !ok { - return false - } - - if h, ok := interface{}(m.GetStitchedSchema()).(equality.Equalizer); ok { - if !h.Equal(target.GetStitchedSchema()) { - return false - } - } else { - if !proto.Equal(m.GetStitchedSchema(), target.GetStitchedSchema()) { - return false - } - } - - default: - // m is nil but target is not nil - if m.Schema != target.Schema { - return false - } - } - return true } @@ -691,10 +286,6 @@ func (m *PersistedQueryCacheConfig) Equal(that interface{}) bool { return false } - if m.GetCacheSize() != target.GetCacheSize() { - return false - } - return true } @@ -719,30 +310,6 @@ func (m *ExecutableSchema) Equal(that interface{}) bool { return false } - if strings.Compare(m.GetSchemaDefinition(), target.GetSchemaDefinition()) != 0 { - return false - } - - if h, ok := interface{}(m.GetExecutor()).(equality.Equalizer); ok { - if !h.Equal(target.GetExecutor()) { - return false - } - } else { - if !proto.Equal(m.GetExecutor(), target.GetExecutor()) { - return false - } - } - - if h, ok := interface{}(m.GetGrpcDescriptorRegistry()).(equality.Equalizer); ok { - if !h.Equal(target.GetGrpcDescriptorRegistry()) { - return false - } - } else { - if !proto.Equal(m.GetGrpcDescriptorRegistry(), target.GetGrpcDescriptorRegistry()) { - return false - } - } - return true } @@ -767,45 +334,6 @@ func (m *Executor) Equal(that interface{}) bool { return false } - switch m.Executor.(type) { - - case *Executor_Local_: - if _, ok := target.Executor.(*Executor_Local_); !ok { - return false - } - - if h, ok := interface{}(m.GetLocal()).(equality.Equalizer); ok { - if !h.Equal(target.GetLocal()) { - return false - } - } else { - if !proto.Equal(m.GetLocal(), target.GetLocal()) { - return false - } - } - - case *Executor_Remote_: - if _, ok := target.Executor.(*Executor_Remote_); !ok { - return false - } - - if h, ok := interface{}(m.GetRemote()).(equality.Equalizer); ok { - if !h.Equal(target.GetRemote()) { - return false - } - } else { - if !proto.Equal(m.GetRemote(), target.GetRemote()) { - return false - } - } - - default: - // m is nil but target is not nil - if m.Executor != target.Executor { - return false - } - } - return true } @@ -934,23 +462,6 @@ func (m *GrpcDescriptorRegistry_ProtoRefs) Equal(that interface{}) bool { return false } - if len(m.GetConfigMapRefs()) != len(target.GetConfigMapRefs()) { - return false - } - for idx, v := range m.GetConfigMapRefs() { - - if h, ok := interface{}(v).(equality.Equalizer); ok { - if !h.Equal(target.GetConfigMapRefs()[idx]) { - return false - } - } else { - if !proto.Equal(v, target.GetConfigMapRefs()[idx]) { - return false - } - } - - } - return true } @@ -975,31 +486,6 @@ func (m *StitchedSchema_SubschemaConfig) Equal(that interface{}) bool { return false } - if strings.Compare(m.GetName(), target.GetName()) != 0 { - return false - } - - if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { - return false - } - - if len(m.GetTypeMerge()) != len(target.GetTypeMerge()) { - return false - } - for k, v := range m.GetTypeMerge() { - - if h, ok := interface{}(v).(equality.Equalizer); ok { - if !h.Equal(target.GetTypeMerge()[k]) { - return false - } - } else { - if !proto.Equal(v, target.GetTypeMerge()[k]) { - return false - } - } - - } - return true } @@ -1024,25 +510,6 @@ func (m *StitchedSchema_SubschemaConfig_TypeMergeConfig) Equal(that interface{}) return false } - if strings.Compare(m.GetSelectionSet(), target.GetSelectionSet()) != 0 { - return false - } - - if strings.Compare(m.GetQueryName(), target.GetQueryName()) != 0 { - return false - } - - if len(m.GetArgs()) != len(target.GetArgs()) { - return false - } - for k, v := range m.GetArgs() { - - if strings.Compare(v, target.GetArgs()[k]) != 0 { - return false - } - - } - return true } @@ -1067,26 +534,6 @@ func (m *MockResolver_AsyncResponse) Equal(that interface{}) bool { return false } - if h, ok := interface{}(m.GetResponse()).(equality.Equalizer); ok { - if !h.Equal(target.GetResponse()) { - return false - } - } else { - if !proto.Equal(m.GetResponse(), target.GetResponse()) { - return false - } - } - - if h, ok := interface{}(m.GetDelay()).(equality.Equalizer); ok { - if !h.Equal(target.GetDelay()) { - return false - } - } else { - if !proto.Equal(m.GetDelay(), target.GetDelay()) { - return false - } - } - return true } @@ -1111,10 +558,6 @@ func (m *GraphQLApiSpec_GraphQLApiOptions) Equal(that interface{}) bool { return false } - if m.GetLogSensitiveInfo() != target.GetLogSensitiveInfo() { - return false - } - return true } @@ -1139,37 +582,6 @@ func (m *Executor_Local) Equal(that interface{}) bool { return false } - if len(m.GetResolutions()) != len(target.GetResolutions()) { - return false - } - for k, v := range m.GetResolutions() { - - if h, ok := interface{}(v).(equality.Equalizer); ok { - if !h.Equal(target.GetResolutions()[k]) { - return false - } - } else { - if !proto.Equal(v, target.GetResolutions()[k]) { - return false - } - } - - } - - if m.GetEnableIntrospection() != target.GetEnableIntrospection() { - return false - } - - if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { - if !h.Equal(target.GetOptions()) { - return false - } - } else { - if !proto.Equal(m.GetOptions(), target.GetOptions()) { - return false - } - } - return true } @@ -1194,42 +606,6 @@ func (m *Executor_Remote) Equal(that interface{}) bool { return false } - if h, ok := interface{}(m.GetUpstreamRef()).(equality.Equalizer); ok { - if !h.Equal(target.GetUpstreamRef()) { - return false - } - } else { - if !proto.Equal(m.GetUpstreamRef(), target.GetUpstreamRef()) { - return false - } - } - - if len(m.GetHeaders()) != len(target.GetHeaders()) { - return false - } - for k, v := range m.GetHeaders() { - - if strings.Compare(v, target.GetHeaders()[k]) != 0 { - return false - } - - } - - if len(m.GetQueryParams()) != len(target.GetQueryParams()) { - return false - } - for k, v := range m.GetQueryParams() { - - if strings.Compare(v, target.GetQueryParams()[k]) != 0 { - return false - } - - } - - if strings.Compare(m.GetSpanName(), target.GetSpanName()) != 0 { - return false - } - return true } @@ -1254,15 +630,5 @@ func (m *Executor_Local_LocalExecutorOptions) Equal(that interface{}) bool { return false } - if h, ok := interface{}(m.GetMaxDepth()).(equality.Equalizer); ok { - if !h.Equal(target.GetMaxDepth()) { - return false - } - } else { - if !proto.Equal(m.GetMaxDepth(), target.GetMaxDepth()) { - return false - } - } - return true } diff --git a/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.go b/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.go index d6e0835f5..faf570ed2 100644 --- a/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.go +++ b/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.go @@ -11,15 +11,11 @@ import ( sync "sync" unsafe "unsafe" - _ "github.com/envoyproxy/protoc-gen-validate/validate" _ "github.com/solo-io/protoc-gen-ext/extproto" - core "github.com/solo-io/solo-kit/pkg/api/v1/resources/core" + _ "github.com/solo-io/solo-kit/pkg/api/v1/resources/core" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - durationpb "google.golang.org/protobuf/types/known/durationpb" - _ "google.golang.org/protobuf/types/known/emptypb" structpb "google.golang.org/protobuf/types/known/structpb" - wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" ) const ( @@ -87,36 +83,9 @@ func (GraphQLApiStatus_State) EnumDescriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{13, 0} } -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// Defines a configuration for generating outgoing requests for a resolver. +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type RequestTemplate struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Use this attribute to set request headers to your REST service. It consists of a - // map of strings to templated value strings. The string key determines the name of the - // resulting header, the value provided will be the value. - // - // The least needed here is the ":method" and ":path" headers. - // for example, if a header is an authorization token, taken from the graphql args, - // we can use the following configuration: - // headers: - // - // Authorization: "Bearer {$args.token}" - Headers map[string]string `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - // Use this attribute to set query parameters to your REST service. It consists of a - // map of strings to templated value strings. The string key determines the name of the - // query param, the provided value will be the value. This value is appended to any - // value set to the :path header in `headers`. - // - // for example, if a query parameter is an id, taken from the graphql parent object, - // we can use the following configuration: - // queryParams: - // - // id: "{$parent.id}" - QueryParams map[string]string `protobuf:"bytes,2,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - // Used to construct the outgoing body to the upstream from the - // graphql value providers. - // All string values can be templated strings. - Body *structpb.Value `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -151,65 +120,9 @@ func (*RequestTemplate) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{0} } -func (x *RequestTemplate) GetHeaders() map[string]string { - if x != nil { - return x.Headers - } - return nil -} - -func (x *RequestTemplate) GetQueryParams() map[string]string { - if x != nil { - return x.QueryParams - } - return nil -} - -func (x *RequestTemplate) GetBody() *structpb.Value { - if x != nil { - return x.Body - } - return nil -} - -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type ResponseTemplate struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Sets the "root" of the upstream response to be turned into a graphql type by the graphql server. - // For example, if the graphql type is: - // - // type Simple { - // name String - // } - // - // and the upstream response is `{"data": {"simple": {"name": "simple name"}}}`, - // the graphql server will not be able to marshal the upstream response into the Simple graphql type - // because it does not know where the relevant data is. If we set result_root to "data.simple", we can give the - // graphql server a hint of where to look in the upstream response for the relevant data that graphql type wants. - ResultRoot string `protobuf:"bytes,1,opt,name=result_root,json=resultRoot,proto3" json:"result_root,omitempty"` - // Field-specific mapping for a graphql field to a JSON path in the upstream response. - // For example, if the graphql type is: - // - // type Person { - // firstname String - // lastname String - // fullname String - // } - // - // and the upstream response is `{"firstname": "Joe", "details": {"lastname": "Smith"}}`, - // the graphql server will not be able to marshal the upstream response into the Person graphql type because of the - // nested `lastname` field. We can use a simple setter here: - // - // setters: - // lastname: '{$body.details.lastname}' - // fullname: '{$body.details.firstname} {$body.details.lastname}' - // - // and the graphql server will be able to extract data for a field given the path to the relevant data - // in the upstream JSON response. We do not need to have a setter for the `firstname` field because the - // JSON response has that field in a position the graphql server can understand automatically. - // - // So far only the $body keyword is supported, but in the future we may add support for others such as $headers. - Setters map[string]string `protobuf:"bytes,2,rep,name=setters,proto3" json:"setters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -244,37 +157,11 @@ func (*ResponseTemplate) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{1} } -func (x *ResponseTemplate) GetResultRoot() string { - if x != nil { - return x.ResultRoot - } - return "" -} - -func (x *ResponseTemplate) GetSetters() map[string]string { - if x != nil { - return x.Setters - } - return nil -} - -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// Defines a configuration for generating outgoing requests for a resolver. +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type GrpcRequestTemplate struct { - state protoimpl.MessageState `protogen:"open.v1"` - // json representation of outgoing gRPC message to be sent to gRPC service - OutgoingMessageJson *structpb.Value `protobuf:"bytes,1,opt,name=outgoing_message_json,json=outgoingMessageJson,proto3" json:"outgoing_message_json,omitempty"` - // request has shape matching service with name registered in registry - // is the full_name(), e.g. main.Bookstore - ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - // make request to method with this name on the grpc service defined above - // is just the name(), e.g. GetBook - MethodName string `protobuf:"bytes,3,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` - // in the future, we may want to make this a map - // once we know better what the use cases are - RequestMetadata map[string]string `protobuf:"bytes,4,rep,name=request_metadata,json=requestMetadata,proto3" json:"request_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcRequestTemplate) Reset() { @@ -307,48 +194,9 @@ func (*GrpcRequestTemplate) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{2} } -func (x *GrpcRequestTemplate) GetOutgoingMessageJson() *structpb.Value { - if x != nil { - return x.OutgoingMessageJson - } - return nil -} - -func (x *GrpcRequestTemplate) GetServiceName() string { - if x != nil { - return x.ServiceName - } - return "" -} - -func (x *GrpcRequestTemplate) GetMethodName() string { - if x != nil { - return x.MethodName - } - return "" -} - -func (x *GrpcRequestTemplate) GetRequestMetadata() map[string]string { - if x != nil { - return x.RequestMetadata - } - return nil -} - -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// control-plane API +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type RESTResolver struct { - state protoimpl.MessageState `protogen:"open.v1"` - UpstreamRef *core.ResourceRef `protobuf:"bytes,1,opt,name=upstream_ref,json=upstreamRef,proto3" json:"upstream_ref,omitempty"` - // configuration used to compose the outgoing request to a REST API - Request *RequestTemplate `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` - // configuration used to modify the response from the REST API - // before being handled by the graphql server. - Response *ResponseTemplate `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"` - SpanName string `protobuf:"bytes,4,opt,name=span_name,json=spanName,proto3" json:"span_name,omitempty"` - // The timeout to use for this resolver. If unset, the upstream connection timeout - // or a default of 1 second will be used. - Timeout *durationpb.Duration `protobuf:"bytes,5,opt,name=timeout,proto3" json:"timeout,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -383,52 +231,9 @@ func (*RESTResolver) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{3} } -func (x *RESTResolver) GetUpstreamRef() *core.ResourceRef { - if x != nil { - return x.UpstreamRef - } - return nil -} - -func (x *RESTResolver) GetRequest() *RequestTemplate { - if x != nil { - return x.Request - } - return nil -} - -func (x *RESTResolver) GetResponse() *ResponseTemplate { - if x != nil { - return x.Response - } - return nil -} - -func (x *RESTResolver) GetSpanName() string { - if x != nil { - return x.SpanName - } - return "" -} - -func (x *RESTResolver) GetTimeout() *durationpb.Duration { - if x != nil { - return x.Timeout - } - return nil -} - -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// Defines a configuration for serializing and deserializing requests for a gRPC resolver. -// Is a Schema Extension +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type GrpcDescriptorRegistry struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Types that are valid to be assigned to DescriptorSet: - // - // *GrpcDescriptorRegistry_ProtoDescriptor - // *GrpcDescriptorRegistry_ProtoDescriptorBin - // *GrpcDescriptorRegistry_ProtoRefsList - DescriptorSet isGrpcDescriptorRegistry_DescriptorSet `protobuf_oneof:"descriptor_set"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -463,83 +268,9 @@ func (*GrpcDescriptorRegistry) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{4} } -func (x *GrpcDescriptorRegistry) GetDescriptorSet() isGrpcDescriptorRegistry_DescriptorSet { - if x != nil { - return x.DescriptorSet - } - return nil -} - -func (x *GrpcDescriptorRegistry) GetProtoDescriptor() string { - if x != nil { - if x, ok := x.DescriptorSet.(*GrpcDescriptorRegistry_ProtoDescriptor); ok { - return x.ProtoDescriptor - } - } - return "" -} - -func (x *GrpcDescriptorRegistry) GetProtoDescriptorBin() []byte { - if x != nil { - if x, ok := x.DescriptorSet.(*GrpcDescriptorRegistry_ProtoDescriptorBin); ok { - return x.ProtoDescriptorBin - } - } - return nil -} - -func (x *GrpcDescriptorRegistry) GetProtoRefsList() *GrpcDescriptorRegistry_ProtoRefs { - if x != nil { - if x, ok := x.DescriptorSet.(*GrpcDescriptorRegistry_ProtoRefsList); ok { - return x.ProtoRefsList - } - } - return nil -} - -type isGrpcDescriptorRegistry_DescriptorSet interface { - isGrpcDescriptorRegistry_DescriptorSet() -} - -type GrpcDescriptorRegistry_ProtoDescriptor struct { - // Supplies the filename of - // the proto descriptor set for the gRPC - // services. - ProtoDescriptor string `protobuf:"bytes,1,opt,name=proto_descriptor,json=protoDescriptor,proto3,oneof"` -} - -type GrpcDescriptorRegistry_ProtoDescriptorBin struct { - // Supplies the binary content of - // the proto descriptor set for the gRPC - // services. - // Note: in yaml, this must be provided as a base64 standard encoded string; yaml cannot handle binary bytes - ProtoDescriptorBin []byte `protobuf:"bytes,2,opt,name=proto_descriptor_bin,json=protoDescriptorBin,proto3,oneof"` -} - -type GrpcDescriptorRegistry_ProtoRefsList struct { - // Allows the user to put proto descriptor set binary content in configmaps; - // The descriptor set binary content in these config maps must be base64 encoded - // Generating the proto descriptor binary and base64 encoding it can be done using the following command - // `protoc ./your-proto-here.proto --proto_path . --descriptor_set_out="/dev/stdout" --include_imports | base64` - ProtoRefsList *GrpcDescriptorRegistry_ProtoRefs `protobuf:"bytes,3,opt,name=proto_refs_list,json=protoRefsList,proto3,oneof"` -} - -func (*GrpcDescriptorRegistry_ProtoDescriptor) isGrpcDescriptorRegistry_DescriptorSet() {} - -func (*GrpcDescriptorRegistry_ProtoDescriptorBin) isGrpcDescriptorRegistry_DescriptorSet() {} - -func (*GrpcDescriptorRegistry_ProtoRefsList) isGrpcDescriptorRegistry_DescriptorSet() {} - -// control-plane API +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type GrpcResolver struct { - state protoimpl.MessageState `protogen:"open.v1"` - UpstreamRef *core.ResourceRef `protobuf:"bytes,1,opt,name=upstream_ref,json=upstreamRef,proto3" json:"upstream_ref,omitempty"` - // configuration used to compose the outgoing request to a REST API - RequestTransform *GrpcRequestTemplate `protobuf:"bytes,2,opt,name=request_transform,json=requestTransform,proto3" json:"request_transform,omitempty"` - SpanName string `protobuf:"bytes,4,opt,name=span_name,json=spanName,proto3" json:"span_name,omitempty"` - // The timeout to use for this resolver. If unset, the upstream connection timeout - // or a default of 1 second will be used. - Timeout *durationpb.Duration `protobuf:"bytes,5,opt,name=timeout,proto3" json:"timeout,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -574,39 +305,9 @@ func (*GrpcResolver) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{5} } -func (x *GrpcResolver) GetUpstreamRef() *core.ResourceRef { - if x != nil { - return x.UpstreamRef - } - return nil -} - -func (x *GrpcResolver) GetRequestTransform() *GrpcRequestTemplate { - if x != nil { - return x.RequestTransform - } - return nil -} - -func (x *GrpcResolver) GetSpanName() string { - if x != nil { - return x.SpanName - } - return "" -} - -func (x *GrpcResolver) GetTimeout() *durationpb.Duration { - if x != nil { - return x.Timeout - } - return nil -} - -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type StitchedSchema struct { - state protoimpl.MessageState `protogen:"open.v1"` - // List of GraphQLApis that compose this stitched GraphQL schema. - Subschemas []*StitchedSchema_SubschemaConfig `protobuf:"bytes,1,rep,name=subschemas,proto3" json:"subschemas,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -641,22 +342,9 @@ func (*StitchedSchema) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{6} } -func (x *StitchedSchema) GetSubschemas() []*StitchedSchema_SubschemaConfig { - if x != nil { - return x.Subschemas - } - return nil -} - -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type MockResolver struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Types that are valid to be assigned to Response: - // - // *MockResolver_SyncResponse - // *MockResolver_AsyncResponse_ - // *MockResolver_ErrorResponse - Response isMockResolver_Response `protobuf_oneof:"response"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -691,84 +379,9 @@ func (*MockResolver) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{7} } -func (x *MockResolver) GetResponse() isMockResolver_Response { - if x != nil { - return x.Response - } - return nil -} - -func (x *MockResolver) GetSyncResponse() *structpb.Value { - if x != nil { - if x, ok := x.Response.(*MockResolver_SyncResponse); ok { - return x.SyncResponse - } - } - return nil -} - -func (x *MockResolver) GetAsyncResponse() *MockResolver_AsyncResponse { - if x != nil { - if x, ok := x.Response.(*MockResolver_AsyncResponse_); ok { - return x.AsyncResponse - } - } - return nil -} - -func (x *MockResolver) GetErrorResponse() string { - if x != nil { - if x, ok := x.Response.(*MockResolver_ErrorResponse); ok { - return x.ErrorResponse - } - } - return "" -} - -type isMockResolver_Response interface { - isMockResolver_Response() -} - -type MockResolver_SyncResponse struct { - // The JSON response from the resolver that will be "responded" immediately. - SyncResponse *structpb.Value `protobuf:"bytes,1,opt,name=sync_response,json=syncResponse,proto3,oneof"` -} - -type MockResolver_AsyncResponse_ struct { - // Used to create a asynchronous JSON response from the Mock resolver. - AsyncResponse *MockResolver_AsyncResponse `protobuf:"bytes,2,opt,name=async_response,json=asyncResponse,proto3,oneof"` -} - -type MockResolver_ErrorResponse struct { - // Responds as an error with the given message. This can be any string message. - ErrorResponse string `protobuf:"bytes,3,opt,name=error_response,json=errorResponse,proto3,oneof"` -} - -func (*MockResolver_SyncResponse) isMockResolver_Response() {} - -func (*MockResolver_AsyncResponse_) isMockResolver_Response() {} - -func (*MockResolver_ErrorResponse) isMockResolver_Response() {} - -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// Define a named resolver which can be then matched to a field using the `resolve` directive. -// if a field does not have resolver, the default resolver will be used. -// the default resolver takes the field with the same name from the parent, and uses that value -// to resolve the field. -// If a field with the same name does not exist in the parent, null will be used. +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type Resolution struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The resolver to use. - // - // Types that are valid to be assigned to Resolver: - // - // *Resolution_RestResolver - // *Resolution_GrpcResolver - // *Resolution_MockResolver - Resolver isResolution_Resolver `protobuf_oneof:"resolver"` - // The stats prefix which will be used for this resolver. - // If empty, will generate a stats prefix ${RESOLVER_NAME} - StatPrefix *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -803,101 +416,9 @@ func (*Resolution) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{8} } -func (x *Resolution) GetResolver() isResolution_Resolver { - if x != nil { - return x.Resolver - } - return nil -} - -func (x *Resolution) GetRestResolver() *RESTResolver { - if x != nil { - if x, ok := x.Resolver.(*Resolution_RestResolver); ok { - return x.RestResolver - } - } - return nil -} - -func (x *Resolution) GetGrpcResolver() *GrpcResolver { - if x != nil { - if x, ok := x.Resolver.(*Resolution_GrpcResolver); ok { - return x.GrpcResolver - } - } - return nil -} - -func (x *Resolution) GetMockResolver() *MockResolver { - if x != nil { - if x, ok := x.Resolver.(*Resolution_MockResolver); ok { - return x.MockResolver - } - } - return nil -} - -func (x *Resolution) GetStatPrefix() *wrapperspb.StringValue { - if x != nil { - return x.StatPrefix - } - return nil -} - -type isResolution_Resolver interface { - isResolution_Resolver() -} - -type Resolution_RestResolver struct { - // REST resolver used to translate and send graphql requests - // to a REST upstream. - RestResolver *RESTResolver `protobuf:"bytes,1,opt,name=rest_resolver,json=restResolver,proto3,oneof"` -} - -type Resolution_GrpcResolver struct { - // gRPC resolver used to translate and send graphql requests - // to a gRPC upstream. - GrpcResolver *GrpcResolver `protobuf:"bytes,2,opt,name=grpc_resolver,json=grpcResolver,proto3,oneof"` -} - -type Resolution_MockResolver struct { - // Resolver used to mock responses from an upstream. - // This resolver does not make a call out to an upstream, but can mock responses - // either synchronously or with a delay. - // Additionally, can be used to mock errors from an upstream. - MockResolver *MockResolver `protobuf:"bytes,4,opt,name=mock_resolver,json=mockResolver,proto3,oneof"` -} - -func (*Resolution_RestResolver) isResolution_Resolver() {} - -func (*Resolution_GrpcResolver) isResolution_Resolver() {} - -func (*Resolution_MockResolver) isResolution_Resolver() {} - -// Deprecated, Enterprise-Only: THIS FEATURE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE. APIs are versioned as alpha and subject to change. -// User-facing CR config for resolving client requests to graphql schemas. -// Routes that have this config will execute graphql queries, and will not make it to the router filter. i.e. this -// filter will terminate the request for these routes. -// Note: while users can provide this configuration manually, the eventual UX will -// be to generate the Executable Schema CRs from other sources and just have users -// configure the routes to point to these schema CRs. +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type GraphQLApiSpec struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Types that are valid to be assigned to Schema: - // - // *GraphQLApiSpec_ExecutableSchema - // *GraphQLApiSpec_StitchedSchema - Schema isGraphQLApiSpec_Schema `protobuf_oneof:"schema"` - // The stats prefix which will be used for this route config. - // If empty, will generate a stats prefix ${GRAPHQLAPI_REF} - StatPrefix *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` - // Configuration settings for persisted query cache - PersistedQueryCacheConfig *PersistedQueryCacheConfig `protobuf:"bytes,4,opt,name=persisted_query_cache_config,json=persistedQueryCacheConfig,proto3" json:"persisted_query_cache_config,omitempty"` - // Safelist: only allow queries to be executed that match these sha256 hashes. - // The hash can be computed from the query string or provided (i.e. persisted queries). - AllowedQueryHashes []string `protobuf:"bytes,5,rep,name=allowed_query_hashes,json=allowedQueryHashes,proto3" json:"allowed_query_hashes,omitempty"` - // Options that apply to this GraphQLApi. - Options *GraphQLApiSpec_GraphQLApiOptions `protobuf:"bytes,8,opt,name=options,proto3" json:"options,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -932,84 +453,9 @@ func (*GraphQLApiSpec) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{9} } -func (x *GraphQLApiSpec) GetSchema() isGraphQLApiSpec_Schema { - if x != nil { - return x.Schema - } - return nil -} - -func (x *GraphQLApiSpec) GetExecutableSchema() *ExecutableSchema { - if x != nil { - if x, ok := x.Schema.(*GraphQLApiSpec_ExecutableSchema); ok { - return x.ExecutableSchema - } - } - return nil -} - -func (x *GraphQLApiSpec) GetStitchedSchema() *StitchedSchema { - if x != nil { - if x, ok := x.Schema.(*GraphQLApiSpec_StitchedSchema); ok { - return x.StitchedSchema - } - } - return nil -} - -func (x *GraphQLApiSpec) GetStatPrefix() *wrapperspb.StringValue { - if x != nil { - return x.StatPrefix - } - return nil -} - -func (x *GraphQLApiSpec) GetPersistedQueryCacheConfig() *PersistedQueryCacheConfig { - if x != nil { - return x.PersistedQueryCacheConfig - } - return nil -} - -func (x *GraphQLApiSpec) GetAllowedQueryHashes() []string { - if x != nil { - return x.AllowedQueryHashes - } - return nil -} - -func (x *GraphQLApiSpec) GetOptions() *GraphQLApiSpec_GraphQLApiOptions { - if x != nil { - return x.Options - } - return nil -} - -type isGraphQLApiSpec_Schema interface { - isGraphQLApiSpec_Schema() -} - -type GraphQLApiSpec_ExecutableSchema struct { - // An Executable Schema represents a single upstream, which could be a locally resolved - // schema, or a remotely resolved schema. - ExecutableSchema *ExecutableSchema `protobuf:"bytes,6,opt,name=executable_schema,json=executableSchema,proto3,oneof"` -} - -type GraphQLApiSpec_StitchedSchema struct { - // A stitched schema represents the product of stitching multiple graphql subschemas together. - StitchedSchema *StitchedSchema `protobuf:"bytes,7,opt,name=stitched_schema,json=stitchedSchema,proto3,oneof"` -} - -func (*GraphQLApiSpec_ExecutableSchema) isGraphQLApiSpec_Schema() {} - -func (*GraphQLApiSpec_StitchedSchema) isGraphQLApiSpec_Schema() {} - -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields -// This message specifies Persisted Query Cache configuration. +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type PersistedQueryCacheConfig struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The unit is number of queries to store, default to 1000. - CacheSize uint32 `protobuf:"varint,1,opt,name=cache_size,json=cacheSize,proto3" json:"cache_size,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1044,43 +490,11 @@ func (*PersistedQueryCacheConfig) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{10} } -func (x *PersistedQueryCacheConfig) GetCacheSize() uint32 { - if x != nil { - return x.CacheSize - } - return 0 -} - -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type ExecutableSchema struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The following directives are supported: - // - @resolve(name: string) - // - @cacheControl(maxAge: uint32, inheritMaxAge: bool, scope: unset/public/private) - // - // Define named resolvers on the `Executor.Local.resolutions` message, and reference them here using @resolve: - // ```gql - // type Query { - // author: String @resolve(name: "authorResolver") - // } - // - // Further, fields/types can be annotated with the @cacheControl directive, e.g. - // ```gql - // type Query @cacheControl(maxAge: 60) { - // author: String @resolve(name: "authorResolver") @cacheControl(maxAge: 90, scope: private) - // } - // ``` - // Any type-level cache control defaults are overridden by field settings, if provided. - // The most restrictive cache control setting (smallest maxAge and scope) across all fields in - // an entire query will be returned to the client in the `Cache-Control` header with appropriate - // `max-age` and scope (unset, `public`, or `private`) directives. - SchemaDefinition string `protobuf:"bytes,1,opt,name=schema_definition,json=schemaDefinition,proto3" json:"schema_definition,omitempty"` - // how to execute the schema - Executor *Executor `protobuf:"bytes,2,opt,name=executor,proto3" json:"executor,omitempty"` - // Schema extensions - GrpcDescriptorRegistry *GrpcDescriptorRegistry `protobuf:"bytes,3,opt,name=grpc_descriptor_registry,json=grpcDescriptorRegistry,proto3" json:"grpc_descriptor_registry,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ExecutableSchema) Reset() { @@ -1113,35 +527,9 @@ func (*ExecutableSchema) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{11} } -func (x *ExecutableSchema) GetSchemaDefinition() string { - if x != nil { - return x.SchemaDefinition - } - return "" -} - -func (x *ExecutableSchema) GetExecutor() *Executor { - if x != nil { - return x.Executor - } - return nil -} - -func (x *ExecutableSchema) GetGrpcDescriptorRegistry() *GrpcDescriptorRegistry { - if x != nil { - return x.GrpcDescriptorRegistry - } - return nil -} - -// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent breaking upgrades and to prevent future use of these names and fields +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type Executor struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Types that are valid to be assigned to Executor: - // - // *Executor_Local_ - // *Executor_Remote_ - Executor isExecutor_Executor `protobuf_oneof:"executor"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1176,47 +564,6 @@ func (*Executor) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{12} } -func (x *Executor) GetExecutor() isExecutor_Executor { - if x != nil { - return x.Executor - } - return nil -} - -func (x *Executor) GetLocal() *Executor_Local { - if x != nil { - if x, ok := x.Executor.(*Executor_Local_); ok { - return x.Local - } - } - return nil -} - -func (x *Executor) GetRemote() *Executor_Remote { - if x != nil { - if x, ok := x.Executor.(*Executor_Remote_); ok { - return x.Remote - } - } - return nil -} - -type isExecutor_Executor interface { - isExecutor_Executor() -} - -type Executor_Local_ struct { - Local *Executor_Local `protobuf:"bytes,1,opt,name=local,proto3,oneof"` -} - -type Executor_Remote_ struct { - Remote *Executor_Remote `protobuf:"bytes,2,opt,name=remote,proto3,oneof"` -} - -func (*Executor_Local_) isExecutor_Executor() {} - -func (*Executor_Remote_) isExecutor_Executor() {} - type GraphQLApiStatus struct { state protoimpl.MessageState `protogen:"open.v1"` // State is the enum indicating the state of the resource @@ -1342,20 +689,16 @@ func (x *GraphQLApiNamespacedStatuses) GetStatuses() map[string]*GraphQLApiStatu return nil } +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type GrpcDescriptorRegistry_ProtoRefs struct { - state protoimpl.MessageState `protogen:"open.v1"` - // List of references to config maps that contain proto data for this resolver. - // For each of the config maps referenced here, they must contain keys in their data map with valid base64 encoded - // proto descriptor set binaries as the values. - // Also they must be in a namespace watched by gloo edge. - ConfigMapRefs []*core.ResourceRef `protobuf:"bytes,1,rep,name=config_map_refs,json=configMapRefs,proto3" json:"config_map_refs,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GrpcDescriptorRegistry_ProtoRefs) Reset() { *x = GrpcDescriptorRegistry_ProtoRefs{} - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[19] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1367,7 +710,7 @@ func (x *GrpcDescriptorRegistry_ProtoRefs) String() string { func (*GrpcDescriptorRegistry_ProtoRefs) ProtoMessage() {} func (x *GrpcDescriptorRegistry_ProtoRefs) ProtoReflect() protoreflect.Message { - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[19] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1383,66 +726,16 @@ func (*GrpcDescriptorRegistry_ProtoRefs) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{4, 0} } -func (x *GrpcDescriptorRegistry_ProtoRefs) GetConfigMapRefs() []*core.ResourceRef { - if x != nil { - return x.ConfigMapRefs - } - return nil -} - +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type StitchedSchema_SubschemaConfig struct { - state protoimpl.MessageState `protogen:"open.v1"` - // name of the GraphQLApi subschema - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // namespace of the GraphQLApi subschema - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - // Type merge configuration for this subschema. Let's say this subschema is a Users service schema - // and provides the User type (with a query to fetch a user given the username) - // - // ```gql - // type Query { - // GetUser(username: String): User - // } - // type User { - // username: String - // firstName: String - // lastName: String - // } - // ``` - // - // and another subschema, e.g. Reviews schema, may have a partial User type: - // ```gql - // type Review { - // author: User - // } - // - // type User { - // username: String - // } - // ``` - // We want to provide the relevant information from this Users service schema, - // so that another API that can give us a partial User type (with the username) will then - // be able to have access to the full user type. With the correct type merging config under the Users subschema, e.g.: - // - // ```yaml - // type_merge: - // User: - // selection_set: '{ username }' - // query_name: 'GetUser' - // args: - // username: username - // ``` - // the stitched schema will now be able to provide the full user type to all types that require it. In this case, - // we can now get the first name of an author from the Review.author field even though the Reviews schema does not - // provide the full User type. - TypeMerge map[string]*StitchedSchema_SubschemaConfig_TypeMergeConfig `protobuf:"bytes,3,rep,name=type_merge,json=typeMerge,proto3" json:"type_merge,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StitchedSchema_SubschemaConfig) Reset() { *x = StitchedSchema_SubschemaConfig{} - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[20] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1454,7 +747,7 @@ func (x *StitchedSchema_SubschemaConfig) String() string { func (*StitchedSchema_SubschemaConfig) ProtoMessage() {} func (x *StitchedSchema_SubschemaConfig) ProtoReflect() protoreflect.Message { - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[20] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1470,44 +763,16 @@ func (*StitchedSchema_SubschemaConfig) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{6, 0} } -func (x *StitchedSchema_SubschemaConfig) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *StitchedSchema_SubschemaConfig) GetNamespace() string { - if x != nil { - return x.Namespace - } - return "" -} - -func (x *StitchedSchema_SubschemaConfig) GetTypeMerge() map[string]*StitchedSchema_SubschemaConfig_TypeMergeConfig { - if x != nil { - return x.TypeMerge - } - return nil -} - +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type StitchedSchema_SubschemaConfig_TypeMergeConfig struct { - state protoimpl.MessageState `protogen:"open.v1"` - // This specifies one or more key fields required from other services to perform this query. - // Query planning will automatically resolve these fields from other subschemas in dependency order. - // This is a graphql selection set specified as a string - // e.g. '{ username }' - SelectionSet string `protobuf:"bytes,1,opt,name=selection_set,json=selectionSet,proto3" json:"selection_set,omitempty"` - // specifies the root field from this subschema used to request the local type - QueryName string `protobuf:"bytes,2,opt,name=query_name,json=queryName,proto3" json:"query_name,omitempty"` - Args map[string]string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StitchedSchema_SubschemaConfig_TypeMergeConfig) Reset() { *x = StitchedSchema_SubschemaConfig_TypeMergeConfig{} - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[21] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1519,7 +784,7 @@ func (x *StitchedSchema_SubschemaConfig_TypeMergeConfig) String() string { func (*StitchedSchema_SubschemaConfig_TypeMergeConfig) ProtoMessage() {} func (x *StitchedSchema_SubschemaConfig_TypeMergeConfig) ProtoReflect() protoreflect.Message { - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[21] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1535,40 +800,16 @@ func (*StitchedSchema_SubschemaConfig_TypeMergeConfig) Descriptor() ([]byte, []i return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{6, 0, 0} } -func (x *StitchedSchema_SubschemaConfig_TypeMergeConfig) GetSelectionSet() string { - if x != nil { - return x.SelectionSet - } - return "" -} - -func (x *StitchedSchema_SubschemaConfig_TypeMergeConfig) GetQueryName() string { - if x != nil { - return x.QueryName - } - return "" -} - -func (x *StitchedSchema_SubschemaConfig_TypeMergeConfig) GetArgs() map[string]string { - if x != nil { - return x.Args - } - return nil -} - +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type MockResolver_AsyncResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The response from the resolver as a JSON. - Response *structpb.Value `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` - // The delay time before this response is sent back to the graphql server - Delay *durationpb.Duration `protobuf:"bytes,2,opt,name=delay,proto3" json:"delay,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MockResolver_AsyncResponse) Reset() { *x = MockResolver_AsyncResponse{} - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[24] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1580,7 +821,7 @@ func (x *MockResolver_AsyncResponse) String() string { func (*MockResolver_AsyncResponse) ProtoMessage() {} func (x *MockResolver_AsyncResponse) ProtoReflect() protoreflect.Message { - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[24] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1596,34 +837,16 @@ func (*MockResolver_AsyncResponse) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{7, 0} } -func (x *MockResolver_AsyncResponse) GetResponse() *structpb.Value { - if x != nil { - return x.Response - } - return nil -} - -func (x *MockResolver_AsyncResponse) GetDelay() *durationpb.Duration { - if x != nil { - return x.Delay - } - return nil -} - +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type GraphQLApiSpec_GraphQLApiOptions struct { - state protoimpl.MessageState `protogen:"open.v1"` - // If true, includes information about request and response in the gateway-proxy debug and trace logs. - // This is useful when debugging but is not recommended for security and performance reasons in - // production scenarios. - // Defaults to false. - LogSensitiveInfo bool `protobuf:"varint,1,opt,name=log_sensitive_info,json=logSensitiveInfo,proto3" json:"log_sensitive_info,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GraphQLApiSpec_GraphQLApiOptions) Reset() { *x = GraphQLApiSpec_GraphQLApiOptions{} - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[25] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1635,7 +858,7 @@ func (x *GraphQLApiSpec_GraphQLApiOptions) String() string { func (*GraphQLApiSpec_GraphQLApiOptions) ProtoMessage() {} func (x *GraphQLApiSpec_GraphQLApiOptions) ProtoReflect() protoreflect.Message { - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[25] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1651,47 +874,16 @@ func (*GraphQLApiSpec_GraphQLApiOptions) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{9, 0} } -func (x *GraphQLApiSpec_GraphQLApiOptions) GetLogSensitiveInfo() bool { - if x != nil { - return x.LogSensitiveInfo - } - return false -} - -// Execute schema using resolvers. +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type Executor_Local struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Mapping of resolver name to resolver definition. - // The names are used to reference the resolver in the graphql schema. - // For example, a resolver with name "authorResolver" can be defined as - // ```yaml - // authorResolver: - // restResolver: - // upstreamRef: ... - // request: - // ... - // response: - // ... - // ``` - // and referenced in the graphql schema as - // ```gql - // type Query { - // author: String @resolve(name: "authorResolver") - // } - // ``` - Resolutions map[string]*Resolution `protobuf:"bytes,1,rep,name=resolutions,proto3" json:"resolutions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - // Do we enable introspection for the schema? general recommendation is to - // disable this for production and hence it defaults to false. - EnableIntrospection bool `protobuf:"varint,2,opt,name=enable_introspection,json=enableIntrospection,proto3" json:"enable_introspection,omitempty"` - // Options that apply to this local executable schema - Options *Executor_Local_LocalExecutorOptions `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Executor_Local) Reset() { *x = Executor_Local{} - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[26] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1703,7 +895,7 @@ func (x *Executor_Local) String() string { func (*Executor_Local) ProtoMessage() {} func (x *Executor_Local) ProtoReflect() protoreflect.Message { - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[26] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1719,50 +911,16 @@ func (*Executor_Local) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{12, 0} } -func (x *Executor_Local) GetResolutions() map[string]*Resolution { - if x != nil { - return x.Resolutions - } - return nil -} - -func (x *Executor_Local) GetEnableIntrospection() bool { - if x != nil { - return x.EnableIntrospection - } - return false -} - -func (x *Executor_Local) GetOptions() *Executor_Local_LocalExecutorOptions { - if x != nil { - return x.Options - } - return nil -} - +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type Executor_Remote struct { - state protoimpl.MessageState `protogen:"open.v1"` - UpstreamRef *core.ResourceRef `protobuf:"bytes,1,opt,name=upstream_ref,json=upstreamRef,proto3" json:"upstream_ref,omitempty"` - // map of header name to extraction type: - // e.g. - // ':path': '/hard/coded/path' - // ':method': '{$headers.method}' - // - // ':key': '{$metadata.io.solo.transformation:endpoint_url}' - Headers map[string]string `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - // map of query parameter name to extraction type: - // e.g. - // - // 'query': '{$metadata.$KEY_NAME:$KEY_VALUE}' - QueryParams map[string]string `protobuf:"bytes,3,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - SpanName string `protobuf:"bytes,4,opt,name=span_name,json=spanName,proto3" json:"span_name,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Executor_Remote) Reset() { *x = Executor_Remote{} - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[27] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1774,7 +932,7 @@ func (x *Executor_Remote) String() string { func (*Executor_Remote) ProtoMessage() {} func (x *Executor_Remote) ProtoReflect() protoreflect.Message { - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[27] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1790,90 +948,16 @@ func (*Executor_Remote) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{12, 1} } -func (x *Executor_Remote) GetUpstreamRef() *core.ResourceRef { - if x != nil { - return x.UpstreamRef - } - return nil -} - -func (x *Executor_Remote) GetHeaders() map[string]string { - if x != nil { - return x.Headers - } - return nil -} - -func (x *Executor_Remote) GetQueryParams() map[string]string { - if x != nil { - return x.QueryParams - } - return nil -} - -func (x *Executor_Remote) GetSpanName() string { - if x != nil { - return x.SpanName - } - return "" -} - +// DEPRECATED: This message is deprecated and has been removed from use as of gloo 1.20. Message is being kept to prevent future use of these names and fields type Executor_Local_LocalExecutorOptions struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Max GraphQL operation (query/mutation/subscription) depth. This sets a limitation on the max nesting on a query that runs against this schema. - // any GraphQL operation that runs past the `max_depth` will add an error message to the response and will return as `null`. - // As as simple example, if the schema is - // ```gql - // - // type Query { - // employee: Employee - // } - // - // type Employee { - // manager: Employee - // name: String - // } - // - // ``` - // and we set a `max_depth` of `3` and we run a query - // ```gql - // query { # query depth : 0 - // - // employee { # query depth : 1 - // manager { # query depth : 2 - // name # query depth : 3 - // manager { # query depth : 3 - // name # query depth : 4 - // } - // } - // } - // } - // - // ``` - // the graphql server will respond with a response: - // ```json - // - // { "data" : { - // "employee" : { - // "manager" : { - // "name" : "Manager 1", - // "manager" : { - // "name" : null - // }}}}, - // "errors": [ - // {"message": "field 'name' exceeds the max operation depth of 3 for this schema"} - // ] - // } - // - // If not configured, or the value is 0, the query depth will be unbounded. - MaxDepth *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=max_depth,json=maxDepth,proto3" json:"max_depth,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Executor_Local_LocalExecutorOptions) Reset() { *x = Executor_Local_LocalExecutorOptions{} - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[28] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1885,7 +969,7 @@ func (x *Executor_Local_LocalExecutorOptions) String() string { func (*Executor_Local_LocalExecutorOptions) ProtoMessage() {} func (x *Executor_Local_LocalExecutorOptions) ProtoReflect() protoreflect.Message { - mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[28] + mi := &file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1901,13 +985,6 @@ func (*Executor_Local_LocalExecutorOptions) Descriptor() ([]byte, []int) { return file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDescGZIP(), []int{12, 0, 0} } -func (x *Executor_Local_LocalExecutorOptions) GetMaxDepth() *wrapperspb.UInt32Value { - if x != nil { - return x.MaxDepth - } - return nil -} - var File_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto protoreflect.FileDescriptor var file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDesc = string([]byte{ @@ -1917,384 +994,168 @@ var file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_prot 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, - 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x6b, 0x69, - 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x6b, 0x69, - 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, - 0x2d, 0x6b, 0x69, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x66, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, - 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x02, 0x0a, 0x0f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, - 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, - 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x59, 0x0a, 0x0c, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, - 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2a, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x62, 0x6f, - 0x64, 0x79, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, - 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbe, - 0x01, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, - 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, - 0x74, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, - 0x65, 0x72, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0xd4, 0x02, 0x0a, 0x13, 0x47, 0x72, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x15, 0x6f, 0x75, 0x74, 0x67, 0x6f, - 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, - 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4a, - 0x73, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x69, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, - 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x1a, 0x42, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa3, 0x02, 0x0a, 0x0c, 0x52, 0x45, 0x53, 0x54, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x0c, 0x75, 0x70, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, 0x0b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x3f, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, - 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x07, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, + 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x6b, 0x69, 0x74, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x6b, 0x69, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, + 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x34, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, + 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x22, 0x71, 0x0a, + 0x13, 0x47, 0x72, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, + 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x15, 0x6f, 0x75, + 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6a, + 0x73, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x10, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x22, 0x61, 0x0a, 0x0c, 0x52, 0x45, 0x53, 0x54, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, + 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, + 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x52, 0x0c, + 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x52, 0x07, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x09, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x72, 0x70, 0x63, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x1a, 0x22, + 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x65, 0x66, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, + 0x02, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, + 0x66, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, + 0x08, 0x03, 0x10, 0x04, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x69, 0x6e, 0x52, 0x0f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x61, 0x0a, + 0x0c, 0x47, 0x72, 0x70, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4a, 0x04, 0x08, + 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, + 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x52, 0x0c, 0x75, 0x70, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09, 0x73, 0x70, + 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x22, 0xab, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x1a, 0x86, 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x44, 0x0a, 0x0f, 0x54, 0x79, 0x70, 0x65, 0x4d, + 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, + 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0d, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x52, 0x0a, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x4a, 0x04, 0x08, + 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x52, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x4a, 0x04, 0x08, 0x01, + 0x10, 0x02, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x22, 0x7d, + 0x0a, 0x0c, 0x4d, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x1a, 0x2c, + 0x0a, 0x0d, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4a, + 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x4a, 0x04, 0x08, 0x01, + 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0d, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0e, 0x61, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0e, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, + 0x0a, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x01, 0x10, + 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, + 0x04, 0x10, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x52, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x72, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x0d, + 0x6d, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x22, 0xfc, 0x01, + 0x0a, 0x0e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, + 0x1a, 0x2d, 0x0a, 0x11, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x12, 0x6c, 0x6f, 0x67, + 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x4a, + 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, + 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, + 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x52, + 0x13, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x65, 0x73, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0b, + 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x1c, 0x70, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x52, + 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x52, 0x0f, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2d, 0x0a, 0x19, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, + 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x5b, 0x0a, 0x10, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4a, + 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, + 0x04, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x18, + 0x67, 0x72, 0x70, 0x63, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x22, 0xe7, 0x01, 0x0a, 0x08, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x6f, 0x72, 0x1a, 0x6e, 0x0a, 0x05, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x1a, 0x27, + 0x0a, 0x14, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x09, 0x6d, 0x61, + 0x78, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, + 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, + 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x50, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, + 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, + 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x0c, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x0c, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x09, 0x73, 0x70, + 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, + 0x02, 0x10, 0x03, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x22, 0xe5, 0x03, 0x0a, 0x10, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, + 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, + 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x42, 0x79, 0x12, 0x72, 0x0a, 0x14, 0x73, 0x75, 0x62, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, + 0x4c, 0x41, 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x13, 0x73, 0x75, 0x62, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x6e, 0x0a, 0x18, 0x53, + 0x75, 0x62, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, - 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, - 0x70, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xc2, 0x02, 0x0a, - 0x16, 0x47, 0x72, 0x70, 0x63, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x00, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x6f, 0x72, 0x42, 0x69, 0x6e, 0x12, 0x60, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, - 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x65, 0x66, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x52, 0x65, 0x66, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x4e, 0x0a, 0x09, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x52, 0x65, 0x66, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, 0x0d, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x73, 0x42, 0x15, 0x0a, 0x0e, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x12, 0x03, 0xf8, 0x42, - 0x01, 0x22, 0xfc, 0x01, 0x0a, 0x0c, 0x47, 0x72, 0x70, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x0c, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, - 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x65, 0x66, 0x52, 0x0b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x66, - 0x12, 0x56, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, - 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x6e, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x61, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, - 0x22, 0x8a, 0x05, 0x0a, 0x0e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x12, 0x54, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, - 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, - 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x1a, 0xa1, 0x04, 0x0a, 0x0f, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x62, 0x0a, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, - 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x69, 0x74, 0x63, - 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, - 0x72, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, - 0x72, 0x67, 0x65, 0x1a, 0xf2, 0x01, 0x0a, 0x0f, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x72, 0x67, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x04, 0x61, - 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, - 0x2e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x41, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, - 0x37, 0x0a, 0x09, 0x41, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x82, 0x01, 0x0a, 0x0e, 0x54, 0x79, 0x70, - 0x65, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x5a, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, - 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd3, 0x02, - 0x0a, 0x0c, 0x4d, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x3d, - 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, - 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, - 0x0e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, - 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x73, 0x79, 0x6e, 0x63, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x1a, 0x74, 0x0a, 0x0d, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xb8, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, - 0x2e, 0x52, 0x45, 0x53, 0x54, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x48, 0x00, 0x52, - 0x0c, 0x72, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x49, 0x0a, - 0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, - 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x70, 0x63, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x72, 0x70, 0x63, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0d, 0x6d, 0x6f, 0x63, 0x6b, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, - 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x22, 0xba, - 0x04, 0x0a, 0x0e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, - 0x63, 0x12, 0x55, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, - 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4f, 0x0a, 0x0f, 0x73, 0x74, 0x69, 0x74, - 0x63, 0x68, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, - 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, - 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x69, 0x74, 0x63, - 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x74, 0x61, - 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x73, 0x74, - 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x70, 0x0a, 0x1c, 0x70, 0x65, 0x72, 0x73, - 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x61, 0x63, 0x68, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, - 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, - 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x19, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x10, + 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, + 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0b, 0x0a, + 0x07, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x22, 0xe1, 0x01, 0x0a, 0x1c, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x08, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, - 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x53, - 0x70, 0x65, 0x63, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x41, - 0x0a, 0x11, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x10, 0x6c, 0x6f, 0x67, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x3a, 0x0a, 0x19, 0x50, - 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x63, - 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x61, - 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2b, 0x0a, 0x11, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, - 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, - 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x6f, 0x72, 0x12, 0x66, 0x0a, 0x18, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, - 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, - 0x72, 0x70, 0x63, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x16, 0x67, 0x72, 0x70, 0x63, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x22, 0xc0, 0x07, - 0x0a, 0x08, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x12, 0x3c, 0x0a, 0x05, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, - 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, - 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, - 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x1a, 0x9d, 0x03, 0x0a, 0x05, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x12, 0x57, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x14, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x53, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x39, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, - 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, - 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x6f, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x51, 0x0a, 0x14, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x6f, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x09, - 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, - 0x61, 0x78, 0x44, 0x65, 0x70, 0x74, 0x68, 0x1a, 0x60, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, - 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x88, 0x03, 0x0a, 0x06, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, 0x0b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, - 0x65, 0x66, 0x12, 0x4c, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, - 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, - 0x12, 0x59, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, - 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, - 0x70, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x73, 0x70, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, - 0x22, 0xe5, 0x03, 0x0a, 0x10, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, - 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x42, 0x79, 0x12, 0x72, 0x0a, 0x14, 0x73, 0x75, 0x62, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3f, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, - 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, - 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x13, 0x73, 0x75, 0x62, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x6e, 0x0a, 0x18, 0x53, 0x75, 0x62, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, - 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x05, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, - 0x0c, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0c, 0x0a, - 0x08, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x22, 0xe1, 0x01, 0x0a, 0x1c, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x08, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x72, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, + 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x1a, 0x63, 0x0a, 0x0d, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, - 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x1a, 0x63, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, - 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x98, 0x01, 0xb8, - 0xf5, 0x04, 0x01, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x0a, 0x31, 0x69, 0x6f, 0x2e, - 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, - 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, - 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x42, 0x12, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x61, 0x70, - 0x69, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x70, 0x69, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x98, + 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x0a, 0x31, 0x69, + 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, + 0x42, 0x12, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x61, 0x70, 0x69, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, }) var ( @@ -2310,105 +1171,48 @@ func file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_pro } var file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes = make([]protoimpl.MessageInfo, 34) +var file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_goTypes = []any{ - (GraphQLApiStatus_State)(0), // 0: graphql.gloo.solo.io.GraphQLApiStatus.State - (*RequestTemplate)(nil), // 1: graphql.gloo.solo.io.RequestTemplate - (*ResponseTemplate)(nil), // 2: graphql.gloo.solo.io.ResponseTemplate - (*GrpcRequestTemplate)(nil), // 3: graphql.gloo.solo.io.GrpcRequestTemplate - (*RESTResolver)(nil), // 4: graphql.gloo.solo.io.RESTResolver - (*GrpcDescriptorRegistry)(nil), // 5: graphql.gloo.solo.io.GrpcDescriptorRegistry - (*GrpcResolver)(nil), // 6: graphql.gloo.solo.io.GrpcResolver - (*StitchedSchema)(nil), // 7: graphql.gloo.solo.io.StitchedSchema - (*MockResolver)(nil), // 8: graphql.gloo.solo.io.MockResolver - (*Resolution)(nil), // 9: graphql.gloo.solo.io.Resolution - (*GraphQLApiSpec)(nil), // 10: graphql.gloo.solo.io.GraphQLApiSpec - (*PersistedQueryCacheConfig)(nil), // 11: graphql.gloo.solo.io.PersistedQueryCacheConfig - (*ExecutableSchema)(nil), // 12: graphql.gloo.solo.io.ExecutableSchema - (*Executor)(nil), // 13: graphql.gloo.solo.io.Executor - (*GraphQLApiStatus)(nil), // 14: graphql.gloo.solo.io.GraphQLApiStatus - (*GraphQLApiNamespacedStatuses)(nil), // 15: graphql.gloo.solo.io.GraphQLApiNamespacedStatuses - nil, // 16: graphql.gloo.solo.io.RequestTemplate.HeadersEntry - nil, // 17: graphql.gloo.solo.io.RequestTemplate.QueryParamsEntry - nil, // 18: graphql.gloo.solo.io.ResponseTemplate.SettersEntry - nil, // 19: graphql.gloo.solo.io.GrpcRequestTemplate.RequestMetadataEntry - (*GrpcDescriptorRegistry_ProtoRefs)(nil), // 20: graphql.gloo.solo.io.GrpcDescriptorRegistry.ProtoRefs - (*StitchedSchema_SubschemaConfig)(nil), // 21: graphql.gloo.solo.io.StitchedSchema.SubschemaConfig - (*StitchedSchema_SubschemaConfig_TypeMergeConfig)(nil), // 22: graphql.gloo.solo.io.StitchedSchema.SubschemaConfig.TypeMergeConfig - nil, // 23: graphql.gloo.solo.io.StitchedSchema.SubschemaConfig.TypeMergeEntry - nil, // 24: graphql.gloo.solo.io.StitchedSchema.SubschemaConfig.TypeMergeConfig.ArgsEntry - (*MockResolver_AsyncResponse)(nil), // 25: graphql.gloo.solo.io.MockResolver.AsyncResponse - (*GraphQLApiSpec_GraphQLApiOptions)(nil), // 26: graphql.gloo.solo.io.GraphQLApiSpec.GraphQLApiOptions - (*Executor_Local)(nil), // 27: graphql.gloo.solo.io.Executor.Local - (*Executor_Remote)(nil), // 28: graphql.gloo.solo.io.Executor.Remote - (*Executor_Local_LocalExecutorOptions)(nil), // 29: graphql.gloo.solo.io.Executor.Local.LocalExecutorOptions - nil, // 30: graphql.gloo.solo.io.Executor.Local.ResolutionsEntry - nil, // 31: graphql.gloo.solo.io.Executor.Remote.HeadersEntry - nil, // 32: graphql.gloo.solo.io.Executor.Remote.QueryParamsEntry - nil, // 33: graphql.gloo.solo.io.GraphQLApiStatus.SubresourceStatusesEntry - nil, // 34: graphql.gloo.solo.io.GraphQLApiNamespacedStatuses.StatusesEntry - (*structpb.Value)(nil), // 35: google.protobuf.Value - (*core.ResourceRef)(nil), // 36: core.solo.io.ResourceRef - (*durationpb.Duration)(nil), // 37: google.protobuf.Duration - (*wrapperspb.StringValue)(nil), // 38: google.protobuf.StringValue - (*structpb.Struct)(nil), // 39: google.protobuf.Struct - (*wrapperspb.UInt32Value)(nil), // 40: google.protobuf.UInt32Value + (GraphQLApiStatus_State)(0), // 0: graphql.gloo.solo.io.GraphQLApiStatus.State + (*RequestTemplate)(nil), // 1: graphql.gloo.solo.io.RequestTemplate + (*ResponseTemplate)(nil), // 2: graphql.gloo.solo.io.ResponseTemplate + (*GrpcRequestTemplate)(nil), // 3: graphql.gloo.solo.io.GrpcRequestTemplate + (*RESTResolver)(nil), // 4: graphql.gloo.solo.io.RESTResolver + (*GrpcDescriptorRegistry)(nil), // 5: graphql.gloo.solo.io.GrpcDescriptorRegistry + (*GrpcResolver)(nil), // 6: graphql.gloo.solo.io.GrpcResolver + (*StitchedSchema)(nil), // 7: graphql.gloo.solo.io.StitchedSchema + (*MockResolver)(nil), // 8: graphql.gloo.solo.io.MockResolver + (*Resolution)(nil), // 9: graphql.gloo.solo.io.Resolution + (*GraphQLApiSpec)(nil), // 10: graphql.gloo.solo.io.GraphQLApiSpec + (*PersistedQueryCacheConfig)(nil), // 11: graphql.gloo.solo.io.PersistedQueryCacheConfig + (*ExecutableSchema)(nil), // 12: graphql.gloo.solo.io.ExecutableSchema + (*Executor)(nil), // 13: graphql.gloo.solo.io.Executor + (*GraphQLApiStatus)(nil), // 14: graphql.gloo.solo.io.GraphQLApiStatus + (*GraphQLApiNamespacedStatuses)(nil), // 15: graphql.gloo.solo.io.GraphQLApiNamespacedStatuses + (*GrpcDescriptorRegistry_ProtoRefs)(nil), // 16: graphql.gloo.solo.io.GrpcDescriptorRegistry.ProtoRefs + (*StitchedSchema_SubschemaConfig)(nil), // 17: graphql.gloo.solo.io.StitchedSchema.SubschemaConfig + (*StitchedSchema_SubschemaConfig_TypeMergeConfig)(nil), // 18: graphql.gloo.solo.io.StitchedSchema.SubschemaConfig.TypeMergeConfig + (*MockResolver_AsyncResponse)(nil), // 19: graphql.gloo.solo.io.MockResolver.AsyncResponse + (*GraphQLApiSpec_GraphQLApiOptions)(nil), // 20: graphql.gloo.solo.io.GraphQLApiSpec.GraphQLApiOptions + (*Executor_Local)(nil), // 21: graphql.gloo.solo.io.Executor.Local + (*Executor_Remote)(nil), // 22: graphql.gloo.solo.io.Executor.Remote + (*Executor_Local_LocalExecutorOptions)(nil), // 23: graphql.gloo.solo.io.Executor.Local.LocalExecutorOptions + nil, // 24: graphql.gloo.solo.io.GraphQLApiStatus.SubresourceStatusesEntry + nil, // 25: graphql.gloo.solo.io.GraphQLApiNamespacedStatuses.StatusesEntry + (*structpb.Struct)(nil), // 26: google.protobuf.Struct } var file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_depIdxs = []int32{ - 16, // 0: graphql.gloo.solo.io.RequestTemplate.headers:type_name -> graphql.gloo.solo.io.RequestTemplate.HeadersEntry - 17, // 1: graphql.gloo.solo.io.RequestTemplate.query_params:type_name -> graphql.gloo.solo.io.RequestTemplate.QueryParamsEntry - 35, // 2: graphql.gloo.solo.io.RequestTemplate.body:type_name -> google.protobuf.Value - 18, // 3: graphql.gloo.solo.io.ResponseTemplate.setters:type_name -> graphql.gloo.solo.io.ResponseTemplate.SettersEntry - 35, // 4: graphql.gloo.solo.io.GrpcRequestTemplate.outgoing_message_json:type_name -> google.protobuf.Value - 19, // 5: graphql.gloo.solo.io.GrpcRequestTemplate.request_metadata:type_name -> graphql.gloo.solo.io.GrpcRequestTemplate.RequestMetadataEntry - 36, // 6: graphql.gloo.solo.io.RESTResolver.upstream_ref:type_name -> core.solo.io.ResourceRef - 1, // 7: graphql.gloo.solo.io.RESTResolver.request:type_name -> graphql.gloo.solo.io.RequestTemplate - 2, // 8: graphql.gloo.solo.io.RESTResolver.response:type_name -> graphql.gloo.solo.io.ResponseTemplate - 37, // 9: graphql.gloo.solo.io.RESTResolver.timeout:type_name -> google.protobuf.Duration - 20, // 10: graphql.gloo.solo.io.GrpcDescriptorRegistry.proto_refs_list:type_name -> graphql.gloo.solo.io.GrpcDescriptorRegistry.ProtoRefs - 36, // 11: graphql.gloo.solo.io.GrpcResolver.upstream_ref:type_name -> core.solo.io.ResourceRef - 3, // 12: graphql.gloo.solo.io.GrpcResolver.request_transform:type_name -> graphql.gloo.solo.io.GrpcRequestTemplate - 37, // 13: graphql.gloo.solo.io.GrpcResolver.timeout:type_name -> google.protobuf.Duration - 21, // 14: graphql.gloo.solo.io.StitchedSchema.subschemas:type_name -> graphql.gloo.solo.io.StitchedSchema.SubschemaConfig - 35, // 15: graphql.gloo.solo.io.MockResolver.sync_response:type_name -> google.protobuf.Value - 25, // 16: graphql.gloo.solo.io.MockResolver.async_response:type_name -> graphql.gloo.solo.io.MockResolver.AsyncResponse - 4, // 17: graphql.gloo.solo.io.Resolution.rest_resolver:type_name -> graphql.gloo.solo.io.RESTResolver - 6, // 18: graphql.gloo.solo.io.Resolution.grpc_resolver:type_name -> graphql.gloo.solo.io.GrpcResolver - 8, // 19: graphql.gloo.solo.io.Resolution.mock_resolver:type_name -> graphql.gloo.solo.io.MockResolver - 38, // 20: graphql.gloo.solo.io.Resolution.stat_prefix:type_name -> google.protobuf.StringValue - 12, // 21: graphql.gloo.solo.io.GraphQLApiSpec.executable_schema:type_name -> graphql.gloo.solo.io.ExecutableSchema - 7, // 22: graphql.gloo.solo.io.GraphQLApiSpec.stitched_schema:type_name -> graphql.gloo.solo.io.StitchedSchema - 38, // 23: graphql.gloo.solo.io.GraphQLApiSpec.stat_prefix:type_name -> google.protobuf.StringValue - 11, // 24: graphql.gloo.solo.io.GraphQLApiSpec.persisted_query_cache_config:type_name -> graphql.gloo.solo.io.PersistedQueryCacheConfig - 26, // 25: graphql.gloo.solo.io.GraphQLApiSpec.options:type_name -> graphql.gloo.solo.io.GraphQLApiSpec.GraphQLApiOptions - 13, // 26: graphql.gloo.solo.io.ExecutableSchema.executor:type_name -> graphql.gloo.solo.io.Executor - 5, // 27: graphql.gloo.solo.io.ExecutableSchema.grpc_descriptor_registry:type_name -> graphql.gloo.solo.io.GrpcDescriptorRegistry - 27, // 28: graphql.gloo.solo.io.Executor.local:type_name -> graphql.gloo.solo.io.Executor.Local - 28, // 29: graphql.gloo.solo.io.Executor.remote:type_name -> graphql.gloo.solo.io.Executor.Remote - 0, // 30: graphql.gloo.solo.io.GraphQLApiStatus.state:type_name -> graphql.gloo.solo.io.GraphQLApiStatus.State - 33, // 31: graphql.gloo.solo.io.GraphQLApiStatus.subresource_statuses:type_name -> graphql.gloo.solo.io.GraphQLApiStatus.SubresourceStatusesEntry - 39, // 32: graphql.gloo.solo.io.GraphQLApiStatus.details:type_name -> google.protobuf.Struct - 34, // 33: graphql.gloo.solo.io.GraphQLApiNamespacedStatuses.statuses:type_name -> graphql.gloo.solo.io.GraphQLApiNamespacedStatuses.StatusesEntry - 36, // 34: graphql.gloo.solo.io.GrpcDescriptorRegistry.ProtoRefs.config_map_refs:type_name -> core.solo.io.ResourceRef - 23, // 35: graphql.gloo.solo.io.StitchedSchema.SubschemaConfig.type_merge:type_name -> graphql.gloo.solo.io.StitchedSchema.SubschemaConfig.TypeMergeEntry - 24, // 36: graphql.gloo.solo.io.StitchedSchema.SubschemaConfig.TypeMergeConfig.args:type_name -> graphql.gloo.solo.io.StitchedSchema.SubschemaConfig.TypeMergeConfig.ArgsEntry - 22, // 37: graphql.gloo.solo.io.StitchedSchema.SubschemaConfig.TypeMergeEntry.value:type_name -> graphql.gloo.solo.io.StitchedSchema.SubschemaConfig.TypeMergeConfig - 35, // 38: graphql.gloo.solo.io.MockResolver.AsyncResponse.response:type_name -> google.protobuf.Value - 37, // 39: graphql.gloo.solo.io.MockResolver.AsyncResponse.delay:type_name -> google.protobuf.Duration - 30, // 40: graphql.gloo.solo.io.Executor.Local.resolutions:type_name -> graphql.gloo.solo.io.Executor.Local.ResolutionsEntry - 29, // 41: graphql.gloo.solo.io.Executor.Local.options:type_name -> graphql.gloo.solo.io.Executor.Local.LocalExecutorOptions - 36, // 42: graphql.gloo.solo.io.Executor.Remote.upstream_ref:type_name -> core.solo.io.ResourceRef - 31, // 43: graphql.gloo.solo.io.Executor.Remote.headers:type_name -> graphql.gloo.solo.io.Executor.Remote.HeadersEntry - 32, // 44: graphql.gloo.solo.io.Executor.Remote.query_params:type_name -> graphql.gloo.solo.io.Executor.Remote.QueryParamsEntry - 40, // 45: graphql.gloo.solo.io.Executor.Local.LocalExecutorOptions.max_depth:type_name -> google.protobuf.UInt32Value - 9, // 46: graphql.gloo.solo.io.Executor.Local.ResolutionsEntry.value:type_name -> graphql.gloo.solo.io.Resolution - 14, // 47: graphql.gloo.solo.io.GraphQLApiStatus.SubresourceStatusesEntry.value:type_name -> graphql.gloo.solo.io.GraphQLApiStatus - 14, // 48: graphql.gloo.solo.io.GraphQLApiNamespacedStatuses.StatusesEntry.value:type_name -> graphql.gloo.solo.io.GraphQLApiStatus - 49, // [49:49] is the sub-list for method output_type - 49, // [49:49] is the sub-list for method input_type - 49, // [49:49] is the sub-list for extension type_name - 49, // [49:49] is the sub-list for extension extendee - 0, // [0:49] is the sub-list for field type_name + 0, // 0: graphql.gloo.solo.io.GraphQLApiStatus.state:type_name -> graphql.gloo.solo.io.GraphQLApiStatus.State + 24, // 1: graphql.gloo.solo.io.GraphQLApiStatus.subresource_statuses:type_name -> graphql.gloo.solo.io.GraphQLApiStatus.SubresourceStatusesEntry + 26, // 2: graphql.gloo.solo.io.GraphQLApiStatus.details:type_name -> google.protobuf.Struct + 25, // 3: graphql.gloo.solo.io.GraphQLApiNamespacedStatuses.statuses:type_name -> graphql.gloo.solo.io.GraphQLApiNamespacedStatuses.StatusesEntry + 14, // 4: graphql.gloo.solo.io.GraphQLApiStatus.SubresourceStatusesEntry.value:type_name -> graphql.gloo.solo.io.GraphQLApiStatus + 14, // 5: graphql.gloo.solo.io.GraphQLApiNamespacedStatuses.StatusesEntry.value:type_name -> graphql.gloo.solo.io.GraphQLApiStatus + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_init() } @@ -2416,36 +1220,13 @@ func file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_pro if File_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto != nil { return } - file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[4].OneofWrappers = []any{ - (*GrpcDescriptorRegistry_ProtoDescriptor)(nil), - (*GrpcDescriptorRegistry_ProtoDescriptorBin)(nil), - (*GrpcDescriptorRegistry_ProtoRefsList)(nil), - } - file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[7].OneofWrappers = []any{ - (*MockResolver_SyncResponse)(nil), - (*MockResolver_AsyncResponse_)(nil), - (*MockResolver_ErrorResponse)(nil), - } - file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[8].OneofWrappers = []any{ - (*Resolution_RestResolver)(nil), - (*Resolution_GrpcResolver)(nil), - (*Resolution_MockResolver)(nil), - } - file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[9].OneofWrappers = []any{ - (*GraphQLApiSpec_ExecutableSchema)(nil), - (*GraphQLApiSpec_StitchedSchema)(nil), - } - file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_msgTypes[12].OneofWrappers = []any{ - (*Executor_Local_)(nil), - (*Executor_Remote_)(nil), - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDesc), len(file_github_com_solo_io_solo_apis_api_gloo_graphql_gloo_v1beta1_graphql_proto_rawDesc)), NumEnums: 1, - NumMessages: 34, + NumMessages: 25, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.hash.go b/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.hash.go index 478272e86..6dc7ad911 100644 --- a/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.hash.go +++ b/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.hash.go @@ -42,72 +42,6 @@ func (m *RequestTemplate) Hash(hasher hash.Hash64) (uint64, error) { return 0, err } - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetHeaders() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetQueryParams() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - - if h, ok := interface{}(m.GetBody()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Body")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetBody(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Body")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - return hasher.Sum64(), nil } @@ -128,33 +62,6 @@ func (m *ResponseTemplate) Hash(hasher hash.Hash64) (uint64, error) { return 0, err } - if _, err = hasher.Write([]byte(m.GetResultRoot())); err != nil { - return 0, err - } - - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetSetters() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - return hasher.Sum64(), nil } @@ -175,57 +82,6 @@ func (m *GrpcRequestTemplate) Hash(hasher hash.Hash64) (uint64, error) { return 0, err } - if h, ok := interface{}(m.GetOutgoingMessageJson()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("OutgoingMessageJson")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetOutgoingMessageJson(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("OutgoingMessageJson")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if _, err = hasher.Write([]byte(m.GetServiceName())); err != nil { - return 0, err - } - - if _, err = hasher.Write([]byte(m.GetMethodName())); err != nil { - return 0, err - } - - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetRequestMetadata() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - return hasher.Sum64(), nil } @@ -246,90 +102,6 @@ func (m *RESTResolver) Hash(hasher hash.Hash64) (uint64, error) { return 0, err } - if h, ok := interface{}(m.GetUpstreamRef()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetUpstreamRef(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if h, ok := interface{}(m.GetRequest()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Request")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetRequest(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Request")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if h, ok := interface{}(m.GetResponse()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Response")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetResponse(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Response")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if _, err = hasher.Write([]byte(m.GetSpanName())); err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetTimeout()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Timeout")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetTimeout(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Timeout")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - return hasher.Sum64(), nil } @@ -345,495 +117,9 @@ func (m *GrpcDescriptorRegistry) Hash(hasher hash.Hash64) (uint64, error) { if hasher == nil { hasher = fnv.New64() } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GrpcDescriptorRegistry")); err != nil { - return 0, err - } - - switch m.DescriptorSet.(type) { - - case *GrpcDescriptorRegistry_ProtoDescriptor: - - if _, err = hasher.Write([]byte(m.GetProtoDescriptor())); err != nil { - return 0, err - } - - case *GrpcDescriptorRegistry_ProtoDescriptorBin: - - if _, err = hasher.Write(m.GetProtoDescriptorBin()); err != nil { - return 0, err - } - - case *GrpcDescriptorRegistry_ProtoRefsList: - - if h, ok := interface{}(m.GetProtoRefsList()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("ProtoRefsList")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetProtoRefsList(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("ProtoRefsList")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - } - - return hasher.Sum64(), nil -} - -// Hash function -// -// Deprecated: due to hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -// Prefer the HashUnique function instead. -func (m *GrpcResolver) Hash(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GrpcResolver")); err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetUpstreamRef()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetUpstreamRef(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if h, ok := interface{}(m.GetRequestTransform()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("RequestTransform")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetRequestTransform(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("RequestTransform")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if _, err = hasher.Write([]byte(m.GetSpanName())); err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetTimeout()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Timeout")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetTimeout(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Timeout")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - return hasher.Sum64(), nil -} - -// Hash function -// -// Deprecated: due to hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -// Prefer the HashUnique function instead. -func (m *StitchedSchema) Hash(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema")); err != nil { - return 0, err - } - - for _, v := range m.GetSubschemas() { - - if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(v, nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - } - - return hasher.Sum64(), nil -} - -// Hash function -// -// Deprecated: due to hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -// Prefer the HashUnique function instead. -func (m *MockResolver) Hash(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.MockResolver")); err != nil { - return 0, err - } - - switch m.Response.(type) { - - case *MockResolver_SyncResponse: - - if h, ok := interface{}(m.GetSyncResponse()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("SyncResponse")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetSyncResponse(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("SyncResponse")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *MockResolver_AsyncResponse_: - - if h, ok := interface{}(m.GetAsyncResponse()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("AsyncResponse")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetAsyncResponse(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("AsyncResponse")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *MockResolver_ErrorResponse: - - if _, err = hasher.Write([]byte(m.GetErrorResponse())); err != nil { - return 0, err - } - - } - - return hasher.Sum64(), nil -} - -// Hash function -// -// Deprecated: due to hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -// Prefer the HashUnique function instead. -func (m *Resolution) Hash(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.Resolution")); err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetStatPrefix()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("StatPrefix")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetStatPrefix(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("StatPrefix")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - switch m.Resolver.(type) { - - case *Resolution_RestResolver: - - if h, ok := interface{}(m.GetRestResolver()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("RestResolver")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetRestResolver(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("RestResolver")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *Resolution_GrpcResolver: - - if h, ok := interface{}(m.GetGrpcResolver()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("GrpcResolver")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetGrpcResolver(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("GrpcResolver")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *Resolution_MockResolver: - - if h, ok := interface{}(m.GetMockResolver()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("MockResolver")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetMockResolver(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("MockResolver")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - } - - return hasher.Sum64(), nil -} - -// Hash function -// -// Deprecated: due to hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -// Prefer the HashUnique function instead. -func (m *GraphQLApiSpec) Hash(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GraphQLApiSpec")); err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetStatPrefix()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("StatPrefix")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetStatPrefix(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("StatPrefix")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if h, ok := interface{}(m.GetPersistedQueryCacheConfig()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("PersistedQueryCacheConfig")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetPersistedQueryCacheConfig(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("PersistedQueryCacheConfig")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - for _, v := range m.GetAllowedQueryHashes() { - - if _, err = hasher.Write([]byte(v)); err != nil { - return 0, err - } - - } - - if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Options")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Options")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - switch m.Schema.(type) { - - case *GraphQLApiSpec_ExecutableSchema: - - if h, ok := interface{}(m.GetExecutableSchema()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("ExecutableSchema")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetExecutableSchema(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("ExecutableSchema")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *GraphQLApiSpec_StitchedSchema: - - if h, ok := interface{}(m.GetStitchedSchema()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("StitchedSchema")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetStitchedSchema(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("StitchedSchema")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GrpcDescriptorRegistry")); err != nil { + return 0, err } return hasher.Sum64(), nil @@ -844,7 +130,7 @@ func (m *GraphQLApiSpec) Hash(hasher hash.Hash64) (uint64, error) { // Deprecated: due to hashing implemention only using field values. The omission // of the field name in the hash calculation can lead to hash collisions. // Prefer the HashUnique function instead. -func (m *PersistedQueryCacheConfig) Hash(hasher hash.Hash64) (uint64, error) { +func (m *GrpcResolver) Hash(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } @@ -852,12 +138,7 @@ func (m *PersistedQueryCacheConfig) Hash(hasher hash.Hash64) (uint64, error) { hasher = fnv.New64() } var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.PersistedQueryCacheConfig")); err != nil { - return 0, err - } - - err = binary.Write(hasher, binary.LittleEndian, m.GetCacheSize()) - if err != nil { + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GrpcResolver")); err != nil { return 0, err } @@ -869,7 +150,7 @@ func (m *PersistedQueryCacheConfig) Hash(hasher hash.Hash64) (uint64, error) { // Deprecated: due to hashing implemention only using field values. The omission // of the field name in the hash calculation can lead to hash collisions. // Prefer the HashUnique function instead. -func (m *ExecutableSchema) Hash(hasher hash.Hash64) (uint64, error) { +func (m *StitchedSchema) Hash(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } @@ -877,52 +158,28 @@ func (m *ExecutableSchema) Hash(hasher hash.Hash64) (uint64, error) { hasher = fnv.New64() } var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.ExecutableSchema")); err != nil { + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema")); err != nil { return 0, err } - if _, err = hasher.Write([]byte(m.GetSchemaDefinition())); err != nil { - return 0, err - } + return hasher.Sum64(), nil +} - if h, ok := interface{}(m.GetExecutor()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Executor")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetExecutor(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Executor")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } +// Hash function +// +// Deprecated: due to hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +// Prefer the HashUnique function instead. +func (m *MockResolver) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil } - - if h, ok := interface{}(m.GetGrpcDescriptorRegistry()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("GrpcDescriptorRegistry")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetGrpcDescriptorRegistry(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("GrpcDescriptorRegistry")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.MockResolver")); err != nil { + return 0, err } return hasher.Sum64(), nil @@ -933,7 +190,7 @@ func (m *ExecutableSchema) Hash(hasher hash.Hash64) (uint64, error) { // Deprecated: due to hashing implemention only using field values. The omission // of the field name in the hash calculation can lead to hash collisions. // Prefer the HashUnique function instead. -func (m *Executor) Hash(hasher hash.Hash64) (uint64, error) { +func (m *Resolution) Hash(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } @@ -941,56 +198,28 @@ func (m *Executor) Hash(hasher hash.Hash64) (uint64, error) { hasher = fnv.New64() } var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.Executor")); err != nil { + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.Resolution")); err != nil { return 0, err } - switch m.Executor.(type) { - - case *Executor_Local_: - - if h, ok := interface{}(m.GetLocal()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Local")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetLocal(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Local")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *Executor_Remote_: - - if h, ok := interface{}(m.GetRemote()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Remote")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetRemote(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Remote")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } + return hasher.Sum64(), nil +} +// Hash function +// +// Deprecated: due to hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +// Prefer the HashUnique function instead. +func (m *GraphQLApiSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GraphQLApiSpec")); err != nil { + return 0, err } return hasher.Sum64(), nil @@ -1001,7 +230,7 @@ func (m *Executor) Hash(hasher hash.Hash64) (uint64, error) { // Deprecated: due to hashing implemention only using field values. The omission // of the field name in the hash calculation can lead to hash collisions. // Prefer the HashUnique function instead. -func (m *GraphQLApiStatus) Hash(hasher hash.Hash64) (uint64, error) { +func (m *PersistedQueryCacheConfig) Hash(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } @@ -1009,80 +238,48 @@ func (m *GraphQLApiStatus) Hash(hasher hash.Hash64) (uint64, error) { hasher = fnv.New64() } var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GraphQLApiStatus")); err != nil { + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.PersistedQueryCacheConfig")); err != nil { return 0, err } - err = binary.Write(hasher, binary.LittleEndian, m.GetState()) - if err != nil { - return 0, err - } + return hasher.Sum64(), nil +} - if _, err = hasher.Write([]byte(m.GetReason())); err != nil { - return 0, err +// Hash function +// +// Deprecated: due to hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +// Prefer the HashUnique function instead. +func (m *ExecutableSchema) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil } - - if _, err = hasher.Write([]byte(m.GetReportedBy())); err != nil { + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.ExecutableSchema")); err != nil { return 0, err } - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetSubresourceStatuses() { - innerHash.Reset() - - if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { - if _, err = innerHash.Write([]byte("")); err != nil { - return 0, err - } - if _, err = h.Hash(innerHash); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(v, nil); err != nil { - return 0, err - } else { - if _, err = innerHash.Write([]byte("")); err != nil { - return 0, err - } - if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } + return hasher.Sum64(), nil +} +// Hash function +// +// Deprecated: due to hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +// Prefer the HashUnique function instead. +func (m *Executor) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil } - - if h, ok := interface{}(m.GetDetails()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Details")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetDetails(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Details")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.Executor")); err != nil { + return 0, err } return hasher.Sum64(), nil @@ -1093,7 +290,7 @@ func (m *GraphQLApiStatus) Hash(hasher hash.Hash64) (uint64, error) { // Deprecated: due to hashing implemention only using field values. The omission // of the field name in the hash calculation can lead to hash collisions. // Prefer the HashUnique function instead. -func (m *GraphQLApiNamespacedStatuses) Hash(hasher hash.Hash64) (uint64, error) { +func (m *GraphQLApiStatus) Hash(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } @@ -1101,14 +298,27 @@ func (m *GraphQLApiNamespacedStatuses) Hash(hasher hash.Hash64) (uint64, error) hasher = fnv.New64() } var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GraphQLApiNamespacedStatuses")); err != nil { + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GraphQLApiStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetReason())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetReportedBy())); err != nil { return 0, err } { var result uint64 innerHash := fnv.New64() - for k, v := range m.GetStatuses() { + for k, v := range m.GetSubresourceStatuses() { innerHash.Reset() if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { @@ -1144,48 +354,24 @@ func (m *GraphQLApiNamespacedStatuses) Hash(hasher hash.Hash64) (uint64, error) } - return hasher.Sum64(), nil -} - -// Hash function -// -// Deprecated: due to hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -// Prefer the HashUnique function instead. -func (m *GrpcDescriptorRegistry_ProtoRefs) Hash(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GrpcDescriptorRegistry_ProtoRefs")); err != nil { - return 0, err - } - - for _, v := range m.GetConfigMapRefs() { - - if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { + if h, ok := interface{}(m.GetDetails()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Details")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDetails(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Details")); err != nil { return 0, err } - } else { - if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { return 0, err - } else { - if _, err = hasher.Write([]byte("")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } } } - } return hasher.Sum64(), nil @@ -1196,7 +382,7 @@ func (m *GrpcDescriptorRegistry_ProtoRefs) Hash(hasher hash.Hash64) (uint64, err // Deprecated: due to hashing implemention only using field values. The omission // of the field name in the hash calculation can lead to hash collisions. // Prefer the HashUnique function instead. -func (m *StitchedSchema_SubschemaConfig) Hash(hasher hash.Hash64) (uint64, error) { +func (m *GraphQLApiNamespacedStatuses) Hash(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } @@ -1204,22 +390,14 @@ func (m *StitchedSchema_SubschemaConfig) Hash(hasher hash.Hash64) (uint64, error hasher = fnv.New64() } var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema_SubschemaConfig")); err != nil { - return 0, err - } - - if _, err = hasher.Write([]byte(m.GetName())); err != nil { - return 0, err - } - - if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GraphQLApiNamespacedStatuses")); err != nil { return 0, err } { var result uint64 innerHash := fnv.New64() - for k, v := range m.GetTypeMerge() { + for k, v := range m.GetStatuses() { innerHash.Reset() if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { @@ -1263,7 +441,7 @@ func (m *StitchedSchema_SubschemaConfig) Hash(hasher hash.Hash64) (uint64, error // Deprecated: due to hashing implemention only using field values. The omission // of the field name in the hash calculation can lead to hash collisions. // Prefer the HashUnique function instead. -func (m *StitchedSchema_SubschemaConfig_TypeMergeConfig) Hash(hasher hash.Hash64) (uint64, error) { +func (m *GrpcDescriptorRegistry_ProtoRefs) Hash(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } @@ -1271,39 +449,48 @@ func (m *StitchedSchema_SubschemaConfig_TypeMergeConfig) Hash(hasher hash.Hash64 hasher = fnv.New64() } var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema_SubschemaConfig_TypeMergeConfig")); err != nil { + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GrpcDescriptorRegistry_ProtoRefs")); err != nil { return 0, err } - if _, err = hasher.Write([]byte(m.GetSelectionSet())); err != nil { - return 0, err - } + return hasher.Sum64(), nil +} - if _, err = hasher.Write([]byte(m.GetQueryName())); err != nil { +// Hash function +// +// Deprecated: due to hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +// Prefer the HashUnique function instead. +func (m *StitchedSchema_SubschemaConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema_SubschemaConfig")); err != nil { return 0, err } - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetArgs() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } + return hasher.Sum64(), nil +} +// Hash function +// +// Deprecated: due to hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +// Prefer the HashUnique function instead. +func (m *StitchedSchema_SubschemaConfig_TypeMergeConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema_SubschemaConfig_TypeMergeConfig")); err != nil { + return 0, err } return hasher.Sum64(), nil @@ -1326,46 +513,6 @@ func (m *MockResolver_AsyncResponse) Hash(hasher hash.Hash64) (uint64, error) { return 0, err } - if h, ok := interface{}(m.GetResponse()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Response")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetResponse(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Response")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if h, ok := interface{}(m.GetDelay()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Delay")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetDelay(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Delay")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - return hasher.Sum64(), nil } @@ -1386,11 +533,6 @@ func (m *GraphQLApiSpec_GraphQLApiOptions) Hash(hasher hash.Hash64) (uint64, err return 0, err } - err = binary.Write(hasher, binary.LittleEndian, m.GetLogSensitiveInfo()) - if err != nil { - return 0, err - } - return hasher.Sum64(), nil } @@ -1411,70 +553,6 @@ func (m *Executor_Local) Hash(hasher hash.Hash64) (uint64, error) { return 0, err } - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetResolutions() { - innerHash.Reset() - - if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { - if _, err = innerHash.Write([]byte("")); err != nil { - return 0, err - } - if _, err = h.Hash(innerHash); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(v, nil); err != nil { - return 0, err - } else { - if _, err = innerHash.Write([]byte("")); err != nil { - return 0, err - } - if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - - err = binary.Write(hasher, binary.LittleEndian, m.GetEnableIntrospection()) - if err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Options")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Options")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - return hasher.Sum64(), nil } @@ -1495,76 +573,6 @@ func (m *Executor_Remote) Hash(hasher hash.Hash64) (uint64, error) { return 0, err } - if h, ok := interface{}(m.GetUpstreamRef()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetUpstreamRef(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetHeaders() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetQueryParams() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - - if _, err = hasher.Write([]byte(m.GetSpanName())); err != nil { - return 0, err - } - return hasher.Sum64(), nil } @@ -1585,25 +593,5 @@ func (m *Executor_Local_LocalExecutorOptions) Hash(hasher hash.Hash64) (uint64, return 0, err } - if h, ok := interface{}(m.GetMaxDepth()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("MaxDepth")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetMaxDepth(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("MaxDepth")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - return hasher.Sum64(), nil } diff --git a/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.uniquehash.go b/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.uniquehash.go index 1c891e60e..8dc62c6be 100644 --- a/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.uniquehash.go +++ b/pkg/api/graphql.gloo.solo.io/v1beta1/graphql.pb.uniquehash.go @@ -43,84 +43,6 @@ func (m *RequestTemplate) HashUnique(hasher hash.Hash64) (uint64, error) { return 0, err } - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetHeaders() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte("k")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetQueryParams() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte("k")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - - if h, ok := interface{}(m.GetBody()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Body")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetBody(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Body")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - return hasher.Sum64(), nil } @@ -140,42 +62,6 @@ func (m *ResponseTemplate) HashUnique(hasher hash.Hash64) (uint64, error) { return 0, err } - if _, err = hasher.Write([]byte("ResultRoot")); err != nil { - return 0, err - } - if _, err = hasher.Write([]byte(m.GetResultRoot())); err != nil { - return 0, err - } - - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetSetters() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte("k")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - return hasher.Sum64(), nil } @@ -195,69 +81,6 @@ func (m *GrpcRequestTemplate) HashUnique(hasher hash.Hash64) (uint64, error) { return 0, err } - if h, ok := interface{}(m.GetOutgoingMessageJson()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("OutgoingMessageJson")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetOutgoingMessageJson(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("OutgoingMessageJson")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if _, err = hasher.Write([]byte("ServiceName")); err != nil { - return 0, err - } - if _, err = hasher.Write([]byte(m.GetServiceName())); err != nil { - return 0, err - } - - if _, err = hasher.Write([]byte("MethodName")); err != nil { - return 0, err - } - if _, err = hasher.Write([]byte(m.GetMethodName())); err != nil { - return 0, err - } - - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetRequestMetadata() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte("k")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - return hasher.Sum64(), nil } @@ -277,93 +100,6 @@ func (m *RESTResolver) HashUnique(hasher hash.Hash64) (uint64, error) { return 0, err } - if h, ok := interface{}(m.GetUpstreamRef()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetUpstreamRef(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if h, ok := interface{}(m.GetRequest()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Request")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetRequest(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Request")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if h, ok := interface{}(m.GetResponse()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Response")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetResponse(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Response")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if _, err = hasher.Write([]byte("SpanName")); err != nil { - return 0, err - } - if _, err = hasher.Write([]byte(m.GetSpanName())); err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetTimeout()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Timeout")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetTimeout(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Timeout")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - return hasher.Sum64(), nil } @@ -383,50 +119,6 @@ func (m *GrpcDescriptorRegistry) HashUnique(hasher hash.Hash64) (uint64, error) return 0, err } - switch m.DescriptorSet.(type) { - - case *GrpcDescriptorRegistry_ProtoDescriptor: - - if _, err = hasher.Write([]byte("ProtoDescriptor")); err != nil { - return 0, err - } - if _, err = hasher.Write([]byte(m.GetProtoDescriptor())); err != nil { - return 0, err - } - - case *GrpcDescriptorRegistry_ProtoDescriptorBin: - - if _, err = hasher.Write([]byte("ProtoDescriptorBin")); err != nil { - return 0, err - } - if _, err = hasher.Write(m.GetProtoDescriptorBin()); err != nil { - return 0, err - } - - case *GrpcDescriptorRegistry_ProtoRefsList: - - if h, ok := interface{}(m.GetProtoRefsList()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("ProtoRefsList")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetProtoRefsList(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("ProtoRefsList")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - } - return hasher.Sum64(), nil } @@ -438,457 +130,12 @@ func (m *GrpcResolver) HashUnique(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GrpcResolver")); err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetUpstreamRef()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetUpstreamRef(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if h, ok := interface{}(m.GetRequestTransform()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("RequestTransform")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetRequestTransform(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("RequestTransform")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if _, err = hasher.Write([]byte("SpanName")); err != nil { - return 0, err - } - if _, err = hasher.Write([]byte(m.GetSpanName())); err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetTimeout()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Timeout")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetTimeout(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Timeout")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - return hasher.Sum64(), nil -} - -// HashUnique function generates a hash of the object that is unique to the object by -// hashing field name and value pairs. -// Replaces Hash due to original hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -func (m *StitchedSchema) HashUnique(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema")); err != nil { - return 0, err - } - - if _, err = hasher.Write([]byte("Subschemas")); err != nil { - return 0, err - } - for i, v := range m.GetSubschemas() { - if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { - return 0, err - } - - if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(v, nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("v")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - } - - return hasher.Sum64(), nil -} - -// HashUnique function generates a hash of the object that is unique to the object by -// hashing field name and value pairs. -// Replaces Hash due to original hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -func (m *MockResolver) HashUnique(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.MockResolver")); err != nil { - return 0, err - } - - switch m.Response.(type) { - - case *MockResolver_SyncResponse: - - if h, ok := interface{}(m.GetSyncResponse()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("SyncResponse")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetSyncResponse(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("SyncResponse")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *MockResolver_AsyncResponse_: - - if h, ok := interface{}(m.GetAsyncResponse()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("AsyncResponse")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetAsyncResponse(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("AsyncResponse")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *MockResolver_ErrorResponse: - - if _, err = hasher.Write([]byte("ErrorResponse")); err != nil { - return 0, err - } - if _, err = hasher.Write([]byte(m.GetErrorResponse())); err != nil { - return 0, err - } - - } - - return hasher.Sum64(), nil -} - -// HashUnique function generates a hash of the object that is unique to the object by -// hashing field name and value pairs. -// Replaces Hash due to original hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -func (m *Resolution) HashUnique(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.Resolution")); err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetStatPrefix()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("StatPrefix")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetStatPrefix(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("StatPrefix")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - switch m.Resolver.(type) { - - case *Resolution_RestResolver: - - if h, ok := interface{}(m.GetRestResolver()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("RestResolver")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetRestResolver(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("RestResolver")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *Resolution_GrpcResolver: - - if h, ok := interface{}(m.GetGrpcResolver()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("GrpcResolver")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetGrpcResolver(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("GrpcResolver")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *Resolution_MockResolver: - - if h, ok := interface{}(m.GetMockResolver()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("MockResolver")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetMockResolver(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("MockResolver")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - } - - return hasher.Sum64(), nil -} - -// HashUnique function generates a hash of the object that is unique to the object by -// hashing field name and value pairs. -// Replaces Hash due to original hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -func (m *GraphQLApiSpec) HashUnique(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GraphQLApiSpec")); err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetStatPrefix()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("StatPrefix")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetStatPrefix(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("StatPrefix")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if h, ok := interface{}(m.GetPersistedQueryCacheConfig()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("PersistedQueryCacheConfig")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetPersistedQueryCacheConfig(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("PersistedQueryCacheConfig")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if _, err = hasher.Write([]byte("AllowedQueryHashes")); err != nil { - return 0, err - } - for i, v := range m.GetAllowedQueryHashes() { - if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { - return 0, err - } - - if _, err = hasher.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = hasher.Write([]byte(v)); err != nil { - return 0, err - } - - } - - if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Options")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Options")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - switch m.Schema.(type) { - - case *GraphQLApiSpec_ExecutableSchema: - - if h, ok := interface{}(m.GetExecutableSchema()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("ExecutableSchema")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetExecutableSchema(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("ExecutableSchema")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *GraphQLApiSpec_StitchedSchema: - - if h, ok := interface{}(m.GetStitchedSchema()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("StitchedSchema")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetStitchedSchema(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("StitchedSchema")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GrpcResolver")); err != nil { + return 0, err } return hasher.Sum64(), nil @@ -898,7 +145,7 @@ func (m *GraphQLApiSpec) HashUnique(hasher hash.Hash64) (uint64, error) { // hashing field name and value pairs. // Replaces Hash due to original hashing implemention only using field values. The omission // of the field name in the hash calculation can lead to hash collisions. -func (m *PersistedQueryCacheConfig) HashUnique(hasher hash.Hash64) (uint64, error) { +func (m *StitchedSchema) HashUnique(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } @@ -906,15 +153,26 @@ func (m *PersistedQueryCacheConfig) HashUnique(hasher hash.Hash64) (uint64, erro hasher = fnv.New64() } var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.PersistedQueryCacheConfig")); err != nil { + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema")); err != nil { return 0, err } - if _, err = hasher.Write([]byte("CacheSize")); err != nil { - return 0, err + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *MockResolver) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil } - err = binary.Write(hasher, binary.LittleEndian, m.GetCacheSize()) - if err != nil { + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.MockResolver")); err != nil { return 0, err } @@ -925,7 +183,7 @@ func (m *PersistedQueryCacheConfig) HashUnique(hasher hash.Hash64) (uint64, erro // hashing field name and value pairs. // Replaces Hash due to original hashing implemention only using field values. The omission // of the field name in the hash calculation can lead to hash collisions. -func (m *ExecutableSchema) HashUnique(hasher hash.Hash64) (uint64, error) { +func (m *Resolution) HashUnique(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } @@ -933,55 +191,46 @@ func (m *ExecutableSchema) HashUnique(hasher hash.Hash64) (uint64, error) { hasher = fnv.New64() } var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.ExecutableSchema")); err != nil { + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.Resolution")); err != nil { return 0, err } - if _, err = hasher.Write([]byte("SchemaDefinition")); err != nil { - return 0, err + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *GraphQLApiSpec) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() } - if _, err = hasher.Write([]byte(m.GetSchemaDefinition())); err != nil { + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GraphQLApiSpec")); err != nil { return 0, err } - if h, ok := interface{}(m.GetExecutor()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Executor")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetExecutor(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Executor")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } + return hasher.Sum64(), nil +} - if h, ok := interface{}(m.GetGrpcDescriptorRegistry()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("GrpcDescriptorRegistry")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetGrpcDescriptorRegistry(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("GrpcDescriptorRegistry")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *PersistedQueryCacheConfig) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.PersistedQueryCacheConfig")); err != nil { + return 0, err } return hasher.Sum64(), nil @@ -991,7 +240,7 @@ func (m *ExecutableSchema) HashUnique(hasher hash.Hash64) (uint64, error) { // hashing field name and value pairs. // Replaces Hash due to original hashing implemention only using field values. The omission // of the field name in the hash calculation can lead to hash collisions. -func (m *Executor) HashUnique(hasher hash.Hash64) (uint64, error) { +func (m *ExecutableSchema) HashUnique(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } @@ -999,56 +248,27 @@ func (m *Executor) HashUnique(hasher hash.Hash64) (uint64, error) { hasher = fnv.New64() } var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.Executor")); err != nil { + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.ExecutableSchema")); err != nil { return 0, err } - switch m.Executor.(type) { - - case *Executor_Local_: - - if h, ok := interface{}(m.GetLocal()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Local")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetLocal(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Local")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - case *Executor_Remote_: - - if h, ok := interface{}(m.GetRemote()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Remote")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetRemote(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Remote")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } + return hasher.Sum64(), nil +} +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *Executor) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.Executor")); err != nil { + return 0, err } return hasher.Sum64(), nil @@ -1166,141 +386,17 @@ func (m *GraphQLApiNamespacedStatuses) HashUnique(hasher hash.Hash64) (uint64, e return 0, nil } if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GraphQLApiNamespacedStatuses")); err != nil { - return 0, err - } - - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetStatuses() { - innerHash.Reset() - - if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { - if _, err = innerHash.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = h.Hash(innerHash); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(v, nil); err != nil { - return 0, err - } else { - if _, err = innerHash.Write([]byte("v")); err != nil { - return 0, err - } - if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if _, err = innerHash.Write([]byte("k")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - - return hasher.Sum64(), nil -} - -// HashUnique function generates a hash of the object that is unique to the object by -// hashing field name and value pairs. -// Replaces Hash due to original hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -func (m *GrpcDescriptorRegistry_ProtoRefs) HashUnique(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GrpcDescriptorRegistry_ProtoRefs")); err != nil { - return 0, err - } - - if _, err = hasher.Write([]byte("ConfigMapRefs")); err != nil { - return 0, err - } - for i, v := range m.GetConfigMapRefs() { - if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { - return 0, err - } - - if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(v, nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("v")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - } - - return hasher.Sum64(), nil -} - -// HashUnique function generates a hash of the object that is unique to the object by -// hashing field name and value pairs. -// Replaces Hash due to original hashing implemention only using field values. The omission -// of the field name in the hash calculation can lead to hash collisions. -func (m *StitchedSchema_SubschemaConfig) HashUnique(hasher hash.Hash64) (uint64, error) { - if m == nil { - return 0, nil - } - if hasher == nil { - hasher = fnv.New64() - } - var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema_SubschemaConfig")); err != nil { - return 0, err - } - - if _, err = hasher.Write([]byte("Name")); err != nil { - return 0, err - } - if _, err = hasher.Write([]byte(m.GetName())); err != nil { - return 0, err - } - - if _, err = hasher.Write([]byte("Namespace")); err != nil { - return 0, err + hasher = fnv.New64() } - if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GraphQLApiNamespacedStatuses")); err != nil { return 0, err } { var result uint64 innerHash := fnv.New64() - for k, v := range m.GetTypeMerge() { + for k, v := range m.GetStatuses() { innerHash.Reset() if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { @@ -1346,7 +442,7 @@ func (m *StitchedSchema_SubschemaConfig) HashUnique(hasher hash.Hash64) (uint64, // hashing field name and value pairs. // Replaces Hash due to original hashing implemention only using field values. The omission // of the field name in the hash calculation can lead to hash collisions. -func (m *StitchedSchema_SubschemaConfig_TypeMergeConfig) HashUnique(hasher hash.Hash64) (uint64, error) { +func (m *GrpcDescriptorRegistry_ProtoRefs) HashUnique(hasher hash.Hash64) (uint64, error) { if m == nil { return 0, nil } @@ -1354,51 +450,46 @@ func (m *StitchedSchema_SubschemaConfig_TypeMergeConfig) HashUnique(hasher hash. hasher = fnv.New64() } var err error - if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema_SubschemaConfig_TypeMergeConfig")); err != nil { + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.GrpcDescriptorRegistry_ProtoRefs")); err != nil { return 0, err } - if _, err = hasher.Write([]byte("SelectionSet")); err != nil { - return 0, err - } - if _, err = hasher.Write([]byte(m.GetSelectionSet())); err != nil { - return 0, err - } + return hasher.Sum64(), nil +} - if _, err = hasher.Write([]byte("QueryName")); err != nil { - return 0, err +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *StitchedSchema_SubschemaConfig) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() } - if _, err = hasher.Write([]byte(m.GetQueryName())); err != nil { + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema_SubschemaConfig")); err != nil { return 0, err } - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetArgs() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte("k")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } + return hasher.Sum64(), nil +} +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *StitchedSchema_SubschemaConfig_TypeMergeConfig) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("graphql.gloo.solo.io.github.com/solo-io/solo-apis/pkg/api/graphql.gloo.solo.io/v1beta1.StitchedSchema_SubschemaConfig_TypeMergeConfig")); err != nil { + return 0, err } return hasher.Sum64(), nil @@ -1420,46 +511,6 @@ func (m *MockResolver_AsyncResponse) HashUnique(hasher hash.Hash64) (uint64, err return 0, err } - if h, ok := interface{}(m.GetResponse()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Response")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetResponse(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Response")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if h, ok := interface{}(m.GetDelay()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Delay")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetDelay(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Delay")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - return hasher.Sum64(), nil } @@ -1479,14 +530,6 @@ func (m *GraphQLApiSpec_GraphQLApiOptions) HashUnique(hasher hash.Hash64) (uint6 return 0, err } - if _, err = hasher.Write([]byte("LogSensitiveInfo")); err != nil { - return 0, err - } - err = binary.Write(hasher, binary.LittleEndian, m.GetLogSensitiveInfo()) - if err != nil { - return 0, err - } - return hasher.Sum64(), nil } @@ -1506,76 +549,6 @@ func (m *Executor_Local) HashUnique(hasher hash.Hash64) (uint64, error) { return 0, err } - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetResolutions() { - innerHash.Reset() - - if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { - if _, err = innerHash.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = h.Hash(innerHash); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(v, nil); err != nil { - return 0, err - } else { - if _, err = innerHash.Write([]byte("v")); err != nil { - return 0, err - } - if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - if _, err = innerHash.Write([]byte("k")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - - if _, err = hasher.Write([]byte("EnableIntrospection")); err != nil { - return 0, err - } - err = binary.Write(hasher, binary.LittleEndian, m.GetEnableIntrospection()) - if err != nil { - return 0, err - } - - if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("Options")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("Options")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - return hasher.Sum64(), nil } @@ -1595,91 +568,6 @@ func (m *Executor_Remote) HashUnique(hasher hash.Hash64) (uint64, error) { return 0, err } - if h, ok := interface{}(m.GetUpstreamRef()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetUpstreamRef(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("UpstreamRef")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetHeaders() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte("k")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - - { - var result uint64 - innerHash := fnv.New64() - for k, v := range m.GetQueryParams() { - innerHash.Reset() - - if _, err = innerHash.Write([]byte("v")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(v)); err != nil { - return 0, err - } - - if _, err = innerHash.Write([]byte("k")); err != nil { - return 0, err - } - if _, err = innerHash.Write([]byte(k)); err != nil { - return 0, err - } - - result = result ^ innerHash.Sum64() - } - err = binary.Write(hasher, binary.LittleEndian, result) - if err != nil { - return 0, err - } - - } - - if _, err = hasher.Write([]byte("SpanName")); err != nil { - return 0, err - } - if _, err = hasher.Write([]byte(m.GetSpanName())); err != nil { - return 0, err - } - return hasher.Sum64(), nil } @@ -1699,25 +587,5 @@ func (m *Executor_Local_LocalExecutorOptions) HashUnique(hasher hash.Hash64) (ui return 0, err } - if h, ok := interface{}(m.GetMaxDepth()).(safe_hasher.SafeHasher); ok { - if _, err = hasher.Write([]byte("MaxDepth")); err != nil { - return 0, err - } - if _, err = h.Hash(hasher); err != nil { - return 0, err - } - } else { - if fieldValue, err := hashstructure.Hash(m.GetMaxDepth(), nil); err != nil { - return 0, err - } else { - if _, err = hasher.Write([]byte("MaxDepth")); err != nil { - return 0, err - } - if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { - return 0, err - } - } - } - return hasher.Sum64(), nil }