federation

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2023 License: MIT Imports: 25 Imported by: 1

Documentation

Index

Constants

View Source
const (
	PrivatePackageName          = "grpc.federation.private"
	MessageArgumentVariableName = "__ARG__"
)

Variables

View Source
var (
	// optional grpc.federation.EnumRule enum = 70000;
	E_Enum = &file_grpc_federation_federation_proto_extTypes[4]
)

Extension fields to descriptorpb.EnumOptions.

View Source
var (
	// optional grpc.federation.EnumValueRule enum_value = 70000;
	E_EnumValue = &file_grpc_federation_federation_proto_extTypes[5]
)

Extension fields to descriptorpb.EnumValueOptions.

View Source
var (
	// optional grpc.federation.FieldRule field = 70000;
	E_Field = &file_grpc_federation_federation_proto_extTypes[3]
)

Extension fields to descriptorpb.FieldOptions.

View Source
var (
	// optional grpc.federation.MessageRule message = 70000;
	E_Message = &file_grpc_federation_federation_proto_extTypes[2]
)

Extension fields to descriptorpb.MessageOptions.

View Source
var (
	// optional grpc.federation.MethodRule method = 70000;
	E_Method = &file_grpc_federation_federation_proto_extTypes[1]
)

Extension fields to descriptorpb.MethodOptions.

View Source
var (
	// optional grpc.federation.OneofRule oneof = 70000;
	E_Oneof = &file_grpc_federation_federation_proto_extTypes[6]
)

Extension fields to descriptorpb.OneofOptions.

View Source
var (
	// optional grpc.federation.ServiceRule service = 70000;
	E_Service = &file_grpc_federation_federation_proto_extTypes[0]
)

Extension fields to descriptorpb.ServiceOptions.

View Source
var File_grpc_federation_federation_proto protoreflect.FileDescriptor

Functions

func EvalCEL added in v0.4.0

func EvalCEL(env *cel.Env, expr string, vars []cel.EnvOption, args map[string]any, outType reflect.Type) (any, error)

func GoWithRecover added in v0.4.0

func GoWithRecover(eg *errgroup.Group, fn func() (interface{}, error))

func Logger added in v0.4.0

func Logger(ctx context.Context) *slog.Logger

func NewCELFieldType added in v0.4.0

func NewCELFieldType(typ *celtypes.Type, fieldName string) *celtypes.FieldType

func NewOneofSelectorFieldType added in v0.4.0

func NewOneofSelectorFieldType(typ *celtypes.Type, fieldName string, oneofTypes []reflect.Type, getterNames []string, zeroValue reflect.Value) *celtypes.FieldType

func OutputErrorLog added in v0.4.0

func OutputErrorLog(ctx context.Context, logger *slog.Logger, err error)

func RecordErrorToSpan added in v0.5.0

func RecordErrorToSpan(ctx context.Context, err error)

func WithLogger added in v0.4.0

func WithLogger(ctx context.Context, logger *slog.Logger) context.Context

func WithRetry added in v0.4.0

func WithRetry[T any](b backoff.BackOff, fn func() (*T, error)) (*T, error)

func WithTimeout added in v0.4.0

func WithTimeout[T any](ctx context.Context, method string, timeout time.Duration, fn func(context.Context) (*T, error)) (*T, error)

Types

type Argument

type Argument struct {

	// name of the message argument.
	// Use this name to refer to the message argument.
	// For example, if `foo` is specified as the name, it is referenced by `$.foo`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// by used to refer to a name or message argument defined in a MessageRule, use `$.` to refer to the message argument.
	// Use CEL (https://github.com/google/cel-spec) to evaluate the expression.
	// Variables are already defined in MessageRule can be used.
	By *string `protobuf:"bytes,2,opt,name=by,proto3,oneof" json:"by,omitempty"`
	// inline like by, it refers to the specified value and expands all fields beyond it.
	// For this reason, the referenced value must always be of message type.
	Inline *string `protobuf:"bytes,3,opt,name=inline,proto3,oneof" json:"inline,omitempty"`
	// double literal value.
	Double *float64 `protobuf:"fixed64,4,opt,name=double,proto3,oneof" json:"double,omitempty"`
	// repeated double literal values.
	Doubles []float64 `protobuf:"fixed64,5,rep,packed,name=doubles,proto3" json:"doubles,omitempty"`
	// float literal value.
	Float *float32 `protobuf:"fixed32,6,opt,name=float,proto3,oneof" json:"float,omitempty"`
	// repeated float literal values.
	Floats []float32 `protobuf:"fixed32,7,rep,packed,name=floats,proto3" json:"floats,omitempty"`
	// int32 literal value.
	Int32 *int32 `protobuf:"varint,8,opt,name=int32,proto3,oneof" json:"int32,omitempty"`
	// repeated int32 literal values.
	Int32S []int32 `protobuf:"varint,9,rep,packed,name=int32s,proto3" json:"int32s,omitempty"`
	// int64 literal value.
	Int64 *int64 `protobuf:"varint,10,opt,name=int64,proto3,oneof" json:"int64,omitempty"`
	// repeated int64 literal values.
	Int64S []int64 `protobuf:"varint,11,rep,packed,name=int64s,proto3" json:"int64s,omitempty"`
	// uint32 literal value.
	Uint32 *uint32 `protobuf:"varint,12,opt,name=uint32,proto3,oneof" json:"uint32,omitempty"`
	// repeated uint32 literal values.
	Uint32S []uint32 `protobuf:"varint,13,rep,packed,name=uint32s,proto3" json:"uint32s,omitempty"`
	// uint64 literal value.
	Uint64 *uint64 `protobuf:"varint,14,opt,name=uint64,proto3,oneof" json:"uint64,omitempty"`
	// repeated uint64 literal values.
	Uint64S []uint64 `protobuf:"varint,15,rep,packed,name=uint64s,proto3" json:"uint64s,omitempty"`
	// sint32 literal value.
	Sint32 *int32 `protobuf:"zigzag32,16,opt,name=sint32,proto3,oneof" json:"sint32,omitempty"`
	// repeated sint32 literal values.
	Sint32S []int32 `protobuf:"zigzag32,17,rep,packed,name=sint32s,proto3" json:"sint32s,omitempty"`
	// sint64 literal value.
	Sint64 *int64 `protobuf:"zigzag64,18,opt,name=sint64,proto3,oneof" json:"sint64,omitempty"`
	// repeated sint64 literal values.
	Sint64S []int64 `protobuf:"zigzag64,19,rep,packed,name=sint64s,proto3" json:"sint64s,omitempty"`
	// fixed32 literal value.
	Fixed32 *uint32 `protobuf:"fixed32,20,opt,name=fixed32,proto3,oneof" json:"fixed32,omitempty"`
	// repeated fixed32 literal values.
	Fixed32S []uint32 `protobuf:"fixed32,21,rep,packed,name=fixed32s,proto3" json:"fixed32s,omitempty"`
	// fixed64 literal value.
	Fixed64 *uint64 `protobuf:"fixed64,22,opt,name=fixed64,proto3,oneof" json:"fixed64,omitempty"`
	// repeated fixed64 literal values.
	Fixed64S []uint64 `protobuf:"fixed64,23,rep,packed,name=fixed64s,proto3" json:"fixed64s,omitempty"`
	// sfixed32 literal value.
	Sfixed32 *int32 `protobuf:"fixed32,24,opt,name=sfixed32,proto3,oneof" json:"sfixed32,omitempty"`
	// repeated sfixed32 literal values.
	Sfixed32S []int32 `protobuf:"fixed32,25,rep,packed,name=sfixed32s,proto3" json:"sfixed32s,omitempty"`
	// sfixed64 literal value.
	Sfixed64 *int64 `protobuf:"fixed64,26,opt,name=sfixed64,proto3,oneof" json:"sfixed64,omitempty"`
	// repeated sfixed64 literal values.
	Sfixed64S []int64 `protobuf:"fixed64,27,rep,packed,name=sfixed64s,proto3" json:"sfixed64s,omitempty"`
	// bool literal value.
	Bool *bool `protobuf:"varint,28,opt,name=bool,proto3,oneof" json:"bool,omitempty"`
	// repeated bool literal values.
	Bools []bool `protobuf:"varint,29,rep,packed,name=bools,proto3" json:"bools,omitempty"`
	// string literal value.
	String_ *string `protobuf:"bytes,30,opt,name=string,proto3,oneof" json:"string,omitempty"`
	// repeated string literal values.
	Strings []string `protobuf:"bytes,31,rep,name=strings,proto3" json:"strings,omitempty"`
	// bytes literal value.
	ByteString []byte `protobuf:"bytes,32,opt,name=byte_string,json=byteString,proto3,oneof" json:"byte_string,omitempty"`
	// repeated bytes literal values.
	ByteStrings [][]byte `protobuf:"bytes,33,rep,name=byte_strings,json=byteStrings,proto3" json:"byte_strings,omitempty"`
	// message literal value.
	Message *MessageValue `protobuf:"bytes,34,opt,name=message,proto3,oneof" json:"message,omitempty"`
	// repeated message literal values.
	Messages []*MessageValue `protobuf:"bytes,35,rep,name=messages,proto3" json:"messages,omitempty"`
	// enum literal value.
	Enum *string `protobuf:"bytes,36,opt,name=enum,proto3,oneof" json:"enum,omitempty"`
	// repeated enum literal values.
	Enums []string `protobuf:"bytes,37,rep,name=enums,proto3" json:"enums,omitempty"`
	// env literal value.
	Env *string `protobuf:"bytes,38,opt,name=env,proto3,oneof" json:"env,omitempty"`
	// repeated env literal values.
	Envs []string `protobuf:"bytes,39,rep,name=envs,proto3" json:"envs,omitempty"`
	// contains filtered or unexported fields
}

Argument define message argument.

func (*Argument) Descriptor deprecated

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

Deprecated: Use Argument.ProtoReflect.Descriptor instead.

func (*Argument) GetBool

func (x *Argument) GetBool() bool

func (*Argument) GetBools

func (x *Argument) GetBools() []bool

func (*Argument) GetBy

func (x *Argument) GetBy() string

func (*Argument) GetByteString

func (x *Argument) GetByteString() []byte

func (*Argument) GetByteStrings

func (x *Argument) GetByteStrings() [][]byte

func (*Argument) GetDouble

func (x *Argument) GetDouble() float64

func (*Argument) GetDoubles

func (x *Argument) GetDoubles() []float64

func (*Argument) GetEnum

func (x *Argument) GetEnum() string

func (*Argument) GetEnums

func (x *Argument) GetEnums() []string

func (*Argument) GetEnv

func (x *Argument) GetEnv() string

func (*Argument) GetEnvs

func (x *Argument) GetEnvs() []string

func (*Argument) GetFixed32

func (x *Argument) GetFixed32() uint32

func (*Argument) GetFixed32S

func (x *Argument) GetFixed32S() []uint32

func (*Argument) GetFixed64

func (x *Argument) GetFixed64() uint64

func (*Argument) GetFixed64S

func (x *Argument) GetFixed64S() []uint64

func (*Argument) GetFloat

func (x *Argument) GetFloat() float32

func (*Argument) GetFloats

func (x *Argument) GetFloats() []float32

func (*Argument) GetInline

func (x *Argument) GetInline() string

func (*Argument) GetInt32

func (x *Argument) GetInt32() int32

func (*Argument) GetInt32S

func (x *Argument) GetInt32S() []int32

func (*Argument) GetInt64

func (x *Argument) GetInt64() int64

func (*Argument) GetInt64S

func (x *Argument) GetInt64S() []int64

func (*Argument) GetMessage

func (x *Argument) GetMessage() *MessageValue

func (*Argument) GetMessages

func (x *Argument) GetMessages() []*MessageValue

func (*Argument) GetName

func (x *Argument) GetName() string

func (*Argument) GetSfixed32

func (x *Argument) GetSfixed32() int32

func (*Argument) GetSfixed32S

func (x *Argument) GetSfixed32S() []int32

func (*Argument) GetSfixed64

func (x *Argument) GetSfixed64() int64

func (*Argument) GetSfixed64S

func (x *Argument) GetSfixed64S() []int64

func (*Argument) GetSint32

func (x *Argument) GetSint32() int32

func (*Argument) GetSint32S

func (x *Argument) GetSint32S() []int32

func (*Argument) GetSint64

func (x *Argument) GetSint64() int64

func (*Argument) GetSint64S

func (x *Argument) GetSint64S() []int64

func (*Argument) GetString_

func (x *Argument) GetString_() string

func (*Argument) GetStrings

func (x *Argument) GetStrings() []string

func (*Argument) GetUint32

func (x *Argument) GetUint32() uint32

func (*Argument) GetUint32S

func (x *Argument) GetUint32S() []uint32

func (*Argument) GetUint64

func (x *Argument) GetUint64() uint64

func (*Argument) GetUint64S

func (x *Argument) GetUint64S() []uint64

func (*Argument) ProtoMessage

func (*Argument) ProtoMessage()

func (*Argument) ProtoReflect

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

func (*Argument) Reset

func (x *Argument) Reset()

func (*Argument) String

func (x *Argument) String() string

type CELTypeHelper added in v0.4.0

type CELTypeHelper struct {
	// contains filtered or unexported fields
}

CELTypeHelper provides the cel.Registry needed to build a cel environment.

func NewCELTypeHelper added in v0.4.0

func NewCELTypeHelper(structFieldMap map[string]map[string]*celtypes.FieldType) *CELTypeHelper

func (*CELTypeHelper) EnumValue added in v0.4.0

func (h *CELTypeHelper) EnumValue(enumName string) ref.Val

func (*CELTypeHelper) FindIdent added in v0.4.0

func (h *CELTypeHelper) FindIdent(identName string) (ref.Val, bool)

func (*CELTypeHelper) FindStructFieldNames added in v0.4.0

func (h *CELTypeHelper) FindStructFieldNames(structType string) ([]string, bool)

func (*CELTypeHelper) FindStructFieldType added in v0.4.0

func (h *CELTypeHelper) FindStructFieldType(structType, fieldName string) (*celtypes.FieldType, bool)

func (*CELTypeHelper) FindStructType added in v0.4.0

func (h *CELTypeHelper) FindStructType(structType string) (*celtypes.Type, bool)

func (*CELTypeHelper) NewValue added in v0.4.0

func (h *CELTypeHelper) NewValue(structType string, fields map[string]ref.Val) ref.Val

func (*CELTypeHelper) TypeAdapter added in v0.4.0

func (h *CELTypeHelper) TypeAdapter() celtypes.Adapter

func (*CELTypeHelper) TypeProvider added in v0.4.0

func (h *CELTypeHelper) TypeProvider() celtypes.Provider

type CallExpr added in v0.6.0

type CallExpr struct {

	// method specify the FQDN for the gRPC method. format is `<package-name>.<service-name>/<method-name>`.
	Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
	// request specify request parameters for the gRPC method.
	Request []*MethodRequest `protobuf:"bytes,2,rep,name=request,proto3" json:"request,omitempty"`
	// the time to timeout. If the specified time period elapses, DEADLINE_EXCEEDED status is returned.
	// If you want to handle this error, you need to implement a custom error handler in Go.
	// The format is the same as Go's time.Duration format. See https://pkg.go.dev/time#ParseDuration.
	Timeout *string `protobuf:"bytes,3,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
	// retry specifies the retry policy if the method call fails.
	Retry *RetryPolicy `protobuf:"bytes,4,opt,name=retry,proto3,oneof" json:"retry,omitempty"`
	// contains filtered or unexported fields
}

CallExpr represents how to call gRPC method.

func (*CallExpr) Descriptor deprecated added in v0.6.0

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

Deprecated: Use CallExpr.ProtoReflect.Descriptor instead.

func (*CallExpr) GetMethod added in v0.6.0

func (x *CallExpr) GetMethod() string

func (*CallExpr) GetRequest added in v0.6.0

func (x *CallExpr) GetRequest() []*MethodRequest

func (*CallExpr) GetRetry added in v0.6.0

func (x *CallExpr) GetRetry() *RetryPolicy

func (*CallExpr) GetTimeout added in v0.6.0

func (x *CallExpr) GetTimeout() string

func (*CallExpr) ProtoMessage added in v0.6.0

func (*CallExpr) ProtoMessage()

func (*CallExpr) ProtoReflect added in v0.6.0

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

func (*CallExpr) Reset added in v0.6.0

func (x *CallExpr) Reset()

func (*CallExpr) String added in v0.6.0

func (x *CallExpr) String() string

type EnumRule

type EnumRule struct {

	// alias mapping between enums defined in other packages and enums defined on the federation service side.
	// The alias is the FQDN ( <package-name>.<enum-name> ) to the enum.
	// If this definition exists, type conversion is automatically performed before the enum value assignment operation.
	// If a enum with this option has a value that is not present in the enum specified by alias, and the alias option is not specified for that value, an error is occurred.
	Alias *string `protobuf:"bytes,1,opt,name=alias,proto3,oneof" json:"alias,omitempty"`
	// contains filtered or unexported fields
}

func (*EnumRule) Descriptor deprecated

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

Deprecated: Use EnumRule.ProtoReflect.Descriptor instead.

func (*EnumRule) GetAlias

func (x *EnumRule) GetAlias() string

func (*EnumRule) ProtoMessage

func (*EnumRule) ProtoMessage()

func (*EnumRule) ProtoReflect

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

func (*EnumRule) Reset

func (x *EnumRule) Reset()

func (*EnumRule) String

func (x *EnumRule) String() string

type EnumValueRule

type EnumValueRule struct {

	// specifies the default value of the enum.
	// All values other than those specified in alias will be default values.
	Default *bool `protobuf:"varint,1,opt,name=default,proto3,oneof" json:"default,omitempty"`
	// alias can be used when alias is specified in grpc.federation.enum option,
	// and specifies the value name to be referenced among the enums specified in alias of enum option.
	// multiple value names can be specified for alias.
	Alias []string `protobuf:"bytes,2,rep,name=alias,proto3" json:"alias,omitempty"`
	// contains filtered or unexported fields
}

func (*EnumValueRule) Descriptor deprecated

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

Deprecated: Use EnumValueRule.ProtoReflect.Descriptor instead.

func (*EnumValueRule) GetAlias

func (x *EnumValueRule) GetAlias() []string

func (*EnumValueRule) GetDefault

func (x *EnumValueRule) GetDefault() bool

func (*EnumValueRule) ProtoMessage

func (*EnumValueRule) ProtoMessage()

func (*EnumValueRule) ProtoReflect

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

func (*EnumValueRule) Reset

func (x *EnumValueRule) Reset()

func (*EnumValueRule) String

func (x *EnumValueRule) String() string

type ErrorHandler added in v0.4.0

type ErrorHandler func(ctx context.Context, methodName string, err error) error

ErrorHandler Federation Service often needs to convert errors received from downstream services. If an error occurs during method execution in the Federation Service, this error handler is called and the returned error is treated as a final error.

type FieldOneof added in v0.3.0

type FieldOneof struct {

	// cond specify either `expr` or `default`. Only one `default` can be set per oneof.
	//
	// Types that are assignable to Cond:
	//
	//	*FieldOneof_If
	//	*FieldOneof_Default
	Cond isFieldOneof_Cond `protobuf_oneof:"cond"`
	// def specify variables to be used in current oneof field's scope for field binding.
	Def []*VariableDefinition `protobuf:"bytes,3,rep,name=def,proto3" json:"def,omitempty"`
	// by used to refer to a name or message argument defined in a MessageRule, use `$.` to refer to the message argument.
	// Use CEL (https://github.com/google/cel-spec) to evaluate the expression.
	// Variables are already defined in MessageRule and FieldOneOf can be used.
	By string `protobuf:"bytes,4,opt,name=by,proto3" json:"by,omitempty"`
	// contains filtered or unexported fields
}

FieldOneof evaluate "messages" or other field only if expr is true and assign to the oneof field. This feature only available in oneof.

func (*FieldOneof) Descriptor deprecated added in v0.3.0

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

Deprecated: Use FieldOneof.ProtoReflect.Descriptor instead.

func (*FieldOneof) GetBy added in v0.3.0

func (x *FieldOneof) GetBy() string

func (*FieldOneof) GetCond added in v0.3.0

func (m *FieldOneof) GetCond() isFieldOneof_Cond

func (*FieldOneof) GetDef added in v0.7.0

func (x *FieldOneof) GetDef() []*VariableDefinition

func (*FieldOneof) GetDefault added in v0.3.0

func (x *FieldOneof) GetDefault() bool

func (*FieldOneof) GetIf added in v0.6.0

func (x *FieldOneof) GetIf() string

func (*FieldOneof) ProtoMessage added in v0.3.0

func (*FieldOneof) ProtoMessage()

func (*FieldOneof) ProtoReflect added in v0.3.0

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

func (*FieldOneof) Reset added in v0.3.0

func (x *FieldOneof) Reset()

func (*FieldOneof) String added in v0.3.0

func (x *FieldOneof) String() string

type FieldOneof_Default added in v0.3.0

type FieldOneof_Default struct {
	// default used to assign a value when none of the other fields match any of the specified expressions.
	// Only one value can be defined per oneof.
	Default bool `protobuf:"varint,2,opt,name=default,proto3,oneof"`
}

type FieldOneof_If added in v0.6.0

type FieldOneof_If struct {
	// if describes the condition to be assigned to field.
	// The return value must be of type bool.
	// Use CEL (https://github.com/google/cel-spec) to evaluate the expression.
	// Variables are already defined in MessageRule can be used.
	If string `protobuf:"bytes,1,opt,name=if,proto3,oneof"`
}

type FieldRule

type FieldRule struct {

	// If custom_resolver is true, the field binding process is to be implemented in Go.
	// If there are any values retrieved by grpc.federation.message option, they are passed as arguments for custom resolver.
	CustomResolver *bool `protobuf:"varint,1,opt,name=custom_resolver,json=customResolver,proto3,oneof" json:"custom_resolver,omitempty"`
	// by used to refer to a name or message argument defined in a MessageRule, use `$.` to refer to the message argument.
	// Use CEL (https://github.com/google/cel-spec) to evaluate the expression.
	// Variables are already defined in MessageRule can be used.
	By *string `protobuf:"bytes,2,opt,name=by,proto3,oneof" json:"by,omitempty"`
	// alias can be used when alias is specified in grpc.federation.message option,
	// and specifies the field name to be referenced among the messages specified in alias of message option.
	// If the specified field has the same type or can be converted automatically, its value is assigned.
	Alias *string `protobuf:"bytes,3,opt,name=alias,proto3,oneof" json:"alias,omitempty"`
	// double literal value.
	Double *float64 `protobuf:"fixed64,4,opt,name=double,proto3,oneof" json:"double,omitempty"`
	// repeated double literal values.
	Doubles []float64 `protobuf:"fixed64,5,rep,packed,name=doubles,proto3" json:"doubles,omitempty"`
	// float literal value.
	Float *float32 `protobuf:"fixed32,6,opt,name=float,proto3,oneof" json:"float,omitempty"`
	// repeated float literal values.
	Floats []float32 `protobuf:"fixed32,7,rep,packed,name=floats,proto3" json:"floats,omitempty"`
	// int32 literal value.
	Int32 *int32 `protobuf:"varint,8,opt,name=int32,proto3,oneof" json:"int32,omitempty"`
	// repeated int32 literal values.
	Int32S []int32 `protobuf:"varint,9,rep,packed,name=int32s,proto3" json:"int32s,omitempty"`
	// int64 literal value.
	Int64 *int64 `protobuf:"varint,10,opt,name=int64,proto3,oneof" json:"int64,omitempty"`
	// repeated int64 literal values.
	Int64S []int64 `protobuf:"varint,11,rep,packed,name=int64s,proto3" json:"int64s,omitempty"`
	// uint32 literal value.
	Uint32 *uint32 `protobuf:"varint,12,opt,name=uint32,proto3,oneof" json:"uint32,omitempty"`
	// repeated uint32 literal values.
	Uint32S []uint32 `protobuf:"varint,13,rep,packed,name=uint32s,proto3" json:"uint32s,omitempty"`
	// uint64 literal value.
	Uint64 *uint64 `protobuf:"varint,14,opt,name=uint64,proto3,oneof" json:"uint64,omitempty"`
	// repeated uint64 literal values.
	Uint64S []uint64 `protobuf:"varint,15,rep,packed,name=uint64s,proto3" json:"uint64s,omitempty"`
	// sint32 literal value.
	Sint32 *int32 `protobuf:"zigzag32,16,opt,name=sint32,proto3,oneof" json:"sint32,omitempty"`
	// repeated sint32 literal values.
	Sint32S []int32 `protobuf:"zigzag32,17,rep,packed,name=sint32s,proto3" json:"sint32s,omitempty"`
	// sint64 literal value.
	Sint64 *int64 `protobuf:"zigzag64,18,opt,name=sint64,proto3,oneof" json:"sint64,omitempty"`
	// repeated sint64 literal values.
	Sint64S []int64 `protobuf:"zigzag64,19,rep,packed,name=sint64s,proto3" json:"sint64s,omitempty"`
	// fixed32 literal value.
	Fixed32 *uint32 `protobuf:"fixed32,20,opt,name=fixed32,proto3,oneof" json:"fixed32,omitempty"`
	// repeated fixed32 literal values.
	Fixed32S []uint32 `protobuf:"fixed32,21,rep,packed,name=fixed32s,proto3" json:"fixed32s,omitempty"`
	// fixed64 literal value.
	Fixed64 *uint64 `protobuf:"fixed64,22,opt,name=fixed64,proto3,oneof" json:"fixed64,omitempty"`
	// repeated fixed64 literal values.
	Fixed64S []uint64 `protobuf:"fixed64,23,rep,packed,name=fixed64s,proto3" json:"fixed64s,omitempty"`
	// sfixed32 literal value.
	Sfixed32 *int32 `protobuf:"fixed32,24,opt,name=sfixed32,proto3,oneof" json:"sfixed32,omitempty"`
	// repeated sfixed32 literal values.
	Sfixed32S []int32 `protobuf:"fixed32,25,rep,packed,name=sfixed32s,proto3" json:"sfixed32s,omitempty"`
	// sfixed64 literal value.
	Sfixed64 *int64 `protobuf:"fixed64,26,opt,name=sfixed64,proto3,oneof" json:"sfixed64,omitempty"`
	// repeated sfixed64 literal values.
	Sfixed64S []int64 `protobuf:"fixed64,27,rep,packed,name=sfixed64s,proto3" json:"sfixed64s,omitempty"`
	// bool literal value.
	Bool *bool `protobuf:"varint,28,opt,name=bool,proto3,oneof" json:"bool,omitempty"`
	// repeated bool literal values.
	Bools []bool `protobuf:"varint,29,rep,packed,name=bools,proto3" json:"bools,omitempty"`
	// string literal value.
	String_ *string `protobuf:"bytes,30,opt,name=string,proto3,oneof" json:"string,omitempty"`
	// repeated string literal values.
	Strings []string `protobuf:"bytes,31,rep,name=strings,proto3" json:"strings,omitempty"`
	// bytes literal value.
	ByteString []byte `protobuf:"bytes,32,opt,name=byte_string,json=byteString,proto3,oneof" json:"byte_string,omitempty"`
	// repeated bytes literal values.
	ByteStrings [][]byte `protobuf:"bytes,33,rep,name=byte_strings,json=byteStrings,proto3" json:"byte_strings,omitempty"`
	// message literal value.
	Message *MessageValue `protobuf:"bytes,34,opt,name=message,proto3,oneof" json:"message,omitempty"`
	// repeated message literal values.
	Messages []*MessageValue `protobuf:"bytes,35,rep,name=messages,proto3" json:"messages,omitempty"`
	// enum literal value.
	Enum *string `protobuf:"bytes,36,opt,name=enum,proto3,oneof" json:"enum,omitempty"`
	// repeated enum literal values.
	Enums []string `protobuf:"bytes,37,rep,name=enums,proto3" json:"enums,omitempty"`
	// env literal value.
	Env *string `protobuf:"bytes,38,opt,name=env,proto3,oneof" json:"env,omitempty"`
	// repeated env literal values.
	Envs []string `protobuf:"bytes,39,rep,name=envs,proto3" json:"envs,omitempty"`
	// use to evaluate any one of fields. this field only available in oneof.
	Oneof *FieldOneof `protobuf:"bytes,40,opt,name=oneof,proto3" json:"oneof,omitempty"`
	// contains filtered or unexported fields
}

FieldRule define GRPC Federation rules for the field of message.

func (*FieldRule) Descriptor deprecated

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

Deprecated: Use FieldRule.ProtoReflect.Descriptor instead.

func (*FieldRule) GetAlias

func (x *FieldRule) GetAlias() string

func (*FieldRule) GetBool

func (x *FieldRule) GetBool() bool

func (*FieldRule) GetBools

func (x *FieldRule) GetBools() []bool

func (*FieldRule) GetBy

func (x *FieldRule) GetBy() string

func (*FieldRule) GetByteString

func (x *FieldRule) GetByteString() []byte

func (*FieldRule) GetByteStrings

func (x *FieldRule) GetByteStrings() [][]byte

func (*FieldRule) GetCustomResolver

func (x *FieldRule) GetCustomResolver() bool

func (*FieldRule) GetDouble

func (x *FieldRule) GetDouble() float64

func (*FieldRule) GetDoubles

func (x *FieldRule) GetDoubles() []float64

func (*FieldRule) GetEnum

func (x *FieldRule) GetEnum() string

func (*FieldRule) GetEnums

func (x *FieldRule) GetEnums() []string

func (*FieldRule) GetEnv

func (x *FieldRule) GetEnv() string

func (*FieldRule) GetEnvs

func (x *FieldRule) GetEnvs() []string

func (*FieldRule) GetFixed32

func (x *FieldRule) GetFixed32() uint32

func (*FieldRule) GetFixed32S

func (x *FieldRule) GetFixed32S() []uint32

func (*FieldRule) GetFixed64

func (x *FieldRule) GetFixed64() uint64

func (*FieldRule) GetFixed64S

func (x *FieldRule) GetFixed64S() []uint64

func (*FieldRule) GetFloat

func (x *FieldRule) GetFloat() float32

func (*FieldRule) GetFloats

func (x *FieldRule) GetFloats() []float32

func (*FieldRule) GetInt32

func (x *FieldRule) GetInt32() int32

func (*FieldRule) GetInt32S

func (x *FieldRule) GetInt32S() []int32

func (*FieldRule) GetInt64

func (x *FieldRule) GetInt64() int64

func (*FieldRule) GetInt64S

func (x *FieldRule) GetInt64S() []int64

func (*FieldRule) GetMessage

func (x *FieldRule) GetMessage() *MessageValue

func (*FieldRule) GetMessages

func (x *FieldRule) GetMessages() []*MessageValue

func (*FieldRule) GetOneof added in v0.3.0

func (x *FieldRule) GetOneof() *FieldOneof

func (*FieldRule) GetSfixed32

func (x *FieldRule) GetSfixed32() int32

func (*FieldRule) GetSfixed32S

func (x *FieldRule) GetSfixed32S() []int32

func (*FieldRule) GetSfixed64

func (x *FieldRule) GetSfixed64() int64

func (*FieldRule) GetSfixed64S

func (x *FieldRule) GetSfixed64S() []int64

func (*FieldRule) GetSint32

func (x *FieldRule) GetSint32() int32

func (*FieldRule) GetSint32S

func (x *FieldRule) GetSint32S() []int32

func (*FieldRule) GetSint64

func (x *FieldRule) GetSint64() int64

func (*FieldRule) GetSint64S

func (x *FieldRule) GetSint64S() []int64

func (*FieldRule) GetString_

func (x *FieldRule) GetString_() string

func (*FieldRule) GetStrings

func (x *FieldRule) GetStrings() []string

func (*FieldRule) GetUint32

func (x *FieldRule) GetUint32() uint32

func (*FieldRule) GetUint32S

func (x *FieldRule) GetUint32S() []uint32

func (*FieldRule) GetUint64

func (x *FieldRule) GetUint64() uint64

func (*FieldRule) GetUint64S

func (x *FieldRule) GetUint64S() []uint64

func (*FieldRule) ProtoMessage

func (*FieldRule) ProtoMessage()

func (*FieldRule) ProtoReflect

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

func (*FieldRule) Reset

func (x *FieldRule) Reset()

func (*FieldRule) String

func (x *FieldRule) String() string

type Iterator added in v0.6.0

type Iterator struct {

	// variable name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// src the value that will be the source for creating the iterator.
	// src must be a repeated type.
	Src string `protobuf:"bytes,2,opt,name=src,proto3" json:"src,omitempty"`
	// contains filtered or unexported fields
}

Iterator represents iterator variable.

func (*Iterator) Descriptor deprecated added in v0.6.0

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

Deprecated: Use Iterator.ProtoReflect.Descriptor instead.

func (*Iterator) GetName added in v0.6.0

func (x *Iterator) GetName() string

func (*Iterator) GetSrc added in v0.6.0

func (x *Iterator) GetSrc() string

func (*Iterator) ProtoMessage added in v0.6.0

func (*Iterator) ProtoMessage()

func (*Iterator) ProtoReflect added in v0.6.0

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

func (*Iterator) Reset added in v0.6.0

func (x *Iterator) Reset()

func (*Iterator) String added in v0.6.0

func (x *Iterator) String() string

type MapExpr added in v0.6.0

type MapExpr struct {

	// iterator define iterator variable.
	// When evaluating CEL in `expr`, we can refer to the name defined in iterator.
	Iterator *Iterator `protobuf:"bytes,1,opt,name=iterator,proto3" json:"iterator,omitempty"`
	// expr creates map elements using iterator variable.
	//
	// Types that are assignable to Expr:
	//
	//	*MapExpr_By
	//	*MapExpr_Message
	Expr isMapExpr_Expr `protobuf_oneof:"expr"`
	// contains filtered or unexported fields
}

MapExpr apply map operation for the specified repeated type.

func (*MapExpr) Descriptor deprecated added in v0.6.0

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

Deprecated: Use MapExpr.ProtoReflect.Descriptor instead.

func (*MapExpr) GetBy added in v0.6.0

func (x *MapExpr) GetBy() string

func (*MapExpr) GetExpr added in v0.6.0

func (m *MapExpr) GetExpr() isMapExpr_Expr

func (*MapExpr) GetIterator added in v0.6.0

func (x *MapExpr) GetIterator() *Iterator

func (*MapExpr) GetMessage added in v0.6.0

func (x *MapExpr) GetMessage() *MessageExpr

func (*MapExpr) ProtoMessage added in v0.6.0

func (*MapExpr) ProtoMessage()

func (*MapExpr) ProtoReflect added in v0.6.0

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

func (*MapExpr) Reset added in v0.6.0

func (x *MapExpr) Reset()

func (*MapExpr) String added in v0.6.0

func (x *MapExpr) String() string

type MapExpr_By added in v0.6.0

type MapExpr_By struct {
	// `by` evaluates with CEL.
	// this can refer to the variable declared by `iterator`.
	By string `protobuf:"bytes,11,opt,name=by,proto3,oneof"`
}

type MapExpr_Message added in v0.6.0

type MapExpr_Message struct {
	// message gets with message arguments, and it is made an element of the map.
	// The result type of MapExpr is the repeated type of the specified message.
	Message *MessageExpr `protobuf:"bytes,12,opt,name=message,proto3,oneof"`
}

type MessageExpr added in v0.7.0

type MessageExpr struct {

	// name specify the message name by FQDN. format is `<package-name>.<message-name>`.
	// <package-name> can be omitted when referring to messages in the same package.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// args specify the parameters needed to get the message. This is called the "message arguments".
	Args []*Argument `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
	// contains filtered or unexported fields
}

MessageExpr represents dependent message.

func (*MessageExpr) Descriptor deprecated added in v0.7.0

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

Deprecated: Use MessageExpr.ProtoReflect.Descriptor instead.

func (*MessageExpr) GetArgs added in v0.7.0

func (x *MessageExpr) GetArgs() []*Argument

func (*MessageExpr) GetName added in v0.7.0

func (x *MessageExpr) GetName() string

func (*MessageExpr) ProtoMessage added in v0.7.0

func (*MessageExpr) ProtoMessage()

func (*MessageExpr) ProtoReflect added in v0.7.0

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

func (*MessageExpr) Reset added in v0.7.0

func (x *MessageExpr) Reset()

func (*MessageExpr) String added in v0.7.0

func (x *MessageExpr) String() string

type MessageFieldValue

type MessageFieldValue struct {
	Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
	// double literal value.
	Double *float64 `protobuf:"fixed64,3,opt,name=double,proto3,oneof" json:"double,omitempty"`
	// repeated double literal values.
	Doubles []float64 `protobuf:"fixed64,4,rep,packed,name=doubles,proto3" json:"doubles,omitempty"`
	// float literal value.
	Float *float32 `protobuf:"fixed32,5,opt,name=float,proto3,oneof" json:"float,omitempty"`
	// repeated float literal values.
	Floats []float32 `protobuf:"fixed32,6,rep,packed,name=floats,proto3" json:"floats,omitempty"`
	// int32 literal value.
	Int32 *int32 `protobuf:"varint,7,opt,name=int32,proto3,oneof" json:"int32,omitempty"`
	// repeated int32 literal values.
	Int32S []int32 `protobuf:"varint,8,rep,packed,name=int32s,proto3" json:"int32s,omitempty"`
	// int64 literal value.
	Int64 *int64 `protobuf:"varint,9,opt,name=int64,proto3,oneof" json:"int64,omitempty"`
	// repeated int64 literal values.
	Int64S []int64 `protobuf:"varint,10,rep,packed,name=int64s,proto3" json:"int64s,omitempty"`
	// uint32 literal value.
	Uint32 *uint32 `protobuf:"varint,11,opt,name=uint32,proto3,oneof" json:"uint32,omitempty"`
	// repeated uint32 literal values.
	Uint32S []uint32 `protobuf:"varint,12,rep,packed,name=uint32s,proto3" json:"uint32s,omitempty"`
	// uint64 literal value.
	Uint64 *uint64 `protobuf:"varint,13,opt,name=uint64,proto3,oneof" json:"uint64,omitempty"`
	// repeated uint64 literal values.
	Uint64S []uint64 `protobuf:"varint,14,rep,packed,name=uint64s,proto3" json:"uint64s,omitempty"`
	// sint32 literal value.
	Sint32 *int32 `protobuf:"zigzag32,15,opt,name=sint32,proto3,oneof" json:"sint32,omitempty"`
	// repeated sint32 literal values.
	Sint32S []int32 `protobuf:"zigzag32,16,rep,packed,name=sint32s,proto3" json:"sint32s,omitempty"`
	// sint64 literal value.
	Sint64 *int64 `protobuf:"zigzag64,17,opt,name=sint64,proto3,oneof" json:"sint64,omitempty"`
	// repeated sint64 literal values.
	Sint64S []int64 `protobuf:"zigzag64,18,rep,packed,name=sint64s,proto3" json:"sint64s,omitempty"`
	// fixed32 literal value.
	Fixed32 *uint32 `protobuf:"fixed32,19,opt,name=fixed32,proto3,oneof" json:"fixed32,omitempty"`
	// repeated fixed32 literal values.
	Fixed32S []uint32 `protobuf:"fixed32,20,rep,packed,name=fixed32s,proto3" json:"fixed32s,omitempty"`
	// fixed64 literal value.
	Fixed64 *uint64 `protobuf:"fixed64,21,opt,name=fixed64,proto3,oneof" json:"fixed64,omitempty"`
	// repeated fixed64 literal values.
	Fixed64S []uint64 `protobuf:"fixed64,22,rep,packed,name=fixed64s,proto3" json:"fixed64s,omitempty"`
	// sfixed32 literal value.
	Sfixed32 *int32 `protobuf:"fixed32,23,opt,name=sfixed32,proto3,oneof" json:"sfixed32,omitempty"`
	// repeated sfixed32 literal values.
	Sfixed32S []int32 `protobuf:"fixed32,24,rep,packed,name=sfixed32s,proto3" json:"sfixed32s,omitempty"`
	// sfixed64 literal value.
	Sfixed64 *int64 `protobuf:"fixed64,25,opt,name=sfixed64,proto3,oneof" json:"sfixed64,omitempty"`
	// repeated sfixed64 literal values.
	Sfixed64S []int64 `protobuf:"fixed64,26,rep,packed,name=sfixed64s,proto3" json:"sfixed64s,omitempty"`
	// bool literal value.
	Bool *bool `protobuf:"varint,27,opt,name=bool,proto3,oneof" json:"bool,omitempty"`
	// repeated bool literal values.
	Bools []bool `protobuf:"varint,28,rep,packed,name=bools,proto3" json:"bools,omitempty"`
	// string literal value.
	String_ *string `protobuf:"bytes,29,opt,name=string,proto3,oneof" json:"string,omitempty"`
	// repeated string literal values.
	Strings []string `protobuf:"bytes,30,rep,name=strings,proto3" json:"strings,omitempty"`
	// bytes literal value.
	ByteString []byte `protobuf:"bytes,31,opt,name=byte_string,json=byteString,proto3,oneof" json:"byte_string,omitempty"`
	// repeated bytes literal values.
	ByteStrings [][]byte `protobuf:"bytes,32,rep,name=byte_strings,json=byteStrings,proto3" json:"byte_strings,omitempty"`
	// message literal value.
	Message *MessageValue `protobuf:"bytes,33,opt,name=message,proto3,oneof" json:"message,omitempty"`
	// repeated message literal values.
	Messages []*MessageValue `protobuf:"bytes,34,rep,name=messages,proto3" json:"messages,omitempty"`
	// enum literal value.
	Enum *string `protobuf:"bytes,35,opt,name=enum,proto3,oneof" json:"enum,omitempty"`
	// repeated enum literal values.
	Enums []string `protobuf:"bytes,36,rep,name=enums,proto3" json:"enums,omitempty"`
	// env literal value.
	Env *string `protobuf:"bytes,37,opt,name=env,proto3,oneof" json:"env,omitempty"`
	// repeated env literal values.
	Envs []string `protobuf:"bytes,38,rep,name=envs,proto3" json:"envs,omitempty"`
	// contains filtered or unexported fields
}

MessageFieldValue represents message's field.

func (*MessageFieldValue) Descriptor deprecated

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

Deprecated: Use MessageFieldValue.ProtoReflect.Descriptor instead.

func (*MessageFieldValue) GetBool

func (x *MessageFieldValue) GetBool() bool

func (*MessageFieldValue) GetBools

func (x *MessageFieldValue) GetBools() []bool

func (*MessageFieldValue) GetByteString

func (x *MessageFieldValue) GetByteString() []byte

func (*MessageFieldValue) GetByteStrings

func (x *MessageFieldValue) GetByteStrings() [][]byte

func (*MessageFieldValue) GetDouble

func (x *MessageFieldValue) GetDouble() float64

func (*MessageFieldValue) GetDoubles

func (x *MessageFieldValue) GetDoubles() []float64

func (*MessageFieldValue) GetEnum

func (x *MessageFieldValue) GetEnum() string

func (*MessageFieldValue) GetEnums

func (x *MessageFieldValue) GetEnums() []string

func (*MessageFieldValue) GetEnv

func (x *MessageFieldValue) GetEnv() string

func (*MessageFieldValue) GetEnvs

func (x *MessageFieldValue) GetEnvs() []string

func (*MessageFieldValue) GetField

func (x *MessageFieldValue) GetField() string

func (*MessageFieldValue) GetFixed32

func (x *MessageFieldValue) GetFixed32() uint32

func (*MessageFieldValue) GetFixed32S

func (x *MessageFieldValue) GetFixed32S() []uint32

func (*MessageFieldValue) GetFixed64

func (x *MessageFieldValue) GetFixed64() uint64

func (*MessageFieldValue) GetFixed64S

func (x *MessageFieldValue) GetFixed64S() []uint64

func (*MessageFieldValue) GetFloat

func (x *MessageFieldValue) GetFloat() float32

func (*MessageFieldValue) GetFloats

func (x *MessageFieldValue) GetFloats() []float32

func (*MessageFieldValue) GetInt32

func (x *MessageFieldValue) GetInt32() int32

func (*MessageFieldValue) GetInt32S

func (x *MessageFieldValue) GetInt32S() []int32

func (*MessageFieldValue) GetInt64

func (x *MessageFieldValue) GetInt64() int64

func (*MessageFieldValue) GetInt64S

func (x *MessageFieldValue) GetInt64S() []int64

func (*MessageFieldValue) GetMessage

func (x *MessageFieldValue) GetMessage() *MessageValue

func (*MessageFieldValue) GetMessages

func (x *MessageFieldValue) GetMessages() []*MessageValue

func (*MessageFieldValue) GetSfixed32

func (x *MessageFieldValue) GetSfixed32() int32

func (*MessageFieldValue) GetSfixed32S

func (x *MessageFieldValue) GetSfixed32S() []int32

func (*MessageFieldValue) GetSfixed64

func (x *MessageFieldValue) GetSfixed64() int64

func (*MessageFieldValue) GetSfixed64S

func (x *MessageFieldValue) GetSfixed64S() []int64

func (*MessageFieldValue) GetSint32

func (x *MessageFieldValue) GetSint32() int32

func (*MessageFieldValue) GetSint32S

func (x *MessageFieldValue) GetSint32S() []int32

func (*MessageFieldValue) GetSint64

func (x *MessageFieldValue) GetSint64() int64

func (*MessageFieldValue) GetSint64S

func (x *MessageFieldValue) GetSint64S() []int64

func (*MessageFieldValue) GetString_

func (x *MessageFieldValue) GetString_() string

func (*MessageFieldValue) GetStrings

func (x *MessageFieldValue) GetStrings() []string

func (*MessageFieldValue) GetUint32

func (x *MessageFieldValue) GetUint32() uint32

func (*MessageFieldValue) GetUint32S

func (x *MessageFieldValue) GetUint32S() []uint32

func (*MessageFieldValue) GetUint64

func (x *MessageFieldValue) GetUint64() uint64

func (*MessageFieldValue) GetUint64S

func (x *MessageFieldValue) GetUint64S() []uint64

func (*MessageFieldValue) ProtoMessage

func (*MessageFieldValue) ProtoMessage()

func (*MessageFieldValue) ProtoReflect

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

func (*MessageFieldValue) Reset

func (x *MessageFieldValue) Reset()

func (*MessageFieldValue) String

func (x *MessageFieldValue) String() string

type MessageRule

type MessageRule struct {

	// def specify variables to be used in field binding by `grpc.federation.field` option.
	Def []*VariableDefinition `protobuf:"bytes,1,rep,name=def,proto3" json:"def,omitempty"`
	// if custom_resolver is true, the resolver for this message is implemented by Go.
	// If there are any values retrieved by resolver or messages, they are passed as arguments for custom resolver.
	// Each field of the message returned by the custom resolver is automatically bound.
	// If you want to change the binding process for a particular field, set `custom_resolver=true` option for that field.
	CustomResolver *bool `protobuf:"varint,2,opt,name=custom_resolver,json=customResolver,proto3,oneof" json:"custom_resolver,omitempty"`
	// alias mapping between messages defined in other packages and messages defined on the federation service side.
	// The alias is the FQDN ( <package-name>.<message-name> ) to the message.
	// If this definition exists, type conversion is automatically performed before the field assignment operation.
	// If a message with this option has a field that is not present in the message specified by alias, and the alias option is not specified for that field, an error is occurred.
	Alias *string `protobuf:"bytes,3,opt,name=alias,proto3,oneof" json:"alias,omitempty"`
	// contains filtered or unexported fields
}

MessageRule define GRPC Federation rules for the message.

func (*MessageRule) Descriptor deprecated

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

Deprecated: Use MessageRule.ProtoReflect.Descriptor instead.

func (*MessageRule) GetAlias

func (x *MessageRule) GetAlias() string

func (*MessageRule) GetCustomResolver

func (x *MessageRule) GetCustomResolver() bool

func (*MessageRule) GetDef added in v0.6.0

func (x *MessageRule) GetDef() []*VariableDefinition

func (*MessageRule) ProtoMessage

func (*MessageRule) ProtoMessage()

func (*MessageRule) ProtoReflect

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

func (*MessageRule) Reset

func (x *MessageRule) Reset()

func (*MessageRule) String

func (x *MessageRule) String() string

type MessageValue

type MessageValue struct {

	// name specify the message name to be referred to by FQDN. format is `<package-name>.<message-name>`.
	// <package-name> can be omitted when referring to messages in the same package.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// fields represents message's fields.
	Fields []*MessageFieldValue `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"`
	// contains filtered or unexported fields
}

MessageValue represents message literal.

func (*MessageValue) Descriptor deprecated

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

Deprecated: Use MessageValue.ProtoReflect.Descriptor instead.

func (*MessageValue) GetFields

func (x *MessageValue) GetFields() []*MessageFieldValue

func (*MessageValue) GetName

func (x *MessageValue) GetName() string

func (*MessageValue) ProtoMessage

func (*MessageValue) ProtoMessage()

func (*MessageValue) ProtoReflect

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

func (*MessageValue) Reset

func (x *MessageValue) Reset()

func (*MessageValue) String

func (x *MessageValue) String() string

type MethodRequest

type MethodRequest struct {

	// field name of the request message.
	Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
	// by used to refer to a name or message argument defined in a MessageRule, use `$.` to refer to the message argument.
	// Use CEL (https://github.com/google/cel-spec) to evaluate the expression.
	// Variables are already defined in MessageRule can be used.
	By *string `protobuf:"bytes,2,opt,name=by,proto3,oneof" json:"by,omitempty"`
	// double literal value.
	Double *float64 `protobuf:"fixed64,3,opt,name=double,proto3,oneof" json:"double,omitempty"`
	// repeated double literal values.
	Doubles []float64 `protobuf:"fixed64,4,rep,packed,name=doubles,proto3" json:"doubles,omitempty"`
	// float literal value.
	Float *float32 `protobuf:"fixed32,5,opt,name=float,proto3,oneof" json:"float,omitempty"`
	// repeated float literal values.
	Floats []float32 `protobuf:"fixed32,6,rep,packed,name=floats,proto3" json:"floats,omitempty"`
	// int32 literal value.
	Int32 *int32 `protobuf:"varint,7,opt,name=int32,proto3,oneof" json:"int32,omitempty"`
	// repeated int32 literal values.
	Int32S []int32 `protobuf:"varint,8,rep,packed,name=int32s,proto3" json:"int32s,omitempty"`
	// int64 literal value.
	Int64 *int64 `protobuf:"varint,9,opt,name=int64,proto3,oneof" json:"int64,omitempty"`
	// repeated int64 literal values.
	Int64S []int64 `protobuf:"varint,10,rep,packed,name=int64s,proto3" json:"int64s,omitempty"`
	// uint32 literal value.
	Uint32 *uint32 `protobuf:"varint,11,opt,name=uint32,proto3,oneof" json:"uint32,omitempty"`
	// repeated uint32 literal values.
	Uint32S []uint32 `protobuf:"varint,12,rep,packed,name=uint32s,proto3" json:"uint32s,omitempty"`
	// uint64 literal value.
	Uint64 *uint64 `protobuf:"varint,13,opt,name=uint64,proto3,oneof" json:"uint64,omitempty"`
	// repeated uint64 literal values.
	Uint64S []uint64 `protobuf:"varint,14,rep,packed,name=uint64s,proto3" json:"uint64s,omitempty"`
	// sint32 literal value.
	Sint32 *int32 `protobuf:"zigzag32,15,opt,name=sint32,proto3,oneof" json:"sint32,omitempty"`
	// repeated sint32 literal values.
	Sint32S []int32 `protobuf:"zigzag32,16,rep,packed,name=sint32s,proto3" json:"sint32s,omitempty"`
	// sint64 literal value.
	Sint64 *int64 `protobuf:"zigzag64,17,opt,name=sint64,proto3,oneof" json:"sint64,omitempty"`
	// repeated sint64 literal values.
	Sint64S []int64 `protobuf:"zigzag64,18,rep,packed,name=sint64s,proto3" json:"sint64s,omitempty"`
	// fixed32 literal value.
	Fixed32 *uint32 `protobuf:"fixed32,19,opt,name=fixed32,proto3,oneof" json:"fixed32,omitempty"`
	// repeated fixed32 literal values.
	Fixed32S []uint32 `protobuf:"fixed32,20,rep,packed,name=fixed32s,proto3" json:"fixed32s,omitempty"`
	// fixed64 literal value.
	Fixed64 *uint64 `protobuf:"fixed64,21,opt,name=fixed64,proto3,oneof" json:"fixed64,omitempty"`
	// repeated fixed64 literal values.
	Fixed64S []uint64 `protobuf:"fixed64,22,rep,packed,name=fixed64s,proto3" json:"fixed64s,omitempty"`
	// sfixed32 literal value.
	Sfixed32 *int32 `protobuf:"fixed32,23,opt,name=sfixed32,proto3,oneof" json:"sfixed32,omitempty"`
	// repeated sfixed32 literal values.
	Sfixed32S []int32 `protobuf:"fixed32,24,rep,packed,name=sfixed32s,proto3" json:"sfixed32s,omitempty"`
	// sfixed64 literal value.
	Sfixed64 *int64 `protobuf:"fixed64,25,opt,name=sfixed64,proto3,oneof" json:"sfixed64,omitempty"`
	// repeated sfixed64 literal values.
	Sfixed64S []int64 `protobuf:"fixed64,26,rep,packed,name=sfixed64s,proto3" json:"sfixed64s,omitempty"`
	// bool literal value.
	Bool *bool `protobuf:"varint,27,opt,name=bool,proto3,oneof" json:"bool,omitempty"`
	// repeated bool literal values.
	Bools []bool `protobuf:"varint,28,rep,packed,name=bools,proto3" json:"bools,omitempty"`
	// string literal value.
	String_ *string `protobuf:"bytes,29,opt,name=string,proto3,oneof" json:"string,omitempty"`
	// repeated string literal values.
	Strings []string `protobuf:"bytes,30,rep,name=strings,proto3" json:"strings,omitempty"`
	// bytes literal value.
	ByteString []byte `protobuf:"bytes,31,opt,name=byte_string,json=byteString,proto3,oneof" json:"byte_string,omitempty"`
	// repeated bytes literal values.
	ByteStrings [][]byte `protobuf:"bytes,32,rep,name=byte_strings,json=byteStrings,proto3" json:"byte_strings,omitempty"`
	// message literal value.
	Message *MessageValue `protobuf:"bytes,33,opt,name=message,proto3,oneof" json:"message,omitempty"`
	// repeated message literal values.
	Messages []*MessageValue `protobuf:"bytes,34,rep,name=messages,proto3" json:"messages,omitempty"`
	// enum literal value.
	Enum *string `protobuf:"bytes,35,opt,name=enum,proto3,oneof" json:"enum,omitempty"`
	// repeated enum literal values.
	Enums []string `protobuf:"bytes,36,rep,name=enums,proto3" json:"enums,omitempty"`
	// env literal value.
	Env *string `protobuf:"bytes,37,opt,name=env,proto3,oneof" json:"env,omitempty"`
	// repeated env literal values.
	Envs []string `protobuf:"bytes,38,rep,name=envs,proto3" json:"envs,omitempty"`
	// contains filtered or unexported fields
}

MethodRequest define parameters to be used for gRPC method request.

func (*MethodRequest) Descriptor deprecated

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

Deprecated: Use MethodRequest.ProtoReflect.Descriptor instead.

func (*MethodRequest) GetBool

func (x *MethodRequest) GetBool() bool

func (*MethodRequest) GetBools

func (x *MethodRequest) GetBools() []bool

func (*MethodRequest) GetBy

func (x *MethodRequest) GetBy() string

func (*MethodRequest) GetByteString

func (x *MethodRequest) GetByteString() []byte

func (*MethodRequest) GetByteStrings

func (x *MethodRequest) GetByteStrings() [][]byte

func (*MethodRequest) GetDouble

func (x *MethodRequest) GetDouble() float64

func (*MethodRequest) GetDoubles

func (x *MethodRequest) GetDoubles() []float64

func (*MethodRequest) GetEnum

func (x *MethodRequest) GetEnum() string

func (*MethodRequest) GetEnums

func (x *MethodRequest) GetEnums() []string

func (*MethodRequest) GetEnv

func (x *MethodRequest) GetEnv() string

func (*MethodRequest) GetEnvs

func (x *MethodRequest) GetEnvs() []string

func (*MethodRequest) GetField

func (x *MethodRequest) GetField() string

func (*MethodRequest) GetFixed32

func (x *MethodRequest) GetFixed32() uint32

func (*MethodRequest) GetFixed32S

func (x *MethodRequest) GetFixed32S() []uint32

func (*MethodRequest) GetFixed64

func (x *MethodRequest) GetFixed64() uint64

func (*MethodRequest) GetFixed64S

func (x *MethodRequest) GetFixed64S() []uint64

func (*MethodRequest) GetFloat

func (x *MethodRequest) GetFloat() float32

func (*MethodRequest) GetFloats

func (x *MethodRequest) GetFloats() []float32

func (*MethodRequest) GetInt32

func (x *MethodRequest) GetInt32() int32

func (*MethodRequest) GetInt32S

func (x *MethodRequest) GetInt32S() []int32

func (*MethodRequest) GetInt64

func (x *MethodRequest) GetInt64() int64

func (*MethodRequest) GetInt64S

func (x *MethodRequest) GetInt64S() []int64

func (*MethodRequest) GetMessage

func (x *MethodRequest) GetMessage() *MessageValue

func (*MethodRequest) GetMessages

func (x *MethodRequest) GetMessages() []*MessageValue

func (*MethodRequest) GetSfixed32

func (x *MethodRequest) GetSfixed32() int32

func (*MethodRequest) GetSfixed32S

func (x *MethodRequest) GetSfixed32S() []int32

func (*MethodRequest) GetSfixed64

func (x *MethodRequest) GetSfixed64() int64

func (*MethodRequest) GetSfixed64S

func (x *MethodRequest) GetSfixed64S() []int64

func (*MethodRequest) GetSint32

func (x *MethodRequest) GetSint32() int32

func (*MethodRequest) GetSint32S

func (x *MethodRequest) GetSint32S() []int32

func (*MethodRequest) GetSint64

func (x *MethodRequest) GetSint64() int64

func (*MethodRequest) GetSint64S

func (x *MethodRequest) GetSint64S() []int64

func (*MethodRequest) GetString_

func (x *MethodRequest) GetString_() string

func (*MethodRequest) GetStrings

func (x *MethodRequest) GetStrings() []string

func (*MethodRequest) GetUint32

func (x *MethodRequest) GetUint32() uint32

func (*MethodRequest) GetUint32S

func (x *MethodRequest) GetUint32S() []uint32

func (*MethodRequest) GetUint64

func (x *MethodRequest) GetUint64() uint64

func (*MethodRequest) GetUint64S

func (x *MethodRequest) GetUint64S() []uint64

func (*MethodRequest) ProtoMessage

func (*MethodRequest) ProtoMessage()

func (*MethodRequest) ProtoReflect

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

func (*MethodRequest) Reset

func (x *MethodRequest) Reset()

func (*MethodRequest) String

func (x *MethodRequest) String() string

type MethodResponse

type MethodResponse struct {

	// name specify the unique name that can be used in a `MessageRule` / `FieldRule` for the same message for a specific field in the response.
	Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"`
	// field name in response message.
	Field *string `protobuf:"bytes,2,opt,name=field,proto3,oneof" json:"field,omitempty"`
	// autobind if the value referenced by `field` is a message type,
	// the value of a field with the same name and type as the field name of its own message is automatically assigned to the value of the field in the message.
	// If multiple autobinds are used at the same message,
	// you must explicitly use the `grpc.federation.field` option to do the binding yourself, since duplicate field names cannot be correctly determined as one.
	Autobind *bool `protobuf:"varint,3,opt,name=autobind,proto3,oneof" json:"autobind,omitempty"`
	// contains filtered or unexported fields
}

MethodResponse define which value of the method response is referenced.

func (*MethodResponse) Descriptor deprecated

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

Deprecated: Use MethodResponse.ProtoReflect.Descriptor instead.

func (*MethodResponse) GetAutobind

func (x *MethodResponse) GetAutobind() bool

func (*MethodResponse) GetField

func (x *MethodResponse) GetField() string

func (*MethodResponse) GetName

func (x *MethodResponse) GetName() string

func (*MethodResponse) ProtoMessage

func (*MethodResponse) ProtoMessage()

func (*MethodResponse) ProtoReflect

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

func (*MethodResponse) Reset

func (x *MethodResponse) Reset()

func (*MethodResponse) String

func (x *MethodResponse) String() string

type MethodRule

type MethodRule struct {

	// the time to timeout. If the specified time period elapses, DEADLINE_EXCEEDED status is returned.
	// If you want to handle this error, you need to implement a custom error handler in Go.
	// The format is the same as Go's time.Duration format. See https://pkg.go.dev/time#ParseDuration.
	Timeout *string `protobuf:"bytes,1,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
	// contains filtered or unexported fields
}

func (*MethodRule) Descriptor deprecated

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

Deprecated: Use MethodRule.ProtoReflect.Descriptor instead.

func (*MethodRule) GetTimeout

func (x *MethodRule) GetTimeout() string

func (*MethodRule) ProtoMessage

func (*MethodRule) ProtoMessage()

func (*MethodRule) ProtoReflect

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

func (*MethodRule) Reset

func (x *MethodRule) Reset()

func (*MethodRule) String

func (x *MethodRule) String() string

type OneofRule

type OneofRule struct {
	// contains filtered or unexported fields
}

func (*OneofRule) Descriptor deprecated

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

Deprecated: Use OneofRule.ProtoReflect.Descriptor instead.

func (*OneofRule) ProtoMessage

func (*OneofRule) ProtoMessage()

func (*OneofRule) ProtoReflect

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

func (*OneofRule) Reset

func (x *OneofRule) Reset()

func (*OneofRule) String

func (x *OneofRule) String() string

type RecoveredError added in v0.4.0

type RecoveredError struct {
	Message string
	Stack   []string
}

RecoveredError represents recovered error.

func RecoverError added in v0.4.0

func RecoverError(v interface{}, rawStack []byte) *RecoveredError

func (*RecoveredError) Error added in v0.4.0

func (e *RecoveredError) Error() string

type RetryPolicy

type RetryPolicy struct {

	// Types that are assignable to Policy:
	//
	//	*RetryPolicy_Constant
	//	*RetryPolicy_Exponential
	Policy isRetryPolicy_Policy `protobuf_oneof:"policy"`
	// contains filtered or unexported fields
}

RetryPolicy define the retry policy if the method call fails.

func (*RetryPolicy) Descriptor deprecated

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

Deprecated: Use RetryPolicy.ProtoReflect.Descriptor instead.

func (*RetryPolicy) GetConstant

func (x *RetryPolicy) GetConstant() *RetryPolicyConstant

func (*RetryPolicy) GetExponential

func (x *RetryPolicy) GetExponential() *RetryPolicyExponential

func (*RetryPolicy) GetPolicy

func (m *RetryPolicy) GetPolicy() isRetryPolicy_Policy

func (*RetryPolicy) ProtoMessage

func (*RetryPolicy) ProtoMessage()

func (*RetryPolicy) ProtoReflect

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

func (*RetryPolicy) Reset

func (x *RetryPolicy) Reset()

func (*RetryPolicy) String

func (x *RetryPolicy) String() string

type RetryPolicyConstant

type RetryPolicyConstant struct {

	// interval value. ( default value is 1s ).
	Interval *string `protobuf:"bytes,1,opt,name=interval,proto3,oneof" json:"interval,omitempty"`
	// max retry count. ( default value is 5. If zero is specified, it never stops )
	MaxRetries *uint64 `protobuf:"varint,2,opt,name=max_retries,json=maxRetries,proto3,oneof" json:"max_retries,omitempty"`
	// contains filtered or unexported fields
}

RetryPolicyConstant define "constant" based retry policy.

func (*RetryPolicyConstant) Descriptor deprecated

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

Deprecated: Use RetryPolicyConstant.ProtoReflect.Descriptor instead.

func (*RetryPolicyConstant) GetInterval

func (x *RetryPolicyConstant) GetInterval() string

func (*RetryPolicyConstant) GetMaxRetries

func (x *RetryPolicyConstant) GetMaxRetries() uint64

func (*RetryPolicyConstant) ProtoMessage

func (*RetryPolicyConstant) ProtoMessage()

func (*RetryPolicyConstant) ProtoReflect

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

func (*RetryPolicyConstant) Reset

func (x *RetryPolicyConstant) Reset()

func (*RetryPolicyConstant) String

func (x *RetryPolicyConstant) String() string

type RetryPolicyExponential

type RetryPolicyExponential struct {

	// initial interval value. ( default value is "500ms" ).
	InitialInterval *string `protobuf:"bytes,1,opt,name=initial_interval,json=initialInterval,proto3,oneof" json:"initial_interval,omitempty"`
	// randomization factor value. ( default value is 0.5 ).
	RandomizationFactor *float64 `` /* 126-byte string literal not displayed */
	// multiplier. ( default value is 1.5 ).
	Multiplier *float64 `protobuf:"fixed64,3,opt,name=multiplier,proto3,oneof" json:"multiplier,omitempty"`
	// max interval value. ( default value is "60s" ).
	MaxInterval *string `protobuf:"bytes,4,opt,name=max_interval,json=maxInterval,proto3,oneof" json:"max_interval,omitempty"`
	// max retry count. ( default value is 5. If zero is specified, it never stops ).
	MaxRetries *uint64 `protobuf:"varint,5,opt,name=max_retries,json=maxRetries,proto3,oneof" json:"max_retries,omitempty"`
	// contains filtered or unexported fields
}

RetryPolicyExponential define "exponential backoff" based retry policy.

func (*RetryPolicyExponential) Descriptor deprecated

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

Deprecated: Use RetryPolicyExponential.ProtoReflect.Descriptor instead.

func (*RetryPolicyExponential) GetInitialInterval

func (x *RetryPolicyExponential) GetInitialInterval() string

func (*RetryPolicyExponential) GetMaxInterval

func (x *RetryPolicyExponential) GetMaxInterval() string

func (*RetryPolicyExponential) GetMaxRetries

func (x *RetryPolicyExponential) GetMaxRetries() uint64

func (*RetryPolicyExponential) GetMultiplier

func (x *RetryPolicyExponential) GetMultiplier() float64

func (*RetryPolicyExponential) GetRandomizationFactor

func (x *RetryPolicyExponential) GetRandomizationFactor() float64

func (*RetryPolicyExponential) ProtoMessage

func (*RetryPolicyExponential) ProtoMessage()

func (*RetryPolicyExponential) ProtoReflect

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

func (*RetryPolicyExponential) Reset

func (x *RetryPolicyExponential) Reset()

func (*RetryPolicyExponential) String

func (x *RetryPolicyExponential) String() string

type RetryPolicy_Constant

type RetryPolicy_Constant struct {
	// retry according to the "constant" policy.
	Constant *RetryPolicyConstant `protobuf:"bytes,1,opt,name=constant,proto3,oneof"`
}

type RetryPolicy_Exponential

type RetryPolicy_Exponential struct {
	// retry according to the "exponential backoff" policy.
	// The following Go library is used in the implementation,
	// so please refer to the library documentation for how to specify each parameter.
	// https://pkg.go.dev/github.com/cenkalti/backoff/v4#section-readme.
	Exponential *RetryPolicyExponential `protobuf:"bytes,2,opt,name=exponential,proto3,oneof"`
}

type ServiceDependency

type ServiceDependency struct {

	// name to be used when initializing the gRPC client.
	Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"`
	// service is the name of the dependent service.
	Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"`
	// contains filtered or unexported fields
}

ServiceDependency assigns a uniquely determined name to the service.

func (*ServiceDependency) Descriptor deprecated

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

Deprecated: Use ServiceDependency.ProtoReflect.Descriptor instead.

func (*ServiceDependency) GetName

func (x *ServiceDependency) GetName() string

func (*ServiceDependency) GetService

func (x *ServiceDependency) GetService() string

func (*ServiceDependency) ProtoMessage

func (*ServiceDependency) ProtoMessage()

func (*ServiceDependency) ProtoReflect

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

func (*ServiceDependency) Reset

func (x *ServiceDependency) Reset()

func (*ServiceDependency) String

func (x *ServiceDependency) String() string

type ServiceRule

type ServiceRule struct {

	// dependencies defines a unique name for all services on which federation service depends.
	// The name will be used when creating the gRPC client.
	Dependencies []*ServiceDependency `protobuf:"bytes,1,rep,name=dependencies,proto3" json:"dependencies,omitempty"`
	// contains filtered or unexported fields
}

ServiceRule define GRPC Federation rules for the service.

func (*ServiceRule) Descriptor deprecated

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

Deprecated: Use ServiceRule.ProtoReflect.Descriptor instead.

func (*ServiceRule) GetDependencies

func (x *ServiceRule) GetDependencies() []*ServiceDependency

func (*ServiceRule) ProtoMessage

func (*ServiceRule) ProtoMessage()

func (*ServiceRule) ProtoReflect

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

func (*ServiceRule) Reset

func (x *ServiceRule) Reset()

func (*ServiceRule) String

func (x *ServiceRule) String() string

type ValidationError added in v0.3.3

type ValidationError struct {

	// code is a gRPC status code for validation error.
	Code code.Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.rpc.Code" json:"code,omitempty"`
	// message is a gRPC status message for validation error.
	// If omitted, the message will be auto-generated from the configurations.
	Message *string `protobuf:"bytes,2,opt,name=message,proto3,oneof" json:"message,omitempty"`
	// if specifies validation rule in CEL.
	// If the condition is true, the validation returns an error.
	// The return value must always be of type boolean.
	// Either if or details must be specified.
	If *string `protobuf:"bytes,3,opt,name=if,proto3,oneof" json:"if,omitempty"`
	// details is a list of validation rules and error details.
	// If the validation fails, the corresponding error details are set.
	// Either rule or details must be specified.
	Details []*ValidationErrorDetail `protobuf:"bytes,4,rep,name=details,proto3" json:"details,omitempty"`
	// contains filtered or unexported fields
}

ValidationError represents a validation rule and validation error to be returned.

func (*ValidationError) Descriptor deprecated added in v0.3.3

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

Deprecated: Use ValidationError.ProtoReflect.Descriptor instead.

func (*ValidationError) GetCode added in v0.3.3

func (x *ValidationError) GetCode() code.Code

func (*ValidationError) GetDetails added in v0.3.3

func (x *ValidationError) GetDetails() []*ValidationErrorDetail

func (*ValidationError) GetIf added in v0.7.2

func (x *ValidationError) GetIf() string

func (*ValidationError) GetMessage added in v0.3.3

func (x *ValidationError) GetMessage() string

func (*ValidationError) ProtoMessage added in v0.3.3

func (*ValidationError) ProtoMessage()

func (*ValidationError) ProtoReflect added in v0.3.3

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

func (*ValidationError) Reset added in v0.3.3

func (x *ValidationError) Reset()

func (*ValidationError) String added in v0.3.3

func (x *ValidationError) String() string

type ValidationErrorDetail added in v0.3.3

type ValidationErrorDetail struct {

	// if specifies validation rule in CEL. If the condition is true, the validation returns an error.
	If string `protobuf:"bytes,1,opt,name=if,proto3" json:"if,omitempty"`
	// message represents arbitrary messages to describe the detail of the error
	Message []*MessageExpr `protobuf:"bytes,2,rep,name=message,proto3" json:"message,omitempty"`
	// error_info describes the cause of the error with structured details.
	ErrorInfo []*errdetails.ErrorInfo `protobuf:"bytes,3,rep,name=error_info,json=errorInfo,proto3" json:"error_info,omitempty"`
	// retry_info describes when the clients can retry a failed request.
	RetryInfo []*errdetails.RetryInfo `protobuf:"bytes,4,rep,name=retry_info,json=retryInfo,proto3" json:"retry_info,omitempty"`
	// debug_info describes additional debugging info.
	DebugInfo []*errdetails.DebugInfo `protobuf:"bytes,5,rep,name=debug_info,json=debugInfo,proto3" json:"debug_info,omitempty"`
	// quota_failure describes how a quota check failed.
	QuotaFailure []*errdetails.QuotaFailure `protobuf:"bytes,6,rep,name=quota_failure,json=quotaFailure,proto3" json:"quota_failure,omitempty"`
	// precondition_failure describes what preconditions have failed.
	PreconditionFailure []*errdetails.PreconditionFailure `protobuf:"bytes,7,rep,name=precondition_failure,json=preconditionFailure,proto3" json:"precondition_failure,omitempty"`
	// bad_request describes violations in a client request.
	BadRequest []*errdetails.BadRequest `protobuf:"bytes,8,rep,name=bad_request,json=badRequest,proto3" json:"bad_request,omitempty"`
	// request_info contains metadata about the request that clients can attach.
	RequestInfo []*errdetails.RequestInfo `protobuf:"bytes,9,rep,name=request_info,json=requestInfo,proto3" json:"request_info,omitempty"`
	// resource_info describes the resource that is being accessed.
	ResourceInfo []*errdetails.ResourceInfo `protobuf:"bytes,10,rep,name=resource_info,json=resourceInfo,proto3" json:"resource_info,omitempty"`
	// help provides links to documentation or for performing an out of band action.
	Help []*errdetails.Help `protobuf:"bytes,11,rep,name=help,proto3" json:"help,omitempty"`
	// localized_message provides a localized error message that is safe to return to the user.
	LocalizedMessage []*errdetails.LocalizedMessage `protobuf:"bytes,12,rep,name=localized_message,json=localizedMessage,proto3" json:"localized_message,omitempty"`
	// contains filtered or unexported fields
}

ValidationErrorDetail represents a pair of validation rule and error details to be set.

func (*ValidationErrorDetail) Descriptor deprecated added in v0.3.3

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

Deprecated: Use ValidationErrorDetail.ProtoReflect.Descriptor instead.

func (*ValidationErrorDetail) GetBadRequest added in v0.3.3

func (x *ValidationErrorDetail) GetBadRequest() []*errdetails.BadRequest

func (*ValidationErrorDetail) GetDebugInfo added in v0.3.3

func (x *ValidationErrorDetail) GetDebugInfo() []*errdetails.DebugInfo

func (*ValidationErrorDetail) GetErrorInfo added in v0.3.3

func (x *ValidationErrorDetail) GetErrorInfo() []*errdetails.ErrorInfo

func (*ValidationErrorDetail) GetHelp added in v0.3.3

func (x *ValidationErrorDetail) GetHelp() []*errdetails.Help

func (*ValidationErrorDetail) GetIf added in v0.7.2

func (x *ValidationErrorDetail) GetIf() string

func (*ValidationErrorDetail) GetLocalizedMessage added in v0.3.3

func (x *ValidationErrorDetail) GetLocalizedMessage() []*errdetails.LocalizedMessage

func (*ValidationErrorDetail) GetMessage added in v0.7.0

func (x *ValidationErrorDetail) GetMessage() []*MessageExpr

func (*ValidationErrorDetail) GetPreconditionFailure added in v0.3.3

func (x *ValidationErrorDetail) GetPreconditionFailure() []*errdetails.PreconditionFailure

func (*ValidationErrorDetail) GetQuotaFailure added in v0.3.3

func (x *ValidationErrorDetail) GetQuotaFailure() []*errdetails.QuotaFailure

func (*ValidationErrorDetail) GetRequestInfo added in v0.3.3

func (x *ValidationErrorDetail) GetRequestInfo() []*errdetails.RequestInfo

func (*ValidationErrorDetail) GetResourceInfo added in v0.3.3

func (x *ValidationErrorDetail) GetResourceInfo() []*errdetails.ResourceInfo

func (*ValidationErrorDetail) GetRetryInfo added in v0.3.3

func (x *ValidationErrorDetail) GetRetryInfo() []*errdetails.RetryInfo

func (*ValidationErrorDetail) ProtoMessage added in v0.3.3

func (*ValidationErrorDetail) ProtoMessage()

func (*ValidationErrorDetail) ProtoReflect added in v0.3.3

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

func (*ValidationErrorDetail) Reset added in v0.3.3

func (x *ValidationErrorDetail) Reset()

func (*ValidationErrorDetail) String added in v0.3.3

func (x *ValidationErrorDetail) String() string

type ValidationExpr added in v0.7.0

type ValidationExpr struct {

	// name is a unique name for the validation.
	// If set, the validation error type will be <message-name><name>Error.
	// If omitted, the validation error type will be ValidationError.
	Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"`
	// error defines the actual validation rules and an error to returned if the validation fails.
	Error *ValidationError `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

Validation represents a validation rule against variables defined within the current scope.

func (*ValidationExpr) Descriptor deprecated added in v0.7.0

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

Deprecated: Use ValidationExpr.ProtoReflect.Descriptor instead.

func (*ValidationExpr) GetError added in v0.7.0

func (x *ValidationExpr) GetError() *ValidationError

func (*ValidationExpr) GetName added in v0.7.0

func (x *ValidationExpr) GetName() string

func (*ValidationExpr) ProtoMessage added in v0.7.0

func (*ValidationExpr) ProtoMessage()

func (*ValidationExpr) ProtoReflect added in v0.7.0

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

func (*ValidationExpr) Reset added in v0.7.0

func (x *ValidationExpr) Reset()

func (*ValidationExpr) String added in v0.7.0

func (x *ValidationExpr) String() string

type VariableDefinition added in v0.6.0

type VariableDefinition struct {

	// name is a variable name.
	// This name can be referenced in all CELs defined after itself in the same message.
	// It can also be referenced in `grpc.federation.field` option.
	Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"`
	// if specify the condition for evaluating expr.
	// this value evaluated by CEL and it must return a boolean value.
	// If the result of evaluation is `false`, the value assigned to name is the default value of the result of evaluation of `expr`.
	If *string `protobuf:"bytes,2,opt,name=if,proto3,oneof" json:"if,omitempty"`
	// autobind if the result value of `expr` is a message type,
	// the value of a field with the same name and type as the field name of its own message is automatically assigned to the value of the field in the message.
	// If multiple autobinds are used at the same message,
	// you must explicitly use the `grpc.federation.field` option to do the binding yourself, since duplicate field names cannot be correctly determined as one.
	Autobind *bool `protobuf:"varint,3,opt,name=autobind,proto3,oneof" json:"autobind,omitempty"`
	// expr specify the value to be assigned to name.
	//
	// Types that are assignable to Expr:
	//
	//	*VariableDefinition_By
	//	*VariableDefinition_Map
	//	*VariableDefinition_Message
	//	*VariableDefinition_Call
	//	*VariableDefinition_Validation
	Expr isVariableDefinition_Expr `protobuf_oneof:"expr"`
	// contains filtered or unexported fields
}

VariableDefinition represents variable definition.

func (*VariableDefinition) Descriptor deprecated added in v0.6.0

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

Deprecated: Use VariableDefinition.ProtoReflect.Descriptor instead.

func (*VariableDefinition) GetAutobind added in v0.6.0

func (x *VariableDefinition) GetAutobind() bool

func (*VariableDefinition) GetBy added in v0.6.0

func (x *VariableDefinition) GetBy() string

func (*VariableDefinition) GetCall added in v0.6.0

func (x *VariableDefinition) GetCall() *CallExpr

func (*VariableDefinition) GetExpr added in v0.6.0

func (m *VariableDefinition) GetExpr() isVariableDefinition_Expr

func (*VariableDefinition) GetIf added in v0.6.0

func (x *VariableDefinition) GetIf() string

func (*VariableDefinition) GetMap added in v0.6.0

func (x *VariableDefinition) GetMap() *MapExpr

func (*VariableDefinition) GetMessage added in v0.6.0

func (x *VariableDefinition) GetMessage() *MessageExpr

func (*VariableDefinition) GetName added in v0.6.0

func (x *VariableDefinition) GetName() string

func (*VariableDefinition) GetValidation added in v0.6.0

func (x *VariableDefinition) GetValidation() *ValidationExpr

func (*VariableDefinition) ProtoMessage added in v0.6.0

func (*VariableDefinition) ProtoMessage()

func (*VariableDefinition) ProtoReflect added in v0.6.0

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

func (*VariableDefinition) Reset added in v0.6.0

func (x *VariableDefinition) Reset()

func (*VariableDefinition) String added in v0.6.0

func (x *VariableDefinition) String() string

type VariableDefinition_By added in v0.6.0

type VariableDefinition_By struct {
	// `by` evaluates with CEL.
	By string `protobuf:"bytes,11,opt,name=by,proto3,oneof"`
}

type VariableDefinition_Call added in v0.6.0

type VariableDefinition_Call struct {
	// call specifies how to call gRPC method.
	Call *CallExpr `protobuf:"bytes,14,opt,name=call,proto3,oneof"`
}

type VariableDefinition_Map added in v0.6.0

type VariableDefinition_Map struct {
	// map apply map operation for the specified repeated type.
	Map *MapExpr `protobuf:"bytes,12,opt,name=map,proto3,oneof"`
}

type VariableDefinition_Message added in v0.6.0

type VariableDefinition_Message struct {
	// message gets with message arguments.
	Message *MessageExpr `protobuf:"bytes,13,opt,name=message,proto3,oneof"`
}

type VariableDefinition_Validation added in v0.6.0

type VariableDefinition_Validation struct {
	// validation defines the validation rule and error.
	Validation *ValidationExpr `protobuf:"bytes,15,opt,name=validation,proto3,oneof"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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