diff --git a/csi.proto b/csi.proto index b6f4b734..e6c6c761 100644 --- a/csi.proto +++ b/csi.proto @@ -555,13 +555,7 @@ message NodeStageVolumeRequest { map volume_attributes = 7; } -message NodeStageVolumeResponse { - // The SP specific information that will be passed to the Plugin in - // the subsequent `NodePublishVolume` calls - // for the given volume. - // This information is opaque to the CO. This field is OPTIONAL. - map publish_volume_info = 1; -} +message NodeStageVolumeResponse {} //////// //////// message NodeUnstageVolumeRequest { diff --git a/lib/go/csi/csi.pb.go b/lib/go/csi/csi.pb.go index 6012e91a..7af15f67 100644 --- a/lib/go/csi/csi.pb.go +++ b/lib/go/csi/csi.pb.go @@ -2,7 +2,7 @@ // source: csi.proto /* -Package csi is a generated protocol buffer package.s +Package csi is a generated protocol buffer package. It is generated from these files: csi.proto @@ -17,7 +17,7 @@ It has these top-level messages: CreateVolumeResponse VolumeCapability CapacityRange - VolumeInfo + Volume DeleteVolumeRequest DeleteVolumeResponse ControllerPublishVolumeRequest @@ -43,8 +43,8 @@ It has these top-level messages: NodePublishVolumeResponse NodeUnpublishVolumeRequest NodeUnpublishVolumeResponse - GetNodeIDRequest - GetNodeIDResponse + NodeGetIdRequest + NodeGetIdResponse NodeProbeRequest NodeProbeResponse NodeGetCapabilitiesRequest @@ -203,9 +203,12 @@ func (m *GetSupportedVersionsResponse) GetSupportedVersions() []*Version { // Specifies a version in Semantic Version 2.0 format. // (http://semver.org/spec/v2.0.0.html) type Version struct { - Major uint32 `protobuf:"varint,1,opt,name=major" json:"major,omitempty"` - Minor uint32 `protobuf:"varint,2,opt,name=minor" json:"minor,omitempty"` - Patch uint32 `protobuf:"varint,3,opt,name=patch" json:"patch,omitempty"` + // The value of this field MUST NOT be negative. + Major int32 `protobuf:"varint,1,opt,name=major" json:"major,omitempty"` + // The value of this field MUST NOT be negative. + Minor int32 `protobuf:"varint,2,opt,name=minor" json:"minor,omitempty"` + // The value of this field MUST NOT be negative. + Patch int32 `protobuf:"varint,3,opt,name=patch" json:"patch,omitempty"` } func (m *Version) Reset() { *m = Version{} } @@ -213,21 +216,21 @@ func (m *Version) String() string { return proto.CompactTextString(m) func (*Version) ProtoMessage() {} func (*Version) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } -func (m *Version) GetMajor() uint32 { +func (m *Version) GetMajor() int32 { if m != nil { return m.Major } return 0 } -func (m *Version) GetMinor() uint32 { +func (m *Version) GetMinor() int32 { if m != nil { return m.Minor } return 0 } -func (m *Version) GetPatch() uint32 { +func (m *Version) GetPatch() int32 { if m != nil { return m.Patch } @@ -397,7 +400,7 @@ type CreateVolumeResponse struct { // Contains all attributes of the newly created volume that are // relevant to the CO along with information required by the Plugin // to uniquely identify the volume. This field is REQUIRED. - VolumeInfo *VolumeInfo `protobuf:"bytes,1,opt,name=volume_info,json=volumeInfo" json:"volume_info,omitempty"` + Volume *Volume `protobuf:"bytes,1,opt,name=volume" json:"volume,omitempty"` } func (m *CreateVolumeResponse) Reset() { *m = CreateVolumeResponse{} } @@ -405,9 +408,9 @@ func (m *CreateVolumeResponse) String() string { return proto.Compact func (*CreateVolumeResponse) ProtoMessage() {} func (*CreateVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } -func (m *CreateVolumeResponse) GetVolumeInfo() *VolumeInfo { +func (m *CreateVolumeResponse) GetVolume() *Volume { if m != nil { - return m.VolumeInfo + return m.Volume } return nil } @@ -611,10 +614,12 @@ func (m *VolumeCapability_AccessMode) GetMode() VolumeCapability_AccessMode_Mode type CapacityRange struct { // Volume must be at least this big. This field is OPTIONAL. // A value of 0 is equal to an unspecified field value. - RequiredBytes uint64 `protobuf:"varint,1,opt,name=required_bytes,json=requiredBytes" json:"required_bytes,omitempty"` + // The value of this field MUST NOT be negative. + RequiredBytes int64 `protobuf:"varint,1,opt,name=required_bytes,json=requiredBytes" json:"required_bytes,omitempty"` // Volume must not be bigger than this. This field is OPTIONAL. // A value of 0 is equal to an unspecified field value. - LimitBytes uint64 `protobuf:"varint,2,opt,name=limit_bytes,json=limitBytes" json:"limit_bytes,omitempty"` + // The value of this field MUST NOT be negative. + LimitBytes int64 `protobuf:"varint,2,opt,name=limit_bytes,json=limitBytes" json:"limit_bytes,omitempty"` } func (m *CapacityRange) Reset() { *m = CapacityRange{} } @@ -622,14 +627,14 @@ func (m *CapacityRange) String() string { return proto.CompactTextStr func (*CapacityRange) ProtoMessage() {} func (*CapacityRange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } -func (m *CapacityRange) GetRequiredBytes() uint64 { +func (m *CapacityRange) GetRequiredBytes() int64 { if m != nil { return m.RequiredBytes } return 0 } -func (m *CapacityRange) GetLimitBytes() uint64 { +func (m *CapacityRange) GetLimitBytes() int64 { if m != nil { return m.LimitBytes } @@ -637,11 +642,12 @@ func (m *CapacityRange) GetLimitBytes() uint64 { } // The information about a provisioned volume. -type VolumeInfo struct { +type Volume struct { // The capacity of the volume in bytes. This field is OPTIONAL. If not // set (value of 0), it indicates that the capacity of the volume is // unknown (e.g., NFS share). - CapacityBytes uint64 `protobuf:"varint,1,opt,name=capacity_bytes,json=capacityBytes" json:"capacity_bytes,omitempty"` + // The value of this field MUST NOT be negative. + CapacityBytes int64 `protobuf:"varint,1,opt,name=capacity_bytes,json=capacityBytes" json:"capacity_bytes,omitempty"` // Contains identity information for the created volume. This field is // REQUIRED. The identity information will be used by the CO in // subsequent calls to refer to the provisioned volume. @@ -657,26 +663,26 @@ type VolumeInfo struct { Attributes map[string]string `protobuf:"bytes,3,rep,name=attributes" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } -func (m *VolumeInfo) Reset() { *m = VolumeInfo{} } -func (m *VolumeInfo) String() string { return proto.CompactTextString(m) } -func (*VolumeInfo) ProtoMessage() {} -func (*VolumeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +func (m *Volume) Reset() { *m = Volume{} } +func (m *Volume) String() string { return proto.CompactTextString(m) } +func (*Volume) ProtoMessage() {} +func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } -func (m *VolumeInfo) GetCapacityBytes() uint64 { +func (m *Volume) GetCapacityBytes() int64 { if m != nil { return m.CapacityBytes } return 0 } -func (m *VolumeInfo) GetId() string { +func (m *Volume) GetId() string { if m != nil { return m.Id } return "" } -func (m *VolumeInfo) GetAttributes() map[string]string { +func (m *Volume) GetAttributes() map[string]string { if m != nil { return m.Attributes } @@ -748,7 +754,7 @@ type ControllerPublishVolumeRequest struct { // This field is REQUIRED. VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"` // The ID of the node. This field is REQUIRED. The CO SHALL set this - // field to match the node ID returned by `GetNodeID`. + // field to match the node ID returned by `NodeGetId`. NodeId string `protobuf:"bytes,3,opt,name=node_id,json=nodeId" json:"node_id,omitempty"` // The capability of the volume the CO expects the volume to have. // This is a REQUIRED field. @@ -769,7 +775,7 @@ type ControllerPublishVolumeRequest struct { // This field is OPTIONAL. ControllerPublishCredentials map[string]string `protobuf:"bytes,6,rep,name=controller_publish_credentials,json=controllerPublishCredentials" json:"controller_publish_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Attributes of the volume to be used on a node. This field is - // OPTIONAL and MUST match the attributes of the VolumeInfo identified + // OPTIONAL and MUST match the attributes of the Volume identified // by `volume_id`. VolumeAttributes map[string]string `protobuf:"bytes,7,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } @@ -833,7 +839,7 @@ type ControllerPublishVolumeResponse struct { // the subsequent `NodeStageVolume` or `NodePublishVolume` calls // for the given volume. // This information is opaque to the CO. This field is OPTIONAL. - PublishVolumeInfo map[string]string `protobuf:"bytes,1,rep,name=publish_volume_info,json=publishVolumeInfo" json:"publish_volume_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + PublishInfo map[string]string `protobuf:"bytes,1,rep,name=publish_info,json=publishInfo" json:"publish_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (m *ControllerPublishVolumeResponse) Reset() { *m = ControllerPublishVolumeResponse{} } @@ -843,9 +849,9 @@ func (*ControllerPublishVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } -func (m *ControllerPublishVolumeResponse) GetPublishVolumeInfo() map[string]string { +func (m *ControllerPublishVolumeResponse) GetPublishInfo() map[string]string { if m != nil { - return m.PublishVolumeInfo + return m.PublishInfo } return nil } @@ -858,7 +864,7 @@ type ControllerUnpublishVolumeRequest struct { // The ID of the volume. This field is REQUIRED. VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"` // The ID of the node. This field is OPTIONAL. The CO SHOULD set this - // field to match the node ID returned by `GetNodeID` or leave it + // field to match the node ID returned by `NodeGetId` or leave it // unset. If the value is set, the SP MUST unpublish the volume from // the specified node. If the value is unset, the SP MUST unpublish // the volume from all nodes it is published to. @@ -934,7 +940,7 @@ type ValidateVolumeCapabilitiesRequest struct { // specified below are supported. This field is REQUIRED. VolumeCapabilities []*VolumeCapability `protobuf:"bytes,3,rep,name=volume_capabilities,json=volumeCapabilities" json:"volume_capabilities,omitempty"` // Attributes of the volume to check. This field is OPTIONAL and MUST - // match the attributes of the VolumeInfo identified by `volume_id`. + // match the attributes of the Volume identified by `volume_id`. VolumeAttributes map[string]string `protobuf:"bytes,4,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } @@ -1016,7 +1022,8 @@ type ListVolumesRequest struct { // in the subsequent `ListVolumes` call. This field is OPTIONAL. If // not specified (zero value), it means there is no restriction on the // number of entries that can be returned. - MaxEntries uint32 `protobuf:"varint,2,opt,name=max_entries,json=maxEntries" json:"max_entries,omitempty"` + // The value of this field MUST NOT be negative. + MaxEntries int32 `protobuf:"varint,2,opt,name=max_entries,json=maxEntries" json:"max_entries,omitempty"` // A token to specify where to start paginating. Set this field to // `next_token` returned by a previous `ListVolumes` call to get the // next page of entries. This field is OPTIONAL. @@ -1036,7 +1043,7 @@ func (m *ListVolumesRequest) GetVersion() *Version { return nil } -func (m *ListVolumesRequest) GetMaxEntries() uint32 { +func (m *ListVolumesRequest) GetMaxEntries() int32 { if m != nil { return m.MaxEntries } @@ -1081,7 +1088,7 @@ func (m *ListVolumesResponse) GetNextToken() string { } type ListVolumesResponse_Entry struct { - VolumeInfo *VolumeInfo `protobuf:"bytes,1,opt,name=volume_info,json=volumeInfo" json:"volume_info,omitempty"` + Volume *Volume `protobuf:"bytes,1,opt,name=volume" json:"volume,omitempty"` } func (m *ListVolumesResponse_Entry) Reset() { *m = ListVolumesResponse_Entry{} } @@ -1089,9 +1096,9 @@ func (m *ListVolumesResponse_Entry) String() string { return proto.Co func (*ListVolumesResponse_Entry) ProtoMessage() {} func (*ListVolumesResponse_Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19, 0} } -func (m *ListVolumesResponse_Entry) GetVolumeInfo() *VolumeInfo { +func (m *ListVolumesResponse_Entry) GetVolume() *Volume { if m != nil { - return m.VolumeInfo + return m.Volume } return nil } @@ -1146,7 +1153,8 @@ type GetCapacityResponse struct { // specified in the request, the Plugin SHALL take those into // consideration when calculating the available capacity of the // storage. This field is REQUIRED. - AvailableCapacity uint64 `protobuf:"varint,1,opt,name=available_capacity,json=availableCapacity" json:"available_capacity,omitempty"` + // The value of this field MUST NOT be negative. + AvailableCapacity int64 `protobuf:"varint,1,opt,name=available_capacity,json=availableCapacity" json:"available_capacity,omitempty"` } func (m *GetCapacityResponse) Reset() { *m = GetCapacityResponse{} } @@ -1154,7 +1162,7 @@ func (m *GetCapacityResponse) String() string { return proto.CompactT func (*GetCapacityResponse) ProtoMessage() {} func (*GetCapacityResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } -func (m *GetCapacityResponse) GetAvailableCapacity() uint64 { +func (m *GetCapacityResponse) GetAvailableCapacity() int64 { if m != nil { return m.AvailableCapacity } @@ -1433,11 +1441,6 @@ func (m *NodeStageVolumeRequest) GetVolumeAttributes() map[string]string { } type NodeStageVolumeResponse struct { - // The SP specific information that will be passed to the Plugin in - // the subsequent `NodePublishVolume` calls - // for the given volume. - // This information is opaque to the CO. This field is OPTIONAL. - PublishVolumeInfo map[string]string `protobuf:"bytes,1,rep,name=publish_volume_info,json=publishVolumeInfo" json:"publish_volume_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (m *NodeStageVolumeResponse) Reset() { *m = NodeStageVolumeResponse{} } @@ -1445,13 +1448,6 @@ func (m *NodeStageVolumeResponse) String() string { return proto.Comp func (*NodeStageVolumeResponse) ProtoMessage() {} func (*NodeStageVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } -func (m *NodeStageVolumeResponse) GetPublishVolumeInfo() map[string]string { - if m != nil { - return m.PublishVolumeInfo - } - return nil -} - // ////// // ////// type NodeUnstageVolumeRequest struct { @@ -1530,7 +1526,7 @@ type NodePublishVolumeRequest struct { // has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be // left unset if the corresponding Controller Plugin does not have // this capability. This is an OPTIONAL field. - PublishVolumeInfo map[string]string `protobuf:"bytes,3,rep,name=publish_volume_info,json=publishVolumeInfo" json:"publish_volume_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + PublishInfo map[string]string `protobuf:"bytes,3,rep,name=publish_info,json=publishInfo" json:"publish_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // The path to which the device was mounted by `NodeStageVolume`. // It MUST be an absolute path in the root filesystem of the process // serving this request. @@ -1564,7 +1560,7 @@ type NodePublishVolumeRequest struct { // This field is OPTIONAL. NodePublishCredentials map[string]string `protobuf:"bytes,8,rep,name=node_publish_credentials,json=nodePublishCredentials" json:"node_publish_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Attributes of the volume to publish. This field is OPTIONAL and - // MUST match the attributes of the VolumeInfo identified by + // MUST match the attributes of the Volume identified by // `volume_id`. VolumeAttributes map[string]string `protobuf:"bytes,9,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } @@ -1588,9 +1584,9 @@ func (m *NodePublishVolumeRequest) GetVolumeId() string { return "" } -func (m *NodePublishVolumeRequest) GetPublishVolumeInfo() map[string]string { +func (m *NodePublishVolumeRequest) GetPublishInfo() map[string]string { if m != nil { - return m.PublishVolumeInfo + return m.PublishInfo } return nil } @@ -1713,36 +1709,36 @@ func (*NodeUnpublishVolumeResponse) Descriptor() ([]byte, []int) { return fileDe // ////// // ////// -type GetNodeIDRequest struct { +type NodeGetIdRequest struct { // The API version assumed by the CO. This is a REQUIRED field. Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` } -func (m *GetNodeIDRequest) Reset() { *m = GetNodeIDRequest{} } -func (m *GetNodeIDRequest) String() string { return proto.CompactTextString(m) } -func (*GetNodeIDRequest) ProtoMessage() {} -func (*GetNodeIDRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } +func (m *NodeGetIdRequest) Reset() { *m = NodeGetIdRequest{} } +func (m *NodeGetIdRequest) String() string { return proto.CompactTextString(m) } +func (*NodeGetIdRequest) ProtoMessage() {} +func (*NodeGetIdRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } -func (m *GetNodeIDRequest) GetVersion() *Version { +func (m *NodeGetIdRequest) GetVersion() *Version { if m != nil { return m.Version } return nil } -type GetNodeIDResponse struct { +type NodeGetIdResponse struct { // The ID of the node as understood by the SP which SHALL be used by // CO in subsequent `ControllerPublishVolume`. // This is a REQUIRED field. NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId" json:"node_id,omitempty"` } -func (m *GetNodeIDResponse) Reset() { *m = GetNodeIDResponse{} } -func (m *GetNodeIDResponse) String() string { return proto.CompactTextString(m) } -func (*GetNodeIDResponse) ProtoMessage() {} -func (*GetNodeIDResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } +func (m *NodeGetIdResponse) Reset() { *m = NodeGetIdResponse{} } +func (m *NodeGetIdResponse) String() string { return proto.CompactTextString(m) } +func (*NodeGetIdResponse) ProtoMessage() {} +func (*NodeGetIdResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } -func (m *GetNodeIDResponse) GetNodeId() string { +func (m *NodeGetIdResponse) GetNodeId() string { if m != nil { return m.NodeId } @@ -1933,7 +1929,7 @@ func init() { proto.RegisterType((*VolumeCapability_MountVolume)(nil), "csi.VolumeCapability.MountVolume") proto.RegisterType((*VolumeCapability_AccessMode)(nil), "csi.VolumeCapability.AccessMode") proto.RegisterType((*CapacityRange)(nil), "csi.CapacityRange") - proto.RegisterType((*VolumeInfo)(nil), "csi.VolumeInfo") + proto.RegisterType((*Volume)(nil), "csi.Volume") proto.RegisterType((*DeleteVolumeRequest)(nil), "csi.DeleteVolumeRequest") proto.RegisterType((*DeleteVolumeResponse)(nil), "csi.DeleteVolumeResponse") proto.RegisterType((*ControllerPublishVolumeRequest)(nil), "csi.ControllerPublishVolumeRequest") @@ -1961,8 +1957,8 @@ func init() { proto.RegisterType((*NodePublishVolumeResponse)(nil), "csi.NodePublishVolumeResponse") proto.RegisterType((*NodeUnpublishVolumeRequest)(nil), "csi.NodeUnpublishVolumeRequest") proto.RegisterType((*NodeUnpublishVolumeResponse)(nil), "csi.NodeUnpublishVolumeResponse") - proto.RegisterType((*GetNodeIDRequest)(nil), "csi.GetNodeIDRequest") - proto.RegisterType((*GetNodeIDResponse)(nil), "csi.GetNodeIDResponse") + proto.RegisterType((*NodeGetIdRequest)(nil), "csi.NodeGetIdRequest") + proto.RegisterType((*NodeGetIdResponse)(nil), "csi.NodeGetIdResponse") proto.RegisterType((*NodeProbeRequest)(nil), "csi.NodeProbeRequest") proto.RegisterType((*NodeProbeResponse)(nil), "csi.NodeProbeResponse") proto.RegisterType((*NodeGetCapabilitiesRequest)(nil), "csi.NodeGetCapabilitiesRequest") @@ -2414,7 +2410,7 @@ type NodeClient interface { NodeUnstageVolume(ctx context.Context, in *NodeUnstageVolumeRequest, opts ...grpc.CallOption) (*NodeUnstageVolumeResponse, error) NodePublishVolume(ctx context.Context, in *NodePublishVolumeRequest, opts ...grpc.CallOption) (*NodePublishVolumeResponse, error) NodeUnpublishVolume(ctx context.Context, in *NodeUnpublishVolumeRequest, opts ...grpc.CallOption) (*NodeUnpublishVolumeResponse, error) - GetNodeID(ctx context.Context, in *GetNodeIDRequest, opts ...grpc.CallOption) (*GetNodeIDResponse, error) + NodeGetId(ctx context.Context, in *NodeGetIdRequest, opts ...grpc.CallOption) (*NodeGetIdResponse, error) NodeProbe(ctx context.Context, in *NodeProbeRequest, opts ...grpc.CallOption) (*NodeProbeResponse, error) NodeGetCapabilities(ctx context.Context, in *NodeGetCapabilitiesRequest, opts ...grpc.CallOption) (*NodeGetCapabilitiesResponse, error) } @@ -2463,9 +2459,9 @@ func (c *nodeClient) NodeUnpublishVolume(ctx context.Context, in *NodeUnpublishV return out, nil } -func (c *nodeClient) GetNodeID(ctx context.Context, in *GetNodeIDRequest, opts ...grpc.CallOption) (*GetNodeIDResponse, error) { - out := new(GetNodeIDResponse) - err := grpc.Invoke(ctx, "/csi.Node/GetNodeID", in, out, c.cc, opts...) +func (c *nodeClient) NodeGetId(ctx context.Context, in *NodeGetIdRequest, opts ...grpc.CallOption) (*NodeGetIdResponse, error) { + out := new(NodeGetIdResponse) + err := grpc.Invoke(ctx, "/csi.Node/NodeGetId", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -2497,7 +2493,7 @@ type NodeServer interface { NodeUnstageVolume(context.Context, *NodeUnstageVolumeRequest) (*NodeUnstageVolumeResponse, error) NodePublishVolume(context.Context, *NodePublishVolumeRequest) (*NodePublishVolumeResponse, error) NodeUnpublishVolume(context.Context, *NodeUnpublishVolumeRequest) (*NodeUnpublishVolumeResponse, error) - GetNodeID(context.Context, *GetNodeIDRequest) (*GetNodeIDResponse, error) + NodeGetId(context.Context, *NodeGetIdRequest) (*NodeGetIdResponse, error) NodeProbe(context.Context, *NodeProbeRequest) (*NodeProbeResponse, error) NodeGetCapabilities(context.Context, *NodeGetCapabilitiesRequest) (*NodeGetCapabilitiesResponse, error) } @@ -2578,20 +2574,20 @@ func _Node_NodeUnpublishVolume_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Node_GetNodeID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetNodeIDRequest) +func _Node_NodeGetId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NodeGetIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).GetNodeID(ctx, in) + return srv.(NodeServer).NodeGetId(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/csi.Node/GetNodeID", + FullMethod: "/csi.Node/NodeGetId", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).GetNodeID(ctx, req.(*GetNodeIDRequest)) + return srv.(NodeServer).NodeGetId(ctx, req.(*NodeGetIdRequest)) } return interceptor(ctx, in, info, handler) } @@ -2653,8 +2649,8 @@ var _Node_serviceDesc = grpc.ServiceDesc{ Handler: _Node_NodeUnpublishVolume_Handler, }, { - MethodName: "GetNodeID", - Handler: _Node_GetNodeID_Handler, + MethodName: "NodeGetId", + Handler: _Node_NodeGetId_Handler, }, { MethodName: "NodeProbe", @@ -2672,149 +2668,149 @@ var _Node_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("csi.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 2297 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x3a, 0xcd, 0x73, 0xe3, 0x48, - 0xf5, 0x96, 0xed, 0x7c, 0xf8, 0x79, 0x3c, 0xe3, 0x74, 0x32, 0x89, 0x47, 0xf9, 0xf2, 0x68, 0x76, - 0x66, 0xf3, 0xab, 0xfa, 0xad, 0x0b, 0xb2, 0x50, 0x4c, 0x76, 0x76, 0x16, 0x12, 0xdb, 0xeb, 0x98, - 0x49, 0x9c, 0xa0, 0x38, 0x33, 0xb5, 0xc0, 0x62, 0x14, 0xbb, 0x93, 0x11, 0xb1, 0x25, 0xaf, 0x24, - 0xa7, 0xc6, 0x45, 0x71, 0xe3, 0x06, 0x37, 0x0e, 0xdc, 0xe0, 0xc0, 0x81, 0xda, 0x2a, 0x6e, 0x14, - 0xfc, 0x01, 0xc0, 0x91, 0x2a, 0x2e, 0xc0, 0x99, 0xeb, 0xf2, 0x57, 0x50, 0xea, 0x6e, 0xc9, 0x2d, - 0xa9, 0x65, 0xc7, 0x33, 0x93, 0x85, 0x93, 0xa5, 0xf7, 0xd5, 0xaf, 0x5f, 0xbf, 0xf7, 0xfa, 0xbd, - 0x27, 0x43, 0xa6, 0x6d, 0xeb, 0xa5, 0xbe, 0x65, 0x3a, 0x26, 0x4a, 0xb5, 0x6d, 0x5d, 0x59, 0x87, - 0xd5, 0x1a, 0x76, 0x4e, 0x06, 0xfd, 0xbe, 0x69, 0x39, 0xb8, 0xf3, 0x1c, 0x5b, 0xb6, 0x6e, 0x1a, - 0xb6, 0x8a, 0x3f, 0x1b, 0x60, 0xdb, 0x51, 0xbe, 0x07, 0x6b, 0x62, 0xb4, 0xdd, 0x37, 0x0d, 0x1b, - 0xa3, 0x27, 0x80, 0x6c, 0x0f, 0xd9, 0xba, 0x62, 0xd8, 0x82, 0x54, 0x4c, 0x6d, 0x65, 0xb7, 0x6f, - 0x95, 0xdc, 0xb5, 0x18, 0x8b, 0xba, 0x60, 0x87, 0x85, 0x28, 0xcf, 0x60, 0x8e, 0x3d, 0xa3, 0x25, - 0x98, 0xe9, 0x69, 0x3f, 0x32, 0xad, 0x82, 0x54, 0x94, 0xb6, 0x72, 0x2a, 0x7d, 0x21, 0x50, 0xdd, - 0x30, 0xad, 0x42, 0x92, 0x41, 0xdd, 0x17, 0x17, 0xda, 0xd7, 0x9c, 0xf6, 0xcb, 0x42, 0x8a, 0x42, - 0xc9, 0x8b, 0xf2, 0x11, 0x2c, 0xd5, 0xb0, 0x73, 0xdc, 0x1d, 0x5c, 0xe8, 0x46, 0xdd, 0x38, 0x37, - 0xd9, 0x0e, 0xd0, 0x23, 0x98, 0x63, 0x7a, 0x11, 0xd9, 0x61, 0xb5, 0x3c, 0xa4, 0xf2, 0x0f, 0x09, - 0xee, 0x86, 0x04, 0xb0, 0x3d, 0x22, 0x48, 0x1b, 0x5a, 0x0f, 0x13, 0xf6, 0x8c, 0x4a, 0x9e, 0xd1, - 0x43, 0xb8, 0x7d, 0x85, 0x8d, 0x8e, 0x69, 0x79, 0x9b, 0x26, 0x2a, 0x66, 0xd4, 0x1c, 0x85, 0x7a, - 0xdb, 0xaa, 0xc0, 0x7c, 0x4f, 0x33, 0xf4, 0x73, 0x6c, 0x3b, 0x85, 0x14, 0x31, 0xca, 0x16, 0x59, - 0x5d, 0xb8, 0x50, 0xe9, 0x90, 0x91, 0x56, 0x0d, 0xc7, 0x1a, 0xaa, 0x3e, 0xa7, 0xfc, 0x04, 0x72, - 0x01, 0x14, 0xca, 0x43, 0xea, 0x12, 0x0f, 0x99, 0x42, 0xee, 0xa3, 0x6b, 0x93, 0x2b, 0xad, 0x3b, - 0xc0, 0x4c, 0x0d, 0xfa, 0xf2, 0x41, 0xf2, 0xb1, 0xa4, 0xfc, 0x2e, 0x0d, 0x8b, 0x65, 0x0b, 0x6b, - 0x0e, 0x7e, 0x6e, 0x76, 0x07, 0x3d, 0x3c, 0xa5, 0x5d, 0xfc, 0xdd, 0x27, 0xb9, 0xdd, 0xef, 0xc0, - 0xed, 0xb6, 0xd6, 0xd7, 0xda, 0xba, 0x33, 0x6c, 0x59, 0x9a, 0x71, 0x81, 0xc9, 0x51, 0x64, 0xb7, - 0x11, 0x11, 0x51, 0x66, 0x28, 0xd5, 0xc5, 0xa8, 0xb9, 0x36, 0xff, 0x8a, 0x3e, 0x86, 0xc5, 0x2b, - 0xa2, 0x47, 0xcb, 0x85, 0x9f, 0xe9, 0x5d, 0xdd, 0xd1, 0xb1, 0x5d, 0x48, 0x13, 0xe3, 0xdc, 0xa5, - 0x2a, 0x10, 0x7c, 0xd9, 0x43, 0x0f, 0x55, 0x74, 0x15, 0x84, 0xe8, 0xd8, 0x46, 0xfb, 0x00, 0x7d, - 0xcd, 0xd2, 0x7a, 0xd8, 0xc1, 0x96, 0x5d, 0x98, 0xe1, 0x6c, 0x2b, 0xd8, 0x6c, 0xe9, 0xd8, 0x27, - 0xa5, 0xb6, 0xe5, 0x78, 0xd1, 0x4f, 0x60, 0xbd, 0x6d, 0x1a, 0x8e, 0x65, 0x76, 0xbb, 0xd8, 0x6a, - 0xb5, 0x09, 0xb7, 0xfb, 0xd3, 0xc1, 0x86, 0xa3, 0x6b, 0x5d, 0xbb, 0x30, 0x4b, 0x84, 0xef, 0xc4, - 0x0a, 0x2f, 0xfb, 0xdc, 0x14, 0x5b, 0x1e, 0xf1, 0xd2, 0xd5, 0x56, 0xdb, 0xf1, 0x14, 0xf2, 0x53, - 0xb8, 0x13, 0xd2, 0x6e, 0x9a, 0xe3, 0x95, 0x1b, 0x50, 0x9c, 0xb4, 0xfe, 0x54, 0xee, 0xb2, 0x0f, - 0x4b, 0xc1, 0x3d, 0xb2, 0x20, 0xf8, 0x0a, 0x64, 0xd9, 0xb9, 0xe9, 0xc6, 0xb9, 0xc9, 0x5c, 0xe6, - 0x0e, 0x77, 0x5e, 0xc4, 0x93, 0xe1, 0xca, 0x7f, 0x56, 0x7e, 0x95, 0x86, 0x7c, 0xf8, 0x28, 0xd1, - 0x0e, 0xcc, 0x9c, 0x75, 0xcd, 0xf6, 0x25, 0x13, 0x70, 0x5f, 0x78, 0xe0, 0xa5, 0x3d, 0x97, 0x84, - 0x42, 0xf7, 0x13, 0x2a, 0xe5, 0x70, 0x59, 0x7b, 0xe6, 0xc0, 0x70, 0x88, 0xce, 0xb1, 0xac, 0x87, - 0x2e, 0xc9, 0x88, 0x95, 0x70, 0xa0, 0x5d, 0xc8, 0x6a, 0xed, 0x36, 0xb6, 0xed, 0x56, 0xcf, 0xec, - 0x78, 0xce, 0x5a, 0x14, 0x0b, 0xd8, 0x25, 0x84, 0x87, 0x66, 0x07, 0xab, 0xa0, 0xf9, 0xcf, 0x72, - 0x0e, 0xb2, 0x9c, 0x56, 0x72, 0x0d, 0xb2, 0xdc, 0x4a, 0x68, 0x05, 0xe6, 0xce, 0xed, 0x96, 0x33, - 0xec, 0x7b, 0x59, 0x62, 0xf6, 0xdc, 0x6e, 0x0e, 0xfb, 0x18, 0x6d, 0x42, 0x96, 0xa8, 0xd0, 0x3a, - 0xef, 0x6a, 0x17, 0x76, 0x21, 0x59, 0x4c, 0x6d, 0x65, 0x54, 0x20, 0xa0, 0x8f, 0x5d, 0x88, 0xfc, - 0x85, 0x04, 0x30, 0x5a, 0x12, 0xed, 0x40, 0x9a, 0xa8, 0xe8, 0x4a, 0xb9, 0xbd, 0xfd, 0x70, 0x92, - 0x8a, 0x25, 0xa2, 0x27, 0x61, 0x51, 0x7e, 0x2d, 0x41, 0x9a, 0xc8, 0xc8, 0xc2, 0xdc, 0x69, 0xe3, - 0x59, 0xe3, 0xe8, 0x45, 0x23, 0x9f, 0x40, 0xcb, 0x80, 0x4e, 0xea, 0x8d, 0xda, 0x41, 0xb5, 0xd5, - 0x38, 0xaa, 0x54, 0x5b, 0x2f, 0xd4, 0x7a, 0xb3, 0xaa, 0xe6, 0x25, 0xb4, 0x0a, 0x2b, 0x3c, 0x5c, - 0xad, 0xee, 0x56, 0xaa, 0x6a, 0xeb, 0xa8, 0x71, 0xf0, 0x49, 0x3e, 0x89, 0x64, 0x58, 0x3e, 0x3c, - 0x3d, 0x68, 0xd6, 0xa3, 0xb8, 0x14, 0x5a, 0x83, 0x02, 0x87, 0x63, 0x32, 0x98, 0xd8, 0xb4, 0x2b, - 0x96, 0xc3, 0xd2, 0x47, 0x86, 0x9c, 0xd9, 0xcb, 0xf9, 0xc7, 0xe0, 0x5a, 0x4a, 0x79, 0x01, 0xb9, - 0x40, 0xaa, 0x70, 0x93, 0xaa, 0x85, 0x3f, 0x1b, 0xe8, 0x16, 0xee, 0xb4, 0xce, 0x86, 0x0e, 0xb6, - 0x89, 0x19, 0xd2, 0x6a, 0xce, 0x83, 0xee, 0xb9, 0x40, 0xd7, 0xa6, 0x5d, 0xbd, 0xa7, 0x3b, 0x8c, - 0x26, 0x49, 0x68, 0x80, 0x80, 0x08, 0x81, 0xf2, 0x67, 0x09, 0x60, 0xe4, 0x94, 0xae, 0x58, 0x3f, - 0x5b, 0x05, 0xc4, 0x7a, 0x50, 0x2a, 0xf6, 0x36, 0x24, 0xf5, 0x0e, 0x0b, 0x88, 0xa4, 0xde, 0x41, - 0xdf, 0x04, 0xd0, 0x1c, 0xc7, 0xd2, 0xcf, 0x06, 0x2e, 0x0b, 0xcd, 0xde, 0x9b, 0x21, 0x87, 0x2f, - 0xed, 0xfa, 0x14, 0x2c, 0xb1, 0x8c, 0x58, 0xdc, 0xc8, 0x0e, 0xa1, 0xa7, 0x8a, 0xc4, 0xcf, 0x93, - 0xb0, 0x58, 0xc1, 0x5d, 0xfc, 0xba, 0x89, 0x7b, 0x15, 0x32, 0x5e, 0xc4, 0x7a, 0xdb, 0x9a, 0x67, - 0xe1, 0xd9, 0x09, 0x25, 0xbd, 0x0e, 0x59, 0x26, 0x90, 0xf4, 0x52, 0x5c, 0xd2, 0x13, 0x68, 0xc1, - 0x25, 0x3d, 0x8a, 0x1d, 0x97, 0xf4, 0x22, 0x14, 0xc1, 0xac, 0x25, 0x16, 0x30, 0x95, 0xad, 0x96, - 0x61, 0x29, 0xa8, 0x24, 0xcd, 0x5a, 0xca, 0xbf, 0xd3, 0xb0, 0x31, 0x5a, 0xe8, 0x78, 0x70, 0xd6, - 0xd5, 0xed, 0x97, 0x37, 0x60, 0xce, 0x15, 0x98, 0x33, 0xcc, 0x0e, 0x41, 0xa5, 0x68, 0xfc, 0xbb, - 0xaf, 0xf5, 0x0e, 0xda, 0x83, 0x85, 0xf0, 0x75, 0x37, 0x2c, 0xa4, 0xc9, 0x3a, 0x31, 0x97, 0x5d, - 0xfe, 0x2a, 0x9c, 0x33, 0x65, 0x98, 0xb7, 0xb0, 0xd6, 0x31, 0x8d, 0xee, 0xb0, 0x30, 0x53, 0x94, - 0xb6, 0xe6, 0x55, 0xff, 0x1d, 0xfd, 0x4c, 0x82, 0x0d, 0xee, 0x20, 0xfb, 0x74, 0x87, 0x82, 0xeb, - 0xab, 0x4a, 0xaf, 0xaf, 0xb1, 0xb6, 0x88, 0xa2, 0x23, 0xa7, 0xba, 0xd6, 0x1e, 0x43, 0x82, 0xce, - 0xfd, 0xdd, 0x72, 0x91, 0x33, 0xc7, 0x5f, 0x9f, 0xe3, 0xd7, 0xa7, 0x6f, 0xe1, 0x98, 0x62, 0x16, - 0x19, 0x81, 0xe5, 0x23, 0xb8, 0x3f, 0x51, 0xd5, 0xa9, 0x6e, 0xd1, 0x32, 0xdc, 0x15, 0xae, 0x3d, - 0x95, 0x13, 0xfe, 0x5d, 0x82, 0xcd, 0xd8, 0x0d, 0xb2, 0x6b, 0xf4, 0x12, 0x16, 0xbd, 0x33, 0x0a, - 0x5e, 0xa7, 0xae, 0x8d, 0x9e, 0x8c, 0xb7, 0x11, 0xab, 0x12, 0x03, 0x50, 0x37, 0x09, 0x51, 0x2b, - 0x2d, 0xf4, 0xc3, 0x70, 0xb9, 0x02, 0xcb, 0x62, 0xe2, 0xa9, 0xb6, 0xf5, 0x45, 0x92, 0x0f, 0xd6, - 0x53, 0xa3, 0xff, 0xe5, 0x47, 0xd1, 0x2f, 0x24, 0x28, 0x72, 0x5e, 0x3e, 0x30, 0x44, 0x7e, 0x4e, - 0x4b, 0xc8, 0x7a, 0xc8, 0x86, 0x62, 0x7d, 0x45, 0x04, 0x11, 0x5f, 0xe7, 0x02, 0x4b, 0x44, 0x24, - 0x7f, 0x07, 0x1e, 0x5c, 0x43, 0xcc, 0x54, 0xb6, 0x7e, 0xc0, 0x3b, 0x76, 0x44, 0x75, 0x96, 0xd4, - 0xfe, 0x95, 0x84, 0xfb, 0xcf, 0xb5, 0xae, 0xde, 0xf1, 0xab, 0x34, 0xbe, 0x32, 0x7e, 0xab, 0x27, - 0x12, 0x53, 0xad, 0xa7, 0xa6, 0xad, 0xd6, 0x75, 0x51, 0x62, 0xa0, 0x07, 0xf6, 0x21, 0x95, 0x32, - 0x69, 0x3f, 0xd7, 0xce, 0x0d, 0x6f, 0x25, 0x94, 0xbf, 0x0f, 0xca, 0x38, 0x8d, 0x58, 0x30, 0xaf, - 0x41, 0xc6, 0x6f, 0x6a, 0x89, 0xdc, 0x79, 0x75, 0x04, 0x40, 0x05, 0x98, 0xeb, 0x61, 0xdb, 0xd6, - 0x2e, 0x3c, 0xf9, 0xde, 0xab, 0xf2, 0x53, 0x09, 0xd0, 0x81, 0x6e, 0xb3, 0xe2, 0x71, 0xea, 0x13, - 0x73, 0x6b, 0x4a, 0xed, 0x55, 0x0b, 0x1b, 0x8e, 0xa5, 0xb3, 0xfa, 0x27, 0xa7, 0x42, 0x4f, 0x7b, - 0x55, 0xa5, 0x10, 0xb7, 0xe0, 0xb1, 0x1d, 0xcd, 0x72, 0x74, 0xe3, 0xa2, 0xe5, 0x98, 0x97, 0xd8, - 0x60, 0xe1, 0x94, 0xf3, 0xa0, 0x4d, 0x17, 0xa8, 0x7c, 0x2e, 0xc1, 0x62, 0x40, 0x0d, 0xb6, 0xad, - 0xc7, 0x30, 0xe7, 0xc9, 0xa6, 0x79, 0x69, 0x83, 0xe8, 0x21, 0x20, 0x2d, 0xd1, 0x43, 0xf0, 0xc8, - 0xd1, 0x3a, 0x80, 0x81, 0x5f, 0x39, 0x6c, 0x51, 0xba, 0xeb, 0x8c, 0x0b, 0x21, 0x0b, 0xca, 0x3b, - 0x30, 0x43, 0x8f, 0x62, 0xfa, 0x66, 0xe2, 0xe7, 0x49, 0x40, 0x35, 0xec, 0xf8, 0xf5, 0xe2, 0x94, - 0x26, 0x8b, 0xf1, 0xe3, 0xe4, 0xb4, 0x7e, 0x5c, 0x0b, 0x74, 0x9d, 0x34, 0x0c, 0xde, 0xf5, 0x3a, - 0xfa, 0x90, 0x72, 0xe3, 0x9a, 0xce, 0x37, 0xec, 0xfa, 0x94, 0x0a, 0x2c, 0x06, 0x16, 0x64, 0x27, - 0xf7, 0x1e, 0x20, 0xed, 0x4a, 0xd3, 0xbb, 0xda, 0x59, 0x97, 0xee, 0xd4, 0xc5, 0xb2, 0x6a, 0x77, - 0xc1, 0xc7, 0x78, 0x6c, 0xca, 0xb7, 0x60, 0x99, 0xbb, 0x6c, 0x2c, 0xf3, 0x6c, 0xda, 0x74, 0xae, - 0xdc, 0x83, 0x95, 0x88, 0x04, 0x96, 0xa5, 0xbe, 0xcd, 0xdf, 0x1a, 0x4c, 0xd9, 0xd7, 0xcc, 0x51, - 0x8a, 0xce, 0xa7, 0xc5, 0x88, 0x2c, 0xb6, 0xf9, 0x0a, 0xdc, 0x12, 0x1c, 0x6e, 0x31, 0x74, 0x1f, - 0x9c, 0x60, 0xeb, 0x4a, 0x6f, 0xf3, 0xe7, 0x1c, 0xe0, 0x52, 0x7e, 0x99, 0x84, 0xd5, 0x31, 0xd4, - 0xe8, 0x31, 0xa4, 0xac, 0x7e, 0x9b, 0xa9, 0xfb, 0xce, 0x24, 0xe1, 0x25, 0xf5, 0xb8, 0xbc, 0x9f, - 0x50, 0x5d, 0x16, 0xf9, 0x0f, 0x12, 0xa4, 0xd4, 0xe3, 0x32, 0x7a, 0x0a, 0x69, 0xbf, 0x51, 0xbc, - 0xbd, 0xfd, 0x7f, 0xd7, 0x11, 0x51, 0x72, 0x7b, 0x49, 0x95, 0xb0, 0x29, 0x26, 0xa4, 0x49, 0x67, - 0x19, 0xe8, 0xf2, 0x0a, 0xb0, 0x54, 0x56, 0xab, 0xbb, 0xcd, 0x6a, 0xab, 0x52, 0x3d, 0xa8, 0x36, - 0xab, 0xad, 0xe7, 0x47, 0x07, 0xa7, 0x87, 0xd5, 0xbc, 0xe4, 0xb6, 0x6b, 0xc7, 0xa7, 0x7b, 0x07, - 0xf5, 0x93, 0xfd, 0xd6, 0x69, 0xc3, 0x7b, 0x62, 0xd8, 0x24, 0xca, 0xc3, 0xad, 0x83, 0xfa, 0x49, - 0x93, 0x01, 0x4e, 0xf2, 0x29, 0x17, 0x52, 0xab, 0x36, 0x5b, 0xe5, 0xdd, 0xe3, 0xdd, 0x72, 0xbd, - 0xf9, 0x49, 0x3e, 0xbd, 0x37, 0x4b, 0xf5, 0x55, 0xfe, 0x39, 0x03, 0xcb, 0x0d, 0xb3, 0x83, 0x4f, - 0x1c, 0xed, 0xe2, 0x26, 0x5a, 0x92, 0x33, 0x71, 0x69, 0x44, 0x83, 0x6c, 0x9b, 0x08, 0x14, 0x2f, - 0x7f, 0xfd, 0x8a, 0x08, 0x95, 0x60, 0xd1, 0x76, 0xb4, 0x0b, 0x92, 0x18, 0x35, 0xeb, 0x02, 0x3b, - 0xad, 0xbe, 0xe6, 0xbc, 0x24, 0x05, 0x79, 0x46, 0x5d, 0x60, 0xa8, 0x26, 0xc1, 0x1c, 0x6b, 0xce, - 0x4b, 0x71, 0xf9, 0x3e, 0x33, 0x5d, 0xf9, 0x7e, 0x09, 0xcb, 0xa4, 0xaa, 0x71, 0xa5, 0x8b, 0x06, - 0x4b, 0x5f, 0x1f, 0xb7, 0x35, 0x1f, 0x1c, 0xa9, 0x4e, 0x96, 0x0c, 0x01, 0x0a, 0xfd, 0x20, 0xbe, - 0x02, 0xff, 0xea, 0xb8, 0x75, 0xae, 0x7b, 0xbb, 0xbe, 0x95, 0x92, 0x52, 0xae, 0xc1, 0xbd, 0xd8, - 0x8d, 0x7d, 0xf9, 0x75, 0xfb, 0x5f, 0x24, 0x58, 0x89, 0x98, 0x85, 0x25, 0x95, 0xf6, 0xb8, 0x7a, - 0xfd, 0x7d, 0xb1, 0x45, 0xff, 0x4b, 0x75, 0xfa, 0xdf, 0x92, 0x50, 0x70, 0x75, 0x39, 0x35, 0xec, - 0x1b, 0x8a, 0xd0, 0x98, 0xe8, 0x49, 0xc5, 0x45, 0x8f, 0x0d, 0x05, 0xe2, 0xf9, 0x03, 0x23, 0xea, - 0xfb, 0x69, 0xae, 0x2b, 0x8c, 0xd3, 0x9a, 0x47, 0x44, 0xfc, 0x9f, 0x04, 0x55, 0x14, 0x29, 0xd7, - 0x61, 0x75, 0x0c, 0xdb, 0x54, 0x16, 0x5d, 0xa5, 0x6e, 0x1a, 0x52, 0x8d, 0xdd, 0x6f, 0xbf, 0x99, - 0xa5, 0xe6, 0xbe, 0xb9, 0xa1, 0x42, 0x67, 0x5c, 0x42, 0xfc, 0x9a, 0x6f, 0x39, 0x61, 0x27, 0x7d, - 0x73, 0x29, 0x71, 0x13, 0xb2, 0x3c, 0xdd, 0x0c, 0xa1, 0x03, 0x67, 0x42, 0xce, 0x9c, 0x7d, 0xfd, - 0x91, 0xc7, 0x5c, 0x68, 0xe4, 0xe1, 0x79, 0x95, 0xa8, 0x07, 0x9c, 0x0f, 0x79, 0x95, 0xd0, 0x36, - 0x1c, 0x42, 0xec, 0x55, 0x82, 0xc9, 0xc6, 0x0f, 0x45, 0x79, 0x35, 0x13, 0xca, 0x02, 0x6f, 0x34, - 0xd3, 0x78, 0x3b, 0x99, 0x95, 0x79, 0xff, 0xff, 0xcc, 0x4c, 0x84, 0x85, 0x90, 0x70, 0x92, 0xa1, - 0xfc, 0x35, 0x09, 0x32, 0x0d, 0xb0, 0x9b, 0x9b, 0x29, 0x84, 0xdc, 0x35, 0x15, 0x71, 0xd7, 0x1f, - 0x83, 0xcc, 0x92, 0x54, 0xfc, 0x50, 0xe1, 0x29, 0x97, 0xa6, 0xfa, 0x71, 0x2e, 0x15, 0x3f, 0x48, - 0x28, 0x18, 0x31, 0x68, 0xf9, 0x19, 0xac, 0x8f, 0x65, 0x9d, 0xca, 0xd6, 0xeb, 0x5e, 0xe6, 0x13, - 0x8f, 0x0d, 0x3e, 0x80, 0x7c, 0x0d, 0x3b, 0x2e, 0x45, 0xbd, 0x32, 0x6d, 0x01, 0xfe, 0xff, 0xb0, - 0xc0, 0xf1, 0xb2, 0xbb, 0x91, 0x1b, 0xd7, 0x48, 0xfc, 0xb8, 0xc6, 0x5d, 0x89, 0x1c, 0xfa, 0xeb, - 0x74, 0x14, 0x8b, 0xb0, 0xc0, 0xf1, 0x32, 0xd5, 0x2b, 0xd4, 0x4f, 0xde, 0xb0, 0x8b, 0xf8, 0x94, - 0xda, 0x27, 0xae, 0x7f, 0xf8, 0x28, 0xd4, 0x3f, 0xd0, 0x3b, 0x5e, 0x1e, 0xdd, 0xf1, 0x13, 0x3a, - 0x87, 0x3f, 0x49, 0x70, 0x57, 0x48, 0x87, 0xb6, 0xf9, 0x9e, 0x61, 0x23, 0x5e, 0x20, 0xdf, 0x2d, - 0xf4, 0x68, 0xb3, 0xf0, 0x8d, 0x40, 0xb3, 0xf0, 0x60, 0x3c, 0x2f, 0xdf, 0x26, 0xbc, 0x17, 0xd3, - 0x26, 0x9c, 0x34, 0x77, 0x6b, 0xd5, 0xd6, 0x69, 0x83, 0xfe, 0x7a, 0x6d, 0x82, 0x57, 0xe4, 0x6f, - 0xff, 0x5e, 0x82, 0xf9, 0x3a, 0x71, 0x41, 0x67, 0x88, 0x3e, 0x25, 0x9f, 0xd4, 0x23, 0x1f, 0xff, - 0x51, 0xd1, 0xeb, 0x78, 0xe3, 0xfe, 0x36, 0x20, 0xdf, 0x1f, 0x43, 0xc1, 0xce, 0x34, 0x81, 0xf6, - 0x21, 0x17, 0xf8, 0x0e, 0x8e, 0xee, 0x89, 0xbe, 0x8d, 0x53, 0x81, 0x72, 0xfc, 0x67, 0x73, 0x25, - 0xb1, 0xfd, 0xdb, 0x59, 0x80, 0x51, 0x0b, 0x85, 0xaa, 0x70, 0x8b, 0xff, 0x86, 0x89, 0x0a, 0x71, - 0x9f, 0x6e, 0xe5, 0x7b, 0x02, 0x8c, 0xaf, 0x5f, 0x15, 0x6e, 0xf1, 0x1f, 0x15, 0x98, 0x18, 0xc1, - 0xc7, 0x10, 0x26, 0x46, 0xf8, 0x05, 0x22, 0x81, 0xce, 0x03, 0x3d, 0x32, 0x1f, 0x9a, 0xe8, 0xc1, - 0x35, 0x86, 0xe2, 0xf2, 0x3b, 0xd7, 0x99, 0x0a, 0x2b, 0x09, 0xd4, 0x85, 0x7b, 0xb1, 0xb3, 0x43, - 0xf4, 0xf0, 0x5a, 0x63, 0x51, 0xf9, 0xd1, 0x24, 0x32, 0x7f, 0x35, 0x13, 0xe4, 0xf8, 0x09, 0x19, - 0x7a, 0x74, 0xbd, 0xa1, 0x9e, 0xfc, 0xee, 0x44, 0x3a, 0x7f, 0xc1, 0x3d, 0xc8, 0x72, 0x13, 0x28, - 0xb4, 0x12, 0x9d, 0x49, 0x51, 0x91, 0x85, 0xb8, 0x61, 0x15, 0x95, 0xc1, 0x8d, 0x4d, 0x98, 0x8c, - 0xe8, 0xe4, 0x86, 0xc9, 0x10, 0x4c, 0x58, 0x94, 0x04, 0x6a, 0xc0, 0x9d, 0xd0, 0xc8, 0x03, 0xad, - 0x86, 0x4f, 0x88, 0x4b, 0x7c, 0xf2, 0x9a, 0x18, 0x29, 0x3e, 0xb6, 0x50, 0x6e, 0x8a, 0x1c, 0x9b, - 0x38, 0x03, 0x46, 0x8e, 0x2d, 0x26, 0xc5, 0x29, 0x89, 0xed, 0x3f, 0xa6, 0x21, 0xed, 0xe6, 0x0f, - 0x77, 0x1b, 0xa1, 0xc6, 0x85, 0x6d, 0x43, 0xdc, 0x20, 0xb2, 0x6d, 0xc4, 0xf4, 0x3a, 0x4a, 0x02, - 0x35, 0x69, 0xde, 0x0e, 0xd4, 0xca, 0x68, 0x7d, 0x6c, 0x79, 0x2f, 0x6f, 0xc4, 0xa1, 0xc3, 0x52, - 0x83, 0x51, 0xb3, 0x3e, 0xb6, 0xe0, 0xe2, 0xa4, 0xc6, 0x45, 0xca, 0x77, 0x61, 0x51, 0x70, 0x51, - 0xa2, 0xcd, 0x09, 0xb7, 0xbc, 0x5c, 0x8c, 0x27, 0xf0, 0x65, 0x7f, 0x08, 0x19, 0xff, 0xa6, 0x44, - 0x77, 0x3d, 0x3f, 0x0a, 0xdc, 0xba, 0xf2, 0x72, 0x18, 0xcc, 0x73, 0xfb, 0xb7, 0x1f, 0xe3, 0x0e, - 0xdf, 0xa4, 0x8c, 0x3b, 0x7a, 0x49, 0xfa, 0xfb, 0x0a, 0x3b, 0xd1, 0x68, 0x5f, 0x31, 0xee, 0x53, - 0x8c, 0x27, 0xf0, 0x64, 0x9f, 0xcd, 0x92, 0xff, 0x8c, 0xbd, 0xff, 0x9f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x73, 0x62, 0x72, 0x8e, 0x40, 0x26, 0x00, 0x00, + // 2290 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x1a, 0x4d, 0x73, 0x23, 0x47, + 0x55, 0xa3, 0x0f, 0xdb, 0x7a, 0xb2, 0x37, 0x72, 0xdb, 0x6b, 0xcb, 0xe3, 0x2f, 0xed, 0x38, 0x9b, + 0x98, 0xaa, 0x44, 0x55, 0x38, 0x95, 0x62, 0x37, 0x9b, 0xdd, 0xc2, 0x96, 0x15, 0x59, 0xac, 0x2d, + 0x3b, 0x63, 0x79, 0x97, 0x00, 0x41, 0x8c, 0xa5, 0xb6, 0x77, 0x58, 0x69, 0x46, 0x99, 0x19, 0xb9, + 0x56, 0x45, 0x71, 0xe3, 0x04, 0xdc, 0x38, 0x70, 0xa1, 0xe0, 0x48, 0x51, 0xc5, 0x8d, 0x82, 0x4b, + 0x6e, 0x9c, 0xa9, 0xe2, 0x04, 0x67, 0xae, 0xe1, 0x57, 0x50, 0xd3, 0xdd, 0x33, 0xea, 0x19, 0xf5, + 0x48, 0x9a, 0xdd, 0x38, 0xc5, 0xc9, 0x9a, 0xf7, 0xdd, 0xef, 0xbd, 0x7e, 0xfd, 0x5e, 0xb7, 0x21, + 0xdb, 0xb2, 0xf5, 0x52, 0xcf, 0x32, 0x1d, 0x13, 0xa5, 0x5a, 0xb6, 0xae, 0x6c, 0xc2, 0x7a, 0x15, + 0x3b, 0xe7, 0xfd, 0x5e, 0xcf, 0xb4, 0x1c, 0xdc, 0x7e, 0x86, 0x2d, 0x5b, 0x37, 0x0d, 0x5b, 0xc5, + 0x5f, 0xf4, 0xb1, 0xed, 0x28, 0x3f, 0x84, 0x0d, 0x31, 0xda, 0xee, 0x99, 0x86, 0x8d, 0xd1, 0x23, + 0x40, 0xb6, 0x87, 0x6c, 0xde, 0x30, 0x6c, 0x41, 0x2a, 0xa6, 0x76, 0x73, 0x7b, 0xf3, 0x25, 0x57, + 0x17, 0x63, 0x51, 0x17, 0xed, 0xb0, 0x10, 0xe5, 0x29, 0xcc, 0xb2, 0xdf, 0x68, 0x19, 0x32, 0x5d, + 0xed, 0xa7, 0xa6, 0x55, 0x90, 0x8a, 0xd2, 0x6e, 0x46, 0xa5, 0x1f, 0x04, 0xaa, 0x1b, 0xa6, 0x55, + 0x48, 0x32, 0xa8, 0xfb, 0xe1, 0x42, 0x7b, 0x9a, 0xd3, 0x7a, 0x51, 0x48, 0x51, 0x28, 0xf9, 0x50, + 0x9e, 0xc0, 0x72, 0x15, 0x3b, 0x67, 0x9d, 0xfe, 0xb5, 0x6e, 0xd4, 0x8c, 0x2b, 0x93, 0xad, 0x00, + 0xbd, 0x03, 0xb3, 0xcc, 0x2e, 0x22, 0x3b, 0x6c, 0x96, 0x87, 0x54, 0xfe, 0x25, 0xc1, 0xdd, 0x90, + 0x00, 0xb6, 0x46, 0x04, 0x69, 0x43, 0xeb, 0x62, 0xc2, 0x9e, 0x55, 0xc9, 0x6f, 0x74, 0x1f, 0xee, + 0xdc, 0x60, 0xa3, 0x6d, 0x5a, 0xde, 0xa2, 0x89, 0x89, 0x59, 0x75, 0x81, 0x42, 0xbd, 0x65, 0x1d, + 0xc2, 0x5c, 0x57, 0x33, 0xf4, 0x2b, 0x6c, 0x3b, 0x85, 0x14, 0x71, 0xca, 0x2e, 0xd1, 0x2e, 0x54, + 0x54, 0x3a, 0x61, 0xa4, 0x15, 0xc3, 0xb1, 0x06, 0xaa, 0xcf, 0x29, 0x3f, 0x82, 0x85, 0x00, 0x0a, + 0xe5, 0x21, 0xf5, 0x12, 0x0f, 0x98, 0x41, 0xee, 0x4f, 0xd7, 0x27, 0x37, 0x5a, 0xa7, 0x8f, 0x99, + 0x19, 0xf4, 0xe3, 0xa3, 0xe4, 0x03, 0x49, 0xf9, 0x73, 0x1a, 0x96, 0xca, 0x16, 0xd6, 0x1c, 0xfc, + 0xcc, 0xec, 0xf4, 0xbb, 0x38, 0xa6, 0x5f, 0xfc, 0xd5, 0x27, 0xb9, 0xd5, 0x3f, 0x84, 0x3b, 0x2d, + 0xad, 0xa7, 0xb5, 0x74, 0x67, 0xd0, 0xb4, 0x34, 0xe3, 0x1a, 0x93, 0x50, 0xe4, 0xf6, 0x10, 0x11, + 0x51, 0x66, 0x28, 0xd5, 0xc5, 0xa8, 0x0b, 0x2d, 0xfe, 0x13, 0x7d, 0x02, 0x4b, 0x37, 0xc4, 0x8e, + 0xa6, 0x0b, 0xbf, 0xd4, 0x3b, 0xba, 0xa3, 0x63, 0xbb, 0x90, 0x26, 0xce, 0xb9, 0x4b, 0x4d, 0x20, + 0xf8, 0xb2, 0x87, 0x1e, 0xa8, 0xe8, 0x26, 0x08, 0xd1, 0xb1, 0x8d, 0x8e, 0x00, 0x7a, 0x9a, 0xa5, + 0x75, 0xb1, 0x83, 0x2d, 0xbb, 0x90, 0xe1, 0x7c, 0x2b, 0x58, 0x6c, 0xe9, 0xcc, 0x27, 0xa5, 0xbe, + 0xe5, 0x78, 0xd1, 0xcf, 0x61, 0xb3, 0x65, 0x1a, 0x8e, 0x65, 0x76, 0x3a, 0xd8, 0x6a, 0xb6, 0x08, + 0xb7, 0xfb, 0xa7, 0x8d, 0x0d, 0x47, 0xd7, 0x3a, 0x76, 0x61, 0x86, 0x08, 0x7f, 0x18, 0x29, 0xbc, + 0xec, 0x73, 0x53, 0x6c, 0x79, 0xc8, 0x4b, 0xb5, 0xad, 0xb7, 0xa2, 0x29, 0xe4, 0xc7, 0xf0, 0x56, + 0xc8, 0xba, 0x38, 0xe1, 0x95, 0xeb, 0x50, 0x9c, 0xa4, 0x3f, 0x56, 0xba, 0x3c, 0x82, 0xe5, 0xe0, + 0x1a, 0xd9, 0x26, 0xd8, 0x81, 0x19, 0x1a, 0x05, 0x96, 0x2d, 0x39, 0x2e, 0x54, 0x2a, 0x43, 0x29, + 0xbf, 0x4f, 0x43, 0x3e, 0x1c, 0x3d, 0xf4, 0x10, 0x32, 0x97, 0x1d, 0xb3, 0xf5, 0x92, 0x31, 0xde, + 0x13, 0xc6, 0xb8, 0x74, 0xe0, 0x92, 0x50, 0xe8, 0x51, 0x42, 0xa5, 0x1c, 0x2e, 0x6b, 0xd7, 0xec, + 0x1b, 0x0e, 0x31, 0x33, 0x92, 0xf5, 0xc4, 0x25, 0x19, 0xb2, 0x12, 0x0e, 0xb4, 0x0f, 0x39, 0xad, + 0xd5, 0xc2, 0xb6, 0xdd, 0xec, 0x9a, 0x6d, 0x2f, 0x3f, 0x8b, 0x62, 0x01, 0xfb, 0x84, 0xf0, 0xc4, + 0x6c, 0x63, 0x15, 0x34, 0xff, 0xb7, 0xbc, 0x00, 0x39, 0xce, 0x2a, 0xb9, 0x0a, 0x39, 0x4e, 0x13, + 0x5a, 0x85, 0xd9, 0x2b, 0xbb, 0xe9, 0x0c, 0x7a, 0x5e, 0x61, 0x98, 0xb9, 0xb2, 0x1b, 0x83, 0x1e, + 0x46, 0xdb, 0x90, 0x23, 0x26, 0x34, 0xaf, 0x3a, 0xda, 0xb5, 0x5d, 0x48, 0x16, 0x53, 0xbb, 0x59, + 0x15, 0x08, 0xe8, 0x13, 0x17, 0x22, 0x7f, 0x25, 0x01, 0x0c, 0x55, 0xa2, 0x87, 0x90, 0x26, 0x26, + 0xba, 0x52, 0xee, 0xec, 0xdd, 0x9f, 0x64, 0x62, 0x89, 0xd8, 0x49, 0x58, 0x94, 0x3f, 0x48, 0x90, + 0x26, 0x32, 0x72, 0x30, 0x7b, 0x51, 0x7f, 0x5a, 0x3f, 0x7d, 0x5e, 0xcf, 0x27, 0xd0, 0x0a, 0xa0, + 0xf3, 0x5a, 0xbd, 0x7a, 0x5c, 0x69, 0xd6, 0x4f, 0x0f, 0x2b, 0xcd, 0xe7, 0x6a, 0xad, 0x51, 0x51, + 0xf3, 0x12, 0x5a, 0x87, 0x55, 0x1e, 0xae, 0x56, 0xf6, 0x0f, 0x2b, 0x6a, 0xf3, 0xb4, 0x7e, 0xfc, + 0x59, 0x3e, 0x89, 0x64, 0x58, 0x39, 0xb9, 0x38, 0x6e, 0xd4, 0x46, 0x71, 0x29, 0xb4, 0x01, 0x05, + 0x0e, 0xc7, 0x64, 0x30, 0xb1, 0x69, 0x57, 0x2c, 0x87, 0xa5, 0x3f, 0x19, 0x32, 0x73, 0xb0, 0xe0, + 0x87, 0xc1, 0xf5, 0x94, 0xf2, 0x1c, 0x16, 0x02, 0xd5, 0xc1, 0xad, 0xa3, 0x16, 0xfe, 0xa2, 0xaf, + 0x5b, 0xb8, 0xdd, 0xbc, 0x1c, 0x38, 0xd8, 0x26, 0x6e, 0x48, 0xa9, 0x0b, 0x1e, 0xf4, 0xc0, 0x05, + 0xba, 0x3e, 0xed, 0xe8, 0x5d, 0xdd, 0x61, 0x34, 0x49, 0x42, 0x03, 0x04, 0x44, 0x08, 0x94, 0x2f, + 0x25, 0x98, 0x61, 0x81, 0xb9, 0xcf, 0x15, 0xa7, 0x80, 0x48, 0x0f, 0x4a, 0x45, 0xde, 0x81, 0xa4, + 0xde, 0x66, 0xf9, 0x9f, 0xd4, 0xdb, 0xe8, 0x11, 0x80, 0xe6, 0x38, 0x96, 0x7e, 0xd9, 0x77, 0x59, + 0x68, 0xb1, 0x5e, 0xe7, 0x82, 0x51, 0xda, 0xf7, 0xb1, 0xac, 0x86, 0x0c, 0xc9, 0xdd, 0x4d, 0x1c, + 0x42, 0xc7, 0xda, 0x74, 0x7f, 0x4a, 0xc2, 0xd2, 0x21, 0xee, 0xe0, 0xd7, 0xad, 0xd1, 0xeb, 0x90, + 0x65, 0x45, 0xd5, 0x5f, 0xd2, 0x1c, 0x05, 0xd4, 0xda, 0xa1, 0xfa, 0xd6, 0x26, 0x6a, 0x02, 0xf5, + 0x2d, 0xc5, 0xd5, 0x37, 0x81, 0x15, 0x5c, 0x7d, 0xa3, 0xd8, 0x71, 0xf5, 0x6d, 0x84, 0x22, 0x58, + 0xa0, 0xc4, 0x02, 0x62, 0xf9, 0x6a, 0x05, 0x96, 0x83, 0x46, 0xd2, 0x02, 0xa5, 0xfc, 0x37, 0x0d, + 0x5b, 0x43, 0x45, 0x67, 0xfd, 0xcb, 0x8e, 0x6e, 0xbf, 0xb8, 0x05, 0x77, 0xae, 0xc2, 0xac, 0x61, + 0xb6, 0x09, 0x2a, 0x45, 0xf7, 0xbd, 0xfb, 0x59, 0x6b, 0xa3, 0x03, 0x58, 0x0c, 0x9f, 0x6c, 0x83, + 0x42, 0x9a, 0xe8, 0x89, 0x38, 0xd7, 0xf2, 0x37, 0xe1, 0x5a, 0x29, 0xc3, 0x9c, 0x85, 0xb5, 0xb6, + 0x69, 0x74, 0x06, 0x85, 0x4c, 0x51, 0xda, 0x9d, 0x53, 0xfd, 0x6f, 0xf4, 0x2b, 0x09, 0xb6, 0xb8, + 0x40, 0xf6, 0xe8, 0x0a, 0x05, 0x27, 0x55, 0x85, 0x9e, 0x54, 0x63, 0x7d, 0x31, 0x8a, 0x1e, 0x89, + 0xea, 0x46, 0x6b, 0x0c, 0x09, 0xba, 0xf2, 0x57, 0xcb, 0xed, 0x9a, 0x59, 0xfe, 0xa4, 0x1c, 0xaf, + 0x9f, 0x7e, 0x85, 0xf7, 0x14, 0xf3, 0xc8, 0x10, 0x2c, 0x9f, 0xc2, 0xbd, 0x89, 0xa6, 0xc6, 0x3a, + 0x30, 0xcb, 0x70, 0x57, 0xa8, 0x3b, 0x56, 0x12, 0x7e, 0x29, 0xc1, 0x76, 0xe4, 0x02, 0xd9, 0x89, + 0xf9, 0x7d, 0x98, 0xf7, 0x62, 0xa4, 0x1b, 0x57, 0x26, 0x6b, 0x8a, 0x3f, 0x1c, 0xef, 0x1c, 0xd6, + 0x09, 0x32, 0xa8, 0xdb, 0x1d, 0x52, 0xc7, 0xe4, 0x7a, 0x43, 0x88, 0xfc, 0x04, 0xf2, 0x61, 0x82, + 0x58, 0xd6, 0x7f, 0x95, 0xe4, 0xf7, 0xe4, 0x85, 0xd1, 0xfb, 0xe6, 0x37, 0xcb, 0x6f, 0x24, 0x28, + 0x72, 0xc9, 0xdc, 0x37, 0x44, 0xe9, 0x4c, 0x9b, 0xc2, 0x5a, 0xc8, 0x63, 0x62, 0x7b, 0x45, 0x04, + 0x23, 0x29, 0xcd, 0xed, 0x1f, 0x11, 0x91, 0xfc, 0x29, 0xec, 0x4c, 0x21, 0x26, 0x96, 0xaf, 0x77, + 0xf8, 0xfc, 0x1d, 0x31, 0x9d, 0xd5, 0xae, 0xff, 0x24, 0xe1, 0xde, 0x33, 0xad, 0xa3, 0xb7, 0xfd, + 0xbe, 0x8b, 0xef, 0x75, 0xbf, 0xd6, 0x88, 0x44, 0xf4, 0xdf, 0xa9, 0xb8, 0xfd, 0xb7, 0x2e, 0xda, + 0xff, 0x34, 0x60, 0x1f, 0x53, 0x29, 0x93, 0xd6, 0x33, 0x75, 0x09, 0xf8, 0x5a, 0x76, 0xec, 0x8f, + 0x40, 0x19, 0x67, 0x11, 0xdb, 0xb3, 0x1b, 0x90, 0xf5, 0xc7, 0x54, 0x22, 0x77, 0x4e, 0x1d, 0x02, + 0x50, 0x01, 0x66, 0xbb, 0xd8, 0xb6, 0xb5, 0x6b, 0x4f, 0xbe, 0xf7, 0xa9, 0xfc, 0x42, 0x02, 0x74, + 0xac, 0xdb, 0xac, 0x37, 0x8c, 0x1d, 0x31, 0xb7, 0x65, 0xd4, 0x5e, 0x35, 0xb1, 0xe1, 0x58, 0x3a, + 0x6b, 0x6f, 0x32, 0x2a, 0x74, 0xb5, 0x57, 0x15, 0x0a, 0x71, 0x7b, 0x1a, 0xdb, 0xd1, 0x2c, 0x47, + 0x37, 0xae, 0x9b, 0x8e, 0xf9, 0x12, 0x1b, 0x6c, 0x3b, 0x2d, 0x78, 0xd0, 0x86, 0x0b, 0x54, 0x7e, + 0x27, 0xc1, 0x52, 0xc0, 0x0c, 0xb6, 0xac, 0x07, 0x30, 0xeb, 0xc9, 0xa6, 0x55, 0x68, 0x8b, 0xd8, + 0x21, 0x20, 0x2d, 0xd1, 0x20, 0x78, 0xe4, 0x68, 0x13, 0xc0, 0xc0, 0xaf, 0x1c, 0xa6, 0x94, 0xae, + 0x3a, 0xeb, 0x42, 0x88, 0x42, 0xf9, 0x3d, 0xc8, 0xd0, 0x50, 0x4c, 0x35, 0x1e, 0xfc, 0x3a, 0x09, + 0xa8, 0x8a, 0x1d, 0xbf, 0x03, 0x8c, 0xe9, 0xa5, 0x88, 0xd4, 0x4d, 0xc6, 0x4d, 0xdd, 0x6a, 0x60, + 0x74, 0xa4, 0x99, 0xff, 0xae, 0x37, 0x96, 0x87, 0x8c, 0x1b, 0x37, 0x39, 0xbe, 0xe1, 0xe8, 0xa6, + 0x1c, 0xc2, 0x52, 0x40, 0x21, 0x0b, 0xd6, 0xfb, 0x80, 0xb4, 0x1b, 0x4d, 0xef, 0x68, 0x97, 0x1d, + 0xba, 0x52, 0x17, 0xcb, 0x7a, 0xd8, 0x45, 0x1f, 0xe3, 0xb1, 0x29, 0xdf, 0x85, 0x15, 0xee, 0x34, + 0xb1, 0xcc, 0xcb, 0xb8, 0x15, 0x5c, 0x59, 0x83, 0xd5, 0x11, 0x09, 0xac, 0x30, 0x7d, 0x8f, 0x3f, + 0x28, 0x98, 0xb1, 0xaf, 0x59, 0x96, 0x14, 0x9d, 0xaf, 0x84, 0x23, 0xb2, 0xd8, 0xe2, 0x0f, 0x61, + 0x5e, 0x10, 0xdc, 0x62, 0xe8, 0x08, 0x38, 0xc7, 0xd6, 0x8d, 0xde, 0xe2, 0xe3, 0x1c, 0xe0, 0x52, + 0x7e, 0x9b, 0x84, 0xf5, 0x31, 0xd4, 0xe8, 0x01, 0xa4, 0xac, 0x5e, 0x8b, 0x99, 0xfb, 0xf6, 0x24, + 0xe1, 0x25, 0xf5, 0xac, 0x7c, 0x94, 0x50, 0x5d, 0x16, 0xf9, 0xaf, 0x12, 0xa4, 0xd4, 0xb3, 0x32, + 0x7a, 0x0c, 0x69, 0x7f, 0xf4, 0xbb, 0xb3, 0xf7, 0xad, 0x69, 0x44, 0x94, 0xdc, 0xe9, 0x50, 0x25, + 0x6c, 0x8a, 0x09, 0x69, 0x32, 0x2b, 0x06, 0xe6, 0xb6, 0x02, 0x2c, 0x97, 0xd5, 0xca, 0x7e, 0xa3, + 0xd2, 0x3c, 0xac, 0x1c, 0x57, 0x1a, 0x95, 0xe6, 0xb3, 0xd3, 0xe3, 0x8b, 0x93, 0x4a, 0x5e, 0x72, + 0x07, 0xb0, 0xb3, 0x8b, 0x83, 0xe3, 0xda, 0xf9, 0x51, 0xf3, 0xa2, 0xee, 0xfd, 0x62, 0xd8, 0x24, + 0xca, 0xc3, 0xfc, 0x71, 0xed, 0xbc, 0xc1, 0x00, 0xe7, 0xf9, 0x94, 0x0b, 0xa9, 0x56, 0x1a, 0xcd, + 0xf2, 0xfe, 0xd9, 0x7e, 0xb9, 0xd6, 0xf8, 0x2c, 0x9f, 0x3e, 0x98, 0xa1, 0xf6, 0x2a, 0xff, 0xce, + 0xc0, 0x4a, 0xdd, 0x6c, 0xe3, 0x73, 0x47, 0xbb, 0xbe, 0x8d, 0x61, 0xe3, 0x12, 0x96, 0xbc, 0x93, + 0xdc, 0x23, 0x72, 0x7b, 0x1f, 0xba, 0xc9, 0xf6, 0x88, 0x40, 0xb1, 0xfa, 0x52, 0xa0, 0x11, 0x1a, + 0x36, 0x3e, 0x8b, 0xbd, 0x30, 0x1c, 0x95, 0x60, 0xc9, 0x76, 0xb4, 0x6b, 0x52, 0x0b, 0x35, 0xeb, + 0x1a, 0x3b, 0xcd, 0x9e, 0xe6, 0xbc, 0x20, 0xad, 0x76, 0x56, 0x5d, 0x64, 0xa8, 0x06, 0xc1, 0x9c, + 0x69, 0xce, 0x0b, 0x71, 0x63, 0x9e, 0x89, 0xd7, 0x98, 0xbf, 0x84, 0x15, 0xd2, 0xc8, 0xb8, 0xd2, + 0x45, 0xb7, 0x43, 0x1f, 0x8e, 0x5b, 0x9a, 0x0f, 0x1e, 0x69, 0x48, 0x96, 0x0d, 0x01, 0x0a, 0xfd, + 0x38, 0xba, 0xb7, 0xfe, 0xf6, 0x38, 0x3d, 0xd3, 0x1e, 0xa8, 0x87, 0xb0, 0x22, 0xf6, 0x76, 0xac, + 0x46, 0xba, 0x0a, 0x6b, 0x91, 0x0b, 0xfb, 0xe6, 0x3b, 0xf2, 0x35, 0x58, 0x1d, 0xf1, 0x0a, 0x2b, + 0x62, 0xff, 0x4c, 0x42, 0xc1, 0xc5, 0x5d, 0x18, 0xf6, 0x2d, 0x65, 0x7d, 0x44, 0x46, 0xa6, 0xa2, + 0x32, 0xd2, 0x86, 0x02, 0xc9, 0xa6, 0xbe, 0x31, 0x9a, 0x4f, 0x69, 0x6e, 0x86, 0x8a, 0xb2, 0x9a, + 0x47, 0x8c, 0xe4, 0x14, 0x49, 0xd4, 0x51, 0xa4, 0x5c, 0x83, 0xf5, 0x31, 0x6c, 0xb1, 0x9c, 0xbd, + 0x4e, 0x43, 0x1f, 0x32, 0x8d, 0xb9, 0xfb, 0x97, 0x33, 0xd4, 0xdd, 0xb7, 0x37, 0x82, 0x7f, 0x1a, + 0x9a, 0xac, 0x68, 0x75, 0x29, 0xf9, 0x2e, 0x13, 0x0e, 0x9c, 0x63, 0x47, 0xaa, 0xd8, 0x35, 0x65, + 0x1b, 0x72, 0x3c, 0x5d, 0x86, 0xd0, 0x81, 0x33, 0xa1, 0xe8, 0xcc, 0xbc, 0xfe, 0x6d, 0xc0, 0x6c, + 0xe8, 0x36, 0xc0, 0x4b, 0x21, 0xd1, 0xdc, 0x34, 0x17, 0x4a, 0x21, 0xa1, 0x3f, 0x38, 0x84, 0x38, + 0x85, 0x04, 0x43, 0xff, 0x4f, 0x44, 0x85, 0x29, 0x4b, 0xb4, 0x7d, 0x30, 0x5e, 0xdb, 0xb4, 0xa5, + 0xe9, 0x0d, 0x47, 0x5b, 0x2f, 0xc9, 0xff, 0x6f, 0x2e, 0x0a, 0xd8, 0x4e, 0x11, 0x4e, 0xf9, 0xca, + 0x3f, 0x92, 0x20, 0xd3, 0x7d, 0x74, 0x7b, 0x13, 0x78, 0x28, 0x51, 0x53, 0x23, 0x89, 0xfa, 0x33, + 0x90, 0x59, 0x2d, 0x8a, 0x1e, 0xc1, 0x1f, 0x73, 0xd5, 0xa8, 0x17, 0x95, 0x4c, 0xd1, 0x63, 0x77, + 0xc1, 0x88, 0x40, 0xcb, 0x4f, 0x61, 0x73, 0x2c, 0x6b, 0x2c, 0x5f, 0x6f, 0x7a, 0x05, 0x4e, 0x3c, + 0x64, 0x7f, 0x04, 0x79, 0x17, 0x5d, 0xc5, 0x4e, 0xad, 0x1d, 0xb7, 0x77, 0x7d, 0x0f, 0x16, 0x39, + 0x5e, 0xd6, 0xab, 0x72, 0x97, 0x1b, 0x12, 0x7f, 0xb9, 0xe1, 0x69, 0x7a, 0xad, 0x66, 0x7c, 0x89, + 0x6a, 0x0a, 0xb6, 0xe1, 0x87, 0x34, 0x4f, 0xde, 0xb0, 0x01, 0xff, 0x9c, 0xfa, 0x27, 0xaa, 0xf5, + 0x7e, 0x12, 0x6a, 0xbd, 0xe9, 0xa4, 0x28, 0x0f, 0x1b, 0x8e, 0x09, 0x4d, 0xf7, 0xdf, 0x25, 0xb8, + 0x2b, 0xa4, 0x43, 0x7b, 0x7c, 0xbb, 0xbd, 0x15, 0x2d, 0x90, 0x6f, 0xb4, 0xbb, 0xb4, 0xcf, 0xfe, + 0x4e, 0xa0, 0xcf, 0xde, 0x19, 0xcf, 0xcb, 0x77, 0xd8, 0xef, 0x47, 0x74, 0xd8, 0xe7, 0x8d, 0xfd, + 0x6a, 0xa5, 0x79, 0x51, 0xa7, 0x7f, 0xbd, 0x0e, 0xdb, 0xeb, 0x8f, 0xf7, 0xfe, 0x22, 0xc1, 0x5c, + 0x8d, 0xa4, 0xa0, 0x33, 0x40, 0x9f, 0x93, 0x27, 0xe5, 0x91, 0xc7, 0x6f, 0x54, 0xf4, 0x86, 0xc5, + 0xa8, 0x67, 0x73, 0xf9, 0xde, 0x18, 0x0a, 0x16, 0xd3, 0x04, 0x3a, 0x82, 0x85, 0xc0, 0x3b, 0x30, + 0x5a, 0x13, 0xbd, 0x0d, 0x53, 0x81, 0x72, 0xf4, 0xb3, 0xb1, 0x92, 0xd8, 0xfb, 0xe3, 0x0c, 0xc0, + 0x70, 0xfa, 0x40, 0x15, 0x98, 0xe7, 0xdf, 0xf0, 0x50, 0x21, 0xea, 0xe9, 0x52, 0x5e, 0x13, 0x60, + 0x7c, 0xfb, 0x2a, 0x30, 0xcf, 0xdf, 0xb4, 0x33, 0x31, 0x82, 0x17, 0x02, 0x26, 0x46, 0x78, 0x2d, + 0x9f, 0x40, 0x57, 0x81, 0xf1, 0x92, 0xdf, 0x9a, 0x68, 0x67, 0x8a, 0x9b, 0x62, 0xf9, 0xed, 0x69, + 0x6e, 0x4c, 0x95, 0x04, 0xea, 0xc0, 0x5a, 0xe4, 0x4d, 0x1b, 0xba, 0x3f, 0xd5, 0x25, 0xa2, 0xfc, + 0xce, 0x24, 0x32, 0x5f, 0x9b, 0x09, 0x72, 0xf4, 0x7d, 0x12, 0x7a, 0x67, 0xba, 0x2b, 0x30, 0xf9, + 0xdd, 0x89, 0x74, 0xbe, 0xc2, 0x03, 0xc8, 0x71, 0xf7, 0x35, 0x68, 0x75, 0xf4, 0x06, 0x87, 0x8a, + 0x2c, 0x44, 0x5d, 0xed, 0x50, 0x19, 0xdc, 0x8d, 0x03, 0x93, 0x31, 0x7a, 0xe9, 0xc1, 0x64, 0x08, + 0x2e, 0x27, 0x94, 0x04, 0xaa, 0xc3, 0x5b, 0xa1, 0xdb, 0x02, 0xb4, 0x1e, 0x8e, 0x10, 0x57, 0xf8, + 0xe4, 0x0d, 0x31, 0x52, 0x1c, 0xb6, 0x50, 0x6d, 0x1a, 0x09, 0x9b, 0xb8, 0x02, 0x8e, 0x84, 0x2d, + 0xa2, 0xc4, 0x29, 0x89, 0xbd, 0xbf, 0xa5, 0x21, 0xed, 0xd6, 0x0f, 0x77, 0x19, 0xa1, 0x79, 0x81, + 0x2d, 0x43, 0x3c, 0x5b, 0xb1, 0x65, 0x44, 0x8d, 0x18, 0x09, 0xd4, 0xa0, 0x75, 0x3b, 0xd0, 0x12, + 0xa3, 0xcd, 0xb1, 0x5d, 0xbc, 0xbc, 0x15, 0x85, 0x0e, 0x4b, 0x0d, 0xee, 0x9a, 0xcd, 0xb1, 0xad, + 0x16, 0x27, 0x35, 0x6a, 0xa7, 0xfc, 0x00, 0x96, 0x04, 0x07, 0x25, 0xda, 0x9e, 0x70, 0xca, 0xcb, + 0xc5, 0x68, 0x02, 0x5f, 0xf6, 0xc7, 0x90, 0xf5, 0x4f, 0x4a, 0x74, 0xd7, 0x67, 0xe0, 0x4f, 0x5d, + 0x79, 0x25, 0x0c, 0x0e, 0x73, 0xd3, 0xb4, 0x1a, 0x72, 0x07, 0x12, 0x6a, 0x25, 0x0c, 0x0e, 0xaf, + 0x2b, 0x9c, 0x44, 0xdb, 0xbc, 0x3a, 0x51, 0xfa, 0x14, 0xa3, 0x09, 0x3c, 0xd9, 0x97, 0x33, 0xe4, + 0x7f, 0xa6, 0x3e, 0xf8, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb5, 0xd3, 0x93, 0x21, 0x40, 0x25, + 0x00, 0x00, } diff --git a/spec.md b/spec.md index 91335673..ca876df2 100644 --- a/spec.md +++ b/spec.md @@ -179,7 +179,7 @@ creation to destruction. Stage | | Unstage Volume | | Volume +---v----+---+ - | VOL_READY | + | VOL_READY | +------------+ Node | | Node Publish | | Unpublish @@ -1067,12 +1067,17 @@ It is NOT REQUIRED for a controller plugin to implement the `LIST_VOLUMES` capab #### `NodeStageVolume` A Node Plugin MUST implement this RPC call if it has `STAGE_UNSTAGE_VOLUME` node capability. -This RPC is called by the CO when a workload that wants to use the specified volume is placed (scheduled) on a node. + +This RPC is called by the CO prior to the volume being consumed by any workloads on the node by `NodePublishVolume`. The Plugin SHALL assume that this RPC will be executed on the node where the volume will be used. This RPC SHOULD be called by the CO when a workload that wants to use the specified volume is placed (scheduled) on the specified node for the first time or for the first time since a `NodeUnstageVolume` call for the specified volume was called and returned success on that node. + If the corresponding Controller Plugin has `PUBLISH_UNPUBLISH_VOLUME` controller capability and the Node Plugin has `STAGE_UNSTAGE_VOLUME` capability, then the CO MUST guarantee that this RPC is called after `ControllerPublishVolume` is called for the given volume on the given node and returns a success. The CO MUST guarantee that this RPC is called and returns a success before any `NodePublishVolume` is called for the given volume on the given node. + This operation MUST be idempotent. +If the volume corresponding to the `volume_id` is already staged to the `staging_target_path`, and is identical to the specified `volume_capability` the Plugin MUST reply `0 OK`. + If this RPC failed, or the CO does not know if it failed or not, it MAY choose to call `NodeStageVolume` again, or choose to call `NodeUnstageVolume`. ```protobuf @@ -1120,13 +1125,7 @@ message NodeStageVolumeRequest { map volume_attributes = 7; } -message NodeStageVolumeResponse { - // The SP specific information that will be passed to the Plugin in - // the subsequent `NodePublishVolume` calls - // for the given volume. - // This information is opaque to the CO. This field is OPTIONAL. - map publish_volume_info = 1; -} +message NodeStageVolumeResponse {} ``` #### NodeStageVolume Errors @@ -1145,9 +1144,11 @@ The CO MUST implement the specified error recovery behavior when it encounters t #### `NodeUnstageVolume` A Node Plugin MUST implement this RPC call if it has `STAGE_UNSTAGE_VOLUME` node capability. + This RPC is a reverse operation of `NodeStageVolume`. This RPC MUST undo the work by the corresponding `NodeStageVolume`. This RPC SHALL be called by the CO once for each `staging_target_path` that was successfully setup via `NodeStageVolume`. + If the corresponding Controller Plugin has `PUBLISH_UNPUBLISH_VOLUME` controller capability and the Node Plugin has `STAGE_UNSTAGE_VOLUME` capability, the CO MUST guarantee that this RPC is called and returns success before calling `ControllerUnpublishVolume` for the given node and the given volume. The CO MUST guarantee that this RPC is called after all `NodeUnpublishVolume` have been called and returned success for the given volume on the given node. @@ -1156,7 +1157,9 @@ The Plugin SHALL assume that this RPC will be executed on the node where the vol This RPC MAY be called by the CO when the workload using the volume is being moved to a different node, or all the workloads using the volume on a node have finished. This operation MUST be idempotent. -If this RPC failed, or the CO does not know if it failed or not, it can choose to call `NodeUnstageVolume` again. +If the volume corresponding to the `volume_id` is not staged to the `staging_target_path`, the Plugin MUST reply `0 OK`. + +If this RPC failed, or the CO does not know if it failed or not, it MAY choose to call `NodeUnstageVolume` again. ```protobuf message NodeUnstageVolumeRequest { @@ -1304,6 +1307,7 @@ The CO MUST implement the specified error recovery behavior when it encounters t | Volume published but is incompatible | 6 ALREADY_EXISTS | Indicates that a volume corresponding to the specified `volume_id` has already been published at the specified `target_path` but is incompatible with the specified `volume_capability` or `readonly` flag. | Caller MUST fix the arguments before retying. | | Operation pending for volume | 10 ABORTED | Indicates that there is a already an operation pending for the specified volume. In general the Cluster Orchestrator (CO) is responsible for ensuring that there is no more than one call "in-flight" per volume at a given time. However, in some circumstances, the CO MAY lose state (for example when the CO crashes and restarts), and MAY issue multiple calls simultaneously for the same volume. The Plugin, SHOULD handle this as gracefully as possible, and MAY return this error code to reject secondary calls. | Caller SHOULD ensure that there are no other calls pending for the specified volume, and then retry with exponential back off. | | Exceeds capabilities | 10 FAILED_PRECONDITION | Indicates that the CO has exceeded the volume's capabilities because the volume does not have MULTI_NODE capability. | Caller MAY choose to call `ValidateVolumeCapabilities` to validate the volume capabilities, or wait for the volume to be unpublished on the node. | +| Stanging target path not set | 10 FAILED_PRECONDITION | Indicates that `STAGE_UNSTAGE_VOLUME` capability is set but no `staging_target_path` was set. | Caller MUST make sure call to `NodeStageVolume` is made and returns success before retrying with valid `staging_target_path`. | #### `NodeUnpublishVolume`