Documentation
¶
Index ¶
- Constants
- Variables
- func BadRequest(ctx context.Context, value localValue, violations []*BadRequestFieldViolation) *errdetails.BadRequest
- func CustomMessage(ctx context.Context, param *CustomMessageParam) protoadapt.MessageV1
- func DecodeCELPluginRequest(v []byte) (*celplugin.CELPluginRequest, error)
- func EncodeCELPluginResponse(v *celplugin.CELPluginResponse) ([]byte, error)
- func EncodeCELPluginVersion(v CELPluginVersionSchema) ([]byte, error)
- func EnumAccessorOptions(enumName string, nameToValue map[string]int32, valueToName map[int32]string) []cel.EnvOption
- func EvalCEL(ctx context.Context, req *EvalCELRequest) (any, error)
- func EvalDef[T any, U localValue](ctx context.Context, value U, def Def[T, U]) error
- func EvalDefMap[T any, U any, V localValue](ctx context.Context, value V, def DefMap[T, U, V]) error
- func GoWithRecover(eg *errgroup.Group, fn func() (any, error))
- func If[T localValue](ctx context.Context, param *IfParam[T]) error
- func Int32ToUint32(v int32) (uint32, error)
- func Int32ToUint64(v int32) (uint64, error)
- func Int64ToInt32(v int64) (int32, error)
- func Int64ToUint32(v int64) (uint32, error)
- func Int64ToUint64(v int64) (uint64, error)
- func LocalizedMessage(ctx context.Context, param *LocalizedMessageParam) *errdetails.LocalizedMessage
- func Logger(ctx context.Context) *slog.Logger
- func NewCELFieldType(typ *celtypes.Type, fieldName string) *celtypes.FieldType
- func NewDefaultEnvOptions(celHelper *CELTypeHelper) []cel.EnvOption
- func NewOneofSelectorFieldType(typ *celtypes.Type, fieldName string, oneofTypes []reflect.Type, ...) *celtypes.FieldType
- func OutputErrorLog(ctx context.Context, err error)
- func PreconditionFailure(ctx context.Context, value localValue, ...) *errdetails.PreconditionFailure
- func RecordErrorToSpan(ctx context.Context, err error)
- func SetCELValue[T any](ctx context.Context, param *SetCELValueParam[T]) error
- func SetGRPCError(ctx context.Context, value localValue, err error)
- func SetLogger(ctx context.Context, logger *slog.Logger)
- func ToBool(v *celplugin.CELPluginValue) (bool, error)
- func ToBoolCELPluginResponse(v bool) (*celplugin.CELPluginResponse, error)
- func ToBytes(v *celplugin.CELPluginValue) ([]byte, error)
- func ToBytesCELPluginResponse(v []byte) (*celplugin.CELPluginResponse, error)
- func ToEnum[T ~int32](v *celplugin.CELPluginValue) (T, error)
- func ToErrorCELPluginResponse(v error) *celplugin.CELPluginResponse
- func ToFloat32(v *celplugin.CELPluginValue) (float32, error)
- func ToFloat32CELPluginResponse(v float32) (*celplugin.CELPluginResponse, error)
- func ToFloat64(v *celplugin.CELPluginValue) (float64, error)
- func ToFloat64CELPluginResponse(v float64) (*celplugin.CELPluginResponse, error)
- func ToInt32(v *celplugin.CELPluginValue) (int32, error)
- func ToInt32CELPluginResponse(v int32) (*celplugin.CELPluginResponse, error)
- func ToInt64(v *celplugin.CELPluginValue) (int64, error)
- func ToInt64CELPluginResponse(v int64) (*celplugin.CELPluginResponse, error)
- func ToLogAttrKey(v any) string
- func ToMessage[T proto.Message](v *celplugin.CELPluginValue) (T, error)
- func ToMessageCELPluginResponse[T proto.Message](v T) (*celplugin.CELPluginResponse, error)
- func ToString(v *celplugin.CELPluginValue) (string, error)
- func ToStringCELPluginResponse(v string) (*celplugin.CELPluginResponse, error)
- func ToUint32(v *celplugin.CELPluginValue) (uint32, error)
- func ToUint32CELPluginResponse(v uint32) (*celplugin.CELPluginResponse, error)
- func ToUint64(v *celplugin.CELPluginValue) (uint64, error)
- func ToUint64CELPluginResponse(v uint64) (*celplugin.CELPluginResponse, error)
- func Uint32ToInt32(v uint32) (int32, error)
- func Uint64ToInt32(v uint64) (int32, error)
- func Uint64ToInt64(v uint64) (int64, error)
- func Uint64ToUint32(v uint64) (uint32, error)
- func WithCELCacheMap(ctx context.Context, celCacheMap *CELCacheMap) context.Context
- func WithLogger(ctx context.Context, logger *slog.Logger) context.Context
- func WithRetry[T any](ctx context.Context, param *RetryParam[T]) (*T, error)
- func WithTimeout[T any](ctx context.Context, method string, timeout time.Duration, ...) (*T, error)
- type Argument
- func (*Argument) Descriptor() ([]byte, []int)deprecated
- func (x *Argument) GetBool() bool
- func (x *Argument) GetBools() []bool
- func (x *Argument) GetBy() string
- func (x *Argument) GetByteString() []byte
- func (x *Argument) GetByteStrings() [][]byte
- func (x *Argument) GetDouble() float64
- func (x *Argument) GetDoubles() []float64
- func (x *Argument) GetEnum() string
- func (x *Argument) GetEnums() []string
- func (x *Argument) GetEnv() string
- func (x *Argument) GetEnvs() []string
- func (x *Argument) GetFixed32() uint32
- func (x *Argument) GetFixed32S() []uint32
- func (x *Argument) GetFixed64() uint64
- func (x *Argument) GetFixed64S() []uint64
- func (x *Argument) GetFloat() float32
- func (x *Argument) GetFloats() []float32
- func (x *Argument) GetInline() string
- func (x *Argument) GetInt32() int32
- func (x *Argument) GetInt32S() []int32
- func (x *Argument) GetInt64() int64
- func (x *Argument) GetInt64S() []int64
- func (x *Argument) GetMessage() *MessageValue
- func (x *Argument) GetMessages() []*MessageValue
- func (x *Argument) GetName() string
- func (x *Argument) GetSfixed32() int32
- func (x *Argument) GetSfixed32S() []int32
- func (x *Argument) GetSfixed64() int64
- func (x *Argument) GetSfixed64S() []int64
- func (x *Argument) GetSint32() int32
- func (x *Argument) GetSint32S() []int32
- func (x *Argument) GetSint64() int64
- func (x *Argument) GetSint64S() []int64
- func (x *Argument) GetString_() string
- func (x *Argument) GetStrings() []string
- func (x *Argument) GetUint32() uint32
- func (x *Argument) GetUint32S() []uint32
- func (x *Argument) GetUint64() uint64
- func (x *Argument) GetUint64S() []uint64
- func (*Argument) ProtoMessage()
- func (x *Argument) ProtoReflect() protoreflect.Message
- func (x *Argument) Reset()
- func (x *Argument) String() string
- type BackOff
- type BadRequestFieldViolation
- type CELCache
- type CELCacheMap
- type CELEnv
- type CELEnvOption
- type CELFieldType
- type CELPluginRequest
- type CELPluginResponse
- type CELPluginVersionSchema
- type CELTypeDeclare
- type CELTypeHelper
- func (h *CELTypeHelper) CELRegistry() *celtypes.Registry
- func (h *CELTypeHelper) EnumValue(enumName string) ref.Val
- func (h *CELTypeHelper) FindIdent(identName string) (ref.Val, bool)
- func (h *CELTypeHelper) FindStructFieldNames(structType string) ([]string, bool)
- func (h *CELTypeHelper) FindStructFieldType(structType, fieldName string) (*celtypes.FieldType, bool)
- func (h *CELTypeHelper) FindStructType(structType string) (*celtypes.Type, bool)
- func (h *CELTypeHelper) NewValue(structType string, fields map[string]ref.Val) ref.Val
- func (h *CELTypeHelper) RegisterType(types ...ref.Type) error
- func (h *CELTypeHelper) TypeAdapter() celtypes.Adapter
- func (h *CELTypeHelper) TypeProvider() celtypes.Provider
- type CELTypeHelperFieldMap
- type CallExpr
- func (*CallExpr) Descriptor() ([]byte, []int)deprecated
- func (x *CallExpr) GetError() []*GRPCError
- func (x *CallExpr) GetMethod() string
- func (x *CallExpr) GetRequest() []*MethodRequest
- func (x *CallExpr) GetRetry() *RetryPolicy
- func (x *CallExpr) GetTimeout() string
- func (*CallExpr) ProtoMessage()
- func (x *CallExpr) ProtoReflect() protoreflect.Message
- func (x *CallExpr) Reset()
- func (x *CallExpr) String() string
- type Code
- type CustomMessageParam
- type Def
- type DefMap
- type EnumRule
- type EnumValueRule
- func (*EnumValueRule) Descriptor() ([]byte, []int)deprecated
- func (x *EnumValueRule) GetAlias() []string
- func (x *EnumValueRule) GetDefault() bool
- func (*EnumValueRule) ProtoMessage()
- func (x *EnumValueRule) ProtoReflect() protoreflect.Message
- func (x *EnumValueRule) Reset()
- func (x *EnumValueRule) String() string
- type ErrorGroup
- type ErrorHandler
- type EvalCELRequest
- type ExponentialBackOffConfig
- type FieldOneof
- func (*FieldOneof) Descriptor() ([]byte, []int)deprecated
- func (x *FieldOneof) GetBy() string
- func (m *FieldOneof) GetCond() isFieldOneof_Cond
- func (x *FieldOneof) GetDef() []*VariableDefinition
- func (x *FieldOneof) GetDefault() bool
- func (x *FieldOneof) GetIf() string
- func (*FieldOneof) ProtoMessage()
- func (x *FieldOneof) ProtoReflect() protoreflect.Message
- func (x *FieldOneof) Reset()
- func (x *FieldOneof) String() string
- type FieldOneof_Default
- type FieldOneof_If
- type FieldRule
- func (*FieldRule) Descriptor() ([]byte, []int)deprecated
- func (x *FieldRule) GetAlias() string
- func (x *FieldRule) GetBool() bool
- func (x *FieldRule) GetBools() []bool
- func (x *FieldRule) GetBy() string
- func (x *FieldRule) GetByteString() []byte
- func (x *FieldRule) GetByteStrings() [][]byte
- func (x *FieldRule) GetCustomResolver() bool
- func (x *FieldRule) GetDouble() float64
- func (x *FieldRule) GetDoubles() []float64
- func (x *FieldRule) GetEnum() string
- func (x *FieldRule) GetEnums() []string
- func (x *FieldRule) GetEnv() string
- func (x *FieldRule) GetEnvs() []string
- func (x *FieldRule) GetFixed32() uint32
- func (x *FieldRule) GetFixed32S() []uint32
- func (x *FieldRule) GetFixed64() uint64
- func (x *FieldRule) GetFixed64S() []uint64
- func (x *FieldRule) GetFloat() float32
- func (x *FieldRule) GetFloats() []float32
- func (x *FieldRule) GetInt32() int32
- func (x *FieldRule) GetInt32S() []int32
- func (x *FieldRule) GetInt64() int64
- func (x *FieldRule) GetInt64S() []int64
- func (x *FieldRule) GetMessage() *MessageValue
- func (x *FieldRule) GetMessages() []*MessageValue
- func (x *FieldRule) GetOneof() *FieldOneof
- func (x *FieldRule) GetSfixed32() int32
- func (x *FieldRule) GetSfixed32S() []int32
- func (x *FieldRule) GetSfixed64() int64
- func (x *FieldRule) GetSfixed64S() []int64
- func (x *FieldRule) GetSint32() int32
- func (x *FieldRule) GetSint32S() []int32
- func (x *FieldRule) GetSint64() int64
- func (x *FieldRule) GetSint64S() []int64
- func (x *FieldRule) GetString_() string
- func (x *FieldRule) GetStrings() []string
- func (x *FieldRule) GetUint32() uint32
- func (x *FieldRule) GetUint32S() []uint32
- func (x *FieldRule) GetUint64() uint64
- func (x *FieldRule) GetUint64S() []uint64
- func (*FieldRule) ProtoMessage()
- func (x *FieldRule) ProtoReflect() protoreflect.Message
- func (x *FieldRule) Reset()
- func (x *FieldRule) String() string
- type GRPCError
- func (*GRPCError) Descriptor() ([]byte, []int)deprecated
- func (x *GRPCError) GetCode() code.Code
- func (x *GRPCError) GetDef() []*VariableDefinition
- func (x *GRPCError) GetDetails() []*GRPCErrorDetail
- func (x *GRPCError) GetIf() string
- func (x *GRPCError) GetIgnore() bool
- func (x *GRPCError) GetIgnoreAndResponse() string
- func (x *GRPCError) GetMessage() string
- func (*GRPCError) ProtoMessage()
- func (x *GRPCError) ProtoReflect() protoreflect.Message
- func (x *GRPCError) Reset()
- func (x *GRPCError) String() string
- type GRPCErrorDetail
- func (*GRPCErrorDetail) Descriptor() ([]byte, []int)deprecated
- func (x *GRPCErrorDetail) GetBadRequest() []*errdetails.BadRequest
- func (x *GRPCErrorDetail) GetDebugInfo() []*errdetails.DebugInfo
- func (x *GRPCErrorDetail) GetDef() []*VariableDefinition
- func (x *GRPCErrorDetail) GetErrorInfo() []*errdetails.ErrorInfo
- func (x *GRPCErrorDetail) GetHelp() []*errdetails.Help
- func (x *GRPCErrorDetail) GetIf() string
- func (x *GRPCErrorDetail) GetLocalizedMessage() []*errdetails.LocalizedMessage
- func (x *GRPCErrorDetail) GetMessage() []*MessageExpr
- func (x *GRPCErrorDetail) GetPreconditionFailure() []*errdetails.PreconditionFailure
- func (x *GRPCErrorDetail) GetQuotaFailure() []*errdetails.QuotaFailure
- func (x *GRPCErrorDetail) GetRequestInfo() []*errdetails.RequestInfo
- func (x *GRPCErrorDetail) GetResourceInfo() []*errdetails.ResourceInfo
- func (x *GRPCErrorDetail) GetRetryInfo() []*errdetails.RetryInfo
- func (*GRPCErrorDetail) ProtoMessage()
- func (x *GRPCErrorDetail) ProtoReflect() protoreflect.Message
- func (x *GRPCErrorDetail) Reset()
- func (x *GRPCErrorDetail) String() string
- type IfParam
- type Iterator
- type LocalValue
- type LocalizedMessageParam
- type MapExpr
- func (*MapExpr) Descriptor() ([]byte, []int)deprecated
- func (x *MapExpr) GetBy() string
- func (m *MapExpr) GetExpr() isMapExpr_Expr
- func (x *MapExpr) GetIterator() *Iterator
- func (x *MapExpr) GetMessage() *MessageExpr
- func (*MapExpr) ProtoMessage()
- func (x *MapExpr) ProtoReflect() protoreflect.Message
- func (x *MapExpr) Reset()
- func (x *MapExpr) String() string
- type MapExpr_By
- type MapExpr_Message
- type MapIteratorValue
- type MessageExpr
- func (*MessageExpr) Descriptor() ([]byte, []int)deprecated
- func (x *MessageExpr) GetArgs() []*Argument
- func (x *MessageExpr) GetName() string
- func (*MessageExpr) ProtoMessage()
- func (x *MessageExpr) ProtoReflect() protoreflect.Message
- func (x *MessageExpr) Reset()
- func (x *MessageExpr) String() string
- type MessageFieldValue
- func (*MessageFieldValue) Descriptor() ([]byte, []int)deprecated
- func (x *MessageFieldValue) GetBool() bool
- func (x *MessageFieldValue) GetBools() []bool
- func (x *MessageFieldValue) GetByteString() []byte
- func (x *MessageFieldValue) GetByteStrings() [][]byte
- func (x *MessageFieldValue) GetDouble() float64
- func (x *MessageFieldValue) GetDoubles() []float64
- func (x *MessageFieldValue) GetEnum() string
- func (x *MessageFieldValue) GetEnums() []string
- func (x *MessageFieldValue) GetEnv() string
- func (x *MessageFieldValue) GetEnvs() []string
- func (x *MessageFieldValue) GetField() string
- func (x *MessageFieldValue) GetFixed32() uint32
- func (x *MessageFieldValue) GetFixed32S() []uint32
- func (x *MessageFieldValue) GetFixed64() uint64
- func (x *MessageFieldValue) GetFixed64S() []uint64
- func (x *MessageFieldValue) GetFloat() float32
- func (x *MessageFieldValue) GetFloats() []float32
- func (x *MessageFieldValue) GetInt32() int32
- func (x *MessageFieldValue) GetInt32S() []int32
- func (x *MessageFieldValue) GetInt64() int64
- func (x *MessageFieldValue) GetInt64S() []int64
- func (x *MessageFieldValue) GetMessage() *MessageValue
- func (x *MessageFieldValue) GetMessages() []*MessageValue
- func (x *MessageFieldValue) GetSfixed32() int32
- func (x *MessageFieldValue) GetSfixed32S() []int32
- func (x *MessageFieldValue) GetSfixed64() int64
- func (x *MessageFieldValue) GetSfixed64S() []int64
- func (x *MessageFieldValue) GetSint32() int32
- func (x *MessageFieldValue) GetSint32S() []int32
- func (x *MessageFieldValue) GetSint64() int64
- func (x *MessageFieldValue) GetSint64S() []int64
- func (x *MessageFieldValue) GetString_() string
- func (x *MessageFieldValue) GetStrings() []string
- func (x *MessageFieldValue) GetUint32() uint32
- func (x *MessageFieldValue) GetUint32S() []uint32
- func (x *MessageFieldValue) GetUint64() uint64
- func (x *MessageFieldValue) GetUint64S() []uint64
- func (*MessageFieldValue) ProtoMessage()
- func (x *MessageFieldValue) ProtoReflect() protoreflect.Message
- func (x *MessageFieldValue) Reset()
- func (x *MessageFieldValue) String() string
- type MessageRule
- func (*MessageRule) Descriptor() ([]byte, []int)deprecated
- func (x *MessageRule) GetAlias() []string
- func (x *MessageRule) GetCustomResolver() bool
- func (x *MessageRule) GetDef() []*VariableDefinition
- func (*MessageRule) ProtoMessage()
- func (x *MessageRule) ProtoReflect() protoreflect.Message
- func (x *MessageRule) Reset()
- func (x *MessageRule) String() string
- type MessageValue
- func (*MessageValue) Descriptor() ([]byte, []int)deprecated
- func (x *MessageValue) GetFields() []*MessageFieldValue
- func (x *MessageValue) GetName() string
- func (*MessageValue) ProtoMessage()
- func (x *MessageValue) ProtoReflect() protoreflect.Message
- func (x *MessageValue) Reset()
- func (x *MessageValue) String() string
- type MethodRequest
- func (*MethodRequest) Descriptor() ([]byte, []int)deprecated
- func (x *MethodRequest) GetBool() bool
- func (x *MethodRequest) GetBools() []bool
- func (x *MethodRequest) GetBy() string
- func (x *MethodRequest) GetByteString() []byte
- func (x *MethodRequest) GetByteStrings() [][]byte
- func (x *MethodRequest) GetDouble() float64
- func (x *MethodRequest) GetDoubles() []float64
- func (x *MethodRequest) GetEnum() string
- func (x *MethodRequest) GetEnums() []string
- func (x *MethodRequest) GetEnv() string
- func (x *MethodRequest) GetEnvs() []string
- func (x *MethodRequest) GetField() string
- func (x *MethodRequest) GetFixed32() uint32
- func (x *MethodRequest) GetFixed32S() []uint32
- func (x *MethodRequest) GetFixed64() uint64
- func (x *MethodRequest) GetFixed64S() []uint64
- func (x *MethodRequest) GetFloat() float32
- func (x *MethodRequest) GetFloats() []float32
- func (x *MethodRequest) GetIf() string
- func (x *MethodRequest) GetInt32() int32
- func (x *MethodRequest) GetInt32S() []int32
- func (x *MethodRequest) GetInt64() int64
- func (x *MethodRequest) GetInt64S() []int64
- func (x *MethodRequest) GetMessage() *MessageValue
- func (x *MethodRequest) GetMessages() []*MessageValue
- func (x *MethodRequest) GetSfixed32() int32
- func (x *MethodRequest) GetSfixed32S() []int32
- func (x *MethodRequest) GetSfixed64() int64
- func (x *MethodRequest) GetSfixed64S() []int64
- func (x *MethodRequest) GetSint32() int32
- func (x *MethodRequest) GetSint32S() []int32
- func (x *MethodRequest) GetSint64() int64
- func (x *MethodRequest) GetSint64S() []int64
- func (x *MethodRequest) GetString_() string
- func (x *MethodRequest) GetStrings() []string
- func (x *MethodRequest) GetUint32() uint32
- func (x *MethodRequest) GetUint32S() []uint32
- func (x *MethodRequest) GetUint64() uint64
- func (x *MethodRequest) GetUint64S() []uint64
- func (*MethodRequest) ProtoMessage()
- func (x *MethodRequest) ProtoReflect() protoreflect.Message
- func (x *MethodRequest) Reset()
- func (x *MethodRequest) String() string
- type MethodResponse
- func (*MethodResponse) Descriptor() ([]byte, []int)deprecated
- func (x *MethodResponse) GetAutobind() bool
- func (x *MethodResponse) GetField() string
- func (x *MethodResponse) GetName() string
- func (*MethodResponse) ProtoMessage()
- func (x *MethodResponse) ProtoReflect() protoreflect.Message
- func (x *MethodResponse) Reset()
- func (x *MethodResponse) String() string
- type MethodRule
- type OneofRule
- type PreconditionFailureViolation
- type ProtoMessage
- type RWMutex
- type RecoveredError
- type RetryParam
- type RetryPolicy
- func (*RetryPolicy) Descriptor() ([]byte, []int)deprecated
- func (x *RetryPolicy) GetConstant() *RetryPolicyConstant
- func (x *RetryPolicy) GetExponential() *RetryPolicyExponential
- func (x *RetryPolicy) GetIf() string
- func (m *RetryPolicy) GetPolicy() isRetryPolicy_Policy
- func (*RetryPolicy) ProtoMessage()
- func (x *RetryPolicy) ProtoReflect() protoreflect.Message
- func (x *RetryPolicy) Reset()
- func (x *RetryPolicy) String() string
- type RetryPolicyConstant
- func (*RetryPolicyConstant) Descriptor() ([]byte, []int)deprecated
- func (x *RetryPolicyConstant) GetInterval() string
- func (x *RetryPolicyConstant) GetMaxRetries() uint64
- func (*RetryPolicyConstant) ProtoMessage()
- func (x *RetryPolicyConstant) ProtoReflect() protoreflect.Message
- func (x *RetryPolicyConstant) Reset()
- func (x *RetryPolicyConstant) String() string
- type RetryPolicyExponential
- func (*RetryPolicyExponential) Descriptor() ([]byte, []int)deprecated
- func (x *RetryPolicyExponential) GetInitialInterval() string
- func (x *RetryPolicyExponential) GetMaxInterval() string
- func (x *RetryPolicyExponential) GetMaxRetries() uint64
- func (x *RetryPolicyExponential) GetMultiplier() float64
- func (x *RetryPolicyExponential) GetRandomizationFactor() float64
- func (*RetryPolicyExponential) ProtoMessage()
- func (x *RetryPolicyExponential) ProtoReflect() protoreflect.Message
- func (x *RetryPolicyExponential) Reset()
- func (x *RetryPolicyExponential) String() string
- type RetryPolicy_Constant
- type RetryPolicy_Exponential
- type ServiceDependency
- func (*ServiceDependency) Descriptor() ([]byte, []int)deprecated
- func (x *ServiceDependency) GetName() string
- func (x *ServiceDependency) GetService() string
- func (*ServiceDependency) ProtoMessage()
- func (x *ServiceDependency) ProtoReflect() protoreflect.Message
- func (x *ServiceDependency) Reset()
- func (x *ServiceDependency) String() string
- type ServiceRule
- type SetCELValueParam
- type Status
- type ValidationExpr
- func (*ValidationExpr) Descriptor() ([]byte, []int)deprecated
- func (x *ValidationExpr) GetError() *GRPCError
- func (x *ValidationExpr) GetName() string
- func (*ValidationExpr) ProtoMessage()
- func (x *ValidationExpr) ProtoReflect() protoreflect.Message
- func (x *ValidationExpr) Reset()
- func (x *ValidationExpr) String() string
- type VariableDefinition
- func (*VariableDefinition) Descriptor() ([]byte, []int)deprecated
- func (x *VariableDefinition) GetAutobind() bool
- func (x *VariableDefinition) GetBy() string
- func (x *VariableDefinition) GetCall() *CallExpr
- func (m *VariableDefinition) GetExpr() isVariableDefinition_Expr
- func (x *VariableDefinition) GetIf() string
- func (x *VariableDefinition) GetMap() *MapExpr
- func (x *VariableDefinition) GetMessage() *MessageExpr
- func (x *VariableDefinition) GetName() string
- func (x *VariableDefinition) GetValidation() *ValidationExpr
- func (*VariableDefinition) ProtoMessage()
- func (x *VariableDefinition) ProtoReflect() protoreflect.Message
- func (x *VariableDefinition) Reset()
- func (x *VariableDefinition) String() string
- type VariableDefinition_By
- type VariableDefinition_Call
- type VariableDefinition_Map
- type VariableDefinition_Message
- type VariableDefinition_Validation
Constants ¶
const ( PrivatePackageName = "grpc.federation.private" MessageArgumentVariableName = "__ARG__" )
const CELPluginProtocolVersion = cel.PluginProtocolVersion
Variables ¶
var ( Getenv = os.Getenv GRPCErrorf = status.Errorf NewGRPCStatus = status.New ErrorGroupWithContext = errgroup.WithContext NewCELEnv = cel.NewCustomEnv CELLib = cel.Lib CELDoubleType = types.DoubleType CELIntType = types.IntType CELUintType = types.UintType CELBoolType = types.BoolType CELStringType = types.StringType CELBytesType = types.BytesType CELObjectType = cel.ObjectType CELListType = cel.ListType NewCELListType = types.NewListType NewCELObjectType = types.NewObjectType )
var ( ErrClientConfig = errors.New("grpc-federation: Client field is not set. this field must be set") ErrResolverConfig = errors.New("grpc-federation: Resolver field is not set. this field must be set") ErrCELPluginConfig = errors.New("grpc-federation: CELPlugin field is not set. this field must be set") ErrCELCacheMap = errors.New("grpc-federation: CELCacheMap is not found") ErrCELCacheIndex = errors.New("grpc-federation: CELCacheIndex is not set") ErrOverflowTypeConversion = errors.New("grpc-federation: overflow type conversion was detected") )
var (
// optional grpc.federation.EnumRule enum = 1187;
E_Enum = &file_grpc_federation_federation_proto_extTypes[4]
)
Extension fields to descriptorpb.EnumOptions.
var (
// optional grpc.federation.EnumValueRule enum_value = 1187;
E_EnumValue = &file_grpc_federation_federation_proto_extTypes[5]
)
Extension fields to descriptorpb.EnumValueOptions.
var (
// optional grpc.federation.FieldRule field = 1187;
E_Field = &file_grpc_federation_federation_proto_extTypes[3]
)
Extension fields to descriptorpb.FieldOptions.
var (
// optional grpc.federation.MessageRule message = 1187;
E_Message = &file_grpc_federation_federation_proto_extTypes[2]
)
Extension fields to descriptorpb.MessageOptions.
var (
// optional grpc.federation.MethodRule method = 1187;
E_Method = &file_grpc_federation_federation_proto_extTypes[1]
)
Extension fields to descriptorpb.MethodOptions.
var (
// optional grpc.federation.OneofRule oneof = 1187;
E_Oneof = &file_grpc_federation_federation_proto_extTypes[6]
)
Extension fields to descriptorpb.OneofOptions.
var (
// optional grpc.federation.ServiceRule service = 1187;
E_Service = &file_grpc_federation_federation_proto_extTypes[0]
)
Extension fields to descriptorpb.ServiceOptions.
var File_grpc_federation_federation_proto protoreflect.FileDescriptor
var Version string = "dev"
Functions ¶
func BadRequest ¶ added in v0.10.0
func BadRequest(ctx context.Context, value localValue, violations []*BadRequestFieldViolation) *errdetails.BadRequest
func CustomMessage ¶ added in v0.10.0
func CustomMessage(ctx context.Context, param *CustomMessageParam) protoadapt.MessageV1
func DecodeCELPluginRequest ¶ added in v0.13.8
func DecodeCELPluginRequest(v []byte) (*celplugin.CELPluginRequest, error)
func EncodeCELPluginResponse ¶ added in v0.13.8
func EncodeCELPluginResponse(v *celplugin.CELPluginResponse) ([]byte, error)
func EncodeCELPluginVersion ¶ added in v0.15.0
func EncodeCELPluginVersion(v CELPluginVersionSchema) ([]byte, error)
func EnumAccessorOptions ¶ added in v0.13.0
func EvalDefMap ¶ added in v0.10.0
func Int32ToUint32 ¶ added in v0.17.0
func Int32ToUint64 ¶ added in v0.17.0
func Int64ToInt32 ¶ added in v0.17.0
func Int64ToUint32 ¶ added in v0.17.0
func Int64ToUint64 ¶ added in v0.17.0
func LocalizedMessage ¶ added in v0.10.0
func LocalizedMessage(ctx context.Context, param *LocalizedMessageParam) *errdetails.LocalizedMessage
func NewCELFieldType ¶ added in v0.4.0
func NewDefaultEnvOptions ¶ added in v0.10.0
func NewDefaultEnvOptions(celHelper *CELTypeHelper) []cel.EnvOption
func NewOneofSelectorFieldType ¶ added in v0.4.0
func OutputErrorLog ¶ added in v0.4.0
func PreconditionFailure ¶ added in v0.10.0
func PreconditionFailure(ctx context.Context, value localValue, violations []*PreconditionFailureViolation) *errdetails.PreconditionFailure
func RecordErrorToSpan ¶ added in v0.5.0
func SetCELValue ¶ added in v0.10.0
func SetCELValue[T any](ctx context.Context, param *SetCELValueParam[T]) error
func SetGRPCError ¶ added in v0.13.0
func SetLogger ¶ added in v0.16.0
SetLogger set logger instance for current context. This is intended to be called from a custom resolver and is currently propagated to the current context and its children.
func ToBoolCELPluginResponse ¶ added in v0.13.8
func ToBoolCELPluginResponse(v bool) (*celplugin.CELPluginResponse, error)
func ToBytesCELPluginResponse ¶ added in v0.13.8
func ToBytesCELPluginResponse(v []byte) (*celplugin.CELPluginResponse, error)
func ToErrorCELPluginResponse ¶ added in v0.13.8
func ToErrorCELPluginResponse(v error) *celplugin.CELPluginResponse
func ToFloat32CELPluginResponse ¶ added in v0.13.8
func ToFloat32CELPluginResponse(v float32) (*celplugin.CELPluginResponse, error)
func ToFloat64CELPluginResponse ¶ added in v0.13.8
func ToFloat64CELPluginResponse(v float64) (*celplugin.CELPluginResponse, error)
func ToInt32CELPluginResponse ¶ added in v0.13.8
func ToInt32CELPluginResponse(v int32) (*celplugin.CELPluginResponse, error)
func ToInt64CELPluginResponse ¶ added in v0.13.8
func ToInt64CELPluginResponse(v int64) (*celplugin.CELPluginResponse, error)
func ToLogAttrKey ¶ added in v0.10.0
func ToMessage ¶ added in v0.10.0
func ToMessage[T proto.Message](v *celplugin.CELPluginValue) (T, error)
func ToMessageCELPluginResponse ¶ added in v0.13.8
func ToMessageCELPluginResponse[T proto.Message](v T) (*celplugin.CELPluginResponse, error)
func ToStringCELPluginResponse ¶ added in v0.13.8
func ToStringCELPluginResponse(v string) (*celplugin.CELPluginResponse, error)
func ToUint32CELPluginResponse ¶ added in v0.13.8
func ToUint32CELPluginResponse(v uint32) (*celplugin.CELPluginResponse, error)
func ToUint64CELPluginResponse ¶ added in v0.13.8
func ToUint64CELPluginResponse(v uint64) (*celplugin.CELPluginResponse, error)
func Uint32ToInt32 ¶ added in v0.17.0
func Uint64ToInt32 ¶ added in v0.17.0
func Uint64ToInt64 ¶ added in v0.17.0
func Uint64ToUint32 ¶ added in v0.17.0
func WithCELCacheMap ¶ added in v0.13.8
func WithCELCacheMap(ctx context.Context, celCacheMap *CELCacheMap) context.Context
func WithLogger ¶ added in v0.4.0
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) GetByteString ¶
func (*Argument) GetByteStrings ¶
func (*Argument) GetDoubles ¶
func (*Argument) GetFixed32 ¶
func (*Argument) GetFixed32S ¶
func (*Argument) GetFixed64 ¶
func (*Argument) GetFixed64S ¶
func (*Argument) GetMessage ¶
func (x *Argument) GetMessage() *MessageValue
func (*Argument) GetMessages ¶
func (x *Argument) GetMessages() []*MessageValue
func (*Argument) GetSfixed32 ¶
func (*Argument) GetSfixed32S ¶
func (*Argument) GetSfixed64 ¶
func (*Argument) GetSfixed64S ¶
func (*Argument) GetSint32S ¶
func (*Argument) GetSint64S ¶
func (*Argument) GetString_ ¶
func (*Argument) GetStrings ¶
func (*Argument) GetUint32S ¶
func (*Argument) GetUint64S ¶
func (*Argument) ProtoMessage ¶
func (*Argument) ProtoMessage()
func (*Argument) ProtoReflect ¶
func (x *Argument) ProtoReflect() protoreflect.Message
type BackOff ¶ added in v0.10.0
type BackOff struct {
backoff.BackOff
}
func BackOffWithContext ¶ added in v0.10.0
func BackOffWithMaxRetries ¶ added in v0.10.0
func NewConstantBackOff ¶ added in v0.10.0
func NewExponentialBackOff ¶ added in v0.10.0
func NewExponentialBackOff(cfg *ExponentialBackOffConfig) *BackOff
type BadRequestFieldViolation ¶ added in v0.10.0
type CELCache ¶ added in v0.13.8
type CELCache struct {
// contains filtered or unexported fields
}
CELCache used to speed up CEL evaluation from the second time onward. cel.Program cannot be reused to evaluate contextual libraries or plugins, so cel.Ast is reused to speed up the process.
type CELCacheMap ¶ added in v0.13.8
type CELCacheMap struct {
// contains filtered or unexported fields
}
CELCacheMap service-wide in-memory cache store for CEL evaluation. The cache key is a constant value created by code-generation.
func NewCELCacheMap ¶ added in v0.13.8
func NewCELCacheMap() *CELCacheMap
NewCELCacheMap creates CELCacheMap instance.
type CELEnvOption ¶ added in v0.13.8
type CELFieldType ¶ added in v0.10.0
type CELPluginRequest ¶ added in v0.13.8
type CELPluginRequest = celplugin.CELPluginRequest
type CELPluginResponse ¶ added in v0.13.8
type CELPluginResponse = celplugin.CELPluginResponse
type CELPluginVersionSchema ¶ added in v0.15.0
type CELPluginVersionSchema = cel.PluginVersionSchema
type CELTypeDeclare ¶ added in v0.10.0
type CELTypeHelper ¶ added in v0.4.0
CELTypeHelper provides the cel.Registry needed to build a cel environment.
func NewCELTypeHelper ¶ added in v0.4.0
func NewCELTypeHelper(structFieldMap CELTypeHelperFieldMap) *CELTypeHelper
func (*CELTypeHelper) CELRegistry ¶ added in v0.13.8
func (h *CELTypeHelper) CELRegistry() *celtypes.Registry
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) RegisterType ¶ added in v0.13.8
func (h *CELTypeHelper) RegisterType(types ...ref.Type) error
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 CELTypeHelperFieldMap ¶ added in v0.13.8
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"` // error evaluated when an error occurs during a method call. // Multiple errors can be defined and are evaluated in the order in which they are described. // If an error occurs while creating an gRPC status error, original error will be returned. Error []*GRPCError `protobuf:"bytes,5,rep,name=error,proto3" json:"error,omitempty"` // contains filtered or unexported fields }
CallExpr represents how to call gRPC method.
func (*CallExpr) Descriptor
deprecated
added in
v0.6.0
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 (*CallExpr) ProtoMessage ¶ added in v0.6.0
func (*CallExpr) ProtoMessage()
func (*CallExpr) ProtoReflect ¶ added in v0.6.0
func (x *CallExpr) ProtoReflect() protoreflect.Message
type Code ¶ added in v0.10.0
const ( OKCode Code = codes.OK // CancelledCode this is not a typo. // On proto, it is defined as `CANCELLED`, but in Go's library it is defined as Canceled. // The name of the code is automatically generated by (*GRPCError).GoGRPCStatusCode in generator/code_generator.go. // So if the name is different, it will not work. Therefore, the names should be the same as the names on the proto side. // - Proto: https://github.com/googleapis/googleapis/blob/65277ddce9caa1cfd1a0eb7ab67980fc73d20b50/google/rpc/code.proto#L41 // - Go: https://github.com/grpc/grpc-go/blob/9952aa83979822b5915c3fcb2bb0f60afe55aa7d/codes/codes.go#L45 //nolint:misspell CancelledCode Code = codes.Canceled UnknownCode Code = codes.Unknown InvalidArgumentCode Code = codes.InvalidArgument DeadlineExceededCode Code = codes.DeadlineExceeded NotFoundCode Code = codes.NotFound AlreadyExistsCode Code = codes.AlreadyExists PermissionDeniedCode Code = codes.PermissionDenied ResourceExhaustedCode Code = codes.ResourceExhausted FailedPreconditionCode Code = codes.FailedPrecondition AbortedCode Code = codes.Aborted OutOfRangeCode Code = codes.OutOfRange UnimplementedCode Code = codes.Unimplemented InternalCode Code = codes.Internal DataLossCode Code = codes.DataLoss UnauthenticatedCode Code = codes.Unauthenticated )
type CustomMessageParam ¶ added in v0.13.8
type DefMap ¶ added in v0.10.0
type DefMap[T any, U any, V localValue] struct { If string IfUseContextLibrary bool IfCacheIndex int Name string Type *cel.Type Setter func(V, T) error IteratorName string IteratorType *cel.Type IteratorSource func(V) []U Iterator func(context.Context, *MapIteratorValue) (any, error) // contains filtered or unexported fields }
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. // You can specify multiple aliases. In that case, only values common to all aliases will be considered. // Specifying a value that is not included in either alias will result in an error. Alias []string `protobuf:"bytes,1,rep,name=alias,proto3" json:"alias,omitempty"` // contains filtered or unexported fields }
func (*EnumRule) Descriptor
deprecated
func (*EnumRule) ProtoMessage ¶
func (*EnumRule) ProtoMessage()
func (*EnumRule) ProtoReflect ¶
func (x *EnumRule) ProtoReflect() protoreflect.Message
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 ErrorGroup ¶ added in v0.10.0
type ErrorHandler ¶ added in v0.4.0
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 EvalCELRequest ¶ added in v0.13.8
type ExponentialBackOffConfig ¶ added in v0.10.0
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) GetByteString ¶
func (*FieldRule) GetByteStrings ¶
func (*FieldRule) GetCustomResolver ¶
func (*FieldRule) GetDoubles ¶
func (*FieldRule) GetFixed32 ¶
func (*FieldRule) GetFixed32S ¶
func (*FieldRule) GetFixed64 ¶
func (*FieldRule) GetFixed64S ¶
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 (*FieldRule) GetSfixed32S ¶
func (*FieldRule) GetSfixed64 ¶
func (*FieldRule) GetSfixed64S ¶
func (*FieldRule) GetSint32S ¶
func (*FieldRule) GetSint64S ¶
func (*FieldRule) GetString_ ¶
func (*FieldRule) GetStrings ¶
func (*FieldRule) GetUint32S ¶
func (*FieldRule) GetUint64S ¶
func (*FieldRule) ProtoMessage ¶
func (*FieldRule) ProtoMessage()
func (*FieldRule) ProtoReflect ¶
func (x *FieldRule) ProtoReflect() protoreflect.Message
type GRPCError ¶ added in v0.10.0
type GRPCError struct { // def define variables in current scope. Def []*VariableDefinition `protobuf:"bytes,1,rep,name=def,proto3" json:"def,omitempty"` // if specifies condition in CEL. If the condition is true, it returns defined error information. // If this field is omitted, it is always treated as 'true' and returns defined error information. // The return value must always be of type boolean. If *string `protobuf:"bytes,2,opt,name=if,proto3,oneof" json:"if,omitempty"` // code is a gRPC status code. Code code.Code `protobuf:"varint,3,opt,name=code,proto3,enum=google.rpc.Code" json:"code,omitempty"` // message is a gRPC status message. // If omitted, the message will be auto-generated from the configurations. Message *string `protobuf:"bytes,4,opt,name=message,proto3,oneof" json:"message,omitempty"` // details is a list of error details. // If returns error, the corresponding error details are set. Details []*GRPCErrorDetail `protobuf:"bytes,5,rep,name=details,proto3" json:"details,omitempty"` // ignore ignore the error if the condition in the "if" field is true and "ignore" field is set to true. // When an error is ignored, the returned response is always null value. // If you want to return a response that is not null, please use `ignore_and_response` feature. // Therefore, `ignore` and `ignore_and_response` cannot be specified same. Ignore *bool `protobuf:"varint,6,opt,name=ignore,proto3,oneof" json:"ignore,omitempty"` // ignore_and_response ignore the error if the condition in the "if" field is true and it returns response specified in CEL. // The evaluation value of CEL must always be the same as the response message type. // `ignore` and `ignore_and_response` cannot be specified same. IgnoreAndResponse *string `protobuf:"bytes,7,opt,name=ignore_and_response,json=ignoreAndResponse,proto3,oneof" json:"ignore_and_response,omitempty"` // contains filtered or unexported fields }
GRPCError create gRPC status value.
func (*GRPCError) Descriptor
deprecated
added in
v0.13.0
func (*GRPCError) GetDef ¶ added in v0.13.0
func (x *GRPCError) GetDef() []*VariableDefinition
func (*GRPCError) GetDetails ¶ added in v0.13.0
func (x *GRPCError) GetDetails() []*GRPCErrorDetail
func (*GRPCError) GetIgnoreAndResponse ¶ added in v0.14.0
func (*GRPCError) GetMessage ¶ added in v0.13.0
func (*GRPCError) ProtoMessage ¶ added in v0.13.0
func (*GRPCError) ProtoMessage()
func (*GRPCError) ProtoReflect ¶ added in v0.13.0
func (x *GRPCError) ProtoReflect() protoreflect.Message
type GRPCErrorDetail ¶ added in v0.13.0
type GRPCErrorDetail struct { // if specifies condition rule in CEL. If the condition is true, gRPC error detail is added to the error. If string `protobuf:"bytes,1,opt,name=if,proto3" json:"if,omitempty"` // def define variables in current scope. Def []*VariableDefinition `protobuf:"bytes,2,rep,name=def,proto3" json:"def,omitempty"` // message represents arbitrary messages to describe the detail of the error. Message []*MessageExpr `protobuf:"bytes,3,rep,name=message,proto3" json:"message,omitempty"` // error_info describes the cause of the error with structured details. ErrorInfo []*errdetails.ErrorInfo `protobuf:"bytes,4,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,5,rep,name=retry_info,json=retryInfo,proto3" json:"retry_info,omitempty"` // debug_info describes additional debugging info. DebugInfo []*errdetails.DebugInfo `protobuf:"bytes,6,rep,name=debug_info,json=debugInfo,proto3" json:"debug_info,omitempty"` // quota_failure describes how a quota check failed. QuotaFailure []*errdetails.QuotaFailure `protobuf:"bytes,7,rep,name=quota_failure,json=quotaFailure,proto3" json:"quota_failure,omitempty"` // precondition_failure describes what preconditions have failed. PreconditionFailure []*errdetails.PreconditionFailure `protobuf:"bytes,8,rep,name=precondition_failure,json=preconditionFailure,proto3" json:"precondition_failure,omitempty"` // bad_request describes violations in a client request. BadRequest []*errdetails.BadRequest `protobuf:"bytes,9,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,10,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,11,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,12,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,13,rep,name=localized_message,json=localizedMessage,proto3" json:"localized_message,omitempty"` // contains filtered or unexported fields }
func (*GRPCErrorDetail) Descriptor
deprecated
added in
v0.13.0
func (*GRPCErrorDetail) Descriptor() ([]byte, []int)
Deprecated: Use GRPCErrorDetail.ProtoReflect.Descriptor instead.
func (*GRPCErrorDetail) GetBadRequest ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetBadRequest() []*errdetails.BadRequest
func (*GRPCErrorDetail) GetDebugInfo ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetDebugInfo() []*errdetails.DebugInfo
func (*GRPCErrorDetail) GetDef ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetDef() []*VariableDefinition
func (*GRPCErrorDetail) GetErrorInfo ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetErrorInfo() []*errdetails.ErrorInfo
func (*GRPCErrorDetail) GetHelp ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetHelp() []*errdetails.Help
func (*GRPCErrorDetail) GetIf ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetIf() string
func (*GRPCErrorDetail) GetLocalizedMessage ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetLocalizedMessage() []*errdetails.LocalizedMessage
func (*GRPCErrorDetail) GetMessage ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetMessage() []*MessageExpr
func (*GRPCErrorDetail) GetPreconditionFailure ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetPreconditionFailure() []*errdetails.PreconditionFailure
func (*GRPCErrorDetail) GetQuotaFailure ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetQuotaFailure() []*errdetails.QuotaFailure
func (*GRPCErrorDetail) GetRequestInfo ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetRequestInfo() []*errdetails.RequestInfo
func (*GRPCErrorDetail) GetResourceInfo ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetResourceInfo() []*errdetails.ResourceInfo
func (*GRPCErrorDetail) GetRetryInfo ¶ added in v0.13.0
func (x *GRPCErrorDetail) GetRetryInfo() []*errdetails.RetryInfo
func (*GRPCErrorDetail) ProtoMessage ¶ added in v0.13.0
func (*GRPCErrorDetail) ProtoMessage()
func (*GRPCErrorDetail) ProtoReflect ¶ added in v0.13.0
func (x *GRPCErrorDetail) ProtoReflect() protoreflect.Message
func (*GRPCErrorDetail) Reset ¶ added in v0.13.0
func (x *GRPCErrorDetail) Reset()
func (*GRPCErrorDetail) String ¶ added in v0.13.0
func (x *GRPCErrorDetail) 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) ProtoMessage ¶ added in v0.6.0
func (*Iterator) ProtoMessage()
func (*Iterator) ProtoReflect ¶ added in v0.6.0
func (x *Iterator) ProtoReflect() protoreflect.Message
type LocalValue ¶ added in v0.10.0
type LocalValue struct {
// contains filtered or unexported fields
}
func NewLocalValue ¶ added in v0.10.0
func NewLocalValue(ctx context.Context, celTypeHelper *CELTypeHelper, envOpts []cel.EnvOption, celPlugins []*grpcfedcel.CELPlugin, argName string, arg any) *LocalValue
type LocalizedMessageParam ¶ added in v0.13.8
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) GetIterator ¶ added in v0.6.0
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
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 MapIteratorValue ¶ added in v0.10.0
type MapIteratorValue struct {
// contains filtered or unexported fields
}
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. // You can specify multiple aliases. In that case, only fields common to all aliases will be considered. // Specifying a field that is not included in either alias will result in an error. Alias []string `protobuf:"bytes,3,rep,name=alias,proto3" 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"` // 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 the field is a 'oneof' field, it must be specified. If *string `protobuf:"bytes,39,opt,name=if,proto3,oneof" json:"if,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) GetIf ¶ added in v0.16.0
func (x *MethodRequest) GetIf() string
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) ProtoMessage ¶
func (*OneofRule) ProtoMessage()
func (*OneofRule) ProtoReflect ¶
func (x *OneofRule) ProtoReflect() protoreflect.Message
type PreconditionFailureViolation ¶ added in v0.10.0
type ProtoMessage ¶ added in v0.10.0
type ProtoMessage = protoadapt.MessageV1
type RecoveredError ¶ added in v0.4.0
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 RetryParam ¶ added in v0.13.9
type RetryPolicy ¶
type RetryPolicy struct { // Types that are assignable to Policy: // // *RetryPolicy_Constant // *RetryPolicy_Exponential Policy isRetryPolicy_Policy `protobuf_oneof:"policy"` // if specifies condition in CEL. If the condition is true, run the retry process according to the policy. // If this field is omitted, it is always treated as 'true' and run the retry process. // The return value must always be of type boolean. If string `protobuf:"bytes,3,opt,name=if,proto3" json:"if,omitempty"` // 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) GetIf ¶ added in v0.13.9
func (x *RetryPolicy) GetIf() string
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. // // Deprecated: Marked as deprecated in grpc/federation/federation.proto. 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
deprecated
func (x *ServiceRule) GetDependencies() []*ServiceDependency
Deprecated: Marked as deprecated in grpc/federation/federation.proto.
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 SetCELValueParam ¶ added in v0.13.8
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 *GRPCError `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() *GRPCError
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"` }