api: istio.io/api/mcp/v1alpha1 Index | Files

package v1alpha1

import "istio.io/api/mcp/v1alpha1"

Index

Package Files

mcp.pb.go metadata.pb.go resource.pb.go

Variables

var (
    ErrInvalidLengthMcp = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowMcp   = fmt.Errorf("proto: integer overflow")
)
var (
    ErrInvalidLengthMetadata = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowMetadata   = fmt.Errorf("proto: integer overflow")
)
var (
    ErrInvalidLengthResource = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowResource   = fmt.Errorf("proto: integer overflow")
)

func RegisterAggregatedMeshConfigServiceServer Uses

func RegisterAggregatedMeshConfigServiceServer(s *grpc.Server, srv AggregatedMeshConfigServiceServer)

func RegisterResourceSinkServer Uses

func RegisterResourceSinkServer(s *grpc.Server, srv ResourceSinkServer)

func RegisterResourceSourceServer Uses

func RegisterResourceSourceServer(s *grpc.Server, srv ResourceSourceServer)

type AggregatedMeshConfigServiceClient Uses

type AggregatedMeshConfigServiceClient interface {
    // StreamAggregatedResources provides the ability to carefully
    // sequence updates across multiple resource types. A single stream
    // is used with multiple independent MeshConfigRequest /
    // MeshConfigResponses sequences multiplexed via the type URL.
    StreamAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedMeshConfigService_StreamAggregatedResourcesClient, error)
    // IncrementalAggregatedResources provides the ability to incrementally
    // update the resources on the client. This supports the goal of
    // scalability of MCP resources.
    IncrementalAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedMeshConfigService_IncrementalAggregatedResourcesClient, error)
}

AggregatedMeshConfigServiceClient is the client API for AggregatedMeshConfigService service.

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

func NewAggregatedMeshConfigServiceClient Uses

func NewAggregatedMeshConfigServiceClient(cc *grpc.ClientConn) AggregatedMeshConfigServiceClient

type AggregatedMeshConfigServiceServer Uses

type AggregatedMeshConfigServiceServer interface {
    // StreamAggregatedResources provides the ability to carefully
    // sequence updates across multiple resource types. A single stream
    // is used with multiple independent MeshConfigRequest /
    // MeshConfigResponses sequences multiplexed via the type URL.
    StreamAggregatedResources(AggregatedMeshConfigService_StreamAggregatedResourcesServer) error
    // IncrementalAggregatedResources provides the ability to incrementally
    // update the resources on the client. This supports the goal of
    // scalability of MCP resources.
    IncrementalAggregatedResources(AggregatedMeshConfigService_IncrementalAggregatedResourcesServer) error
}

AggregatedMeshConfigServiceServer is the server API for AggregatedMeshConfigService service.

type AggregatedMeshConfigService_IncrementalAggregatedResourcesClient Uses

type AggregatedMeshConfigService_IncrementalAggregatedResourcesClient interface {
    Send(*IncrementalMeshConfigRequest) error
    Recv() (*IncrementalMeshConfigResponse, error)
    grpc.ClientStream
}

type AggregatedMeshConfigService_IncrementalAggregatedResourcesServer Uses

type AggregatedMeshConfigService_IncrementalAggregatedResourcesServer interface {
    Send(*IncrementalMeshConfigResponse) error
    Recv() (*IncrementalMeshConfigRequest, error)
    grpc.ServerStream
}

type AggregatedMeshConfigService_StreamAggregatedResourcesClient Uses

type AggregatedMeshConfigService_StreamAggregatedResourcesClient interface {
    Send(*MeshConfigRequest) error
    Recv() (*MeshConfigResponse, error)
    grpc.ClientStream
}

type AggregatedMeshConfigService_StreamAggregatedResourcesServer Uses

type AggregatedMeshConfigService_StreamAggregatedResourcesServer interface {
    Send(*MeshConfigResponse) error
    Recv() (*MeshConfigRequest, error)
    grpc.ServerStream
}

type IncrementalMeshConfigRequest Uses

type IncrementalMeshConfigRequest struct {
    // The sink node making the request.
    SinkNode *SinkNode `protobuf:"bytes,1,opt,name=sink_node,json=sinkNode,proto3" json:"sink_node,omitempty"`
    // Type of the resource that is being requested, e.g.
    // "type.googleapis.com/istio.io.networking.v1alpha3.VirtualService".
    TypeUrl string `protobuf:"bytes,2,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
    // When the IncrementalMeshConfigRequest is the first in a stream,
    // the initial_resource_versions must be populated. Otherwise,
    // initial_resource_versions must be omitted. The keys are the
    // resources names of the MCP resources known to the MCP client. The
    // values in the map are the associated resource level version info.
    InitialResourceVersions map[string]string `protobuf:"bytes,3,rep,name=initial_resource_versions,json=initialResourceVersions,proto3" json:"initial_resource_versions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    // When the IncrementalMeshConfigRequest is a ACK or NACK message in response
    // to a previous IncrementalMeshConfigResponse, the response_nonce must be the
    // nonce in the IncrementalMeshConfigResponse.
    // Otherwise response_nonce must be omitted.
    ResponseNonce string `protobuf:"bytes,4,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"`
    // This is populated when the previous IncrementalMeshConfigResponses
    // failed to update configuration. The *message* field in *error_details*
    // provides the client internal exception related to the failure.
    ErrorDetail          *rpc.Status `protobuf:"bytes,5,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"`
    XXX_NoUnkeyedLiteral struct{}    `json:"-"`
    XXX_unrecognized     []byte      `json:"-"`
    XXX_sizecache        int32       `json:"-"`
}

IncrementalMeshConfigRequest are be sent in 2 situations:

1. Initial message in a MCP bidirectional gRPC stream.

2. As a ACK or NACK response to a previous IncrementalMeshConfigResponse.
   In this case the response_nonce is set to the nonce value in the Response.
   ACK or NACK is determined by the absence or presence of error_detail.

func (*IncrementalMeshConfigRequest) Descriptor Uses

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

func (*IncrementalMeshConfigRequest) Equal Uses

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

func (*IncrementalMeshConfigRequest) GetErrorDetail Uses

func (m *IncrementalMeshConfigRequest) GetErrorDetail() *rpc.Status

func (*IncrementalMeshConfigRequest) GetInitialResourceVersions Uses

func (m *IncrementalMeshConfigRequest) GetInitialResourceVersions() map[string]string

func (*IncrementalMeshConfigRequest) GetResponseNonce Uses

func (m *IncrementalMeshConfigRequest) GetResponseNonce() string

func (*IncrementalMeshConfigRequest) GetSinkNode Uses

func (m *IncrementalMeshConfigRequest) GetSinkNode() *SinkNode

func (*IncrementalMeshConfigRequest) GetTypeUrl Uses

func (m *IncrementalMeshConfigRequest) GetTypeUrl() string

func (*IncrementalMeshConfigRequest) Marshal Uses

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

func (*IncrementalMeshConfigRequest) MarshalTo Uses

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

func (*IncrementalMeshConfigRequest) MarshalToSizedBuffer Uses

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

func (*IncrementalMeshConfigRequest) ProtoMessage Uses

func (*IncrementalMeshConfigRequest) ProtoMessage()

func (*IncrementalMeshConfigRequest) Reset Uses

func (m *IncrementalMeshConfigRequest) Reset()

func (*IncrementalMeshConfigRequest) Size Uses

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

func (*IncrementalMeshConfigRequest) String Uses

func (m *IncrementalMeshConfigRequest) String() string

func (*IncrementalMeshConfigRequest) Unmarshal Uses

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

func (*IncrementalMeshConfigRequest) XXX_DiscardUnknown Uses

func (m *IncrementalMeshConfigRequest) XXX_DiscardUnknown()

func (*IncrementalMeshConfigRequest) XXX_Marshal Uses

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

func (*IncrementalMeshConfigRequest) XXX_Merge Uses

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

func (*IncrementalMeshConfigRequest) XXX_Size Uses

func (m *IncrementalMeshConfigRequest) XXX_Size() int

func (*IncrementalMeshConfigRequest) XXX_Unmarshal Uses

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

type IncrementalMeshConfigResponse Uses

type IncrementalMeshConfigResponse struct {
    // The version of the response data (used for debugging).
    SystemVersionInfo string `protobuf:"bytes,1,opt,name=system_version_info,json=systemVersionInfo,proto3" json:"system_version_info,omitempty"`
    // The response resources wrapped in the common MCP *Resource*
    // message. These are typed resources that match the type url in the
    // IncrementalMeshConfigRequest.
    Resources []Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources"`
    // Resources names of resources that have be deleted and to be
    // removed from the MCP Client.  Removed resources for missing
    // resources can be ignored.
    RemovedResources []string `protobuf:"bytes,3,rep,name=removed_resources,json=removedResources,proto3" json:"removed_resources,omitempty"`
    // The nonce provides a way for IncrementalMeshConfigRequests to
    // uniquely reference an IncrementalMeshConfigResponse. The nonce is
    // required.
    Nonce                string   `protobuf:"bytes,4,opt,name=nonce,proto3" json:"nonce,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

IncrementalMeshConfigResponses do not need to include a full snapshot of the tracked resources. Instead they are a diff to the state of a MCP client. Per resource versions allow servers and clients to track state at the resource granularity. An MCP incremental session is always in the context of a gRPC bidirectional stream. This allows the MCP server to keep track of the state of MCP clients connected to it.

In Incremental MCP the nonce field is required and used to pair IncrementalMeshConfigResponse to an IncrementalMeshConfigRequest ACK or NACK. Optionally, a response message level system_version_info is present for debugging purposes only.

func (*IncrementalMeshConfigResponse) Descriptor Uses

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

func (*IncrementalMeshConfigResponse) Equal Uses

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

func (*IncrementalMeshConfigResponse) GetNonce Uses

func (m *IncrementalMeshConfigResponse) GetNonce() string

func (*IncrementalMeshConfigResponse) GetRemovedResources Uses

func (m *IncrementalMeshConfigResponse) GetRemovedResources() []string

func (*IncrementalMeshConfigResponse) GetResources Uses

func (m *IncrementalMeshConfigResponse) GetResources() []Resource

func (*IncrementalMeshConfigResponse) GetSystemVersionInfo Uses

func (m *IncrementalMeshConfigResponse) GetSystemVersionInfo() string

func (*IncrementalMeshConfigResponse) Marshal Uses

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

func (*IncrementalMeshConfigResponse) MarshalTo Uses

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

func (*IncrementalMeshConfigResponse) MarshalToSizedBuffer Uses

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

func (*IncrementalMeshConfigResponse) ProtoMessage Uses

func (*IncrementalMeshConfigResponse) ProtoMessage()

func (*IncrementalMeshConfigResponse) Reset Uses

func (m *IncrementalMeshConfigResponse) Reset()

func (*IncrementalMeshConfigResponse) Size Uses

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

func (*IncrementalMeshConfigResponse) String Uses

func (m *IncrementalMeshConfigResponse) String() string

func (*IncrementalMeshConfigResponse) Unmarshal Uses

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

func (*IncrementalMeshConfigResponse) XXX_DiscardUnknown Uses

func (m *IncrementalMeshConfigResponse) XXX_DiscardUnknown()

func (*IncrementalMeshConfigResponse) XXX_Marshal Uses

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

func (*IncrementalMeshConfigResponse) XXX_Merge Uses

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

func (*IncrementalMeshConfigResponse) XXX_Size Uses

func (m *IncrementalMeshConfigResponse) XXX_Size() int

func (*IncrementalMeshConfigResponse) XXX_Unmarshal Uses

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

type MeshConfigRequest Uses

type MeshConfigRequest struct {
    // The version_info provided in the request messages will be the
    // version_info received with the most recent successfully processed
    // response or empty on the first request. It is expected that no
    // new request is sent after a response is received until the client
    // instance is ready to ACK/NACK the new configuration. ACK/NACK
    // takes place by returning the new API config version as applied or
    // the previous API config version respectively. Each type_url (see
    // below) has an independent version associated with it.
    VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
    // The sink node making the request.
    SinkNode *SinkNode `protobuf:"bytes,2,opt,name=sink_node,json=sinkNode,proto3" json:"sink_node,omitempty"`
    // Type of the resource that is being requested, e.g.
    // "type.googleapis.com/istio.io.networking.v1alpha3.VirtualService".
    TypeUrl string `protobuf:"bytes,3,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
    // The nonce corresponding to MeshConfigResponse being
    // ACK/NACKed. See above discussion on version_info and the
    // MeshConfigResponse nonce comment. This may be empty if no nonce is
    // available, e.g. at startup.
    ResponseNonce string `protobuf:"bytes,4,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"`
    // This is populated when the previous MeshConfigResponse failed to
    // update configuration. The *message* field in *error_details*
    // provides the client internal exception related to the failure. It
    // is only intended for consumption during manual debugging, the
    // string provided is not guaranteed to be stable across client
    // versions.
    ErrorDetail          *rpc.Status `protobuf:"bytes,5,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"`
    XXX_NoUnkeyedLiteral struct{}    `json:"-"`
    XXX_unrecognized     []byte      `json:"-"`
    XXX_sizecache        int32       `json:"-"`
}

A MeshConfigRequest requests a set of versioned resources of the same type for a given client.

func (*MeshConfigRequest) Descriptor Uses

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

func (*MeshConfigRequest) Equal Uses

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

func (*MeshConfigRequest) GetErrorDetail Uses

func (m *MeshConfigRequest) GetErrorDetail() *rpc.Status

func (*MeshConfigRequest) GetResponseNonce Uses

func (m *MeshConfigRequest) GetResponseNonce() string

func (*MeshConfigRequest) GetSinkNode Uses

func (m *MeshConfigRequest) GetSinkNode() *SinkNode

func (*MeshConfigRequest) GetTypeUrl Uses

func (m *MeshConfigRequest) GetTypeUrl() string

func (*MeshConfigRequest) GetVersionInfo Uses

func (m *MeshConfigRequest) GetVersionInfo() string

func (*MeshConfigRequest) Marshal Uses

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

func (*MeshConfigRequest) MarshalTo Uses

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

func (*MeshConfigRequest) MarshalToSizedBuffer Uses

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

func (*MeshConfigRequest) ProtoMessage Uses

func (*MeshConfigRequest) ProtoMessage()

func (*MeshConfigRequest) Reset Uses

func (m *MeshConfigRequest) Reset()

func (*MeshConfigRequest) Size Uses

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

func (*MeshConfigRequest) String Uses

func (m *MeshConfigRequest) String() string

func (*MeshConfigRequest) Unmarshal Uses

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

func (*MeshConfigRequest) XXX_DiscardUnknown Uses

func (m *MeshConfigRequest) XXX_DiscardUnknown()

func (*MeshConfigRequest) XXX_Marshal Uses

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

func (*MeshConfigRequest) XXX_Merge Uses

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

func (*MeshConfigRequest) XXX_Size Uses

func (m *MeshConfigRequest) XXX_Size() int

func (*MeshConfigRequest) XXX_Unmarshal Uses

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

type MeshConfigResponse Uses

type MeshConfigResponse struct {
    // The version of the response data.
    VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
    // The response resources wrapped in the common MCP *Resource*
    // message.
    Resources []Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources"`
    // Type URL for resources wrapped in the provided resources(s). This
    // must be consistent with the type_url in the wrapper messages if
    // resources is non-empty.
    TypeUrl string `protobuf:"bytes,3,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
    // The nonce provides a way to explicitly ack a specific
    // MeshConfigResponse in a following MeshConfigRequest. Additional
    // messages may have been sent by client to the management server for
    // the previous version on the stream prior to this
    // MeshConfigResponse, that were unprocessed at response send
    // time. The nonce allows the management server to ignore any
    // further MeshConfigRequests for the previous version until a
    // MeshConfigRequest bearing the nonce.
    Nonce                string   `protobuf:"bytes,4,opt,name=nonce,proto3" json:"nonce,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

A MeshConfigResponse delivers a set of versioned resources of the same type in response to a MeshConfigRequest.

func (*MeshConfigResponse) Descriptor Uses

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

func (*MeshConfigResponse) Equal Uses

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

func (*MeshConfigResponse) GetNonce Uses

func (m *MeshConfigResponse) GetNonce() string

func (*MeshConfigResponse) GetResources Uses

func (m *MeshConfigResponse) GetResources() []Resource

func (*MeshConfigResponse) GetTypeUrl Uses

func (m *MeshConfigResponse) GetTypeUrl() string

func (*MeshConfigResponse) GetVersionInfo Uses

func (m *MeshConfigResponse) GetVersionInfo() string

func (*MeshConfigResponse) Marshal Uses

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

func (*MeshConfigResponse) MarshalTo Uses

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

func (*MeshConfigResponse) MarshalToSizedBuffer Uses

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

func (*MeshConfigResponse) ProtoMessage Uses

func (*MeshConfigResponse) ProtoMessage()

func (*MeshConfigResponse) Reset Uses

func (m *MeshConfigResponse) Reset()

func (*MeshConfigResponse) Size Uses

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

func (*MeshConfigResponse) String Uses

func (m *MeshConfigResponse) String() string

func (*MeshConfigResponse) Unmarshal Uses

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

func (*MeshConfigResponse) XXX_DiscardUnknown Uses

func (m *MeshConfigResponse) XXX_DiscardUnknown()

func (*MeshConfigResponse) XXX_Marshal Uses

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

func (*MeshConfigResponse) XXX_Merge Uses

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

func (*MeshConfigResponse) XXX_Size Uses

func (m *MeshConfigResponse) XXX_Size() int

func (*MeshConfigResponse) XXX_Unmarshal Uses

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

type Metadata Uses

type Metadata struct {
    // Fully qualified name of the resource. Unique in context of a collection.
    //
    // The fully qualified name consists of a directory and basename. The directory identifies
    // the resources location in a resource hierarchy. The basename identifies the specific
    // resource name within the context of that directory.
    //
    // The directory and basename are composed of one or more segments. Segments must be
    // valid [DNS labels](https://tools.ietf.org/html/rfc1123). "/" is the delimiter between
    // segments
    //
    // The rightmost segment is the basename. All segments to the
    // left of the basename form the directory. Segments moving towards the left
    // represent higher positions in the resource hierarchy, similar to reverse
    // DNS notation. e.g.
    //
    //    /<org>/<team>/<subteam>/<resource basename>
    //
    // An empty directory indicates a resource that is located at the root of the
    // hierarchy, e.g.
    //
    //    /<globally scoped resource>
    //
    // On Kubernetes the resource hierarchy is two-levels: namespaces and
    // cluster-scoped (i.e. global).
    //
    // Namespace resources fully qualified name is of the form:
    //
    //    "<k8s namespace>/<k8s resource name>"
    //
    // Cluster scoped resources are located at the root of the hierarchy and are of the form:
    //
    //    "/<k8s resource name>"
    Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    // The creation timestamp of the resource.
    CreateTime *types.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
    // Resource version. This is used to determine when resources change across
    // resource updates. It should be treated as opaque by consumers/sinks.
    Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
    // Map of string keys and values that can be used to organize and categorize
    // resources within a collection.
    Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    // Map of string keys and values that can be used by source and sink to communicate
    // arbitrary metadata about this resource.
    Annotations          map[string]string `protobuf:"bytes,5,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    XXX_NoUnkeyedLiteral struct{}          `json:"-"`
    XXX_unrecognized     []byte            `json:"-"`
    XXX_sizecache        int32             `json:"-"`
}

Metadata information that all resources within the Mesh Configuration Protocol must have.

func (*Metadata) Descriptor Uses

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

func (*Metadata) Equal Uses

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

func (*Metadata) GetAnnotations Uses

func (m *Metadata) GetAnnotations() map[string]string

func (*Metadata) GetCreateTime Uses

func (m *Metadata) GetCreateTime() *types.Timestamp

func (*Metadata) GetLabels Uses

func (m *Metadata) GetLabels() map[string]string

func (*Metadata) GetName Uses

func (m *Metadata) GetName() string

func (*Metadata) GetVersion Uses

func (m *Metadata) GetVersion() string

func (*Metadata) Marshal Uses

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

func (*Metadata) MarshalTo Uses

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

func (*Metadata) MarshalToSizedBuffer Uses

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

func (*Metadata) ProtoMessage Uses

func (*Metadata) ProtoMessage()

func (*Metadata) Reset Uses

func (m *Metadata) Reset()

func (*Metadata) Size Uses

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

func (*Metadata) String Uses

func (m *Metadata) String() string

func (*Metadata) Unmarshal Uses

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

func (*Metadata) XXX_DiscardUnknown Uses

func (m *Metadata) XXX_DiscardUnknown()

func (*Metadata) XXX_Marshal Uses

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

func (*Metadata) XXX_Merge Uses

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

func (*Metadata) XXX_Size Uses

func (m *Metadata) XXX_Size() int

func (*Metadata) XXX_Unmarshal Uses

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

type RequestResources Uses

type RequestResources struct {
    // The sink node making the request.
    SinkNode *SinkNode `protobuf:"bytes,1,opt,name=sink_node,json=sinkNode,proto3" json:"sink_node,omitempty"`
    // Type of resource collection that is being requested, e.g.
    //
    // istio/networking/v1alpha3/VirtualService
    // k8s/<apiVersion>/<kind>
    Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
    // When the RequestResources is the first in a stream, the initial_resource_versions must
    // be populated. Otherwise, initial_resource_versions must be omitted. The keys are the
    // resources names of the MCP resources known to the MCP client. The values in the map
    // are the associated resource level version info.
    InitialResourceVersions map[string]string `protobuf:"bytes,3,rep,name=initial_resource_versions,json=initialResourceVersions,proto3" json:"initial_resource_versions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    // When the RequestResources is an ACK or NACK message in response to a previous RequestResources,
    // the response_nonce must be the nonce in the RequestResources. Otherwise response_nonce must
    // be omitted.
    ResponseNonce string `protobuf:"bytes,4,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"`
    // This is populated when the previously received resources could not be applied
    // The *message* field in *error_details* provides the source internal error
    // related to the failure.
    ErrorDetail *rpc.Status `protobuf:"bytes,5,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"`
    // Request an incremental update for the specified collection. The source may choose to
    // honor this request or ignore and and provide a full-state update in the corresponding
    // `Resource` response.
    Incremental          bool     `protobuf:"varint,6,opt,name=incremental,proto3" json:"incremental,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

A RequestResource can be sent in two situations:

Initial message in an MCP bidirectional change stream as an ACK or NACK response to a previous Resources. In this case the response_nonce is set to the nonce value in the Resources. ACK/NACK is determined by the presence of error_detail.

* ACK (nonce!="",error_details==nil) * NACK (nonce!="",error_details!=nil) * New/Update request (nonce=="",error_details ignored)

func (*RequestResources) Descriptor Uses

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

func (*RequestResources) Equal Uses

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

func (*RequestResources) GetCollection Uses

func (m *RequestResources) GetCollection() string

func (*RequestResources) GetErrorDetail Uses

func (m *RequestResources) GetErrorDetail() *rpc.Status

func (*RequestResources) GetIncremental Uses

func (m *RequestResources) GetIncremental() bool

func (*RequestResources) GetInitialResourceVersions Uses

func (m *RequestResources) GetInitialResourceVersions() map[string]string

func (*RequestResources) GetResponseNonce Uses

func (m *RequestResources) GetResponseNonce() string

func (*RequestResources) GetSinkNode Uses

func (m *RequestResources) GetSinkNode() *SinkNode

func (*RequestResources) Marshal Uses

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

func (*RequestResources) MarshalTo Uses

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

func (*RequestResources) MarshalToSizedBuffer Uses

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

func (*RequestResources) ProtoMessage Uses

func (*RequestResources) ProtoMessage()

func (*RequestResources) Reset Uses

func (m *RequestResources) Reset()

func (*RequestResources) Size Uses

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

func (*RequestResources) String Uses

func (m *RequestResources) String() string

func (*RequestResources) Unmarshal Uses

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

func (*RequestResources) XXX_DiscardUnknown Uses

func (m *RequestResources) XXX_DiscardUnknown()

func (*RequestResources) XXX_Marshal Uses

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

func (*RequestResources) XXX_Merge Uses

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

func (*RequestResources) XXX_Size Uses

func (m *RequestResources) XXX_Size() int

func (*RequestResources) XXX_Unmarshal Uses

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

type Resource Uses

type Resource struct {
    // Common metadata describing the resource.
    Metadata *Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
    // The primary payload for the resource.
    Body                 *types.Any `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"`
    XXX_NoUnkeyedLiteral struct{}   `json:"-"`
    XXX_unrecognized     []byte     `json:"-"`
    XXX_sizecache        int32      `json:"-"`
}

Resource as transferred via the Mesh Configuration Protocol. Each resource is made up of common metadata, and a type-specific resource payload.

func (*Resource) Descriptor Uses

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

func (*Resource) Equal Uses

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

func (*Resource) GetBody Uses

func (m *Resource) GetBody() *types.Any

func (*Resource) GetMetadata Uses

func (m *Resource) GetMetadata() *Metadata

func (*Resource) Marshal Uses

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

func (*Resource) MarshalTo Uses

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

func (*Resource) MarshalToSizedBuffer Uses

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

func (*Resource) ProtoMessage Uses

func (*Resource) ProtoMessage()

func (*Resource) Reset Uses

func (m *Resource) Reset()

func (*Resource) Size Uses

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

func (*Resource) String Uses

func (m *Resource) String() string

func (*Resource) Unmarshal Uses

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

func (*Resource) XXX_DiscardUnknown Uses

func (m *Resource) XXX_DiscardUnknown()

func (*Resource) XXX_Marshal Uses

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

func (*Resource) XXX_Merge Uses

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

func (*Resource) XXX_Size Uses

func (m *Resource) XXX_Size() int

func (*Resource) XXX_Unmarshal Uses

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

type ResourceSinkClient Uses

type ResourceSinkClient interface {
    // The source, acting as gRPC client, establishes a new resource stream
    // with the sink. The sink sends RequestResources message to and
    // receives Resources messages from the source.
    EstablishResourceStream(ctx context.Context, opts ...grpc.CallOption) (ResourceSink_EstablishResourceStreamClient, error)
}

ResourceSinkClient is the client API for ResourceSink service.

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

func NewResourceSinkClient Uses

func NewResourceSinkClient(cc *grpc.ClientConn) ResourceSinkClient

type ResourceSinkServer Uses

type ResourceSinkServer interface {
    // The source, acting as gRPC client, establishes a new resource stream
    // with the sink. The sink sends RequestResources message to and
    // receives Resources messages from the source.
    EstablishResourceStream(ResourceSink_EstablishResourceStreamServer) error
}

ResourceSinkServer is the server API for ResourceSink service.

type ResourceSink_EstablishResourceStreamClient Uses

type ResourceSink_EstablishResourceStreamClient interface {
    Send(*Resources) error
    Recv() (*RequestResources, error)
    grpc.ClientStream
}

type ResourceSink_EstablishResourceStreamServer Uses

type ResourceSink_EstablishResourceStreamServer interface {
    Send(*RequestResources) error
    Recv() (*Resources, error)
    grpc.ServerStream
}

type ResourceSourceClient Uses

type ResourceSourceClient interface {
    // The sink, acting as gRPC client, establishes a new resource stream
    // with the source. The sink sends RequestResources message to
    // and receives Resources messages from the source.
    EstablishResourceStream(ctx context.Context, opts ...grpc.CallOption) (ResourceSource_EstablishResourceStreamClient, error)
}

ResourceSourceClient is the client API for ResourceSource service.

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

func NewResourceSourceClient Uses

func NewResourceSourceClient(cc *grpc.ClientConn) ResourceSourceClient

type ResourceSourceServer Uses

type ResourceSourceServer interface {
    // The sink, acting as gRPC client, establishes a new resource stream
    // with the source. The sink sends RequestResources message to
    // and receives Resources messages from the source.
    EstablishResourceStream(ResourceSource_EstablishResourceStreamServer) error
}

ResourceSourceServer is the server API for ResourceSource service.

type ResourceSource_EstablishResourceStreamClient Uses

type ResourceSource_EstablishResourceStreamClient interface {
    Send(*RequestResources) error
    Recv() (*Resources, error)
    grpc.ClientStream
}

type ResourceSource_EstablishResourceStreamServer Uses

type ResourceSource_EstablishResourceStreamServer interface {
    Send(*Resources) error
    Recv() (*RequestResources, error)
    grpc.ServerStream
}

type Resources Uses

type Resources struct {
    // The version of the response data (used for debugging).
    SystemVersionInfo string `protobuf:"bytes,1,opt,name=system_version_info,json=systemVersionInfo,proto3" json:"system_version_info,omitempty"`
    // Type of resource collection that is being requested, e.g.
    //
    // istio/networking/v1alpha3/VirtualService
    // k8s/<apiVersion>/<kind>
    Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
    // The response resources wrapped in the common MCP *Resource* message.
    // These are typed resources that match the type url in the
    // RequestResources message.
    //
    // When `incremental` is true, this contains an array of resources to add/update
    // for the specified collection. This modifies the existing collection at the sink
    //
    // When `incremental` is false, this contains the full set of resources for the
    // specified collection. This replaces any previously delivered resources.
    Resources []Resource `protobuf:"bytes,3,rep,name=resources,proto3" json:"resources"`
    // Names of resources that have been deleted and to be
    // removed from the MCP sink node. Removed resources for missing
    // resources can be ignored.
    //
    // When `incremental` is true, this contains an array of resource names to remove
    // for the specified collection. This modifies the existing resource collection at
    // the sink.
    //
    // When `incremental` is false, this field should be ignored.
    RemovedResources []string `protobuf:"bytes,4,rep,name=removed_resources,json=removedResources,proto3" json:"removed_resources,omitempty"`
    // Required. The nonce provides a way for RequestChange to uniquely
    // reference a RequestResources.
    Nonce string `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"`
    // This resource response is an incremental update. The source should only send
    // incremental updates if the sink requested them.
    Incremental          bool     `protobuf:"varint,6,opt,name=incremental,proto3" json:"incremental,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Resources do not need to include a full snapshot of the tracked resources. Instead they are a diff to the state of a MCP client. Per resource versions allow sources and sinks to track state at the resource granularity. An MCP incremental session is always in the context of a gRPC bidirectional stream. This allows the MCP source to keep track of the state of MCP sink connected to it.

In Incremental MCP the nonce field is required and used to pair Resources to an RequestResources ACK or NACK.

func (*Resources) Descriptor Uses

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

func (*Resources) Equal Uses

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

func (*Resources) GetCollection Uses

func (m *Resources) GetCollection() string

func (*Resources) GetIncremental Uses

func (m *Resources) GetIncremental() bool

func (*Resources) GetNonce Uses

func (m *Resources) GetNonce() string

func (*Resources) GetRemovedResources Uses

func (m *Resources) GetRemovedResources() []string

func (*Resources) GetResources Uses

func (m *Resources) GetResources() []Resource

func (*Resources) GetSystemVersionInfo Uses

func (m *Resources) GetSystemVersionInfo() string

func (*Resources) Marshal Uses

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

func (*Resources) MarshalTo Uses

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

func (*Resources) MarshalToSizedBuffer Uses

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

func (*Resources) ProtoMessage Uses

func (*Resources) ProtoMessage()

func (*Resources) Reset Uses

func (m *Resources) Reset()

func (*Resources) Size Uses

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

func (*Resources) String Uses

func (m *Resources) String() string

func (*Resources) Unmarshal Uses

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

func (*Resources) XXX_DiscardUnknown Uses

func (m *Resources) XXX_DiscardUnknown()

func (*Resources) XXX_Marshal Uses

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

func (*Resources) XXX_Merge Uses

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

func (*Resources) XXX_Size Uses

func (m *Resources) XXX_Size() int

func (*Resources) XXX_Unmarshal Uses

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

type SinkNode Uses

type SinkNode struct {
    // An opaque identifier for the MCP node.
    Id  string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    // Opaque annotations extending the node identifier.
    Annotations          map[string]string `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    XXX_NoUnkeyedLiteral struct{}          `json:"-"`
    XXX_unrecognized     []byte            `json:"-"`
    XXX_sizecache        int32             `json:"-"`
}

Identifies a specific MCP sink node instance. The node identifier is presented to the resource source, which may use this identifier to distinguish per sink configuration for serving. This information is not authoritative. Authoritative identity should come from the underlying transport layer (e.g. rpc credentials).

func (*SinkNode) Descriptor Uses

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

func (*SinkNode) Equal Uses

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

func (*SinkNode) GetAnnotations Uses

func (m *SinkNode) GetAnnotations() map[string]string

func (*SinkNode) GetId Uses

func (m *SinkNode) GetId() string

func (*SinkNode) Marshal Uses

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

func (*SinkNode) MarshalTo Uses

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

func (*SinkNode) MarshalToSizedBuffer Uses

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

func (*SinkNode) ProtoMessage Uses

func (*SinkNode) ProtoMessage()

func (*SinkNode) Reset Uses

func (m *SinkNode) Reset()

func (*SinkNode) Size Uses

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

func (*SinkNode) String Uses

func (m *SinkNode) String() string

func (*SinkNode) Unmarshal Uses

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

func (*SinkNode) XXX_DiscardUnknown Uses

func (m *SinkNode) XXX_DiscardUnknown()

func (*SinkNode) XXX_Marshal Uses

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

func (*SinkNode) XXX_Merge Uses

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

func (*SinkNode) XXX_Size Uses

func (m *SinkNode) XXX_Size() int

func (*SinkNode) XXX_Unmarshal Uses

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

type UnimplementedAggregatedMeshConfigServiceServer Uses

type UnimplementedAggregatedMeshConfigServiceServer struct {
}

UnimplementedAggregatedMeshConfigServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedAggregatedMeshConfigServiceServer) IncrementalAggregatedResources Uses

func (*UnimplementedAggregatedMeshConfigServiceServer) IncrementalAggregatedResources(srv AggregatedMeshConfigService_IncrementalAggregatedResourcesServer) error

func (*UnimplementedAggregatedMeshConfigServiceServer) StreamAggregatedResources Uses

func (*UnimplementedAggregatedMeshConfigServiceServer) StreamAggregatedResources(srv AggregatedMeshConfigService_StreamAggregatedResourcesServer) error

type UnimplementedResourceSinkServer Uses

type UnimplementedResourceSinkServer struct {
}

UnimplementedResourceSinkServer can be embedded to have forward compatible implementations.

func (*UnimplementedResourceSinkServer) EstablishResourceStream Uses

func (*UnimplementedResourceSinkServer) EstablishResourceStream(srv ResourceSink_EstablishResourceStreamServer) error

type UnimplementedResourceSourceServer Uses

type UnimplementedResourceSourceServer struct {
}

UnimplementedResourceSourceServer can be embedded to have forward compatible implementations.

func (*UnimplementedResourceSourceServer) EstablishResourceStream Uses

func (*UnimplementedResourceSourceServer) EstablishResourceStream(srv ResourceSource_EstablishResourceStreamServer) error

Package v1alpha1 imports 13 packages (graph) and is imported by 39 packages. Updated 2019-11-06. Refresh now. Tools for package owners.