istio: istio.io/istio/mixer/test/keyval Index | Files | Directories

package keyval

import "istio.io/istio/mixer/test/keyval"

Package keyval contains the sources for a demo route directive adapter.

Index

Package Files

adapter.go config.pb.go doc.go template_handler.gen.go template_handler_service.pb.go

Constants

const TemplateName = "keyval"

Fully qualified name of the template

Variables

var (
    ErrInvalidLengthConfig = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowConfig   = fmt.Errorf("proto: integer overflow")
)
var (
    ErrInvalidLengthTemplateHandlerService = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowTemplateHandlerService   = fmt.Errorf("proto: integer overflow")
)

func RegisterHandleKeyvalServiceServer Uses

func RegisterHandleKeyvalServiceServer(s *grpc.Server, srv HandleKeyvalServiceServer)

type HandleKeyvalRequest Uses

type HandleKeyvalRequest struct {
    // 'keyval' instance.
    Instance *InstanceMsg `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"`
    // Adapter specific handler configuration.
    //
    // Note: Backends can also implement [InfrastructureBackend][https://istio.io/docs/reference/config/mixer/istio.mixer.adapter.model.v1beta1.html#InfrastructureBackend]
    // service and therefore opt to receive handler configuration during session creation through [InfrastructureBackend.CreateSession][TODO: Link to this fragment]
    // call. In that case, adapter_config will have type_url as 'google.protobuf.Any.type_url' and would contain string
    // value of session_id (returned from InfrastructureBackend.CreateSession).
    AdapterConfig *types.Any `protobuf:"bytes,2,opt,name=adapter_config,json=adapterConfig,proto3" json:"adapter_config,omitempty"`
    // Id to dedupe identical requests from Mixer.
    DedupId string `protobuf:"bytes,3,opt,name=dedup_id,json=dedupId,proto3" json:"dedup_id,omitempty"`
}

Request message for HandleKeyval method.

func (*HandleKeyvalRequest) Descriptor Uses

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

func (*HandleKeyvalRequest) Marshal Uses

func (m *HandleKeyvalRequest) Marshal() (dAtA []byte, err error)

func (*HandleKeyvalRequest) MarshalTo Uses

func (m *HandleKeyvalRequest) MarshalTo(dAtA []byte) (int, error)

func (*HandleKeyvalRequest) MarshalToSizedBuffer Uses

func (m *HandleKeyvalRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HandleKeyvalRequest) ProtoMessage Uses

func (*HandleKeyvalRequest) ProtoMessage()

func (*HandleKeyvalRequest) Reset Uses

func (m *HandleKeyvalRequest) Reset()

func (*HandleKeyvalRequest) Size Uses

func (m *HandleKeyvalRequest) Size() (n int)

func (*HandleKeyvalRequest) String Uses

func (this *HandleKeyvalRequest) String() string

func (*HandleKeyvalRequest) Unmarshal Uses

func (m *HandleKeyvalRequest) Unmarshal(dAtA []byte) error

func (*HandleKeyvalRequest) XXX_DiscardUnknown Uses

func (m *HandleKeyvalRequest) XXX_DiscardUnknown()

func (*HandleKeyvalRequest) XXX_Marshal Uses

func (m *HandleKeyvalRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HandleKeyvalRequest) XXX_Merge Uses

func (m *HandleKeyvalRequest) XXX_Merge(src proto.Message)

func (*HandleKeyvalRequest) XXX_Size Uses

func (m *HandleKeyvalRequest) XXX_Size() int

func (*HandleKeyvalRequest) XXX_Unmarshal Uses

func (m *HandleKeyvalRequest) XXX_Unmarshal(b []byte) error

type HandleKeyvalResponse Uses

type HandleKeyvalResponse struct {
    Result *v1beta1.CheckResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
    Output *OutputMsg           `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"`
}

func (*HandleKeyvalResponse) Descriptor Uses

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

func (*HandleKeyvalResponse) Marshal Uses

func (m *HandleKeyvalResponse) Marshal() (dAtA []byte, err error)

func (*HandleKeyvalResponse) MarshalTo Uses

func (m *HandleKeyvalResponse) MarshalTo(dAtA []byte) (int, error)

func (*HandleKeyvalResponse) MarshalToSizedBuffer Uses

func (m *HandleKeyvalResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HandleKeyvalResponse) ProtoMessage Uses

func (*HandleKeyvalResponse) ProtoMessage()

func (*HandleKeyvalResponse) Reset Uses

func (m *HandleKeyvalResponse) Reset()

func (*HandleKeyvalResponse) Size Uses

func (m *HandleKeyvalResponse) Size() (n int)

func (*HandleKeyvalResponse) String Uses

func (this *HandleKeyvalResponse) String() string

func (*HandleKeyvalResponse) Unmarshal Uses

func (m *HandleKeyvalResponse) Unmarshal(dAtA []byte) error

func (*HandleKeyvalResponse) XXX_DiscardUnknown Uses

func (m *HandleKeyvalResponse) XXX_DiscardUnknown()

func (*HandleKeyvalResponse) XXX_Marshal Uses

func (m *HandleKeyvalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HandleKeyvalResponse) XXX_Merge Uses

func (m *HandleKeyvalResponse) XXX_Merge(src proto.Message)

func (*HandleKeyvalResponse) XXX_Size Uses

func (m *HandleKeyvalResponse) XXX_Size() int

func (*HandleKeyvalResponse) XXX_Unmarshal Uses

func (m *HandleKeyvalResponse) XXX_Unmarshal(b []byte) error

type HandleKeyvalServiceClient Uses

type HandleKeyvalServiceClient interface {
    // HandleKeyval is called by Mixer at request-time to deliver 'keyval' instances to the backend.
    HandleKeyval(ctx context.Context, in *HandleKeyvalRequest, opts ...grpc.CallOption) (*HandleKeyvalResponse, error)
}

HandleKeyvalServiceClient is the client API for HandleKeyvalService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewHandleKeyvalServiceClient Uses

func NewHandleKeyvalServiceClient(cc *grpc.ClientConn) HandleKeyvalServiceClient

type HandleKeyvalServiceServer Uses

type HandleKeyvalServiceServer interface {
    // HandleKeyval is called by Mixer at request-time to deliver 'keyval' instances to the backend.
    HandleKeyval(context.Context, *HandleKeyvalRequest) (*HandleKeyvalResponse, error)
}

HandleKeyvalServiceServer is the server API for HandleKeyvalService service.

type Handler Uses

type Handler interface {
    adapter.Handler

    // HandleKeyval is called by Mixer at request time to deliver instances to
    // to an adapter.
    HandleKeyval(context.Context, *Instance) (adapter.CheckResult, *Output, error)
}

Handler must be implemented by adapter code if it wants to process data associated with the 'keyval' template.

Mixer uses this interface to call into the adapter at request time in order to dispatch created instances to the adapter. Adapters take the incoming instances and do what they need to achieve their primary function.

The name of each instance can be used as a key into the Type map supplied to the adapter at configuration time via the method 'SetKeyvalTypes'. These Type associated with an instance describes the shape of the instance

type HandlerBuilder Uses

type HandlerBuilder interface {
    adapter.HandlerBuilder

    // SetKeyvalTypes is invoked by Mixer to pass the template-specific Type information for instances that an adapter
    // may receive at runtime. The type information describes the shape of the instance.
    SetKeyvalTypes(map[string]*Type)
}

HandlerBuilder must be implemented by adapters if they want to process data associated with the 'keyval' template.

Mixer uses this interface to call into the adapter at configuration time to configure it with adapter-specific configuration as well as all template-specific type information.

type Instance Uses

type Instance struct {
    // Name of the instance as specified in configuration.
    Name string

    // lookup key
    Key string
}

Instance is constructed by Mixer for the 'keyval' template.

Input template

type InstanceMsg Uses

type InstanceMsg struct {
    // Name of the instance as specified in configuration.
    Name string `protobuf:"bytes,72295727,opt,name=name,proto3" json:"name,omitempty"`
    // lookup key
    Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
}

Contains instance payload for 'keyval' template. This is passed to infrastructure backends during request-time through HandleKeyvalService.HandleKeyval.

func (*InstanceMsg) Descriptor Uses

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

func (*InstanceMsg) Marshal Uses

func (m *InstanceMsg) Marshal() (dAtA []byte, err error)

func (*InstanceMsg) MarshalTo Uses

func (m *InstanceMsg) MarshalTo(dAtA []byte) (int, error)

func (*InstanceMsg) MarshalToSizedBuffer Uses

func (m *InstanceMsg) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*InstanceMsg) ProtoMessage Uses

func (*InstanceMsg) ProtoMessage()

func (*InstanceMsg) Reset Uses

func (m *InstanceMsg) Reset()

func (*InstanceMsg) Size Uses

func (m *InstanceMsg) Size() (n int)

func (*InstanceMsg) String Uses

func (this *InstanceMsg) String() string

func (*InstanceMsg) Unmarshal Uses

func (m *InstanceMsg) Unmarshal(dAtA []byte) error

func (*InstanceMsg) XXX_DiscardUnknown Uses

func (m *InstanceMsg) XXX_DiscardUnknown()

func (*InstanceMsg) XXX_Marshal Uses

func (m *InstanceMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InstanceMsg) XXX_Merge Uses

func (m *InstanceMsg) XXX_Merge(src proto.Message)

func (*InstanceMsg) XXX_Size Uses

func (m *InstanceMsg) XXX_Size() int

func (*InstanceMsg) XXX_Unmarshal Uses

func (m *InstanceMsg) XXX_Unmarshal(b []byte) error

type InstanceParam Uses

type InstanceParam struct {
    // lookup key
    Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
}

Represents instance configuration schema for 'keyval' template.

func (*InstanceParam) Descriptor Uses

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

func (*InstanceParam) Marshal Uses

func (m *InstanceParam) Marshal() (dAtA []byte, err error)

func (*InstanceParam) MarshalTo Uses

func (m *InstanceParam) MarshalTo(dAtA []byte) (int, error)

func (*InstanceParam) MarshalToSizedBuffer Uses

func (m *InstanceParam) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*InstanceParam) ProtoMessage Uses

func (*InstanceParam) ProtoMessage()

func (*InstanceParam) Reset Uses

func (m *InstanceParam) Reset()

func (*InstanceParam) Size Uses

func (m *InstanceParam) Size() (n int)

func (*InstanceParam) String Uses

func (this *InstanceParam) String() string

func (*InstanceParam) Unmarshal Uses

func (m *InstanceParam) Unmarshal(dAtA []byte) error

func (*InstanceParam) XXX_DiscardUnknown Uses

func (m *InstanceParam) XXX_DiscardUnknown()

func (*InstanceParam) XXX_Marshal Uses

func (m *InstanceParam) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InstanceParam) XXX_Merge Uses

func (m *InstanceParam) XXX_Merge(src proto.Message)

func (*InstanceParam) XXX_Size Uses

func (m *InstanceParam) XXX_Size() int

func (*InstanceParam) XXX_Unmarshal Uses

func (m *InstanceParam) XXX_Unmarshal(b []byte) error

type Keyval Uses

type Keyval struct{}

Keyval implements the key-value template.

func (Keyval) HandleKeyval Uses

func (Keyval) HandleKeyval(ctx context.Context, req *HandleKeyvalRequest) (*HandleKeyvalResponse, error)

HandleKeyval implements the gRPC stub

type Output Uses

type Output struct {

    // value to return
    Value string
    // contains filtered or unexported fields
}

Output struct is returned by the attribute producing adapters that handle this template.

Output template

func NewOutput Uses

func NewOutput() *Output

func (*Output) SetValue Uses

func (o *Output) SetValue(val string)

func (*Output) WasSet Uses

func (o *Output) WasSet(field string) bool

type OutputMsg Uses

type OutputMsg struct {
    // value to return
    Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

Contains output payload for 'keyval' template.

func (*OutputMsg) Descriptor Uses

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

func (*OutputMsg) Marshal Uses

func (m *OutputMsg) Marshal() (dAtA []byte, err error)

func (*OutputMsg) MarshalTo Uses

func (m *OutputMsg) MarshalTo(dAtA []byte) (int, error)

func (*OutputMsg) MarshalToSizedBuffer Uses

func (m *OutputMsg) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*OutputMsg) ProtoMessage Uses

func (*OutputMsg) ProtoMessage()

func (*OutputMsg) Reset Uses

func (m *OutputMsg) Reset()

func (*OutputMsg) Size Uses

func (m *OutputMsg) Size() (n int)

func (*OutputMsg) String Uses

func (this *OutputMsg) String() string

func (*OutputMsg) Unmarshal Uses

func (m *OutputMsg) Unmarshal(dAtA []byte) error

func (*OutputMsg) XXX_DiscardUnknown Uses

func (m *OutputMsg) XXX_DiscardUnknown()

func (*OutputMsg) XXX_Marshal Uses

func (m *OutputMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*OutputMsg) XXX_Merge Uses

func (m *OutputMsg) XXX_Merge(src proto.Message)

func (*OutputMsg) XXX_Size Uses

func (m *OutputMsg) XXX_Size() int

func (*OutputMsg) XXX_Unmarshal Uses

func (m *OutputMsg) XXX_Unmarshal(b []byte) error

type Params Uses

type Params struct {
    // Lookup table
    Table map[string]string `protobuf:"bytes,1,rep,name=table,proto3" json:"table,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

Adapter parameters

func (*Params) Descriptor Uses

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

func (*Params) Equal Uses

func (this *Params) Equal(that interface{}) bool

func (*Params) GetTable Uses

func (m *Params) GetTable() map[string]string

func (*Params) GoString Uses

func (this *Params) GoString() string

func (*Params) Marshal Uses

func (m *Params) Marshal() (dAtA []byte, err error)

func (*Params) MarshalTo Uses

func (m *Params) MarshalTo(dAtA []byte) (int, error)

func (*Params) MarshalToSizedBuffer Uses

func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Params) ProtoMessage Uses

func (*Params) ProtoMessage()

func (*Params) Reset Uses

func (m *Params) Reset()

func (*Params) Size Uses

func (m *Params) Size() (n int)

func (*Params) String Uses

func (this *Params) String() string

func (*Params) Unmarshal Uses

func (m *Params) Unmarshal(dAtA []byte) error

func (*Params) XXX_DiscardUnknown Uses

func (m *Params) XXX_DiscardUnknown()

func (*Params) XXX_Marshal Uses

func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Params) XXX_Merge Uses

func (m *Params) XXX_Merge(src proto.Message)

func (*Params) XXX_Size Uses

func (m *Params) XXX_Size() int

func (*Params) XXX_Unmarshal Uses

func (m *Params) XXX_Unmarshal(b []byte) error

type Type Uses

type Type struct {
}

Contains inferred type information about specific instance of 'keyval' template. This is passed to infrastructure backends during configuration-time through [InfrastructureBackend.CreateSession][TODO: Link to this fragment].

func (*Type) Descriptor Uses

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

func (*Type) Marshal Uses

func (m *Type) Marshal() (dAtA []byte, err error)

func (*Type) MarshalTo Uses

func (m *Type) MarshalTo(dAtA []byte) (int, error)

func (*Type) MarshalToSizedBuffer Uses

func (m *Type) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Type) ProtoMessage Uses

func (*Type) ProtoMessage()

func (*Type) Reset Uses

func (m *Type) Reset()

func (*Type) Size Uses

func (m *Type) Size() (n int)

func (*Type) String Uses

func (this *Type) String() string

func (*Type) Unmarshal Uses

func (m *Type) Unmarshal(dAtA []byte) error

func (*Type) XXX_DiscardUnknown Uses

func (m *Type) XXX_DiscardUnknown()

func (*Type) XXX_Marshal Uses

func (m *Type) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Type) XXX_Merge Uses

func (m *Type) XXX_Merge(src proto.Message)

func (*Type) XXX_Size Uses

func (m *Type) XXX_Size() int

func (*Type) XXX_Unmarshal Uses

func (m *Type) XXX_Unmarshal(b []byte) error

type UnimplementedHandleKeyvalServiceServer Uses

type UnimplementedHandleKeyvalServiceServer struct {
}

UnimplementedHandleKeyvalServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedHandleKeyvalServiceServer) HandleKeyval Uses

func (*UnimplementedHandleKeyvalServiceServer) HandleKeyval(ctx context.Context, req *HandleKeyvalRequest) (*HandleKeyvalResponse, error)

Directories

PathSynopsis
main

Package keyval imports 20 packages (graph) and is imported by 2 packages. Updated 2019-10-16. Refresh now. Tools for package owners.