The resolver map to use to resolve the schema. In the future, we will support persistent queries, this will be a map of query id to query. map<string, Query> presistent_queries = 3; when we support persistent queries, we may want to use them exclusivly, for predictable operations. (i.e. no surprise mega query from a client). bool only_persistent_queries = 4;
JsonKeyValue
Field
Type
Label
Description
key
string
PARTIALLY IMPLEMENTED if empty, the value will be parsed as json and replace the entire previously-parsed json value –> this part is only needed for gRPC and thus not implemented yet
if keys repeat, the latest one replaces any earlier values associated with that key. repeated list, rather than a map, to have ordering to allow for merge semantics within the data plane, for example: - gRPC input uses special empty string for input key to set entire body - gRPC wants to replace a certain field in parsed body from GraphQL arg
Use this attribute to set request headers to your REST service. It consists of a map of strings to value providers. The string key determines the name of the resulting header, the value provided will be the value. at least need “:method” and “:path”
Use this attribute to set query parameters to your REST service. It consists of a map of strings to value providers. 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. Interpolation is done in envoy rather than the control plane to prevent escaped character issues. Additionally, we may be providing values not known until the request is being executed (e.g., graphql parent info).
Fetch value from the graphql_parent of the current field.
providerTemplate
string
If non-empty, the template to interpolate the extracted value into. For example, if the string is /api/pets/{}/name and the extracted value 123 is the pet ID will then the extracted value is /api/pets/123/name Use {} as the interpolation character (even repeated) regardless of the type of the provided value.
ValueProvider.GraphQLArgExtraction
Field
Type
Label
Description
argName
string
The argument name to fetch. The argument value fetched will have a type from the schema that we validate in envoy. If the name is invalid, returns the zero-value primitive or null.
Fetches the value in the graphql parent at this key. The value will always be accepted since the parent object is not strongly-typed. If the key is invalid, returns null.