v1alpha1

package
v1.10.0-beta5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2021 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ValueProvider_TypedValueProvider_Type_name = map[int32]string{
		0: "STRING",
		1: "INT",
		2: "FLOAT",
		3: "BOOLEAN",
	}
	ValueProvider_TypedValueProvider_Type_value = map[string]int32{
		"STRING":  0,
		"INT":     1,
		"FLOAT":   2,
		"BOOLEAN": 3,
	}
)

Enum value maps for ValueProvider_TypedValueProvider_Type.

View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_enterprise_options_graphql_v1alpha1_graphql_proto protoreflect.FileDescriptor
View Source
var (
	GraphQLSchemaCrd = crd.NewCrd(
		"graphqlschemas",
		GraphQLSchemaGVK.Group,
		GraphQLSchemaGVK.Version,
		GraphQLSchemaGVK.Kind,
		"gqls",
		false,
		&GraphQLSchema{})
)
View Source
var (
	GraphQLSchemaGVK = schema.GroupVersionKind{
		Version: "v1alpha1",
		Group:   "graphql.gloo.solo.io",
		Kind:    "GraphQLSchema",
	}
)

Functions

This section is empty.

Types

type GraphQLSchema

type GraphQLSchema struct {

	// NamespacedStatuses indicates the validation status of this resource.
	// NamespacedStatuses is read-only by clients, and set by gloo during validation
	NamespacedStatuses *core.NamespacedStatuses `protobuf:"bytes,1,opt,name=namespaced_statuses,json=namespacedStatuses,proto3" json:"namespaced_statuses,omitempty"`
	// Metadata contains the object metadata for this resource
	Metadata *core.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Schema to use in string format.
	Schema string `protobuf:"bytes,3,opt,name=schema,proto3" json:"schema,omitempty"`
	// 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,4,opt,name=enable_introspection,json=enableIntrospection,proto3" json:"enable_introspection,omitempty"`
	// The resolver map to use to resolve the schema.
	// Omitted fields will use the default resolver, which looks for a field with that name in the parent's object,
	// and errors if the field cannot be found.
	Resolutions []*Resolution `protobuf:"bytes,5,rep,name=resolutions,proto3" json:"resolutions,omitempty"`
	// contains filtered or unexported fields
}

Enterprise-Only: THIS FEATURE IS IN TECH PREVIEW. 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.

func NewGraphQLSchema

func NewGraphQLSchema(namespace, name string) *GraphQLSchema

func (*GraphQLSchema) DeepCopyInto

func (o *GraphQLSchema) DeepCopyInto(out *GraphQLSchema)

func (*GraphQLSchema) DeepCopyObject

func (o *GraphQLSchema) DeepCopyObject() runtime.Object

func (*GraphQLSchema) Descriptor deprecated

func (*GraphQLSchema) Descriptor() ([]byte, []int)

Deprecated: Use GraphQLSchema.ProtoReflect.Descriptor instead.

func (*GraphQLSchema) Equal

func (m *GraphQLSchema) Equal(that interface{}) bool

Equal function

func (*GraphQLSchema) GetEnableIntrospection

func (x *GraphQLSchema) GetEnableIntrospection() bool

func (*GraphQLSchema) GetMetadata

func (x *GraphQLSchema) GetMetadata() *core.Metadata

func (*GraphQLSchema) GetNamespacedStatuses

func (x *GraphQLSchema) GetNamespacedStatuses() *core.NamespacedStatuses

func (*GraphQLSchema) GetObjectKind

func (o *GraphQLSchema) GetObjectKind() schema.ObjectKind

func (*GraphQLSchema) GetResolutions

func (x *GraphQLSchema) GetResolutions() []*Resolution

func (*GraphQLSchema) GetSchema

func (x *GraphQLSchema) GetSchema() string

func (*GraphQLSchema) GetStatus

func (r *GraphQLSchema) GetStatus() *core.Status

Deprecated

func (*GraphQLSchema) GroupVersionKind

func (r *GraphQLSchema) GroupVersionKind() schema.GroupVersionKind

func (*GraphQLSchema) Hash

func (m *GraphQLSchema) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*GraphQLSchema) MustHash

func (r *GraphQLSchema) MustHash() uint64

func (*GraphQLSchema) ProtoMessage

func (*GraphQLSchema) ProtoMessage()

func (*GraphQLSchema) ProtoReflect

func (x *GraphQLSchema) ProtoReflect() protoreflect.Message

func (*GraphQLSchema) Reset

func (x *GraphQLSchema) Reset()

func (*GraphQLSchema) SetMetadata

func (r *GraphQLSchema) SetMetadata(meta *core.Metadata)

func (*GraphQLSchema) SetNamespacedStatuses

func (r *GraphQLSchema) SetNamespacedStatuses(namespacedStatuses *core.NamespacedStatuses)

func (*GraphQLSchema) SetStatus

func (r *GraphQLSchema) SetStatus(status *core.Status)

Deprecated

func (*GraphQLSchema) String

func (x *GraphQLSchema) String() string

type GraphQLSchemaClient

type GraphQLSchemaClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*GraphQLSchema, error)
	Write(resource *GraphQLSchema, opts clients.WriteOpts) (*GraphQLSchema, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (GraphQLSchemaList, error)
	GraphQLSchemaWatcher
}

func NewGraphQLSchemaClient

func NewGraphQLSchemaClient(ctx context.Context, rcFactory factory.ResourceClientFactory) (GraphQLSchemaClient, error)

func NewGraphQLSchemaClientWithBase

func NewGraphQLSchemaClientWithBase(rc clients.ResourceClient) GraphQLSchemaClient

func NewGraphQLSchemaClientWithToken

func NewGraphQLSchemaClientWithToken(ctx context.Context, rcFactory factory.ResourceClientFactory, token string) (GraphQLSchemaClient, error)

type GraphQLSchemaList

type GraphQLSchemaList []*GraphQLSchema

func (GraphQLSchemaList) AsInputResources

func (list GraphQLSchemaList) AsInputResources() resources.InputResourceList

func (GraphQLSchemaList) AsInterfaces

func (list GraphQLSchemaList) AsInterfaces() []interface{}

func (GraphQLSchemaList) AsResources

func (list GraphQLSchemaList) AsResources() resources.ResourceList

func (GraphQLSchemaList) Clone

func (list GraphQLSchemaList) Clone() GraphQLSchemaList

func (GraphQLSchemaList) Each

func (list GraphQLSchemaList) Each(f func(element *GraphQLSchema))

func (GraphQLSchemaList) EachResource

func (list GraphQLSchemaList) EachResource(f func(element resources.Resource))

func (GraphQLSchemaList) Find

func (list GraphQLSchemaList) Find(namespace, name string) (*GraphQLSchema, error)

func (GraphQLSchemaList) Names

func (list GraphQLSchemaList) Names() []string

func (GraphQLSchemaList) NamespacesDotNames

func (list GraphQLSchemaList) NamespacesDotNames() []string

func (GraphQLSchemaList) Sort

type GraphQLSchemaReconciler

type GraphQLSchemaReconciler interface {
	Reconcile(namespace string, desiredResources GraphQLSchemaList, transition TransitionGraphQLSchemaFunc, opts clients.ListOpts) error
}

func NewGraphQLSchemaReconciler

func NewGraphQLSchemaReconciler(client GraphQLSchemaClient, statusSetter resources.StatusSetter) GraphQLSchemaReconciler

type GraphQLSchemaWatcher

type GraphQLSchemaWatcher interface {
	// watch namespace-scoped GraphqlSchemas
	Watch(namespace string, opts clients.WatchOpts) (<-chan GraphQLSchemaList, <-chan error, error)
}

type JsonKeyValue

type JsonKeyValue struct {
	Key   string                  `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value *JsonKeyValue_JsonValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*JsonKeyValue) Descriptor deprecated

func (*JsonKeyValue) Descriptor() ([]byte, []int)

Deprecated: Use JsonKeyValue.ProtoReflect.Descriptor instead.

func (*JsonKeyValue) Equal

func (m *JsonKeyValue) Equal(that interface{}) bool

Equal function

func (*JsonKeyValue) GetKey

func (x *JsonKeyValue) GetKey() string

func (*JsonKeyValue) GetValue

func (x *JsonKeyValue) GetValue() *JsonKeyValue_JsonValue

func (*JsonKeyValue) Hash

func (m *JsonKeyValue) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*JsonKeyValue) ProtoMessage

func (*JsonKeyValue) ProtoMessage()

func (*JsonKeyValue) ProtoReflect

func (x *JsonKeyValue) ProtoReflect() protoreflect.Message

func (*JsonKeyValue) Reset

func (x *JsonKeyValue) Reset()

func (*JsonKeyValue) String

func (x *JsonKeyValue) String() string

type JsonKeyValue_JsonValue

type JsonKeyValue_JsonValue struct {

	// Types that are assignable to JsonVal:
	//	*JsonKeyValue_JsonValue_Node
	//	*JsonKeyValue_JsonValue_ValueProvider
	//	*JsonKeyValue_JsonValue_List
	JsonVal isJsonKeyValue_JsonValue_JsonVal `protobuf_oneof:"json_val"`
	// contains filtered or unexported fields
}

func (*JsonKeyValue_JsonValue) Descriptor deprecated

func (*JsonKeyValue_JsonValue) Descriptor() ([]byte, []int)

Deprecated: Use JsonKeyValue_JsonValue.ProtoReflect.Descriptor instead.

func (*JsonKeyValue_JsonValue) Equal

func (m *JsonKeyValue_JsonValue) Equal(that interface{}) bool

Equal function

func (*JsonKeyValue_JsonValue) GetJsonVal

func (m *JsonKeyValue_JsonValue) GetJsonVal() isJsonKeyValue_JsonValue_JsonVal

func (*JsonKeyValue_JsonValue) GetList

func (*JsonKeyValue_JsonValue) GetNode

func (x *JsonKeyValue_JsonValue) GetNode() *JsonNode

func (*JsonKeyValue_JsonValue) GetValueProvider

func (x *JsonKeyValue_JsonValue) GetValueProvider() *ValueProvider

func (*JsonKeyValue_JsonValue) Hash

func (m *JsonKeyValue_JsonValue) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*JsonKeyValue_JsonValue) ProtoMessage

func (*JsonKeyValue_JsonValue) ProtoMessage()

func (*JsonKeyValue_JsonValue) ProtoReflect

func (x *JsonKeyValue_JsonValue) ProtoReflect() protoreflect.Message

func (*JsonKeyValue_JsonValue) Reset

func (x *JsonKeyValue_JsonValue) Reset()

func (*JsonKeyValue_JsonValue) String

func (x *JsonKeyValue_JsonValue) String() string

type JsonKeyValue_JsonValueList

type JsonKeyValue_JsonValueList struct {
	Values []*JsonKeyValue_JsonValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	// contains filtered or unexported fields
}

func (*JsonKeyValue_JsonValueList) Descriptor deprecated

func (*JsonKeyValue_JsonValueList) Descriptor() ([]byte, []int)

Deprecated: Use JsonKeyValue_JsonValueList.ProtoReflect.Descriptor instead.

func (*JsonKeyValue_JsonValueList) Equal

func (m *JsonKeyValue_JsonValueList) Equal(that interface{}) bool

Equal function

func (*JsonKeyValue_JsonValueList) GetValues

func (*JsonKeyValue_JsonValueList) Hash

func (m *JsonKeyValue_JsonValueList) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*JsonKeyValue_JsonValueList) ProtoMessage

func (*JsonKeyValue_JsonValueList) ProtoMessage()

func (*JsonKeyValue_JsonValueList) ProtoReflect

func (*JsonKeyValue_JsonValueList) Reset

func (x *JsonKeyValue_JsonValueList) Reset()

func (*JsonKeyValue_JsonValueList) String

func (x *JsonKeyValue_JsonValueList) String() string

type JsonKeyValue_JsonValue_List

type JsonKeyValue_JsonValue_List struct {
	List *JsonKeyValue_JsonValueList `protobuf:"bytes,3,opt,name=list,proto3,oneof"`
}

type JsonKeyValue_JsonValue_Node

type JsonKeyValue_JsonValue_Node struct {
	Node *JsonNode `protobuf:"bytes,1,opt,name=node,proto3,oneof"`
}

type JsonKeyValue_JsonValue_ValueProvider

type JsonKeyValue_JsonValue_ValueProvider struct {
	ValueProvider *ValueProvider `protobuf:"bytes,2,opt,name=value_provider,json=valueProvider,proto3,oneof"`
}

type JsonNode

type JsonNode struct {

	// 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
	KeyValues []*JsonKeyValue `protobuf:"bytes,1,rep,name=key_values,json=keyValues,proto3" json:"key_values,omitempty"`
	// contains filtered or unexported fields
}

Represents a typed JSON structure

func (*JsonNode) Descriptor deprecated

func (*JsonNode) Descriptor() ([]byte, []int)

Deprecated: Use JsonNode.ProtoReflect.Descriptor instead.

func (*JsonNode) Equal

func (m *JsonNode) Equal(that interface{}) bool

Equal function

func (*JsonNode) GetKeyValues

func (x *JsonNode) GetKeyValues() []*JsonKeyValue

func (*JsonNode) Hash

func (m *JsonNode) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*JsonNode) ProtoMessage

func (*JsonNode) ProtoMessage()

func (*JsonNode) ProtoReflect

func (x *JsonNode) ProtoReflect() protoreflect.Message

func (*JsonNode) Reset

func (x *JsonNode) Reset()

func (*JsonNode) String

func (x *JsonNode) String() string

type PathSegment

type PathSegment struct {

	// Types that are assignable to Segment:
	//	*PathSegment_Key
	//	*PathSegment_Index
	Segment isPathSegment_Segment `protobuf_oneof:"segment"`
	// contains filtered or unexported fields
}

used to reference into json structures by key(s)

func (*PathSegment) Descriptor deprecated

func (*PathSegment) Descriptor() ([]byte, []int)

Deprecated: Use PathSegment.ProtoReflect.Descriptor instead.

func (*PathSegment) Equal

func (m *PathSegment) Equal(that interface{}) bool

Equal function

func (*PathSegment) GetIndex

func (x *PathSegment) GetIndex() uint32

func (*PathSegment) GetKey

func (x *PathSegment) GetKey() string

func (*PathSegment) GetSegment

func (m *PathSegment) GetSegment() isPathSegment_Segment

func (*PathSegment) Hash

func (m *PathSegment) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*PathSegment) ProtoMessage

func (*PathSegment) ProtoMessage()

func (*PathSegment) ProtoReflect

func (x *PathSegment) ProtoReflect() protoreflect.Message

func (*PathSegment) Reset

func (x *PathSegment) Reset()

func (*PathSegment) String

func (x *PathSegment) String() string

type PathSegment_Index

type PathSegment_Index struct {
	Index uint32 `protobuf:"varint,2,opt,name=index,proto3,oneof"`
}

type PathSegment_Key

type PathSegment_Key struct {
	Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"`
}

type QueryMatcher

type QueryMatcher struct {

	// Types that are assignable to Match:
	//	*QueryMatcher_FieldMatcher_
	Match isQueryMatcher_Match `protobuf_oneof:"match"`
	// contains filtered or unexported fields
}

func (*QueryMatcher) Descriptor deprecated

func (*QueryMatcher) Descriptor() ([]byte, []int)

Deprecated: Use QueryMatcher.ProtoReflect.Descriptor instead.

func (*QueryMatcher) Equal

func (m *QueryMatcher) Equal(that interface{}) bool

Equal function

func (*QueryMatcher) GetFieldMatcher

func (x *QueryMatcher) GetFieldMatcher() *QueryMatcher_FieldMatcher

func (*QueryMatcher) GetMatch

func (m *QueryMatcher) GetMatch() isQueryMatcher_Match

func (*QueryMatcher) Hash

func (m *QueryMatcher) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*QueryMatcher) ProtoMessage

func (*QueryMatcher) ProtoMessage()

func (*QueryMatcher) ProtoReflect

func (x *QueryMatcher) ProtoReflect() protoreflect.Message

func (*QueryMatcher) Reset

func (x *QueryMatcher) Reset()

func (*QueryMatcher) String

func (x *QueryMatcher) String() string

type QueryMatcher_FieldMatcher

type QueryMatcher_FieldMatcher struct {

	// Object type. For example, Query.
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// Field with in the object.
	Field string `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryMatcher_FieldMatcher) Descriptor deprecated

func (*QueryMatcher_FieldMatcher) Descriptor() ([]byte, []int)

Deprecated: Use QueryMatcher_FieldMatcher.ProtoReflect.Descriptor instead.

func (*QueryMatcher_FieldMatcher) Equal

func (m *QueryMatcher_FieldMatcher) Equal(that interface{}) bool

Equal function

func (*QueryMatcher_FieldMatcher) GetField

func (x *QueryMatcher_FieldMatcher) GetField() string

func (*QueryMatcher_FieldMatcher) GetType

func (x *QueryMatcher_FieldMatcher) GetType() string

func (*QueryMatcher_FieldMatcher) Hash

func (m *QueryMatcher_FieldMatcher) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*QueryMatcher_FieldMatcher) ProtoMessage

func (*QueryMatcher_FieldMatcher) ProtoMessage()

func (*QueryMatcher_FieldMatcher) ProtoReflect

func (*QueryMatcher_FieldMatcher) Reset

func (x *QueryMatcher_FieldMatcher) Reset()

func (*QueryMatcher_FieldMatcher) String

func (x *QueryMatcher_FieldMatcher) String() string

type QueryMatcher_FieldMatcher_

type QueryMatcher_FieldMatcher_ struct {
	FieldMatcher *QueryMatcher_FieldMatcher `protobuf:"bytes,1,opt,name=field_matcher,json=fieldMatcher,proto3,oneof"`
}

type RESTResolver

type RESTResolver struct {
	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 *RequestTemplate `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"`
	// contains filtered or unexported fields
}

control-plane API

func (*RESTResolver) Descriptor deprecated

func (*RESTResolver) Descriptor() ([]byte, []int)

Deprecated: Use RESTResolver.ProtoReflect.Descriptor instead.

func (*RESTResolver) Equal

func (m *RESTResolver) Equal(that interface{}) bool

Equal function

func (*RESTResolver) GetRequestTransform

func (x *RESTResolver) GetRequestTransform() *RequestTemplate

func (*RESTResolver) GetSpanName

func (x *RESTResolver) GetSpanName() string

func (*RESTResolver) GetUpstreamRef

func (x *RESTResolver) GetUpstreamRef() *core.ResourceRef

func (*RESTResolver) Hash

func (m *RESTResolver) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*RESTResolver) ProtoMessage

func (*RESTResolver) ProtoMessage()

func (*RESTResolver) ProtoReflect

func (x *RESTResolver) ProtoReflect() protoreflect.Message

func (*RESTResolver) Reset

func (x *RESTResolver) Reset()

func (*RESTResolver) String

func (x *RESTResolver) String() string

type RequestTemplate

type RequestTemplate struct {

	// 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"
	Headers map[string]*ValueProvider `` /* 155-byte string literal not displayed */
	// 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).
	QueryParams map[string]*ValueProvider `` /* 182-byte string literal not displayed */
	// implementation specific, gRPC will want gRPC message and struct to instantiate
	//
	// Types that are assignable to OutgoingBody:
	//	*RequestTemplate_Json
	OutgoingBody isRequestTemplate_OutgoingBody `protobuf_oneof:"outgoing_body"`
	// contains filtered or unexported fields
}

Defines a configuration for generating outgoing requests for a resolver.

func (*RequestTemplate) Descriptor deprecated

func (*RequestTemplate) Descriptor() ([]byte, []int)

Deprecated: Use RequestTemplate.ProtoReflect.Descriptor instead.

func (*RequestTemplate) Equal

func (m *RequestTemplate) Equal(that interface{}) bool

Equal function

func (*RequestTemplate) GetHeaders

func (x *RequestTemplate) GetHeaders() map[string]*ValueProvider

func (*RequestTemplate) GetJson

func (x *RequestTemplate) GetJson() *JsonNode

func (*RequestTemplate) GetOutgoingBody

func (m *RequestTemplate) GetOutgoingBody() isRequestTemplate_OutgoingBody

func (*RequestTemplate) GetQueryParams

func (x *RequestTemplate) GetQueryParams() map[string]*ValueProvider

func (*RequestTemplate) Hash

func (m *RequestTemplate) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*RequestTemplate) ProtoMessage

func (*RequestTemplate) ProtoMessage()

func (*RequestTemplate) ProtoReflect

func (x *RequestTemplate) ProtoReflect() protoreflect.Message

func (*RequestTemplate) Reset

func (x *RequestTemplate) Reset()

func (*RequestTemplate) String

func (x *RequestTemplate) String() string

type RequestTemplate_Json

type RequestTemplate_Json struct {
	// json representation of outgoing body.
	// empty string key can be used to signal parsing the value as json and using it
	// as the whole json body.
	Json *JsonNode `protobuf:"bytes,3,opt,name=json,proto3,oneof"`
}

type Resolution

type Resolution struct {

	// Match an object type and field
	Matcher *QueryMatcher `protobuf:"bytes,1,opt,name=matcher,proto3" json:"matcher,omitempty"`
	// The resolver to use.
	//
	// Types that are assignable to Resolver:
	//	*Resolution_RestResolver
	Resolver isResolution_Resolver `protobuf_oneof:"resolver"`
	// contains filtered or unexported fields
}

This is the resolver map for the schema. For each Type.Field, we can define a resolver. 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.

func (*Resolution) Descriptor deprecated

func (*Resolution) Descriptor() ([]byte, []int)

Deprecated: Use Resolution.ProtoReflect.Descriptor instead.

func (*Resolution) Equal

func (m *Resolution) Equal(that interface{}) bool

Equal function

func (*Resolution) GetMatcher

func (x *Resolution) GetMatcher() *QueryMatcher

func (*Resolution) GetResolver

func (m *Resolution) GetResolver() isResolution_Resolver

func (*Resolution) GetRestResolver

func (x *Resolution) GetRestResolver() *RESTResolver

func (*Resolution) Hash

func (m *Resolution) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Resolution) ProtoMessage

func (*Resolution) ProtoMessage()

func (*Resolution) ProtoReflect

func (x *Resolution) ProtoReflect() protoreflect.Message

func (*Resolution) Reset

func (x *Resolution) Reset()

func (*Resolution) String

func (x *Resolution) String() string

type Resolution_RestResolver

type Resolution_RestResolver struct {
	RestResolver *RESTResolver `protobuf:"bytes,3,opt,name=rest_resolver,json=restResolver,proto3,oneof"`
}

type TransitionGraphQLSchemaFunc

type TransitionGraphQLSchemaFunc func(original, desired *GraphQLSchema) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type ValueProvider

type ValueProvider struct {

	// Types that are assignable to Provider:
	//	*ValueProvider_GraphqlArg
	//	*ValueProvider_TypedProvider
	//	*ValueProvider_GraphqlParent
	Provider isValueProvider_Provider `protobuf_oneof:"provider"`
	// 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.
	ProviderTemplate string `protobuf:"bytes,4,opt,name=provider_template,json=providerTemplate,proto3" json:"provider_template,omitempty"`
	// contains filtered or unexported fields
}

In the future we may add support for regex and subgroups

func (*ValueProvider) Descriptor deprecated

func (*ValueProvider) Descriptor() ([]byte, []int)

Deprecated: Use ValueProvider.ProtoReflect.Descriptor instead.

func (*ValueProvider) Equal

func (m *ValueProvider) Equal(that interface{}) bool

Equal function

func (*ValueProvider) GetGraphqlArg

func (*ValueProvider) GetGraphqlParent

func (*ValueProvider) GetProvider

func (m *ValueProvider) GetProvider() isValueProvider_Provider

func (*ValueProvider) GetProviderTemplate

func (x *ValueProvider) GetProviderTemplate() string

func (*ValueProvider) GetTypedProvider

func (x *ValueProvider) GetTypedProvider() *ValueProvider_TypedValueProvider

func (*ValueProvider) Hash

func (m *ValueProvider) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*ValueProvider) ProtoMessage

func (*ValueProvider) ProtoMessage()

func (*ValueProvider) ProtoReflect

func (x *ValueProvider) ProtoReflect() protoreflect.Message

func (*ValueProvider) Reset

func (x *ValueProvider) Reset()

func (*ValueProvider) String

func (x *ValueProvider) String() string

type ValueProvider_GraphQLArgExtraction

type ValueProvider_GraphQLArgExtraction struct {

	// 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.
	ArgName string `protobuf:"bytes,1,opt,name=arg_name,json=argName,proto3" json:"arg_name,omitempty"`
	// Optional: fetches the value in the argument selected at this key.
	// If the key is invalid, returns the zero-value primitive or null.
	Path []*PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"`
	// contains filtered or unexported fields
}

func (*ValueProvider_GraphQLArgExtraction) Descriptor deprecated

func (*ValueProvider_GraphQLArgExtraction) Descriptor() ([]byte, []int)

Deprecated: Use ValueProvider_GraphQLArgExtraction.ProtoReflect.Descriptor instead.

func (*ValueProvider_GraphQLArgExtraction) Equal

func (m *ValueProvider_GraphQLArgExtraction) Equal(that interface{}) bool

Equal function

func (*ValueProvider_GraphQLArgExtraction) GetArgName

func (*ValueProvider_GraphQLArgExtraction) GetPath

func (*ValueProvider_GraphQLArgExtraction) Hash

Hash function

func (*ValueProvider_GraphQLArgExtraction) ProtoMessage

func (*ValueProvider_GraphQLArgExtraction) ProtoMessage()

func (*ValueProvider_GraphQLArgExtraction) ProtoReflect

func (*ValueProvider_GraphQLArgExtraction) Reset

func (*ValueProvider_GraphQLArgExtraction) String

type ValueProvider_GraphQLParentExtraction

type ValueProvider_GraphQLParentExtraction struct {

	// 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.
	Path []*PathSegment `protobuf:"bytes,1,rep,name=path,proto3" json:"path,omitempty"`
	// contains filtered or unexported fields
}

Does not do type coercion, but instead if the type does not match the expected primitive type we throw an error. In the future we may add support for type coercion.

func (*ValueProvider_GraphQLParentExtraction) Descriptor deprecated

func (*ValueProvider_GraphQLParentExtraction) Descriptor() ([]byte, []int)

Deprecated: Use ValueProvider_GraphQLParentExtraction.ProtoReflect.Descriptor instead.

func (*ValueProvider_GraphQLParentExtraction) Equal

func (m *ValueProvider_GraphQLParentExtraction) Equal(that interface{}) bool

Equal function

func (*ValueProvider_GraphQLParentExtraction) GetPath

func (*ValueProvider_GraphQLParentExtraction) Hash

Hash function

func (*ValueProvider_GraphQLParentExtraction) ProtoMessage

func (*ValueProvider_GraphQLParentExtraction) ProtoMessage()

func (*ValueProvider_GraphQLParentExtraction) ProtoReflect

func (*ValueProvider_GraphQLParentExtraction) Reset

func (*ValueProvider_GraphQLParentExtraction) String

type ValueProvider_GraphqlArg

type ValueProvider_GraphqlArg struct {
	// type inferred from schema, no need to provide it.
	GraphqlArg *ValueProvider_GraphQLArgExtraction `protobuf:"bytes,1,opt,name=graphql_arg,json=graphqlArg,proto3,oneof"`
}

type ValueProvider_GraphqlParent

type ValueProvider_GraphqlParent struct {
	// Fetch value from the graphql_parent of the current field.
	GraphqlParent *ValueProvider_GraphQLParentExtraction `protobuf:"bytes,3,opt,name=graphql_parent,json=graphqlParent,proto3,oneof"`
}

type ValueProvider_TypedProvider

type ValueProvider_TypedProvider struct {
	TypedProvider *ValueProvider_TypedValueProvider `protobuf:"bytes,2,opt,name=typed_provider,json=typedProvider,proto3,oneof"`
}

type ValueProvider_TypedValueProvider

type ValueProvider_TypedValueProvider struct {

	// Type that the value will be coerced into.
	// For example if the extracted value is "9", and type is INT,
	// this value will be cast to an int type.
	Type ValueProvider_TypedValueProvider_Type `` /* 126-byte string literal not displayed */
	// Types that are assignable to ValProvider:
	//	*ValueProvider_TypedValueProvider_Header
	//	*ValueProvider_TypedValueProvider_Value
	ValProvider isValueProvider_TypedValueProvider_ValProvider `protobuf_oneof:"val_provider"`
	// contains filtered or unexported fields
}

func (*ValueProvider_TypedValueProvider) Descriptor deprecated

func (*ValueProvider_TypedValueProvider) Descriptor() ([]byte, []int)

Deprecated: Use ValueProvider_TypedValueProvider.ProtoReflect.Descriptor instead.

func (*ValueProvider_TypedValueProvider) Equal

func (m *ValueProvider_TypedValueProvider) Equal(that interface{}) bool

Equal function

func (*ValueProvider_TypedValueProvider) GetHeader

func (*ValueProvider_TypedValueProvider) GetType

func (*ValueProvider_TypedValueProvider) GetValProvider

func (m *ValueProvider_TypedValueProvider) GetValProvider() isValueProvider_TypedValueProvider_ValProvider

func (*ValueProvider_TypedValueProvider) GetValue

func (*ValueProvider_TypedValueProvider) Hash

Hash function

func (*ValueProvider_TypedValueProvider) ProtoMessage

func (*ValueProvider_TypedValueProvider) ProtoMessage()

func (*ValueProvider_TypedValueProvider) ProtoReflect

func (*ValueProvider_TypedValueProvider) Reset

func (*ValueProvider_TypedValueProvider) String

type ValueProvider_TypedValueProvider_Header

type ValueProvider_TypedValueProvider_Header struct {
	// Fetches the request/response header's value. If not found, uses empty string
	Header string `protobuf:"bytes,2,opt,name=header,proto3,oneof"`
}

type ValueProvider_TypedValueProvider_Type

type ValueProvider_TypedValueProvider_Type int32

Type that the value will be coerced into. For example if the extracted value is "9", and type is INT, this value will be cast to an int type.

const (
	ValueProvider_TypedValueProvider_STRING  ValueProvider_TypedValueProvider_Type = 0
	ValueProvider_TypedValueProvider_INT     ValueProvider_TypedValueProvider_Type = 1
	ValueProvider_TypedValueProvider_FLOAT   ValueProvider_TypedValueProvider_Type = 2
	ValueProvider_TypedValueProvider_BOOLEAN ValueProvider_TypedValueProvider_Type = 3
)

func (ValueProvider_TypedValueProvider_Type) Descriptor

func (ValueProvider_TypedValueProvider_Type) Enum

func (ValueProvider_TypedValueProvider_Type) EnumDescriptor deprecated

func (ValueProvider_TypedValueProvider_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use ValueProvider_TypedValueProvider_Type.Descriptor instead.

func (ValueProvider_TypedValueProvider_Type) Number

func (ValueProvider_TypedValueProvider_Type) String

func (ValueProvider_TypedValueProvider_Type) Type

type ValueProvider_TypedValueProvider_Value

type ValueProvider_TypedValueProvider_Value struct {
	// inline value, use as provided rather than extracting from another source
	Value string `protobuf:"bytes,3,opt,name=value,proto3,oneof"`
}

Directories

Path Synopsis
kube
apis/enterprise.gloo.solo.io/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
apis/graphql.gloo.solo.io/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL