diff --git a/client/api/disk/v1beta2/api.pb.go b/client/api/disk/v1beta2/api.pb.go new file mode 100644 index 00000000..27324f1e --- /dev/null +++ b/client/api/disk/v1beta2/api.pb.go @@ -0,0 +1,1028 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.proto + +package v1beta2 + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type ListDiskLocationsRequest struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListDiskLocationsRequest) Reset() { *m = ListDiskLocationsRequest{} } +func (m *ListDiskLocationsRequest) String() string { return proto.CompactTextString(m) } +func (*ListDiskLocationsRequest) ProtoMessage() {} +func (*ListDiskLocationsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{0} +} + +func (m *ListDiskLocationsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListDiskLocationsRequest.Unmarshal(m, b) +} +func (m *ListDiskLocationsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListDiskLocationsRequest.Marshal(b, m, deterministic) +} +func (m *ListDiskLocationsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListDiskLocationsRequest.Merge(m, src) +} +func (m *ListDiskLocationsRequest) XXX_Size() int { + return xxx_messageInfo_ListDiskLocationsRequest.Size(m) +} +func (m *ListDiskLocationsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ListDiskLocationsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ListDiskLocationsRequest proto.InternalMessageInfo + +type DiskLocation struct { + Adapter string `protobuf:"bytes,1,opt,name=Adapter,proto3" json:"Adapter,omitempty"` + Bus string `protobuf:"bytes,2,opt,name=Bus,proto3" json:"Bus,omitempty"` + Target string `protobuf:"bytes,3,opt,name=Target,proto3" json:"Target,omitempty"` + LUNID string `protobuf:"bytes,4,opt,name=LUNID,proto3" json:"LUNID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DiskLocation) Reset() { *m = DiskLocation{} } +func (m *DiskLocation) String() string { return proto.CompactTextString(m) } +func (*DiskLocation) ProtoMessage() {} +func (*DiskLocation) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{1} +} + +func (m *DiskLocation) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DiskLocation.Unmarshal(m, b) +} +func (m *DiskLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DiskLocation.Marshal(b, m, deterministic) +} +func (m *DiskLocation) XXX_Merge(src proto.Message) { + xxx_messageInfo_DiskLocation.Merge(m, src) +} +func (m *DiskLocation) XXX_Size() int { + return xxx_messageInfo_DiskLocation.Size(m) +} +func (m *DiskLocation) XXX_DiscardUnknown() { + xxx_messageInfo_DiskLocation.DiscardUnknown(m) +} + +var xxx_messageInfo_DiskLocation proto.InternalMessageInfo + +func (m *DiskLocation) GetAdapter() string { + if m != nil { + return m.Adapter + } + return "" +} + +func (m *DiskLocation) GetBus() string { + if m != nil { + return m.Bus + } + return "" +} + +func (m *DiskLocation) GetTarget() string { + if m != nil { + return m.Target + } + return "" +} + +func (m *DiskLocation) GetLUNID() string { + if m != nil { + return m.LUNID + } + return "" +} + +type ListDiskLocationsResponse struct { + // Map of disk device IDs and associated with each disk device + DiskLocations map[string]*DiskLocation `protobuf:"bytes,1,rep,name=disk_locations,json=diskLocations,proto3" json:"disk_locations,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:"-"` +} + +func (m *ListDiskLocationsResponse) Reset() { *m = ListDiskLocationsResponse{} } +func (m *ListDiskLocationsResponse) String() string { return proto.CompactTextString(m) } +func (*ListDiskLocationsResponse) ProtoMessage() {} +func (*ListDiskLocationsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{2} +} + +func (m *ListDiskLocationsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListDiskLocationsResponse.Unmarshal(m, b) +} +func (m *ListDiskLocationsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListDiskLocationsResponse.Marshal(b, m, deterministic) +} +func (m *ListDiskLocationsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListDiskLocationsResponse.Merge(m, src) +} +func (m *ListDiskLocationsResponse) XXX_Size() int { + return xxx_messageInfo_ListDiskLocationsResponse.Size(m) +} +func (m *ListDiskLocationsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ListDiskLocationsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ListDiskLocationsResponse proto.InternalMessageInfo + +func (m *ListDiskLocationsResponse) GetDiskLocations() map[string]*DiskLocation { + if m != nil { + return m.DiskLocations + } + return nil +} + +type PartitionDiskRequest struct { + // Disk device ID of the disk to partition + DiskID string `protobuf:"bytes,1,opt,name=diskID,proto3" json:"diskID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PartitionDiskRequest) Reset() { *m = PartitionDiskRequest{} } +func (m *PartitionDiskRequest) String() string { return proto.CompactTextString(m) } +func (*PartitionDiskRequest) ProtoMessage() {} +func (*PartitionDiskRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{3} +} + +func (m *PartitionDiskRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PartitionDiskRequest.Unmarshal(m, b) +} +func (m *PartitionDiskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PartitionDiskRequest.Marshal(b, m, deterministic) +} +func (m *PartitionDiskRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PartitionDiskRequest.Merge(m, src) +} +func (m *PartitionDiskRequest) XXX_Size() int { + return xxx_messageInfo_PartitionDiskRequest.Size(m) +} +func (m *PartitionDiskRequest) XXX_DiscardUnknown() { + xxx_messageInfo_PartitionDiskRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_PartitionDiskRequest proto.InternalMessageInfo + +func (m *PartitionDiskRequest) GetDiskID() string { + if m != nil { + return m.DiskID + } + return "" +} + +type PartitionDiskResponse struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PartitionDiskResponse) Reset() { *m = PartitionDiskResponse{} } +func (m *PartitionDiskResponse) String() string { return proto.CompactTextString(m) } +func (*PartitionDiskResponse) ProtoMessage() {} +func (*PartitionDiskResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{4} +} + +func (m *PartitionDiskResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PartitionDiskResponse.Unmarshal(m, b) +} +func (m *PartitionDiskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PartitionDiskResponse.Marshal(b, m, deterministic) +} +func (m *PartitionDiskResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_PartitionDiskResponse.Merge(m, src) +} +func (m *PartitionDiskResponse) XXX_Size() int { + return xxx_messageInfo_PartitionDiskResponse.Size(m) +} +func (m *PartitionDiskResponse) XXX_DiscardUnknown() { + xxx_messageInfo_PartitionDiskResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_PartitionDiskResponse proto.InternalMessageInfo + +type RescanRequest struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RescanRequest) Reset() { *m = RescanRequest{} } +func (m *RescanRequest) String() string { return proto.CompactTextString(m) } +func (*RescanRequest) ProtoMessage() {} +func (*RescanRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{5} +} + +func (m *RescanRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RescanRequest.Unmarshal(m, b) +} +func (m *RescanRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RescanRequest.Marshal(b, m, deterministic) +} +func (m *RescanRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_RescanRequest.Merge(m, src) +} +func (m *RescanRequest) XXX_Size() int { + return xxx_messageInfo_RescanRequest.Size(m) +} +func (m *RescanRequest) XXX_DiscardUnknown() { + xxx_messageInfo_RescanRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_RescanRequest proto.InternalMessageInfo + +type RescanResponse struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RescanResponse) Reset() { *m = RescanResponse{} } +func (m *RescanResponse) String() string { return proto.CompactTextString(m) } +func (*RescanResponse) ProtoMessage() {} +func (*RescanResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{6} +} + +func (m *RescanResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RescanResponse.Unmarshal(m, b) +} +func (m *RescanResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RescanResponse.Marshal(b, m, deterministic) +} +func (m *RescanResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_RescanResponse.Merge(m, src) +} +func (m *RescanResponse) XXX_Size() int { + return xxx_messageInfo_RescanResponse.Size(m) +} +func (m *RescanResponse) XXX_DiscardUnknown() { + xxx_messageInfo_RescanResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_RescanResponse proto.InternalMessageInfo + +type ListDiskIDsRequest struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListDiskIDsRequest) Reset() { *m = ListDiskIDsRequest{} } +func (m *ListDiskIDsRequest) String() string { return proto.CompactTextString(m) } +func (*ListDiskIDsRequest) ProtoMessage() {} +func (*ListDiskIDsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{7} +} + +func (m *ListDiskIDsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListDiskIDsRequest.Unmarshal(m, b) +} +func (m *ListDiskIDsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListDiskIDsRequest.Marshal(b, m, deterministic) +} +func (m *ListDiskIDsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListDiskIDsRequest.Merge(m, src) +} +func (m *ListDiskIDsRequest) XXX_Size() int { + return xxx_messageInfo_ListDiskIDsRequest.Size(m) +} +func (m *ListDiskIDsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ListDiskIDsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ListDiskIDsRequest proto.InternalMessageInfo + +type DiskIDs struct { + // Map of Disk ID types and Disk ID values + Identifiers map[string]string `protobuf:"bytes,1,rep,name=identifiers,proto3" json:"identifiers,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:"-"` +} + +func (m *DiskIDs) Reset() { *m = DiskIDs{} } +func (m *DiskIDs) String() string { return proto.CompactTextString(m) } +func (*DiskIDs) ProtoMessage() {} +func (*DiskIDs) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{8} +} + +func (m *DiskIDs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DiskIDs.Unmarshal(m, b) +} +func (m *DiskIDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DiskIDs.Marshal(b, m, deterministic) +} +func (m *DiskIDs) XXX_Merge(src proto.Message) { + xxx_messageInfo_DiskIDs.Merge(m, src) +} +func (m *DiskIDs) XXX_Size() int { + return xxx_messageInfo_DiskIDs.Size(m) +} +func (m *DiskIDs) XXX_DiscardUnknown() { + xxx_messageInfo_DiskIDs.DiscardUnknown(m) +} + +var xxx_messageInfo_DiskIDs proto.InternalMessageInfo + +func (m *DiskIDs) GetIdentifiers() map[string]string { + if m != nil { + return m.Identifiers + } + return nil +} + +type ListDiskIDsResponse struct { + // Map of disk device numbers and IDs associated with each disk device + DiskIDs map[string]*DiskIDs `protobuf:"bytes,1,rep,name=diskIDs,proto3" json:"diskIDs,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:"-"` +} + +func (m *ListDiskIDsResponse) Reset() { *m = ListDiskIDsResponse{} } +func (m *ListDiskIDsResponse) String() string { return proto.CompactTextString(m) } +func (*ListDiskIDsResponse) ProtoMessage() {} +func (*ListDiskIDsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{9} +} + +func (m *ListDiskIDsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListDiskIDsResponse.Unmarshal(m, b) +} +func (m *ListDiskIDsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListDiskIDsResponse.Marshal(b, m, deterministic) +} +func (m *ListDiskIDsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListDiskIDsResponse.Merge(m, src) +} +func (m *ListDiskIDsResponse) XXX_Size() int { + return xxx_messageInfo_ListDiskIDsResponse.Size(m) +} +func (m *ListDiskIDsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ListDiskIDsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ListDiskIDsResponse proto.InternalMessageInfo + +func (m *ListDiskIDsResponse) GetDiskIDs() map[string]*DiskIDs { + if m != nil { + return m.DiskIDs + } + return nil +} + +type DiskStatsRequest struct { + // Disk device ID of the disk to get the size from + DiskID string `protobuf:"bytes,1,opt,name=diskID,proto3" json:"diskID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DiskStatsRequest) Reset() { *m = DiskStatsRequest{} } +func (m *DiskStatsRequest) String() string { return proto.CompactTextString(m) } +func (*DiskStatsRequest) ProtoMessage() {} +func (*DiskStatsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{10} +} + +func (m *DiskStatsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DiskStatsRequest.Unmarshal(m, b) +} +func (m *DiskStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DiskStatsRequest.Marshal(b, m, deterministic) +} +func (m *DiskStatsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DiskStatsRequest.Merge(m, src) +} +func (m *DiskStatsRequest) XXX_Size() int { + return xxx_messageInfo_DiskStatsRequest.Size(m) +} +func (m *DiskStatsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DiskStatsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DiskStatsRequest proto.InternalMessageInfo + +func (m *DiskStatsRequest) GetDiskID() string { + if m != nil { + return m.DiskID + } + return "" +} + +type DiskStatsResponse struct { + //Total size of the volume + DiskSize int64 `protobuf:"varint,1,opt,name=diskSize,proto3" json:"diskSize,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DiskStatsResponse) Reset() { *m = DiskStatsResponse{} } +func (m *DiskStatsResponse) String() string { return proto.CompactTextString(m) } +func (*DiskStatsResponse) ProtoMessage() {} +func (*DiskStatsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{11} +} + +func (m *DiskStatsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DiskStatsResponse.Unmarshal(m, b) +} +func (m *DiskStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DiskStatsResponse.Marshal(b, m, deterministic) +} +func (m *DiskStatsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DiskStatsResponse.Merge(m, src) +} +func (m *DiskStatsResponse) XXX_Size() int { + return xxx_messageInfo_DiskStatsResponse.Size(m) +} +func (m *DiskStatsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DiskStatsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DiskStatsResponse proto.InternalMessageInfo + +func (m *DiskStatsResponse) GetDiskSize() int64 { + if m != nil { + return m.DiskSize + } + return 0 +} + +type SetAttachStateRequest struct { + // Disk device ID (number) of the disk which state will change + DiskID string `protobuf:"bytes,1,opt,name=diskID,proto3" json:"diskID,omitempty"` + // Online state to set for the disk. true for online, false for offline + IsOnline bool `protobuf:"varint,2,opt,name=isOnline,proto3" json:"isOnline,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetAttachStateRequest) Reset() { *m = SetAttachStateRequest{} } +func (m *SetAttachStateRequest) String() string { return proto.CompactTextString(m) } +func (*SetAttachStateRequest) ProtoMessage() {} +func (*SetAttachStateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{12} +} + +func (m *SetAttachStateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetAttachStateRequest.Unmarshal(m, b) +} +func (m *SetAttachStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetAttachStateRequest.Marshal(b, m, deterministic) +} +func (m *SetAttachStateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetAttachStateRequest.Merge(m, src) +} +func (m *SetAttachStateRequest) XXX_Size() int { + return xxx_messageInfo_SetAttachStateRequest.Size(m) +} +func (m *SetAttachStateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SetAttachStateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SetAttachStateRequest proto.InternalMessageInfo + +func (m *SetAttachStateRequest) GetDiskID() string { + if m != nil { + return m.DiskID + } + return "" +} + +func (m *SetAttachStateRequest) GetIsOnline() bool { + if m != nil { + return m.IsOnline + } + return false +} + +type SetAttachStateResponse struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetAttachStateResponse) Reset() { *m = SetAttachStateResponse{} } +func (m *SetAttachStateResponse) String() string { return proto.CompactTextString(m) } +func (*SetAttachStateResponse) ProtoMessage() {} +func (*SetAttachStateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{13} +} + +func (m *SetAttachStateResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetAttachStateResponse.Unmarshal(m, b) +} +func (m *SetAttachStateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetAttachStateResponse.Marshal(b, m, deterministic) +} +func (m *SetAttachStateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetAttachStateResponse.Merge(m, src) +} +func (m *SetAttachStateResponse) XXX_Size() int { + return xxx_messageInfo_SetAttachStateResponse.Size(m) +} +func (m *SetAttachStateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SetAttachStateResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SetAttachStateResponse proto.InternalMessageInfo + +type GetAttachStateRequest struct { + // Disk device ID (number) of the disk + DiskID string `protobuf:"bytes,1,opt,name=diskID,proto3" json:"diskID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAttachStateRequest) Reset() { *m = GetAttachStateRequest{} } +func (m *GetAttachStateRequest) String() string { return proto.CompactTextString(m) } +func (*GetAttachStateRequest) ProtoMessage() {} +func (*GetAttachStateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{14} +} + +func (m *GetAttachStateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAttachStateRequest.Unmarshal(m, b) +} +func (m *GetAttachStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAttachStateRequest.Marshal(b, m, deterministic) +} +func (m *GetAttachStateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAttachStateRequest.Merge(m, src) +} +func (m *GetAttachStateRequest) XXX_Size() int { + return xxx_messageInfo_GetAttachStateRequest.Size(m) +} +func (m *GetAttachStateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetAttachStateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAttachStateRequest proto.InternalMessageInfo + +func (m *GetAttachStateRequest) GetDiskID() string { + if m != nil { + return m.DiskID + } + return "" +} + +type GetAttachStateResponse struct { + // Online state of the disk. true for online, false for offline + IsOnline bool `protobuf:"varint,1,opt,name=isOnline,proto3" json:"isOnline,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAttachStateResponse) Reset() { *m = GetAttachStateResponse{} } +func (m *GetAttachStateResponse) String() string { return proto.CompactTextString(m) } +func (*GetAttachStateResponse) ProtoMessage() {} +func (*GetAttachStateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{15} +} + +func (m *GetAttachStateResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAttachStateResponse.Unmarshal(m, b) +} +func (m *GetAttachStateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAttachStateResponse.Marshal(b, m, deterministic) +} +func (m *GetAttachStateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAttachStateResponse.Merge(m, src) +} +func (m *GetAttachStateResponse) XXX_Size() int { + return xxx_messageInfo_GetAttachStateResponse.Size(m) +} +func (m *GetAttachStateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_GetAttachStateResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAttachStateResponse proto.InternalMessageInfo + +func (m *GetAttachStateResponse) GetIsOnline() bool { + if m != nil { + return m.IsOnline + } + return false +} + +func init() { + proto.RegisterType((*ListDiskLocationsRequest)(nil), "v1beta2.ListDiskLocationsRequest") + proto.RegisterType((*DiskLocation)(nil), "v1beta2.DiskLocation") + proto.RegisterType((*ListDiskLocationsResponse)(nil), "v1beta2.ListDiskLocationsResponse") + proto.RegisterMapType((map[string]*DiskLocation)(nil), "v1beta2.ListDiskLocationsResponse.DiskLocationsEntry") + proto.RegisterType((*PartitionDiskRequest)(nil), "v1beta2.PartitionDiskRequest") + proto.RegisterType((*PartitionDiskResponse)(nil), "v1beta2.PartitionDiskResponse") + proto.RegisterType((*RescanRequest)(nil), "v1beta2.RescanRequest") + proto.RegisterType((*RescanResponse)(nil), "v1beta2.RescanResponse") + proto.RegisterType((*ListDiskIDsRequest)(nil), "v1beta2.ListDiskIDsRequest") + proto.RegisterType((*DiskIDs)(nil), "v1beta2.DiskIDs") + proto.RegisterMapType((map[string]string)(nil), "v1beta2.DiskIDs.IdentifiersEntry") + proto.RegisterType((*ListDiskIDsResponse)(nil), "v1beta2.ListDiskIDsResponse") + proto.RegisterMapType((map[string]*DiskIDs)(nil), "v1beta2.ListDiskIDsResponse.DiskIDsEntry") + proto.RegisterType((*DiskStatsRequest)(nil), "v1beta2.DiskStatsRequest") + proto.RegisterType((*DiskStatsResponse)(nil), "v1beta2.DiskStatsResponse") + proto.RegisterType((*SetAttachStateRequest)(nil), "v1beta2.SetAttachStateRequest") + proto.RegisterType((*SetAttachStateResponse)(nil), "v1beta2.SetAttachStateResponse") + proto.RegisterType((*GetAttachStateRequest)(nil), "v1beta2.GetAttachStateRequest") + proto.RegisterType((*GetAttachStateResponse)(nil), "v1beta2.GetAttachStateResponse") +} + +func init() { + proto.RegisterFile("github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.proto", fileDescriptor_b8298108b4474af1) +} + +var fileDescriptor_b8298108b4474af1 = []byte{ + // 647 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xdd, 0x6e, 0xd3, 0x4c, + 0x10, 0xad, 0x9b, 0xb6, 0x69, 0x27, 0x5f, 0xf3, 0xa5, 0x4b, 0x92, 0xba, 0xe6, 0xaf, 0xdd, 0x0b, + 0x54, 0x40, 0xb5, 0x45, 0x00, 0x09, 0x51, 0x81, 0xd4, 0xd6, 0x55, 0x14, 0x88, 0xa0, 0x72, 0x40, + 0x48, 0xa8, 0x12, 0x72, 0x9c, 0xa5, 0x59, 0x25, 0xd8, 0xc1, 0xbb, 0xa9, 0x08, 0x0f, 0xc1, 0x73, + 0x70, 0xc7, 0xbb, 0xf0, 0x44, 0x68, 0xed, 0xb5, 0xbb, 0x4e, 0x9c, 0x46, 0x88, 0x3b, 0xcf, 0x99, + 0x99, 0xb3, 0x67, 0xfe, 0x64, 0x38, 0xbd, 0xa0, 0xbc, 0x3f, 0xee, 0x9a, 0x5e, 0xf0, 0xc5, 0x1a, + 0x8c, 0xbb, 0x24, 0xf4, 0x09, 0x27, 0xec, 0xc0, 0x63, 0xd4, 0xf2, 0x18, 0x3d, 0x18, 0x85, 0xc1, + 0xb7, 0x89, 0xe5, 0x0d, 0x29, 0xf1, 0xb9, 0xe5, 0x8e, 0xa8, 0xd5, 0xa3, 0x6c, 0x60, 0x5d, 0x3e, + 0xea, 0x12, 0xee, 0x36, 0x04, 0x60, 0x8e, 0xc2, 0x80, 0x07, 0xa8, 0x28, 0x21, 0x6c, 0x80, 0xde, + 0xa6, 0x8c, 0xdb, 0x94, 0x0d, 0xda, 0x81, 0xe7, 0x72, 0x1a, 0xf8, 0xcc, 0x21, 0x5f, 0xc7, 0x84, + 0x71, 0xdc, 0x87, 0xff, 0x54, 0x1c, 0xe9, 0x50, 0x3c, 0xea, 0xb9, 0x23, 0x4e, 0x42, 0x5d, 0xdb, + 0xd5, 0xf6, 0x37, 0x9c, 0xc4, 0x44, 0x15, 0x28, 0x1c, 0x8f, 0x99, 0xbe, 0x1c, 0xa1, 0xe2, 0x13, + 0xd5, 0x61, 0xed, 0x9d, 0x1b, 0x5e, 0x10, 0xae, 0x17, 0x22, 0x50, 0x5a, 0xa8, 0x0a, 0xab, 0xed, + 0xf7, 0x6f, 0x5a, 0xb6, 0xbe, 0x12, 0xc1, 0xb1, 0x81, 0x7f, 0x6b, 0xb0, 0x93, 0x23, 0x83, 0x8d, + 0x02, 0x9f, 0x11, 0x74, 0x0e, 0x65, 0x51, 0xc6, 0xa7, 0x61, 0xe2, 0xd1, 0xb5, 0xdd, 0xc2, 0x7e, + 0xa9, 0xf1, 0xd4, 0x94, 0x55, 0x98, 0x73, 0x73, 0xcd, 0x0c, 0x7a, 0xea, 0xf3, 0x70, 0xe2, 0x6c, + 0xf6, 0x54, 0xcc, 0xf8, 0x00, 0x68, 0x36, 0x48, 0x54, 0x34, 0x20, 0x13, 0x59, 0xa7, 0xf8, 0x44, + 0x0f, 0x61, 0xf5, 0xd2, 0x1d, 0x8e, 0x49, 0x54, 0x65, 0xa9, 0x51, 0x4b, 0x1f, 0x57, 0xb3, 0x9d, + 0x38, 0xe6, 0xf9, 0xf2, 0x33, 0x0d, 0x9b, 0x50, 0x3d, 0x73, 0x43, 0x4e, 0x05, 0x2e, 0x62, 0x64, + 0x5b, 0x45, 0x6b, 0x84, 0x82, 0x96, 0x2d, 0xd9, 0xa5, 0x85, 0xb7, 0xa1, 0x36, 0x15, 0x1f, 0xd7, + 0x80, 0xff, 0x87, 0x4d, 0x87, 0x30, 0xcf, 0xf5, 0x93, 0xc1, 0x54, 0xa0, 0x9c, 0x00, 0x32, 0xa4, + 0x0a, 0x28, 0xe9, 0x41, 0xcb, 0x4e, 0x07, 0xf8, 0x43, 0x83, 0xa2, 0x84, 0xd0, 0x09, 0x94, 0x68, + 0x8f, 0xf8, 0x9c, 0x7e, 0xa6, 0x24, 0x4c, 0x3a, 0xb8, 0x97, 0x29, 0xa2, 0x65, 0x33, 0xb3, 0x75, + 0x15, 0x13, 0x77, 0x4b, 0xcd, 0x32, 0x5e, 0x42, 0x65, 0x3a, 0x20, 0xa7, 0x53, 0x55, 0xb5, 0x53, + 0x1b, 0x6a, 0x4b, 0x7e, 0x6a, 0x70, 0x23, 0xa3, 0x53, 0x4e, 0xf8, 0x04, 0x8a, 0x71, 0x13, 0x12, + 0x61, 0xf7, 0x67, 0x46, 0xab, 0x84, 0x27, 0x62, 0x63, 0x81, 0x49, 0xa6, 0xd1, 0x8e, 0xd7, 0x35, + 0x71, 0xe4, 0x08, 0xbb, 0x97, 0x1d, 0x61, 0x65, 0xba, 0x7a, 0x55, 0xea, 0x03, 0xa8, 0x08, 0xb4, + 0xc3, 0x5d, 0xce, 0x16, 0x4d, 0xce, 0x82, 0x2d, 0x25, 0x56, 0xd6, 0x64, 0xc0, 0xba, 0x70, 0x77, + 0xe8, 0x77, 0x12, 0x85, 0x17, 0x9c, 0xd4, 0xc6, 0xaf, 0xa1, 0xd6, 0x21, 0xfc, 0x88, 0x73, 0xd7, + 0xeb, 0x8b, 0x2c, 0xb2, 0xe0, 0x05, 0x41, 0x46, 0xd9, 0x5b, 0x7f, 0x48, 0xfd, 0x58, 0xfc, 0xba, + 0x93, 0xda, 0x58, 0x87, 0xfa, 0x34, 0x99, 0xdc, 0x0a, 0x0b, 0x6a, 0xcd, 0xbf, 0x79, 0x06, 0x3f, + 0x81, 0x7a, 0x33, 0x97, 0x2a, 0x23, 0x40, 0xcb, 0x0a, 0x68, 0xfc, 0x5a, 0x81, 0x15, 0x51, 0x3f, + 0x3a, 0x87, 0xad, 0x99, 0x4b, 0x44, 0x7b, 0xd7, 0x5d, 0x69, 0x24, 0xc7, 0xc0, 0x8b, 0x0f, 0x19, + 0x2f, 0xa1, 0x33, 0xd8, 0xcc, 0xdc, 0x07, 0xba, 0x9d, 0xa6, 0xe5, 0xdd, 0x99, 0x71, 0x67, 0x9e, + 0x3b, 0x65, 0x3c, 0x84, 0xb5, 0xf8, 0x8e, 0x50, 0x3d, 0x8d, 0xcd, 0x5c, 0x9a, 0xb1, 0x3d, 0x83, + 0xa7, 0xc9, 0xaf, 0xa0, 0xa4, 0xec, 0x26, 0xba, 0x99, 0xbf, 0xb1, 0x31, 0xcd, 0xad, 0xeb, 0xd6, + 0x19, 0x2f, 0x21, 0x1b, 0x36, 0xd2, 0x05, 0x42, 0x3b, 0x99, 0xb5, 0x54, 0x17, 0xd0, 0x30, 0xf2, + 0x5c, 0x29, 0x4b, 0x07, 0xca, 0xd9, 0x45, 0x40, 0x57, 0x2d, 0xc8, 0x5d, 0x37, 0xe3, 0xee, 0x5c, + 0xbf, 0x4a, 0xda, 0x9c, 0x47, 0xda, 0x5c, 0x40, 0xda, 0x9c, 0x43, 0x7a, 0xfc, 0xe2, 0xe3, 0xe1, + 0x3f, 0xfc, 0xc7, 0xba, 0x6b, 0xd1, 0x4f, 0xec, 0xf1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x68, + 0x06, 0xb4, 0xd5, 0x0d, 0x07, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// DiskClient is the client API for Disk service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type DiskClient interface { + // ListDiskLocations returns locations of all + // disk devices enumerated by the host + ListDiskLocations(ctx context.Context, in *ListDiskLocationsRequest, opts ...grpc.CallOption) (*ListDiskLocationsResponse, error) + // PartitionDisk initializes and partitions a disk device (if the disk has not + // been partitioned already) and returns the resulting volume device ID + PartitionDisk(ctx context.Context, in *PartitionDiskRequest, opts ...grpc.CallOption) (*PartitionDiskResponse, error) + // Rescan refreshes the host's storage cache + Rescan(ctx context.Context, in *RescanRequest, opts ...grpc.CallOption) (*RescanResponse, error) + // ListDiskIDs returns a map of DiskID objects where the key is the disk number + ListDiskIDs(ctx context.Context, in *ListDiskIDsRequest, opts ...grpc.CallOption) (*ListDiskIDsResponse, error) + // DiskStats returns the stats for the disk + DiskStats(ctx context.Context, in *DiskStatsRequest, opts ...grpc.CallOption) (*DiskStatsResponse, error) + // SetAttachState sets the offline/online state of a disk + SetAttachState(ctx context.Context, in *SetAttachStateRequest, opts ...grpc.CallOption) (*SetAttachStateResponse, error) + // GetAttachState gets the offline/online state of a disk + GetAttachState(ctx context.Context, in *GetAttachStateRequest, opts ...grpc.CallOption) (*GetAttachStateResponse, error) +} + +type diskClient struct { + cc grpc.ClientConnInterface +} + +func NewDiskClient(cc grpc.ClientConnInterface) DiskClient { + return &diskClient{cc} +} + +func (c *diskClient) ListDiskLocations(ctx context.Context, in *ListDiskLocationsRequest, opts ...grpc.CallOption) (*ListDiskLocationsResponse, error) { + out := new(ListDiskLocationsResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/ListDiskLocations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) PartitionDisk(ctx context.Context, in *PartitionDiskRequest, opts ...grpc.CallOption) (*PartitionDiskResponse, error) { + out := new(PartitionDiskResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/PartitionDisk", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) Rescan(ctx context.Context, in *RescanRequest, opts ...grpc.CallOption) (*RescanResponse, error) { + out := new(RescanResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/Rescan", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) ListDiskIDs(ctx context.Context, in *ListDiskIDsRequest, opts ...grpc.CallOption) (*ListDiskIDsResponse, error) { + out := new(ListDiskIDsResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/ListDiskIDs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) DiskStats(ctx context.Context, in *DiskStatsRequest, opts ...grpc.CallOption) (*DiskStatsResponse, error) { + out := new(DiskStatsResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/DiskStats", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) SetAttachState(ctx context.Context, in *SetAttachStateRequest, opts ...grpc.CallOption) (*SetAttachStateResponse, error) { + out := new(SetAttachStateResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/SetAttachState", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) GetAttachState(ctx context.Context, in *GetAttachStateRequest, opts ...grpc.CallOption) (*GetAttachStateResponse, error) { + out := new(GetAttachStateResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/GetAttachState", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// DiskServer is the server API for Disk service. +type DiskServer interface { + // ListDiskLocations returns locations of all + // disk devices enumerated by the host + ListDiskLocations(context.Context, *ListDiskLocationsRequest) (*ListDiskLocationsResponse, error) + // PartitionDisk initializes and partitions a disk device (if the disk has not + // been partitioned already) and returns the resulting volume device ID + PartitionDisk(context.Context, *PartitionDiskRequest) (*PartitionDiskResponse, error) + // Rescan refreshes the host's storage cache + Rescan(context.Context, *RescanRequest) (*RescanResponse, error) + // ListDiskIDs returns a map of DiskID objects where the key is the disk number + ListDiskIDs(context.Context, *ListDiskIDsRequest) (*ListDiskIDsResponse, error) + // DiskStats returns the stats for the disk + DiskStats(context.Context, *DiskStatsRequest) (*DiskStatsResponse, error) + // SetAttachState sets the offline/online state of a disk + SetAttachState(context.Context, *SetAttachStateRequest) (*SetAttachStateResponse, error) + // GetAttachState gets the offline/online state of a disk + GetAttachState(context.Context, *GetAttachStateRequest) (*GetAttachStateResponse, error) +} + +// UnimplementedDiskServer can be embedded to have forward compatible implementations. +type UnimplementedDiskServer struct { +} + +func (*UnimplementedDiskServer) ListDiskLocations(ctx context.Context, req *ListDiskLocationsRequest) (*ListDiskLocationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDiskLocations not implemented") +} +func (*UnimplementedDiskServer) PartitionDisk(ctx context.Context, req *PartitionDiskRequest) (*PartitionDiskResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PartitionDisk not implemented") +} +func (*UnimplementedDiskServer) Rescan(ctx context.Context, req *RescanRequest) (*RescanResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Rescan not implemented") +} +func (*UnimplementedDiskServer) ListDiskIDs(ctx context.Context, req *ListDiskIDsRequest) (*ListDiskIDsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDiskIDs not implemented") +} +func (*UnimplementedDiskServer) DiskStats(ctx context.Context, req *DiskStatsRequest) (*DiskStatsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiskStats not implemented") +} +func (*UnimplementedDiskServer) SetAttachState(ctx context.Context, req *SetAttachStateRequest) (*SetAttachStateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetAttachState not implemented") +} +func (*UnimplementedDiskServer) GetAttachState(ctx context.Context, req *GetAttachStateRequest) (*GetAttachStateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAttachState not implemented") +} + +func RegisterDiskServer(s *grpc.Server, srv DiskServer) { + s.RegisterService(&_Disk_serviceDesc, srv) +} + +func _Disk_ListDiskLocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDiskLocationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).ListDiskLocations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/ListDiskLocations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).ListDiskLocations(ctx, req.(*ListDiskLocationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_PartitionDisk_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PartitionDiskRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).PartitionDisk(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/PartitionDisk", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).PartitionDisk(ctx, req.(*PartitionDiskRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_Rescan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RescanRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).Rescan(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/Rescan", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).Rescan(ctx, req.(*RescanRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_ListDiskIDs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDiskIDsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).ListDiskIDs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/ListDiskIDs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).ListDiskIDs(ctx, req.(*ListDiskIDsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_DiskStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiskStatsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).DiskStats(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/DiskStats", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).DiskStats(ctx, req.(*DiskStatsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_SetAttachState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetAttachStateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).SetAttachState(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/SetAttachState", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).SetAttachState(ctx, req.(*SetAttachStateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_GetAttachState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAttachStateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).GetAttachState(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/GetAttachState", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).GetAttachState(ctx, req.(*GetAttachStateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Disk_serviceDesc = grpc.ServiceDesc{ + ServiceName: "v1beta2.Disk", + HandlerType: (*DiskServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListDiskLocations", + Handler: _Disk_ListDiskLocations_Handler, + }, + { + MethodName: "PartitionDisk", + Handler: _Disk_PartitionDisk_Handler, + }, + { + MethodName: "Rescan", + Handler: _Disk_Rescan_Handler, + }, + { + MethodName: "ListDiskIDs", + Handler: _Disk_ListDiskIDs_Handler, + }, + { + MethodName: "DiskStats", + Handler: _Disk_DiskStats_Handler, + }, + { + MethodName: "SetAttachState", + Handler: _Disk_SetAttachState_Handler, + }, + { + MethodName: "GetAttachState", + Handler: _Disk_GetAttachState_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.proto", +} diff --git a/client/api/disk/v1beta2/api.proto b/client/api/disk/v1beta2/api.proto new file mode 100644 index 00000000..c9f6c8f8 --- /dev/null +++ b/client/api/disk/v1beta2/api.proto @@ -0,0 +1,109 @@ +syntax = "proto3"; + +package v1beta2; + +option go_package = "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2"; + +service Disk { + // ListDiskLocations returns locations of all + // disk devices enumerated by the host + rpc ListDiskLocations(ListDiskLocationsRequest) returns (ListDiskLocationsResponse) {} + + // PartitionDisk initializes and partitions a disk device (if the disk has not + // been partitioned already) and returns the resulting volume device ID + rpc PartitionDisk(PartitionDiskRequest) returns (PartitionDiskResponse) {} + + // Rescan refreshes the host's storage cache + rpc Rescan(RescanRequest) returns (RescanResponse) {} + + // ListDiskIDs returns a map of DiskID objects where the key is the disk number + rpc ListDiskIDs(ListDiskIDsRequest) returns (ListDiskIDsResponse) {} + + // DiskStats returns the stats for the disk + rpc DiskStats(DiskStatsRequest) returns (DiskStatsResponse) {} + + // SetAttachState sets the offline/online state of a disk + rpc SetAttachState(SetAttachStateRequest) returns (SetAttachStateResponse) {} + + // GetAttachState gets the offline/online state of a disk + rpc GetAttachState(GetAttachStateRequest) returns (GetAttachStateResponse) {} +} + +message ListDiskLocationsRequest { + // Intentionally empty +} + +message DiskLocation { + string Adapter = 1; + string Bus = 2; + string Target = 3; + string LUNID = 4; +} + +message ListDiskLocationsResponse { + // Map of disk device IDs and associated with each disk device + map disk_locations = 1; +} + +message PartitionDiskRequest { + // Disk device ID of the disk to partition + string diskID = 1; +} + +message PartitionDiskResponse { + // Intentionally empty +} + +message RescanRequest { + // Intentionally empty +} + +message RescanResponse { + // Intentionally empty +} + +message ListDiskIDsRequest { + // Intentionally empty +} + +message DiskIDs { + // Map of Disk ID types and Disk ID values + map identifiers = 1; +} + +message ListDiskIDsResponse { + // Map of disk device numbers and IDs associated with each disk device + map diskIDs = 1; +} + +message DiskStatsRequest { + // Disk device ID of the disk to get the size from + string diskID = 1; +} + +message DiskStatsResponse { + //Total size of the volume + int64 diskSize = 1; +} + +message SetAttachStateRequest { + // Disk device ID (number) of the disk which state will change + string diskID = 1; + + // Online state to set for the disk. true for online, false for offline + bool isOnline = 2; +} + +message SetAttachStateResponse { +} + +message GetAttachStateRequest { + // Disk device ID (number) of the disk + string diskID = 1; +} + +message GetAttachStateResponse { + // Online state of the disk. true for online, false for offline + bool isOnline = 1; +} + diff --git a/client/groups/disk/v1beta2/client_generated.go b/client/groups/disk/v1beta2/client_generated.go new file mode 100644 index 00000000..a5e85d81 --- /dev/null +++ b/client/groups/disk/v1beta2/client_generated.go @@ -0,0 +1,80 @@ +// Code generated by csi-proxy-api-gen. DO NOT EDIT. + +package v1beta2 + +import ( + "context" + "net" + + "github.com/Microsoft/go-winio" + "github.com/kubernetes-csi/csi-proxy/client" + "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2" + "github.com/kubernetes-csi/csi-proxy/client/apiversion" + "google.golang.org/grpc" +) + +const groupName = "disk" + +var version = apiversion.NewVersionOrPanic("v1beta2") + +type Client struct { + client v1beta2.DiskClient + connection *grpc.ClientConn +} + +// NewClient returns a client to make calls to the disk API group version v1beta2. +// It's the caller's responsibility to Close the client when done. +func NewClient() (*Client, error) { + pipePath := client.PipePath(groupName, version) + + connection, err := grpc.Dial(pipePath, + grpc.WithContextDialer(func(context context.Context, s string) (net.Conn, error) { + return winio.DialPipeContext(context, s) + }), + grpc.WithInsecure()) + if err != nil { + return nil, err + } + + client := v1beta2.NewDiskClient(connection) + return &Client{ + client: client, + connection: connection, + }, nil +} + +// Close closes the client. It must be called before the client gets GC-ed. +func (w *Client) Close() error { + return w.connection.Close() +} + +// ensures we implement all the required methods +var _ v1beta2.DiskClient = &Client{} + +func (w *Client) DiskStats(context context.Context, request *v1beta2.DiskStatsRequest, opts ...grpc.CallOption) (*v1beta2.DiskStatsResponse, error) { + return w.client.DiskStats(context, request, opts...) +} + +func (w *Client) GetAttachState(context context.Context, request *v1beta2.GetAttachStateRequest, opts ...grpc.CallOption) (*v1beta2.GetAttachStateResponse, error) { + return w.client.GetAttachState(context, request, opts...) +} + +func (w *Client) ListDiskIDs(context context.Context, request *v1beta2.ListDiskIDsRequest, opts ...grpc.CallOption) (*v1beta2.ListDiskIDsResponse, error) { + return w.client.ListDiskIDs(context, request, opts...) +} + +func (w *Client) ListDiskLocations(context context.Context, request *v1beta2.ListDiskLocationsRequest, opts ...grpc.CallOption) (*v1beta2.ListDiskLocationsResponse, error) { + return w.client.ListDiskLocations(context, request, opts...) +} + +func (w *Client) PartitionDisk(context context.Context, request *v1beta2.PartitionDiskRequest, opts ...grpc.CallOption) (*v1beta2.PartitionDiskResponse, error) { + return w.client.PartitionDisk(context, request, opts...) +} + +func (w *Client) Rescan(context context.Context, request *v1beta2.RescanRequest, opts ...grpc.CallOption) (*v1beta2.RescanResponse, error) { + return w.client.Rescan(context, request, opts...) +} + +func (w *Client) SetAttachState(context context.Context, request *v1beta2.SetAttachStateRequest, opts ...grpc.CallOption) (*v1beta2.SetAttachStateResponse, error) { + return w.client.SetAttachState(context, request, opts...) +} diff --git a/integrationtests/disk_test.go b/integrationtests/disk_test.go index beba335c..309520d2 100644 --- a/integrationtests/disk_test.go +++ b/integrationtests/disk_test.go @@ -2,28 +2,32 @@ package integrationtests import ( "context" + "fmt" + "math/rand" "strconv" "strings" "testing" + "time" - "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta1" - v1beta1client "github.com/kubernetes-csi/csi-proxy/client/groups/disk/v1beta1" + "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2" + v1beta2client "github.com/kubernetes-csi/csi-proxy/client/groups/disk/v1beta2" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) // This test is meant to run on GCE where the page83 ID of the first disk contains // the host name // Skip on Github Actions as it is expected to fail -func TestDiskAPIGroupV1Beta1(t *testing.T) { +func TestDiskAPIGroup(t *testing.T) { t.Run("ListDiskIDs", func(t *testing.T) { skipTestOnCondition(t, isRunningOnGhActions()) - client, err := v1beta1client.NewClient() + client, err := v1beta2client.NewClient() require.Nil(t, err) defer client.Close() diskNumber := 0 id := "page83" - listRequest := &v1beta1.ListDiskIDsRequest{} + listRequest := &v1beta2.ListDiskIDsRequest{} diskIDsResponse, err := client.ListDiskIDs(context.TODO(), listRequest) require.Nil(t, err) @@ -53,4 +57,61 @@ func TestDiskAPIGroupV1Beta1(t *testing.T) { } } }) + + t.Run("Get/SetAttachState", func(t *testing.T) { + skipTestOnCondition(t, isRunningOnGhActions()) + client, err := v1beta2client.NewClient() + require.NoError(t, err) + + defer client.Close() + + s1 := rand.NewSource(time.Now().UTC().UnixNano()) + r1 := rand.New(s1) + + testPluginPath := fmt.Sprintf("C:\\var\\lib\\kubelet\\plugins\\testplugin-%d.csi.io\\", r1.Intn(100)) + mountPath := fmt.Sprintf("%smount-%d", testPluginPath, r1.Intn(100)) + vhdxPath := fmt.Sprintf("%sdisk-%d.vhdx", testPluginPath, r1.Intn(100)) + + defer diskCleanup(t, vhdxPath, mountPath, testPluginPath) + diskNum := diskInit(t, vhdxPath, mountPath, testPluginPath) + + out, err := runPowershellCmd(fmt.Sprintf("Get-Disk -Number %s | Set-Disk -IsOffline $true", diskNum)) + require.NoError(t, err, "failed setting disk offline, out=%v", out) + + getReq := &v1beta2.GetAttachStateRequest{DiskID: diskNum} + getResp, err := client.GetAttachState(context.TODO(), getReq) + + if assert.NoError(t, err) { + assert.False(t, getResp.IsOnline, "Expected disk to be offline") + } + + setReq := &v1beta2.SetAttachStateRequest{DiskID: diskNum, IsOnline: true} + _, err = client.SetAttachState(context.TODO(), setReq) + assert.NoError(t, err) + + out, err = runPowershellCmd(fmt.Sprintf("Get-Disk -Number %s | Select-Object -ExpandProperty IsOffline", diskNum)) + assert.NoError(t, err) + + result, err := strconv.ParseBool(strings.TrimSpace(out)) + assert.NoError(t, err) + assert.False(t, result, "Expected disk to be online") + + getReq = &v1beta2.GetAttachStateRequest{DiskID: diskNum} + getResp, err = client.GetAttachState(context.TODO(), getReq) + + if assert.NoError(t, err) { + assert.True(t, getResp.IsOnline, "Expected disk is online") + } + + setReq = &v1beta2.SetAttachStateRequest{DiskID: diskNum, IsOnline: false} + _, err = client.SetAttachState(context.TODO(), setReq) + assert.NoError(t, err) + + out, err = runPowershellCmd(fmt.Sprintf("Get-Disk -Number %s | Select-Object -ExpandProperty IsOffline", diskNum)) + assert.NoError(t, err) + + result, err = strconv.ParseBool(strings.TrimSpace(out)) + assert.NoError(t, err) + assert.True(t, result, "Expected disk to be offline") + }) } diff --git a/internal/os/disk/api.go b/internal/os/disk/api.go index c481e304..7ef48435 100644 --- a/internal/os/disk/api.go +++ b/internal/os/disk/api.go @@ -318,3 +318,29 @@ func (imp APIImplementor) DiskStats(diskID string) (int64, error) { return diskSize, nil } + +func (imp APIImplementor) SetAttachState(diskID string, isOnline bool) error { + cmd := fmt.Sprintf("(Get-Disk -Number %s) | Set-Disk -IsOffline $%t", diskID, !isOnline) + out, err := exec.Command("powershell", "/c", cmd).CombinedOutput() + if err != nil { + return fmt.Errorf("error setting disk attach state. cmd: %s, output: %s, error: %v", cmd, string(out), err) + } + + return nil +} + +func (imp APIImplementor) GetAttachState(diskID string) (bool, error) { + cmd := fmt.Sprintf("(Get-Disk -Number %s) | Select-Object -ExpandProperty IsOffline", diskID) + out, err := exec.Command("powershell", "/c", cmd).CombinedOutput() + if err != nil { + return false, fmt.Errorf("error getting disk state. cmd: %s, output: %s, error: %v", cmd, string(out), err) + } + + sout := strings.TrimSpace(string(out)) + isOffline, err := strconv.ParseBool(sout) + if err != nil { + return false, fmt.Errorf("error parsing disk state. output: %s, error: %v", sout, err) + } + + return !isOffline, nil +} diff --git a/internal/server/disk/api_group_generated.go b/internal/server/disk/api_group_generated.go index 05dc219f..46992ebe 100644 --- a/internal/server/disk/api_group_generated.go +++ b/internal/server/disk/api_group_generated.go @@ -7,6 +7,7 @@ import ( "github.com/kubernetes-csi/csi-proxy/internal/server/disk/internal" "github.com/kubernetes-csi/csi-proxy/internal/server/disk/internal/v1alpha1" "github.com/kubernetes-csi/csi-proxy/internal/server/disk/internal/v1beta1" + "github.com/kubernetes-csi/csi-proxy/internal/server/disk/internal/v1beta2" srvtypes "github.com/kubernetes-csi/csi-proxy/internal/server/types" ) @@ -18,6 +19,7 @@ var _ internal.ServerInterface = &Server{} func (s *Server) VersionedAPIs() []*srvtypes.VersionedAPI { v1alpha1Server := v1alpha1.NewVersionedServer(s) v1beta1Server := v1beta1.NewVersionedServer(s) + v1beta2Server := v1beta2.NewVersionedServer(s) return []*srvtypes.VersionedAPI{ { @@ -30,5 +32,10 @@ func (s *Server) VersionedAPIs() []*srvtypes.VersionedAPI { Version: apiversion.NewVersionOrPanic("v1beta1"), Registrant: v1beta1Server.Register, }, + { + Group: name, + Version: apiversion.NewVersionOrPanic("v1beta2"), + Registrant: v1beta2Server.Register, + }, } } diff --git a/internal/server/disk/internal/types.go b/internal/server/disk/internal/types.go index e05076cd..fbc913ef 100644 --- a/internal/server/disk/internal/types.go +++ b/internal/server/disk/internal/types.go @@ -58,3 +58,24 @@ type DiskStatsRequest struct { type DiskStatsResponse struct { DiskSize int64 } + +type SetAttachStateRequest struct { + // Disk device ID of the disk which state will change + DiskID string + + // Online state to set for the disk. true for online, false for offline + IsOnline bool +} + +type SetAttachStateResponse struct { +} + +type GetAttachStateRequest struct { + // Disk device ID of the disk + DiskID string +} + +type GetAttachStateResponse struct { + // Online state of the disk. true for online, false for offline + IsOnline bool +} diff --git a/internal/server/disk/internal/types_generated.go b/internal/server/disk/internal/types_generated.go index 00cfb89b..81cfa160 100644 --- a/internal/server/disk/internal/types_generated.go +++ b/internal/server/disk/internal/types_generated.go @@ -16,9 +16,11 @@ type VersionedAPI interface { // All the functions this group's server needs to define. type ServerInterface interface { DiskStats(context.Context, *DiskStatsRequest, apiversion.Version) (*DiskStatsResponse, error) + GetAttachState(context.Context, *GetAttachStateRequest, apiversion.Version) (*GetAttachStateResponse, error) GetDiskNumberByName(context.Context, *GetDiskNumberByNameRequest, apiversion.Version) (*GetDiskNumberByNameResponse, error) ListDiskIDs(context.Context, *ListDiskIDsRequest, apiversion.Version) (*ListDiskIDsResponse, error) ListDiskLocations(context.Context, *ListDiskLocationsRequest, apiversion.Version) (*ListDiskLocationsResponse, error) PartitionDisk(context.Context, *PartitionDiskRequest, apiversion.Version) (*PartitionDiskResponse, error) Rescan(context.Context, *RescanRequest, apiversion.Version) (*RescanResponse, error) + SetAttachState(context.Context, *SetAttachStateRequest, apiversion.Version) (*SetAttachStateResponse, error) } diff --git a/internal/server/disk/internal/v1beta2/conversion.go b/internal/server/disk/internal/v1beta2/conversion.go new file mode 100644 index 00000000..eb53380f --- /dev/null +++ b/internal/server/disk/internal/v1beta2/conversion.go @@ -0,0 +1,52 @@ +package v1beta2 + +// Add manual conversion functions here to override automatic conversion functions + +import ( + v1beta2 "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2" + internal "github.com/kubernetes-csi/csi-proxy/internal/server/disk/internal" +) + +func Convert_internal_ListDiskLocationsResponse_To_v1beta2_ListDiskLocationsResponse(in *internal.ListDiskLocationsResponse, out *v1beta2.ListDiskLocationsResponse) error { + if in.DiskLocations != nil { + in, out := &in.DiskLocations, &out.DiskLocations + *out = make(map[string]*v1beta2.DiskLocation, len(*in)) + for key, val := range *in { + newVal := new(v1beta2.DiskLocation) + if err := Convert_internal_DiskLocation_To_v1beta2_DiskLocation(val, newVal); err != nil { + return err + } + (*out)[key] = newVal + } + } else { + out.DiskLocations = nil + } + return nil +} + +func Convert_internal_ListDiskIDsResponse_To_v1beta2_ListDiskIDsResponse(in *internal.ListDiskIDsResponse, out *v1beta2.ListDiskIDsResponse) error { + if in.DiskIDs != nil { + in, out := &in.DiskIDs, &out.DiskIDs + *out = make(map[string]*v1beta2.DiskIDs, len(*in)) + for key, val := range *in { + newVal := new(v1beta2.DiskIDs) + if err := Convert_internal_DiskIDs_To_v1beta2_DiskIDs(val, newVal); err != nil { + return err + } + (*out)[key] = newVal + } + } else { + out.DiskIDs = nil + } + return nil +} + +func Convert_internal_DiskStatsResponse_To_v1beta2_DiskStatsResponse(in *internal.DiskStatsResponse, out *v1beta2.DiskStatsResponse) error { + out.DiskSize = in.DiskSize + return nil +} + +func Convert_v1beta2_DiskStatsRequest_To_internal_DiskStatsRequest(in *v1beta2.DiskStatsRequest, out *internal.DiskStatsRequest) error { + out.DiskID = in.DiskID + return nil +} diff --git a/internal/server/disk/internal/v1beta2/conversion_generated.go b/internal/server/disk/internal/v1beta2/conversion_generated.go new file mode 100644 index 00000000..22a830ae --- /dev/null +++ b/internal/server/disk/internal/v1beta2/conversion_generated.go @@ -0,0 +1,354 @@ +// Code generated by csi-proxy-api-gen. DO NOT EDIT. + +package v1beta2 + +import ( + unsafe "unsafe" + + v1beta2 "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2" + internal "github.com/kubernetes-csi/csi-proxy/internal/server/disk/internal" +) + +func autoConvert_v1beta2_DiskIDs_To_internal_DiskIDs(in *v1beta2.DiskIDs, out *internal.DiskIDs) error { + out.Identifiers = *(*map[string]string)(unsafe.Pointer(&in.Identifiers)) + return nil +} + +// Convert_v1beta2_DiskIDs_To_internal_DiskIDs is an autogenerated conversion function. +func Convert_v1beta2_DiskIDs_To_internal_DiskIDs(in *v1beta2.DiskIDs, out *internal.DiskIDs) error { + return autoConvert_v1beta2_DiskIDs_To_internal_DiskIDs(in, out) +} + +func autoConvert_internal_DiskIDs_To_v1beta2_DiskIDs(in *internal.DiskIDs, out *v1beta2.DiskIDs) error { + out.Identifiers = *(*map[string]string)(unsafe.Pointer(&in.Identifiers)) + return nil +} + +// Convert_internal_DiskIDs_To_v1beta2_DiskIDs is an autogenerated conversion function. +func Convert_internal_DiskIDs_To_v1beta2_DiskIDs(in *internal.DiskIDs, out *v1beta2.DiskIDs) error { + return autoConvert_internal_DiskIDs_To_v1beta2_DiskIDs(in, out) +} + +func autoConvert_v1beta2_DiskLocation_To_internal_DiskLocation(in *v1beta2.DiskLocation, out *internal.DiskLocation) error { + out.Adapter = in.Adapter + out.Bus = in.Bus + out.Target = in.Target + out.LUNID = in.LUNID + return nil +} + +// Convert_v1beta2_DiskLocation_To_internal_DiskLocation is an autogenerated conversion function. +func Convert_v1beta2_DiskLocation_To_internal_DiskLocation(in *v1beta2.DiskLocation, out *internal.DiskLocation) error { + return autoConvert_v1beta2_DiskLocation_To_internal_DiskLocation(in, out) +} + +func autoConvert_internal_DiskLocation_To_v1beta2_DiskLocation(in *internal.DiskLocation, out *v1beta2.DiskLocation) error { + out.Adapter = in.Adapter + out.Bus = in.Bus + out.Target = in.Target + out.LUNID = in.LUNID + return nil +} + +// Convert_internal_DiskLocation_To_v1beta2_DiskLocation is an autogenerated conversion function. +func Convert_internal_DiskLocation_To_v1beta2_DiskLocation(in *internal.DiskLocation, out *v1beta2.DiskLocation) error { + return autoConvert_internal_DiskLocation_To_v1beta2_DiskLocation(in, out) +} + +func autoConvert_v1beta2_DiskStatsRequest_To_internal_DiskStatsRequest(in *v1beta2.DiskStatsRequest, out *internal.DiskStatsRequest) error { + out.DiskID = in.DiskID + return nil +} + +func autoConvert_internal_DiskStatsRequest_To_v1beta2_DiskStatsRequest(in *internal.DiskStatsRequest, out *v1beta2.DiskStatsRequest) error { + out.DiskID = in.DiskID + return nil +} + +// Convert_internal_DiskStatsRequest_To_v1beta2_DiskStatsRequest is an autogenerated conversion function. +func Convert_internal_DiskStatsRequest_To_v1beta2_DiskStatsRequest(in *internal.DiskStatsRequest, out *v1beta2.DiskStatsRequest) error { + return autoConvert_internal_DiskStatsRequest_To_v1beta2_DiskStatsRequest(in, out) +} + +func autoConvert_v1beta2_DiskStatsResponse_To_internal_DiskStatsResponse(in *v1beta2.DiskStatsResponse, out *internal.DiskStatsResponse) error { + out.DiskSize = in.DiskSize + return nil +} + +// Convert_v1beta2_DiskStatsResponse_To_internal_DiskStatsResponse is an autogenerated conversion function. +func Convert_v1beta2_DiskStatsResponse_To_internal_DiskStatsResponse(in *v1beta2.DiskStatsResponse, out *internal.DiskStatsResponse) error { + return autoConvert_v1beta2_DiskStatsResponse_To_internal_DiskStatsResponse(in, out) +} + +func autoConvert_internal_DiskStatsResponse_To_v1beta2_DiskStatsResponse(in *internal.DiskStatsResponse, out *v1beta2.DiskStatsResponse) error { + out.DiskSize = in.DiskSize + return nil +} + +func autoConvert_v1beta2_GetAttachStateRequest_To_internal_GetAttachStateRequest(in *v1beta2.GetAttachStateRequest, out *internal.GetAttachStateRequest) error { + out.DiskID = in.DiskID + return nil +} + +// Convert_v1beta2_GetAttachStateRequest_To_internal_GetAttachStateRequest is an autogenerated conversion function. +func Convert_v1beta2_GetAttachStateRequest_To_internal_GetAttachStateRequest(in *v1beta2.GetAttachStateRequest, out *internal.GetAttachStateRequest) error { + return autoConvert_v1beta2_GetAttachStateRequest_To_internal_GetAttachStateRequest(in, out) +} + +func autoConvert_internal_GetAttachStateRequest_To_v1beta2_GetAttachStateRequest(in *internal.GetAttachStateRequest, out *v1beta2.GetAttachStateRequest) error { + out.DiskID = in.DiskID + return nil +} + +// Convert_internal_GetAttachStateRequest_To_v1beta2_GetAttachStateRequest is an autogenerated conversion function. +func Convert_internal_GetAttachStateRequest_To_v1beta2_GetAttachStateRequest(in *internal.GetAttachStateRequest, out *v1beta2.GetAttachStateRequest) error { + return autoConvert_internal_GetAttachStateRequest_To_v1beta2_GetAttachStateRequest(in, out) +} + +func autoConvert_v1beta2_GetAttachStateResponse_To_internal_GetAttachStateResponse(in *v1beta2.GetAttachStateResponse, out *internal.GetAttachStateResponse) error { + out.IsOnline = in.IsOnline + return nil +} + +// Convert_v1beta2_GetAttachStateResponse_To_internal_GetAttachStateResponse is an autogenerated conversion function. +func Convert_v1beta2_GetAttachStateResponse_To_internal_GetAttachStateResponse(in *v1beta2.GetAttachStateResponse, out *internal.GetAttachStateResponse) error { + return autoConvert_v1beta2_GetAttachStateResponse_To_internal_GetAttachStateResponse(in, out) +} + +func autoConvert_internal_GetAttachStateResponse_To_v1beta2_GetAttachStateResponse(in *internal.GetAttachStateResponse, out *v1beta2.GetAttachStateResponse) error { + out.IsOnline = in.IsOnline + return nil +} + +// Convert_internal_GetAttachStateResponse_To_v1beta2_GetAttachStateResponse is an autogenerated conversion function. +func Convert_internal_GetAttachStateResponse_To_v1beta2_GetAttachStateResponse(in *internal.GetAttachStateResponse, out *v1beta2.GetAttachStateResponse) error { + return autoConvert_internal_GetAttachStateResponse_To_v1beta2_GetAttachStateResponse(in, out) +} + +func autoConvert_v1beta2_ListDiskIDsRequest_To_internal_ListDiskIDsRequest(in *v1beta2.ListDiskIDsRequest, out *internal.ListDiskIDsRequest) error { + return nil +} + +// Convert_v1beta2_ListDiskIDsRequest_To_internal_ListDiskIDsRequest is an autogenerated conversion function. +func Convert_v1beta2_ListDiskIDsRequest_To_internal_ListDiskIDsRequest(in *v1beta2.ListDiskIDsRequest, out *internal.ListDiskIDsRequest) error { + return autoConvert_v1beta2_ListDiskIDsRequest_To_internal_ListDiskIDsRequest(in, out) +} + +func autoConvert_internal_ListDiskIDsRequest_To_v1beta2_ListDiskIDsRequest(in *internal.ListDiskIDsRequest, out *v1beta2.ListDiskIDsRequest) error { + return nil +} + +// Convert_internal_ListDiskIDsRequest_To_v1beta2_ListDiskIDsRequest is an autogenerated conversion function. +func Convert_internal_ListDiskIDsRequest_To_v1beta2_ListDiskIDsRequest(in *internal.ListDiskIDsRequest, out *v1beta2.ListDiskIDsRequest) error { + return autoConvert_internal_ListDiskIDsRequest_To_v1beta2_ListDiskIDsRequest(in, out) +} + +func autoConvert_v1beta2_ListDiskIDsResponse_To_internal_ListDiskIDsResponse(in *v1beta2.ListDiskIDsResponse, out *internal.ListDiskIDsResponse) error { + if in.DiskIDs != nil { + in, out := &in.DiskIDs, &out.DiskIDs + *out = make(map[string]*internal.DiskIDs, len(*in)) + for key, val := range *in { + newVal := new(*internal.DiskIDs) + if err := Convert_v1beta2_DiskIDs_To_internal_DiskIDs(*&val, *newVal); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.DiskIDs = nil + } + return nil +} + +// Convert_v1beta2_ListDiskIDsResponse_To_internal_ListDiskIDsResponse is an autogenerated conversion function. +func Convert_v1beta2_ListDiskIDsResponse_To_internal_ListDiskIDsResponse(in *v1beta2.ListDiskIDsResponse, out *internal.ListDiskIDsResponse) error { + return autoConvert_v1beta2_ListDiskIDsResponse_To_internal_ListDiskIDsResponse(in, out) +} + +func autoConvert_internal_ListDiskIDsResponse_To_v1beta2_ListDiskIDsResponse(in *internal.ListDiskIDsResponse, out *v1beta2.ListDiskIDsResponse) error { + if in.DiskIDs != nil { + in, out := &in.DiskIDs, &out.DiskIDs + *out = make(map[string]*v1beta2.DiskIDs, len(*in)) + for key, val := range *in { + newVal := new(*v1beta2.DiskIDs) + if err := Convert_internal_DiskIDs_To_v1beta2_DiskIDs(*&val, *newVal); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.DiskIDs = nil + } + return nil +} + +func autoConvert_v1beta2_ListDiskLocationsRequest_To_internal_ListDiskLocationsRequest(in *v1beta2.ListDiskLocationsRequest, out *internal.ListDiskLocationsRequest) error { + return nil +} + +// Convert_v1beta2_ListDiskLocationsRequest_To_internal_ListDiskLocationsRequest is an autogenerated conversion function. +func Convert_v1beta2_ListDiskLocationsRequest_To_internal_ListDiskLocationsRequest(in *v1beta2.ListDiskLocationsRequest, out *internal.ListDiskLocationsRequest) error { + return autoConvert_v1beta2_ListDiskLocationsRequest_To_internal_ListDiskLocationsRequest(in, out) +} + +func autoConvert_internal_ListDiskLocationsRequest_To_v1beta2_ListDiskLocationsRequest(in *internal.ListDiskLocationsRequest, out *v1beta2.ListDiskLocationsRequest) error { + return nil +} + +// Convert_internal_ListDiskLocationsRequest_To_v1beta2_ListDiskLocationsRequest is an autogenerated conversion function. +func Convert_internal_ListDiskLocationsRequest_To_v1beta2_ListDiskLocationsRequest(in *internal.ListDiskLocationsRequest, out *v1beta2.ListDiskLocationsRequest) error { + return autoConvert_internal_ListDiskLocationsRequest_To_v1beta2_ListDiskLocationsRequest(in, out) +} + +func autoConvert_v1beta2_ListDiskLocationsResponse_To_internal_ListDiskLocationsResponse(in *v1beta2.ListDiskLocationsResponse, out *internal.ListDiskLocationsResponse) error { + if in.DiskLocations != nil { + in, out := &in.DiskLocations, &out.DiskLocations + *out = make(map[string]*internal.DiskLocation, len(*in)) + for key, val := range *in { + newVal := new(*internal.DiskLocation) + if err := Convert_v1beta2_DiskLocation_To_internal_DiskLocation(*&val, *newVal); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.DiskLocations = nil + } + return nil +} + +// Convert_v1beta2_ListDiskLocationsResponse_To_internal_ListDiskLocationsResponse is an autogenerated conversion function. +func Convert_v1beta2_ListDiskLocationsResponse_To_internal_ListDiskLocationsResponse(in *v1beta2.ListDiskLocationsResponse, out *internal.ListDiskLocationsResponse) error { + return autoConvert_v1beta2_ListDiskLocationsResponse_To_internal_ListDiskLocationsResponse(in, out) +} + +func autoConvert_internal_ListDiskLocationsResponse_To_v1beta2_ListDiskLocationsResponse(in *internal.ListDiskLocationsResponse, out *v1beta2.ListDiskLocationsResponse) error { + if in.DiskLocations != nil { + in, out := &in.DiskLocations, &out.DiskLocations + *out = make(map[string]*v1beta2.DiskLocation, len(*in)) + for key, val := range *in { + newVal := new(*v1beta2.DiskLocation) + if err := Convert_internal_DiskLocation_To_v1beta2_DiskLocation(*&val, *newVal); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.DiskLocations = nil + } + return nil +} + +func autoConvert_v1beta2_PartitionDiskRequest_To_internal_PartitionDiskRequest(in *v1beta2.PartitionDiskRequest, out *internal.PartitionDiskRequest) error { + out.DiskID = in.DiskID + return nil +} + +// Convert_v1beta2_PartitionDiskRequest_To_internal_PartitionDiskRequest is an autogenerated conversion function. +func Convert_v1beta2_PartitionDiskRequest_To_internal_PartitionDiskRequest(in *v1beta2.PartitionDiskRequest, out *internal.PartitionDiskRequest) error { + return autoConvert_v1beta2_PartitionDiskRequest_To_internal_PartitionDiskRequest(in, out) +} + +func autoConvert_internal_PartitionDiskRequest_To_v1beta2_PartitionDiskRequest(in *internal.PartitionDiskRequest, out *v1beta2.PartitionDiskRequest) error { + out.DiskID = in.DiskID + return nil +} + +// Convert_internal_PartitionDiskRequest_To_v1beta2_PartitionDiskRequest is an autogenerated conversion function. +func Convert_internal_PartitionDiskRequest_To_v1beta2_PartitionDiskRequest(in *internal.PartitionDiskRequest, out *v1beta2.PartitionDiskRequest) error { + return autoConvert_internal_PartitionDiskRequest_To_v1beta2_PartitionDiskRequest(in, out) +} + +func autoConvert_v1beta2_PartitionDiskResponse_To_internal_PartitionDiskResponse(in *v1beta2.PartitionDiskResponse, out *internal.PartitionDiskResponse) error { + return nil +} + +// Convert_v1beta2_PartitionDiskResponse_To_internal_PartitionDiskResponse is an autogenerated conversion function. +func Convert_v1beta2_PartitionDiskResponse_To_internal_PartitionDiskResponse(in *v1beta2.PartitionDiskResponse, out *internal.PartitionDiskResponse) error { + return autoConvert_v1beta2_PartitionDiskResponse_To_internal_PartitionDiskResponse(in, out) +} + +func autoConvert_internal_PartitionDiskResponse_To_v1beta2_PartitionDiskResponse(in *internal.PartitionDiskResponse, out *v1beta2.PartitionDiskResponse) error { + return nil +} + +// Convert_internal_PartitionDiskResponse_To_v1beta2_PartitionDiskResponse is an autogenerated conversion function. +func Convert_internal_PartitionDiskResponse_To_v1beta2_PartitionDiskResponse(in *internal.PartitionDiskResponse, out *v1beta2.PartitionDiskResponse) error { + return autoConvert_internal_PartitionDiskResponse_To_v1beta2_PartitionDiskResponse(in, out) +} + +func autoConvert_v1beta2_RescanRequest_To_internal_RescanRequest(in *v1beta2.RescanRequest, out *internal.RescanRequest) error { + return nil +} + +// Convert_v1beta2_RescanRequest_To_internal_RescanRequest is an autogenerated conversion function. +func Convert_v1beta2_RescanRequest_To_internal_RescanRequest(in *v1beta2.RescanRequest, out *internal.RescanRequest) error { + return autoConvert_v1beta2_RescanRequest_To_internal_RescanRequest(in, out) +} + +func autoConvert_internal_RescanRequest_To_v1beta2_RescanRequest(in *internal.RescanRequest, out *v1beta2.RescanRequest) error { + return nil +} + +// Convert_internal_RescanRequest_To_v1beta2_RescanRequest is an autogenerated conversion function. +func Convert_internal_RescanRequest_To_v1beta2_RescanRequest(in *internal.RescanRequest, out *v1beta2.RescanRequest) error { + return autoConvert_internal_RescanRequest_To_v1beta2_RescanRequest(in, out) +} + +func autoConvert_v1beta2_RescanResponse_To_internal_RescanResponse(in *v1beta2.RescanResponse, out *internal.RescanResponse) error { + return nil +} + +// Convert_v1beta2_RescanResponse_To_internal_RescanResponse is an autogenerated conversion function. +func Convert_v1beta2_RescanResponse_To_internal_RescanResponse(in *v1beta2.RescanResponse, out *internal.RescanResponse) error { + return autoConvert_v1beta2_RescanResponse_To_internal_RescanResponse(in, out) +} + +func autoConvert_internal_RescanResponse_To_v1beta2_RescanResponse(in *internal.RescanResponse, out *v1beta2.RescanResponse) error { + return nil +} + +// Convert_internal_RescanResponse_To_v1beta2_RescanResponse is an autogenerated conversion function. +func Convert_internal_RescanResponse_To_v1beta2_RescanResponse(in *internal.RescanResponse, out *v1beta2.RescanResponse) error { + return autoConvert_internal_RescanResponse_To_v1beta2_RescanResponse(in, out) +} + +func autoConvert_v1beta2_SetAttachStateRequest_To_internal_SetAttachStateRequest(in *v1beta2.SetAttachStateRequest, out *internal.SetAttachStateRequest) error { + out.DiskID = in.DiskID + out.IsOnline = in.IsOnline + return nil +} + +// Convert_v1beta2_SetAttachStateRequest_To_internal_SetAttachStateRequest is an autogenerated conversion function. +func Convert_v1beta2_SetAttachStateRequest_To_internal_SetAttachStateRequest(in *v1beta2.SetAttachStateRequest, out *internal.SetAttachStateRequest) error { + return autoConvert_v1beta2_SetAttachStateRequest_To_internal_SetAttachStateRequest(in, out) +} + +func autoConvert_internal_SetAttachStateRequest_To_v1beta2_SetAttachStateRequest(in *internal.SetAttachStateRequest, out *v1beta2.SetAttachStateRequest) error { + out.DiskID = in.DiskID + out.IsOnline = in.IsOnline + return nil +} + +// Convert_internal_SetAttachStateRequest_To_v1beta2_SetAttachStateRequest is an autogenerated conversion function. +func Convert_internal_SetAttachStateRequest_To_v1beta2_SetAttachStateRequest(in *internal.SetAttachStateRequest, out *v1beta2.SetAttachStateRequest) error { + return autoConvert_internal_SetAttachStateRequest_To_v1beta2_SetAttachStateRequest(in, out) +} + +func autoConvert_v1beta2_SetAttachStateResponse_To_internal_SetAttachStateResponse(in *v1beta2.SetAttachStateResponse, out *internal.SetAttachStateResponse) error { + return nil +} + +// Convert_v1beta2_SetAttachStateResponse_To_internal_SetAttachStateResponse is an autogenerated conversion function. +func Convert_v1beta2_SetAttachStateResponse_To_internal_SetAttachStateResponse(in *v1beta2.SetAttachStateResponse, out *internal.SetAttachStateResponse) error { + return autoConvert_v1beta2_SetAttachStateResponse_To_internal_SetAttachStateResponse(in, out) +} + +func autoConvert_internal_SetAttachStateResponse_To_v1beta2_SetAttachStateResponse(in *internal.SetAttachStateResponse, out *v1beta2.SetAttachStateResponse) error { + return nil +} + +// Convert_internal_SetAttachStateResponse_To_v1beta2_SetAttachStateResponse is an autogenerated conversion function. +func Convert_internal_SetAttachStateResponse_To_v1beta2_SetAttachStateResponse(in *internal.SetAttachStateResponse, out *v1beta2.SetAttachStateResponse) error { + return autoConvert_internal_SetAttachStateResponse_To_v1beta2_SetAttachStateResponse(in, out) +} diff --git a/internal/server/disk/internal/v1beta2/server_generated.go b/internal/server/disk/internal/v1beta2/server_generated.go new file mode 100644 index 00000000..b6c60852 --- /dev/null +++ b/internal/server/disk/internal/v1beta2/server_generated.go @@ -0,0 +1,161 @@ +// Code generated by csi-proxy-api-gen. DO NOT EDIT. + +package v1beta2 + +import ( + "context" + + "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2" + "github.com/kubernetes-csi/csi-proxy/client/apiversion" + "github.com/kubernetes-csi/csi-proxy/internal/server/disk/internal" + "google.golang.org/grpc" +) + +var version = apiversion.NewVersionOrPanic("v1beta2") + +type versionedAPI struct { + apiGroupServer internal.ServerInterface +} + +func NewVersionedServer(apiGroupServer internal.ServerInterface) internal.VersionedAPI { + return &versionedAPI{ + apiGroupServer: apiGroupServer, + } +} + +func (s *versionedAPI) Register(grpcServer *grpc.Server) { + v1beta2.RegisterDiskServer(grpcServer, s) +} + +func (s *versionedAPI) DiskStats(context context.Context, versionedRequest *v1beta2.DiskStatsRequest) (*v1beta2.DiskStatsResponse, error) { + request := &internal.DiskStatsRequest{} + if err := Convert_v1beta2_DiskStatsRequest_To_internal_DiskStatsRequest(versionedRequest, request); err != nil { + return nil, err + } + + response, err := s.apiGroupServer.DiskStats(context, request, version) + if err != nil { + return nil, err + } + + versionedResponse := &v1beta2.DiskStatsResponse{} + if err := Convert_internal_DiskStatsResponse_To_v1beta2_DiskStatsResponse(response, versionedResponse); err != nil { + return nil, err + } + + return versionedResponse, err +} + +func (s *versionedAPI) GetAttachState(context context.Context, versionedRequest *v1beta2.GetAttachStateRequest) (*v1beta2.GetAttachStateResponse, error) { + request := &internal.GetAttachStateRequest{} + if err := Convert_v1beta2_GetAttachStateRequest_To_internal_GetAttachStateRequest(versionedRequest, request); err != nil { + return nil, err + } + + response, err := s.apiGroupServer.GetAttachState(context, request, version) + if err != nil { + return nil, err + } + + versionedResponse := &v1beta2.GetAttachStateResponse{} + if err := Convert_internal_GetAttachStateResponse_To_v1beta2_GetAttachStateResponse(response, versionedResponse); err != nil { + return nil, err + } + + return versionedResponse, err +} + +func (s *versionedAPI) ListDiskIDs(context context.Context, versionedRequest *v1beta2.ListDiskIDsRequest) (*v1beta2.ListDiskIDsResponse, error) { + request := &internal.ListDiskIDsRequest{} + if err := Convert_v1beta2_ListDiskIDsRequest_To_internal_ListDiskIDsRequest(versionedRequest, request); err != nil { + return nil, err + } + + response, err := s.apiGroupServer.ListDiskIDs(context, request, version) + if err != nil { + return nil, err + } + + versionedResponse := &v1beta2.ListDiskIDsResponse{} + if err := Convert_internal_ListDiskIDsResponse_To_v1beta2_ListDiskIDsResponse(response, versionedResponse); err != nil { + return nil, err + } + + return versionedResponse, err +} + +func (s *versionedAPI) ListDiskLocations(context context.Context, versionedRequest *v1beta2.ListDiskLocationsRequest) (*v1beta2.ListDiskLocationsResponse, error) { + request := &internal.ListDiskLocationsRequest{} + if err := Convert_v1beta2_ListDiskLocationsRequest_To_internal_ListDiskLocationsRequest(versionedRequest, request); err != nil { + return nil, err + } + + response, err := s.apiGroupServer.ListDiskLocations(context, request, version) + if err != nil { + return nil, err + } + + versionedResponse := &v1beta2.ListDiskLocationsResponse{} + if err := Convert_internal_ListDiskLocationsResponse_To_v1beta2_ListDiskLocationsResponse(response, versionedResponse); err != nil { + return nil, err + } + + return versionedResponse, err +} + +func (s *versionedAPI) PartitionDisk(context context.Context, versionedRequest *v1beta2.PartitionDiskRequest) (*v1beta2.PartitionDiskResponse, error) { + request := &internal.PartitionDiskRequest{} + if err := Convert_v1beta2_PartitionDiskRequest_To_internal_PartitionDiskRequest(versionedRequest, request); err != nil { + return nil, err + } + + response, err := s.apiGroupServer.PartitionDisk(context, request, version) + if err != nil { + return nil, err + } + + versionedResponse := &v1beta2.PartitionDiskResponse{} + if err := Convert_internal_PartitionDiskResponse_To_v1beta2_PartitionDiskResponse(response, versionedResponse); err != nil { + return nil, err + } + + return versionedResponse, err +} + +func (s *versionedAPI) Rescan(context context.Context, versionedRequest *v1beta2.RescanRequest) (*v1beta2.RescanResponse, error) { + request := &internal.RescanRequest{} + if err := Convert_v1beta2_RescanRequest_To_internal_RescanRequest(versionedRequest, request); err != nil { + return nil, err + } + + response, err := s.apiGroupServer.Rescan(context, request, version) + if err != nil { + return nil, err + } + + versionedResponse := &v1beta2.RescanResponse{} + if err := Convert_internal_RescanResponse_To_v1beta2_RescanResponse(response, versionedResponse); err != nil { + return nil, err + } + + return versionedResponse, err +} + +func (s *versionedAPI) SetAttachState(context context.Context, versionedRequest *v1beta2.SetAttachStateRequest) (*v1beta2.SetAttachStateResponse, error) { + request := &internal.SetAttachStateRequest{} + if err := Convert_v1beta2_SetAttachStateRequest_To_internal_SetAttachStateRequest(versionedRequest, request); err != nil { + return nil, err + } + + response, err := s.apiGroupServer.SetAttachState(context, request, version) + if err != nil { + return nil, err + } + + versionedResponse := &v1beta2.SetAttachStateResponse{} + if err := Convert_internal_SetAttachStateResponse_To_v1beta2_SetAttachStateResponse(response, versionedResponse); err != nil { + return nil, err + } + + return versionedResponse, err +} diff --git a/internal/server/disk/server.go b/internal/server/disk/server.go index d43b621d..076cc070 100644 --- a/internal/server/disk/server.go +++ b/internal/server/disk/server.go @@ -24,6 +24,8 @@ type API interface { GetDiskNumberByName(diskName string) (string, error) ListDiskIDs() (map[string]shared.DiskIDs, error) DiskStats(diskID string) (int64, error) + SetAttachState(diskID string, isOnline bool) error + GetAttachState(diskID string) (bool, error) } func NewServer(hostAPI API) (*Server, error) { @@ -165,3 +167,39 @@ func (s *Server) DiskStats(context context.Context, request *internal.DiskStatsR return response, nil } + +func (s *Server) SetAttachState(_ context.Context, request *internal.SetAttachStateRequest, version apiversion.Version) (*internal.SetAttachStateResponse, error) { + klog.V(4).Infof("calling SetAttachState with diskID %q and isOnline %v", request.DiskID, request.IsOnline) + minimumVersion := apiversion.NewVersionOrPanic("v1beta2") + if version.Compare(minimumVersion) < 0 { + return nil, fmt.Errorf("SetAttachState requires CSI-Proxy API version v1beta2 or greater") + } + + err := s.hostAPI.SetAttachState(request.DiskID, request.IsOnline) + if err != nil { + klog.Errorf("failed SetAttachState %v", err) + return nil, err + } + + response := &internal.SetAttachStateResponse{} + + return response, nil +} + +func (s *Server) GetAttachState(_ context.Context, request *internal.GetAttachStateRequest, version apiversion.Version) (*internal.GetAttachStateResponse, error) { + klog.V(4).Infof("calling GetAttachState with diskID %q", request.DiskID) + minimumVersion := apiversion.NewVersionOrPanic("v1beta2") + if version.Compare(minimumVersion) < 0 { + return nil, fmt.Errorf("GetAttachState requires CSI-Proxy API version v1beta2 or greater") + } + + isOnline, err := s.hostAPI.GetAttachState(request.DiskID) + if err != nil { + klog.Errorf("failed GetAttachState %v", err) + return nil, err + } + + response := &internal.GetAttachStateResponse{IsOnline: isOnline} + + return response, nil +} diff --git a/vendor/github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.pb.go b/vendor/github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.pb.go new file mode 100644 index 00000000..27324f1e --- /dev/null +++ b/vendor/github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.pb.go @@ -0,0 +1,1028 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.proto + +package v1beta2 + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type ListDiskLocationsRequest struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListDiskLocationsRequest) Reset() { *m = ListDiskLocationsRequest{} } +func (m *ListDiskLocationsRequest) String() string { return proto.CompactTextString(m) } +func (*ListDiskLocationsRequest) ProtoMessage() {} +func (*ListDiskLocationsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{0} +} + +func (m *ListDiskLocationsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListDiskLocationsRequest.Unmarshal(m, b) +} +func (m *ListDiskLocationsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListDiskLocationsRequest.Marshal(b, m, deterministic) +} +func (m *ListDiskLocationsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListDiskLocationsRequest.Merge(m, src) +} +func (m *ListDiskLocationsRequest) XXX_Size() int { + return xxx_messageInfo_ListDiskLocationsRequest.Size(m) +} +func (m *ListDiskLocationsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ListDiskLocationsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ListDiskLocationsRequest proto.InternalMessageInfo + +type DiskLocation struct { + Adapter string `protobuf:"bytes,1,opt,name=Adapter,proto3" json:"Adapter,omitempty"` + Bus string `protobuf:"bytes,2,opt,name=Bus,proto3" json:"Bus,omitempty"` + Target string `protobuf:"bytes,3,opt,name=Target,proto3" json:"Target,omitempty"` + LUNID string `protobuf:"bytes,4,opt,name=LUNID,proto3" json:"LUNID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DiskLocation) Reset() { *m = DiskLocation{} } +func (m *DiskLocation) String() string { return proto.CompactTextString(m) } +func (*DiskLocation) ProtoMessage() {} +func (*DiskLocation) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{1} +} + +func (m *DiskLocation) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DiskLocation.Unmarshal(m, b) +} +func (m *DiskLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DiskLocation.Marshal(b, m, deterministic) +} +func (m *DiskLocation) XXX_Merge(src proto.Message) { + xxx_messageInfo_DiskLocation.Merge(m, src) +} +func (m *DiskLocation) XXX_Size() int { + return xxx_messageInfo_DiskLocation.Size(m) +} +func (m *DiskLocation) XXX_DiscardUnknown() { + xxx_messageInfo_DiskLocation.DiscardUnknown(m) +} + +var xxx_messageInfo_DiskLocation proto.InternalMessageInfo + +func (m *DiskLocation) GetAdapter() string { + if m != nil { + return m.Adapter + } + return "" +} + +func (m *DiskLocation) GetBus() string { + if m != nil { + return m.Bus + } + return "" +} + +func (m *DiskLocation) GetTarget() string { + if m != nil { + return m.Target + } + return "" +} + +func (m *DiskLocation) GetLUNID() string { + if m != nil { + return m.LUNID + } + return "" +} + +type ListDiskLocationsResponse struct { + // Map of disk device IDs and associated with each disk device + DiskLocations map[string]*DiskLocation `protobuf:"bytes,1,rep,name=disk_locations,json=diskLocations,proto3" json:"disk_locations,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:"-"` +} + +func (m *ListDiskLocationsResponse) Reset() { *m = ListDiskLocationsResponse{} } +func (m *ListDiskLocationsResponse) String() string { return proto.CompactTextString(m) } +func (*ListDiskLocationsResponse) ProtoMessage() {} +func (*ListDiskLocationsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{2} +} + +func (m *ListDiskLocationsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListDiskLocationsResponse.Unmarshal(m, b) +} +func (m *ListDiskLocationsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListDiskLocationsResponse.Marshal(b, m, deterministic) +} +func (m *ListDiskLocationsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListDiskLocationsResponse.Merge(m, src) +} +func (m *ListDiskLocationsResponse) XXX_Size() int { + return xxx_messageInfo_ListDiskLocationsResponse.Size(m) +} +func (m *ListDiskLocationsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ListDiskLocationsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ListDiskLocationsResponse proto.InternalMessageInfo + +func (m *ListDiskLocationsResponse) GetDiskLocations() map[string]*DiskLocation { + if m != nil { + return m.DiskLocations + } + return nil +} + +type PartitionDiskRequest struct { + // Disk device ID of the disk to partition + DiskID string `protobuf:"bytes,1,opt,name=diskID,proto3" json:"diskID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PartitionDiskRequest) Reset() { *m = PartitionDiskRequest{} } +func (m *PartitionDiskRequest) String() string { return proto.CompactTextString(m) } +func (*PartitionDiskRequest) ProtoMessage() {} +func (*PartitionDiskRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{3} +} + +func (m *PartitionDiskRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PartitionDiskRequest.Unmarshal(m, b) +} +func (m *PartitionDiskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PartitionDiskRequest.Marshal(b, m, deterministic) +} +func (m *PartitionDiskRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PartitionDiskRequest.Merge(m, src) +} +func (m *PartitionDiskRequest) XXX_Size() int { + return xxx_messageInfo_PartitionDiskRequest.Size(m) +} +func (m *PartitionDiskRequest) XXX_DiscardUnknown() { + xxx_messageInfo_PartitionDiskRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_PartitionDiskRequest proto.InternalMessageInfo + +func (m *PartitionDiskRequest) GetDiskID() string { + if m != nil { + return m.DiskID + } + return "" +} + +type PartitionDiskResponse struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PartitionDiskResponse) Reset() { *m = PartitionDiskResponse{} } +func (m *PartitionDiskResponse) String() string { return proto.CompactTextString(m) } +func (*PartitionDiskResponse) ProtoMessage() {} +func (*PartitionDiskResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{4} +} + +func (m *PartitionDiskResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PartitionDiskResponse.Unmarshal(m, b) +} +func (m *PartitionDiskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PartitionDiskResponse.Marshal(b, m, deterministic) +} +func (m *PartitionDiskResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_PartitionDiskResponse.Merge(m, src) +} +func (m *PartitionDiskResponse) XXX_Size() int { + return xxx_messageInfo_PartitionDiskResponse.Size(m) +} +func (m *PartitionDiskResponse) XXX_DiscardUnknown() { + xxx_messageInfo_PartitionDiskResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_PartitionDiskResponse proto.InternalMessageInfo + +type RescanRequest struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RescanRequest) Reset() { *m = RescanRequest{} } +func (m *RescanRequest) String() string { return proto.CompactTextString(m) } +func (*RescanRequest) ProtoMessage() {} +func (*RescanRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{5} +} + +func (m *RescanRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RescanRequest.Unmarshal(m, b) +} +func (m *RescanRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RescanRequest.Marshal(b, m, deterministic) +} +func (m *RescanRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_RescanRequest.Merge(m, src) +} +func (m *RescanRequest) XXX_Size() int { + return xxx_messageInfo_RescanRequest.Size(m) +} +func (m *RescanRequest) XXX_DiscardUnknown() { + xxx_messageInfo_RescanRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_RescanRequest proto.InternalMessageInfo + +type RescanResponse struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RescanResponse) Reset() { *m = RescanResponse{} } +func (m *RescanResponse) String() string { return proto.CompactTextString(m) } +func (*RescanResponse) ProtoMessage() {} +func (*RescanResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{6} +} + +func (m *RescanResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RescanResponse.Unmarshal(m, b) +} +func (m *RescanResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RescanResponse.Marshal(b, m, deterministic) +} +func (m *RescanResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_RescanResponse.Merge(m, src) +} +func (m *RescanResponse) XXX_Size() int { + return xxx_messageInfo_RescanResponse.Size(m) +} +func (m *RescanResponse) XXX_DiscardUnknown() { + xxx_messageInfo_RescanResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_RescanResponse proto.InternalMessageInfo + +type ListDiskIDsRequest struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListDiskIDsRequest) Reset() { *m = ListDiskIDsRequest{} } +func (m *ListDiskIDsRequest) String() string { return proto.CompactTextString(m) } +func (*ListDiskIDsRequest) ProtoMessage() {} +func (*ListDiskIDsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{7} +} + +func (m *ListDiskIDsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListDiskIDsRequest.Unmarshal(m, b) +} +func (m *ListDiskIDsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListDiskIDsRequest.Marshal(b, m, deterministic) +} +func (m *ListDiskIDsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListDiskIDsRequest.Merge(m, src) +} +func (m *ListDiskIDsRequest) XXX_Size() int { + return xxx_messageInfo_ListDiskIDsRequest.Size(m) +} +func (m *ListDiskIDsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ListDiskIDsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ListDiskIDsRequest proto.InternalMessageInfo + +type DiskIDs struct { + // Map of Disk ID types and Disk ID values + Identifiers map[string]string `protobuf:"bytes,1,rep,name=identifiers,proto3" json:"identifiers,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:"-"` +} + +func (m *DiskIDs) Reset() { *m = DiskIDs{} } +func (m *DiskIDs) String() string { return proto.CompactTextString(m) } +func (*DiskIDs) ProtoMessage() {} +func (*DiskIDs) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{8} +} + +func (m *DiskIDs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DiskIDs.Unmarshal(m, b) +} +func (m *DiskIDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DiskIDs.Marshal(b, m, deterministic) +} +func (m *DiskIDs) XXX_Merge(src proto.Message) { + xxx_messageInfo_DiskIDs.Merge(m, src) +} +func (m *DiskIDs) XXX_Size() int { + return xxx_messageInfo_DiskIDs.Size(m) +} +func (m *DiskIDs) XXX_DiscardUnknown() { + xxx_messageInfo_DiskIDs.DiscardUnknown(m) +} + +var xxx_messageInfo_DiskIDs proto.InternalMessageInfo + +func (m *DiskIDs) GetIdentifiers() map[string]string { + if m != nil { + return m.Identifiers + } + return nil +} + +type ListDiskIDsResponse struct { + // Map of disk device numbers and IDs associated with each disk device + DiskIDs map[string]*DiskIDs `protobuf:"bytes,1,rep,name=diskIDs,proto3" json:"diskIDs,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:"-"` +} + +func (m *ListDiskIDsResponse) Reset() { *m = ListDiskIDsResponse{} } +func (m *ListDiskIDsResponse) String() string { return proto.CompactTextString(m) } +func (*ListDiskIDsResponse) ProtoMessage() {} +func (*ListDiskIDsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{9} +} + +func (m *ListDiskIDsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListDiskIDsResponse.Unmarshal(m, b) +} +func (m *ListDiskIDsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListDiskIDsResponse.Marshal(b, m, deterministic) +} +func (m *ListDiskIDsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListDiskIDsResponse.Merge(m, src) +} +func (m *ListDiskIDsResponse) XXX_Size() int { + return xxx_messageInfo_ListDiskIDsResponse.Size(m) +} +func (m *ListDiskIDsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ListDiskIDsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ListDiskIDsResponse proto.InternalMessageInfo + +func (m *ListDiskIDsResponse) GetDiskIDs() map[string]*DiskIDs { + if m != nil { + return m.DiskIDs + } + return nil +} + +type DiskStatsRequest struct { + // Disk device ID of the disk to get the size from + DiskID string `protobuf:"bytes,1,opt,name=diskID,proto3" json:"diskID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DiskStatsRequest) Reset() { *m = DiskStatsRequest{} } +func (m *DiskStatsRequest) String() string { return proto.CompactTextString(m) } +func (*DiskStatsRequest) ProtoMessage() {} +func (*DiskStatsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{10} +} + +func (m *DiskStatsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DiskStatsRequest.Unmarshal(m, b) +} +func (m *DiskStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DiskStatsRequest.Marshal(b, m, deterministic) +} +func (m *DiskStatsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DiskStatsRequest.Merge(m, src) +} +func (m *DiskStatsRequest) XXX_Size() int { + return xxx_messageInfo_DiskStatsRequest.Size(m) +} +func (m *DiskStatsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DiskStatsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DiskStatsRequest proto.InternalMessageInfo + +func (m *DiskStatsRequest) GetDiskID() string { + if m != nil { + return m.DiskID + } + return "" +} + +type DiskStatsResponse struct { + //Total size of the volume + DiskSize int64 `protobuf:"varint,1,opt,name=diskSize,proto3" json:"diskSize,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DiskStatsResponse) Reset() { *m = DiskStatsResponse{} } +func (m *DiskStatsResponse) String() string { return proto.CompactTextString(m) } +func (*DiskStatsResponse) ProtoMessage() {} +func (*DiskStatsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{11} +} + +func (m *DiskStatsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DiskStatsResponse.Unmarshal(m, b) +} +func (m *DiskStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DiskStatsResponse.Marshal(b, m, deterministic) +} +func (m *DiskStatsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DiskStatsResponse.Merge(m, src) +} +func (m *DiskStatsResponse) XXX_Size() int { + return xxx_messageInfo_DiskStatsResponse.Size(m) +} +func (m *DiskStatsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DiskStatsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DiskStatsResponse proto.InternalMessageInfo + +func (m *DiskStatsResponse) GetDiskSize() int64 { + if m != nil { + return m.DiskSize + } + return 0 +} + +type SetAttachStateRequest struct { + // Disk device ID (number) of the disk which state will change + DiskID string `protobuf:"bytes,1,opt,name=diskID,proto3" json:"diskID,omitempty"` + // Online state to set for the disk. true for online, false for offline + IsOnline bool `protobuf:"varint,2,opt,name=isOnline,proto3" json:"isOnline,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetAttachStateRequest) Reset() { *m = SetAttachStateRequest{} } +func (m *SetAttachStateRequest) String() string { return proto.CompactTextString(m) } +func (*SetAttachStateRequest) ProtoMessage() {} +func (*SetAttachStateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{12} +} + +func (m *SetAttachStateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetAttachStateRequest.Unmarshal(m, b) +} +func (m *SetAttachStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetAttachStateRequest.Marshal(b, m, deterministic) +} +func (m *SetAttachStateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetAttachStateRequest.Merge(m, src) +} +func (m *SetAttachStateRequest) XXX_Size() int { + return xxx_messageInfo_SetAttachStateRequest.Size(m) +} +func (m *SetAttachStateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SetAttachStateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SetAttachStateRequest proto.InternalMessageInfo + +func (m *SetAttachStateRequest) GetDiskID() string { + if m != nil { + return m.DiskID + } + return "" +} + +func (m *SetAttachStateRequest) GetIsOnline() bool { + if m != nil { + return m.IsOnline + } + return false +} + +type SetAttachStateResponse struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetAttachStateResponse) Reset() { *m = SetAttachStateResponse{} } +func (m *SetAttachStateResponse) String() string { return proto.CompactTextString(m) } +func (*SetAttachStateResponse) ProtoMessage() {} +func (*SetAttachStateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{13} +} + +func (m *SetAttachStateResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetAttachStateResponse.Unmarshal(m, b) +} +func (m *SetAttachStateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetAttachStateResponse.Marshal(b, m, deterministic) +} +func (m *SetAttachStateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetAttachStateResponse.Merge(m, src) +} +func (m *SetAttachStateResponse) XXX_Size() int { + return xxx_messageInfo_SetAttachStateResponse.Size(m) +} +func (m *SetAttachStateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SetAttachStateResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SetAttachStateResponse proto.InternalMessageInfo + +type GetAttachStateRequest struct { + // Disk device ID (number) of the disk + DiskID string `protobuf:"bytes,1,opt,name=diskID,proto3" json:"diskID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAttachStateRequest) Reset() { *m = GetAttachStateRequest{} } +func (m *GetAttachStateRequest) String() string { return proto.CompactTextString(m) } +func (*GetAttachStateRequest) ProtoMessage() {} +func (*GetAttachStateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{14} +} + +func (m *GetAttachStateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAttachStateRequest.Unmarshal(m, b) +} +func (m *GetAttachStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAttachStateRequest.Marshal(b, m, deterministic) +} +func (m *GetAttachStateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAttachStateRequest.Merge(m, src) +} +func (m *GetAttachStateRequest) XXX_Size() int { + return xxx_messageInfo_GetAttachStateRequest.Size(m) +} +func (m *GetAttachStateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetAttachStateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAttachStateRequest proto.InternalMessageInfo + +func (m *GetAttachStateRequest) GetDiskID() string { + if m != nil { + return m.DiskID + } + return "" +} + +type GetAttachStateResponse struct { + // Online state of the disk. true for online, false for offline + IsOnline bool `protobuf:"varint,1,opt,name=isOnline,proto3" json:"isOnline,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAttachStateResponse) Reset() { *m = GetAttachStateResponse{} } +func (m *GetAttachStateResponse) String() string { return proto.CompactTextString(m) } +func (*GetAttachStateResponse) ProtoMessage() {} +func (*GetAttachStateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b8298108b4474af1, []int{15} +} + +func (m *GetAttachStateResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAttachStateResponse.Unmarshal(m, b) +} +func (m *GetAttachStateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAttachStateResponse.Marshal(b, m, deterministic) +} +func (m *GetAttachStateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAttachStateResponse.Merge(m, src) +} +func (m *GetAttachStateResponse) XXX_Size() int { + return xxx_messageInfo_GetAttachStateResponse.Size(m) +} +func (m *GetAttachStateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_GetAttachStateResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAttachStateResponse proto.InternalMessageInfo + +func (m *GetAttachStateResponse) GetIsOnline() bool { + if m != nil { + return m.IsOnline + } + return false +} + +func init() { + proto.RegisterType((*ListDiskLocationsRequest)(nil), "v1beta2.ListDiskLocationsRequest") + proto.RegisterType((*DiskLocation)(nil), "v1beta2.DiskLocation") + proto.RegisterType((*ListDiskLocationsResponse)(nil), "v1beta2.ListDiskLocationsResponse") + proto.RegisterMapType((map[string]*DiskLocation)(nil), "v1beta2.ListDiskLocationsResponse.DiskLocationsEntry") + proto.RegisterType((*PartitionDiskRequest)(nil), "v1beta2.PartitionDiskRequest") + proto.RegisterType((*PartitionDiskResponse)(nil), "v1beta2.PartitionDiskResponse") + proto.RegisterType((*RescanRequest)(nil), "v1beta2.RescanRequest") + proto.RegisterType((*RescanResponse)(nil), "v1beta2.RescanResponse") + proto.RegisterType((*ListDiskIDsRequest)(nil), "v1beta2.ListDiskIDsRequest") + proto.RegisterType((*DiskIDs)(nil), "v1beta2.DiskIDs") + proto.RegisterMapType((map[string]string)(nil), "v1beta2.DiskIDs.IdentifiersEntry") + proto.RegisterType((*ListDiskIDsResponse)(nil), "v1beta2.ListDiskIDsResponse") + proto.RegisterMapType((map[string]*DiskIDs)(nil), "v1beta2.ListDiskIDsResponse.DiskIDsEntry") + proto.RegisterType((*DiskStatsRequest)(nil), "v1beta2.DiskStatsRequest") + proto.RegisterType((*DiskStatsResponse)(nil), "v1beta2.DiskStatsResponse") + proto.RegisterType((*SetAttachStateRequest)(nil), "v1beta2.SetAttachStateRequest") + proto.RegisterType((*SetAttachStateResponse)(nil), "v1beta2.SetAttachStateResponse") + proto.RegisterType((*GetAttachStateRequest)(nil), "v1beta2.GetAttachStateRequest") + proto.RegisterType((*GetAttachStateResponse)(nil), "v1beta2.GetAttachStateResponse") +} + +func init() { + proto.RegisterFile("github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.proto", fileDescriptor_b8298108b4474af1) +} + +var fileDescriptor_b8298108b4474af1 = []byte{ + // 647 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xdd, 0x6e, 0xd3, 0x4c, + 0x10, 0xad, 0x9b, 0xb6, 0x69, 0x27, 0x5f, 0xf3, 0xa5, 0x4b, 0x92, 0xba, 0xe6, 0xaf, 0xdd, 0x0b, + 0x54, 0x40, 0xb5, 0x45, 0x00, 0x09, 0x51, 0x81, 0xd4, 0xd6, 0x55, 0x14, 0x88, 0xa0, 0x72, 0x40, + 0x48, 0xa8, 0x12, 0x72, 0x9c, 0xa5, 0x59, 0x25, 0xd8, 0xc1, 0xbb, 0xa9, 0x08, 0x0f, 0xc1, 0x73, + 0x70, 0xc7, 0xbb, 0xf0, 0x44, 0x68, 0xed, 0xb5, 0xbb, 0x4e, 0x9c, 0x46, 0x88, 0x3b, 0xcf, 0x99, + 0x99, 0xb3, 0x67, 0xfe, 0x64, 0x38, 0xbd, 0xa0, 0xbc, 0x3f, 0xee, 0x9a, 0x5e, 0xf0, 0xc5, 0x1a, + 0x8c, 0xbb, 0x24, 0xf4, 0x09, 0x27, 0xec, 0xc0, 0x63, 0xd4, 0xf2, 0x18, 0x3d, 0x18, 0x85, 0xc1, + 0xb7, 0x89, 0xe5, 0x0d, 0x29, 0xf1, 0xb9, 0xe5, 0x8e, 0xa8, 0xd5, 0xa3, 0x6c, 0x60, 0x5d, 0x3e, + 0xea, 0x12, 0xee, 0x36, 0x04, 0x60, 0x8e, 0xc2, 0x80, 0x07, 0xa8, 0x28, 0x21, 0x6c, 0x80, 0xde, + 0xa6, 0x8c, 0xdb, 0x94, 0x0d, 0xda, 0x81, 0xe7, 0x72, 0x1a, 0xf8, 0xcc, 0x21, 0x5f, 0xc7, 0x84, + 0x71, 0xdc, 0x87, 0xff, 0x54, 0x1c, 0xe9, 0x50, 0x3c, 0xea, 0xb9, 0x23, 0x4e, 0x42, 0x5d, 0xdb, + 0xd5, 0xf6, 0x37, 0x9c, 0xc4, 0x44, 0x15, 0x28, 0x1c, 0x8f, 0x99, 0xbe, 0x1c, 0xa1, 0xe2, 0x13, + 0xd5, 0x61, 0xed, 0x9d, 0x1b, 0x5e, 0x10, 0xae, 0x17, 0x22, 0x50, 0x5a, 0xa8, 0x0a, 0xab, 0xed, + 0xf7, 0x6f, 0x5a, 0xb6, 0xbe, 0x12, 0xc1, 0xb1, 0x81, 0x7f, 0x6b, 0xb0, 0x93, 0x23, 0x83, 0x8d, + 0x02, 0x9f, 0x11, 0x74, 0x0e, 0x65, 0x51, 0xc6, 0xa7, 0x61, 0xe2, 0xd1, 0xb5, 0xdd, 0xc2, 0x7e, + 0xa9, 0xf1, 0xd4, 0x94, 0x55, 0x98, 0x73, 0x73, 0xcd, 0x0c, 0x7a, 0xea, 0xf3, 0x70, 0xe2, 0x6c, + 0xf6, 0x54, 0xcc, 0xf8, 0x00, 0x68, 0x36, 0x48, 0x54, 0x34, 0x20, 0x13, 0x59, 0xa7, 0xf8, 0x44, + 0x0f, 0x61, 0xf5, 0xd2, 0x1d, 0x8e, 0x49, 0x54, 0x65, 0xa9, 0x51, 0x4b, 0x1f, 0x57, 0xb3, 0x9d, + 0x38, 0xe6, 0xf9, 0xf2, 0x33, 0x0d, 0x9b, 0x50, 0x3d, 0x73, 0x43, 0x4e, 0x05, 0x2e, 0x62, 0x64, + 0x5b, 0x45, 0x6b, 0x84, 0x82, 0x96, 0x2d, 0xd9, 0xa5, 0x85, 0xb7, 0xa1, 0x36, 0x15, 0x1f, 0xd7, + 0x80, 0xff, 0x87, 0x4d, 0x87, 0x30, 0xcf, 0xf5, 0x93, 0xc1, 0x54, 0xa0, 0x9c, 0x00, 0x32, 0xa4, + 0x0a, 0x28, 0xe9, 0x41, 0xcb, 0x4e, 0x07, 0xf8, 0x43, 0x83, 0xa2, 0x84, 0xd0, 0x09, 0x94, 0x68, + 0x8f, 0xf8, 0x9c, 0x7e, 0xa6, 0x24, 0x4c, 0x3a, 0xb8, 0x97, 0x29, 0xa2, 0x65, 0x33, 0xb3, 0x75, + 0x15, 0x13, 0x77, 0x4b, 0xcd, 0x32, 0x5e, 0x42, 0x65, 0x3a, 0x20, 0xa7, 0x53, 0x55, 0xb5, 0x53, + 0x1b, 0x6a, 0x4b, 0x7e, 0x6a, 0x70, 0x23, 0xa3, 0x53, 0x4e, 0xf8, 0x04, 0x8a, 0x71, 0x13, 0x12, + 0x61, 0xf7, 0x67, 0x46, 0xab, 0x84, 0x27, 0x62, 0x63, 0x81, 0x49, 0xa6, 0xd1, 0x8e, 0xd7, 0x35, + 0x71, 0xe4, 0x08, 0xbb, 0x97, 0x1d, 0x61, 0x65, 0xba, 0x7a, 0x55, 0xea, 0x03, 0xa8, 0x08, 0xb4, + 0xc3, 0x5d, 0xce, 0x16, 0x4d, 0xce, 0x82, 0x2d, 0x25, 0x56, 0xd6, 0x64, 0xc0, 0xba, 0x70, 0x77, + 0xe8, 0x77, 0x12, 0x85, 0x17, 0x9c, 0xd4, 0xc6, 0xaf, 0xa1, 0xd6, 0x21, 0xfc, 0x88, 0x73, 0xd7, + 0xeb, 0x8b, 0x2c, 0xb2, 0xe0, 0x05, 0x41, 0x46, 0xd9, 0x5b, 0x7f, 0x48, 0xfd, 0x58, 0xfc, 0xba, + 0x93, 0xda, 0x58, 0x87, 0xfa, 0x34, 0x99, 0xdc, 0x0a, 0x0b, 0x6a, 0xcd, 0xbf, 0x79, 0x06, 0x3f, + 0x81, 0x7a, 0x33, 0x97, 0x2a, 0x23, 0x40, 0xcb, 0x0a, 0x68, 0xfc, 0x5a, 0x81, 0x15, 0x51, 0x3f, + 0x3a, 0x87, 0xad, 0x99, 0x4b, 0x44, 0x7b, 0xd7, 0x5d, 0x69, 0x24, 0xc7, 0xc0, 0x8b, 0x0f, 0x19, + 0x2f, 0xa1, 0x33, 0xd8, 0xcc, 0xdc, 0x07, 0xba, 0x9d, 0xa6, 0xe5, 0xdd, 0x99, 0x71, 0x67, 0x9e, + 0x3b, 0x65, 0x3c, 0x84, 0xb5, 0xf8, 0x8e, 0x50, 0x3d, 0x8d, 0xcd, 0x5c, 0x9a, 0xb1, 0x3d, 0x83, + 0xa7, 0xc9, 0xaf, 0xa0, 0xa4, 0xec, 0x26, 0xba, 0x99, 0xbf, 0xb1, 0x31, 0xcd, 0xad, 0xeb, 0xd6, + 0x19, 0x2f, 0x21, 0x1b, 0x36, 0xd2, 0x05, 0x42, 0x3b, 0x99, 0xb5, 0x54, 0x17, 0xd0, 0x30, 0xf2, + 0x5c, 0x29, 0x4b, 0x07, 0xca, 0xd9, 0x45, 0x40, 0x57, 0x2d, 0xc8, 0x5d, 0x37, 0xe3, 0xee, 0x5c, + 0xbf, 0x4a, 0xda, 0x9c, 0x47, 0xda, 0x5c, 0x40, 0xda, 0x9c, 0x43, 0x7a, 0xfc, 0xe2, 0xe3, 0xe1, + 0x3f, 0xfc, 0xc7, 0xba, 0x6b, 0xd1, 0x4f, 0xec, 0xf1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x68, + 0x06, 0xb4, 0xd5, 0x0d, 0x07, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// DiskClient is the client API for Disk service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type DiskClient interface { + // ListDiskLocations returns locations of all + // disk devices enumerated by the host + ListDiskLocations(ctx context.Context, in *ListDiskLocationsRequest, opts ...grpc.CallOption) (*ListDiskLocationsResponse, error) + // PartitionDisk initializes and partitions a disk device (if the disk has not + // been partitioned already) and returns the resulting volume device ID + PartitionDisk(ctx context.Context, in *PartitionDiskRequest, opts ...grpc.CallOption) (*PartitionDiskResponse, error) + // Rescan refreshes the host's storage cache + Rescan(ctx context.Context, in *RescanRequest, opts ...grpc.CallOption) (*RescanResponse, error) + // ListDiskIDs returns a map of DiskID objects where the key is the disk number + ListDiskIDs(ctx context.Context, in *ListDiskIDsRequest, opts ...grpc.CallOption) (*ListDiskIDsResponse, error) + // DiskStats returns the stats for the disk + DiskStats(ctx context.Context, in *DiskStatsRequest, opts ...grpc.CallOption) (*DiskStatsResponse, error) + // SetAttachState sets the offline/online state of a disk + SetAttachState(ctx context.Context, in *SetAttachStateRequest, opts ...grpc.CallOption) (*SetAttachStateResponse, error) + // GetAttachState gets the offline/online state of a disk + GetAttachState(ctx context.Context, in *GetAttachStateRequest, opts ...grpc.CallOption) (*GetAttachStateResponse, error) +} + +type diskClient struct { + cc grpc.ClientConnInterface +} + +func NewDiskClient(cc grpc.ClientConnInterface) DiskClient { + return &diskClient{cc} +} + +func (c *diskClient) ListDiskLocations(ctx context.Context, in *ListDiskLocationsRequest, opts ...grpc.CallOption) (*ListDiskLocationsResponse, error) { + out := new(ListDiskLocationsResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/ListDiskLocations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) PartitionDisk(ctx context.Context, in *PartitionDiskRequest, opts ...grpc.CallOption) (*PartitionDiskResponse, error) { + out := new(PartitionDiskResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/PartitionDisk", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) Rescan(ctx context.Context, in *RescanRequest, opts ...grpc.CallOption) (*RescanResponse, error) { + out := new(RescanResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/Rescan", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) ListDiskIDs(ctx context.Context, in *ListDiskIDsRequest, opts ...grpc.CallOption) (*ListDiskIDsResponse, error) { + out := new(ListDiskIDsResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/ListDiskIDs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) DiskStats(ctx context.Context, in *DiskStatsRequest, opts ...grpc.CallOption) (*DiskStatsResponse, error) { + out := new(DiskStatsResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/DiskStats", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) SetAttachState(ctx context.Context, in *SetAttachStateRequest, opts ...grpc.CallOption) (*SetAttachStateResponse, error) { + out := new(SetAttachStateResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/SetAttachState", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskClient) GetAttachState(ctx context.Context, in *GetAttachStateRequest, opts ...grpc.CallOption) (*GetAttachStateResponse, error) { + out := new(GetAttachStateResponse) + err := c.cc.Invoke(ctx, "/v1beta2.Disk/GetAttachState", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// DiskServer is the server API for Disk service. +type DiskServer interface { + // ListDiskLocations returns locations of all + // disk devices enumerated by the host + ListDiskLocations(context.Context, *ListDiskLocationsRequest) (*ListDiskLocationsResponse, error) + // PartitionDisk initializes and partitions a disk device (if the disk has not + // been partitioned already) and returns the resulting volume device ID + PartitionDisk(context.Context, *PartitionDiskRequest) (*PartitionDiskResponse, error) + // Rescan refreshes the host's storage cache + Rescan(context.Context, *RescanRequest) (*RescanResponse, error) + // ListDiskIDs returns a map of DiskID objects where the key is the disk number + ListDiskIDs(context.Context, *ListDiskIDsRequest) (*ListDiskIDsResponse, error) + // DiskStats returns the stats for the disk + DiskStats(context.Context, *DiskStatsRequest) (*DiskStatsResponse, error) + // SetAttachState sets the offline/online state of a disk + SetAttachState(context.Context, *SetAttachStateRequest) (*SetAttachStateResponse, error) + // GetAttachState gets the offline/online state of a disk + GetAttachState(context.Context, *GetAttachStateRequest) (*GetAttachStateResponse, error) +} + +// UnimplementedDiskServer can be embedded to have forward compatible implementations. +type UnimplementedDiskServer struct { +} + +func (*UnimplementedDiskServer) ListDiskLocations(ctx context.Context, req *ListDiskLocationsRequest) (*ListDiskLocationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDiskLocations not implemented") +} +func (*UnimplementedDiskServer) PartitionDisk(ctx context.Context, req *PartitionDiskRequest) (*PartitionDiskResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PartitionDisk not implemented") +} +func (*UnimplementedDiskServer) Rescan(ctx context.Context, req *RescanRequest) (*RescanResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Rescan not implemented") +} +func (*UnimplementedDiskServer) ListDiskIDs(ctx context.Context, req *ListDiskIDsRequest) (*ListDiskIDsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDiskIDs not implemented") +} +func (*UnimplementedDiskServer) DiskStats(ctx context.Context, req *DiskStatsRequest) (*DiskStatsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiskStats not implemented") +} +func (*UnimplementedDiskServer) SetAttachState(ctx context.Context, req *SetAttachStateRequest) (*SetAttachStateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetAttachState not implemented") +} +func (*UnimplementedDiskServer) GetAttachState(ctx context.Context, req *GetAttachStateRequest) (*GetAttachStateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAttachState not implemented") +} + +func RegisterDiskServer(s *grpc.Server, srv DiskServer) { + s.RegisterService(&_Disk_serviceDesc, srv) +} + +func _Disk_ListDiskLocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDiskLocationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).ListDiskLocations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/ListDiskLocations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).ListDiskLocations(ctx, req.(*ListDiskLocationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_PartitionDisk_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PartitionDiskRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).PartitionDisk(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/PartitionDisk", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).PartitionDisk(ctx, req.(*PartitionDiskRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_Rescan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RescanRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).Rescan(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/Rescan", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).Rescan(ctx, req.(*RescanRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_ListDiskIDs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDiskIDsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).ListDiskIDs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/ListDiskIDs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).ListDiskIDs(ctx, req.(*ListDiskIDsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_DiskStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiskStatsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).DiskStats(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/DiskStats", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).DiskStats(ctx, req.(*DiskStatsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_SetAttachState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetAttachStateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).SetAttachState(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/SetAttachState", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).SetAttachState(ctx, req.(*SetAttachStateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Disk_GetAttachState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAttachStateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServer).GetAttachState(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/v1beta2.Disk/GetAttachState", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServer).GetAttachState(ctx, req.(*GetAttachStateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Disk_serviceDesc = grpc.ServiceDesc{ + ServiceName: "v1beta2.Disk", + HandlerType: (*DiskServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListDiskLocations", + Handler: _Disk_ListDiskLocations_Handler, + }, + { + MethodName: "PartitionDisk", + Handler: _Disk_PartitionDisk_Handler, + }, + { + MethodName: "Rescan", + Handler: _Disk_Rescan_Handler, + }, + { + MethodName: "ListDiskIDs", + Handler: _Disk_ListDiskIDs_Handler, + }, + { + MethodName: "DiskStats", + Handler: _Disk_DiskStats_Handler, + }, + { + MethodName: "SetAttachState", + Handler: _Disk_SetAttachState_Handler, + }, + { + MethodName: "GetAttachState", + Handler: _Disk_GetAttachState_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.proto", +} diff --git a/vendor/github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.proto b/vendor/github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.proto new file mode 100644 index 00000000..c9f6c8f8 --- /dev/null +++ b/vendor/github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2/api.proto @@ -0,0 +1,109 @@ +syntax = "proto3"; + +package v1beta2; + +option go_package = "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2"; + +service Disk { + // ListDiskLocations returns locations of all + // disk devices enumerated by the host + rpc ListDiskLocations(ListDiskLocationsRequest) returns (ListDiskLocationsResponse) {} + + // PartitionDisk initializes and partitions a disk device (if the disk has not + // been partitioned already) and returns the resulting volume device ID + rpc PartitionDisk(PartitionDiskRequest) returns (PartitionDiskResponse) {} + + // Rescan refreshes the host's storage cache + rpc Rescan(RescanRequest) returns (RescanResponse) {} + + // ListDiskIDs returns a map of DiskID objects where the key is the disk number + rpc ListDiskIDs(ListDiskIDsRequest) returns (ListDiskIDsResponse) {} + + // DiskStats returns the stats for the disk + rpc DiskStats(DiskStatsRequest) returns (DiskStatsResponse) {} + + // SetAttachState sets the offline/online state of a disk + rpc SetAttachState(SetAttachStateRequest) returns (SetAttachStateResponse) {} + + // GetAttachState gets the offline/online state of a disk + rpc GetAttachState(GetAttachStateRequest) returns (GetAttachStateResponse) {} +} + +message ListDiskLocationsRequest { + // Intentionally empty +} + +message DiskLocation { + string Adapter = 1; + string Bus = 2; + string Target = 3; + string LUNID = 4; +} + +message ListDiskLocationsResponse { + // Map of disk device IDs and associated with each disk device + map disk_locations = 1; +} + +message PartitionDiskRequest { + // Disk device ID of the disk to partition + string diskID = 1; +} + +message PartitionDiskResponse { + // Intentionally empty +} + +message RescanRequest { + // Intentionally empty +} + +message RescanResponse { + // Intentionally empty +} + +message ListDiskIDsRequest { + // Intentionally empty +} + +message DiskIDs { + // Map of Disk ID types and Disk ID values + map identifiers = 1; +} + +message ListDiskIDsResponse { + // Map of disk device numbers and IDs associated with each disk device + map diskIDs = 1; +} + +message DiskStatsRequest { + // Disk device ID of the disk to get the size from + string diskID = 1; +} + +message DiskStatsResponse { + //Total size of the volume + int64 diskSize = 1; +} + +message SetAttachStateRequest { + // Disk device ID (number) of the disk which state will change + string diskID = 1; + + // Online state to set for the disk. true for online, false for offline + bool isOnline = 2; +} + +message SetAttachStateResponse { +} + +message GetAttachStateRequest { + // Disk device ID (number) of the disk + string diskID = 1; +} + +message GetAttachStateResponse { + // Online state of the disk. true for online, false for offline + bool isOnline = 1; +} + diff --git a/vendor/github.com/kubernetes-csi/csi-proxy/client/groups/disk/v1beta2/client_generated.go b/vendor/github.com/kubernetes-csi/csi-proxy/client/groups/disk/v1beta2/client_generated.go new file mode 100644 index 00000000..a5e85d81 --- /dev/null +++ b/vendor/github.com/kubernetes-csi/csi-proxy/client/groups/disk/v1beta2/client_generated.go @@ -0,0 +1,80 @@ +// Code generated by csi-proxy-api-gen. DO NOT EDIT. + +package v1beta2 + +import ( + "context" + "net" + + "github.com/Microsoft/go-winio" + "github.com/kubernetes-csi/csi-proxy/client" + "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2" + "github.com/kubernetes-csi/csi-proxy/client/apiversion" + "google.golang.org/grpc" +) + +const groupName = "disk" + +var version = apiversion.NewVersionOrPanic("v1beta2") + +type Client struct { + client v1beta2.DiskClient + connection *grpc.ClientConn +} + +// NewClient returns a client to make calls to the disk API group version v1beta2. +// It's the caller's responsibility to Close the client when done. +func NewClient() (*Client, error) { + pipePath := client.PipePath(groupName, version) + + connection, err := grpc.Dial(pipePath, + grpc.WithContextDialer(func(context context.Context, s string) (net.Conn, error) { + return winio.DialPipeContext(context, s) + }), + grpc.WithInsecure()) + if err != nil { + return nil, err + } + + client := v1beta2.NewDiskClient(connection) + return &Client{ + client: client, + connection: connection, + }, nil +} + +// Close closes the client. It must be called before the client gets GC-ed. +func (w *Client) Close() error { + return w.connection.Close() +} + +// ensures we implement all the required methods +var _ v1beta2.DiskClient = &Client{} + +func (w *Client) DiskStats(context context.Context, request *v1beta2.DiskStatsRequest, opts ...grpc.CallOption) (*v1beta2.DiskStatsResponse, error) { + return w.client.DiskStats(context, request, opts...) +} + +func (w *Client) GetAttachState(context context.Context, request *v1beta2.GetAttachStateRequest, opts ...grpc.CallOption) (*v1beta2.GetAttachStateResponse, error) { + return w.client.GetAttachState(context, request, opts...) +} + +func (w *Client) ListDiskIDs(context context.Context, request *v1beta2.ListDiskIDsRequest, opts ...grpc.CallOption) (*v1beta2.ListDiskIDsResponse, error) { + return w.client.ListDiskIDs(context, request, opts...) +} + +func (w *Client) ListDiskLocations(context context.Context, request *v1beta2.ListDiskLocationsRequest, opts ...grpc.CallOption) (*v1beta2.ListDiskLocationsResponse, error) { + return w.client.ListDiskLocations(context, request, opts...) +} + +func (w *Client) PartitionDisk(context context.Context, request *v1beta2.PartitionDiskRequest, opts ...grpc.CallOption) (*v1beta2.PartitionDiskResponse, error) { + return w.client.PartitionDisk(context, request, opts...) +} + +func (w *Client) Rescan(context context.Context, request *v1beta2.RescanRequest, opts ...grpc.CallOption) (*v1beta2.RescanResponse, error) { + return w.client.Rescan(context, request, opts...) +} + +func (w *Client) SetAttachState(context context.Context, request *v1beta2.SetAttachStateRequest, opts ...grpc.CallOption) (*v1beta2.SetAttachStateResponse, error) { + return w.client.SetAttachState(context, request, opts...) +} diff --git a/vendor/modules.txt b/vendor/modules.txt index db280936..50bb863c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -15,6 +15,7 @@ github.com/iancoleman/strcase github.com/kubernetes-csi/csi-proxy/client github.com/kubernetes-csi/csi-proxy/client/api/disk/v1alpha1 github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta1 +github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2 github.com/kubernetes-csi/csi-proxy/client/api/filesystem/v1alpha1 github.com/kubernetes-csi/csi-proxy/client/api/filesystem/v1beta1 github.com/kubernetes-csi/csi-proxy/client/api/smb/v1alpha1 @@ -25,6 +26,7 @@ github.com/kubernetes-csi/csi-proxy/client/api/volume/v1beta1 github.com/kubernetes-csi/csi-proxy/client/api/volume/v1beta2 github.com/kubernetes-csi/csi-proxy/client/apiversion github.com/kubernetes-csi/csi-proxy/client/groups/disk/v1beta1 +github.com/kubernetes-csi/csi-proxy/client/groups/disk/v1beta2 github.com/kubernetes-csi/csi-proxy/client/groups/filesystem/v1beta1 github.com/kubernetes-csi/csi-proxy/client/groups/smb/v1beta1 github.com/kubernetes-csi/csi-proxy/client/groups/system/v1alpha1