diff --git a/doc/index.html b/doc/index.html
index cb262375..3b4128b2 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -1404,6 +1404,14 @@
Table of Contents
MMachineServiceConsolePasswordResponse
+
+ MMachineServiceDeleteRequest
+
+
+
+ MMachineServiceDeleteResponse
+
+
MMachineServiceGetBMCRequest
@@ -12385,6 +12393,54 @@ MachineServiceDeleteRequest is the request payload for a machine delete request
+
+
+
+
+ | Field | Type | Label | Description |
+
+
+
+
+ | uuid |
+ string |
+ |
+ UUID of the machine to permanently delete |
+
+
+
+
+
+
+
+
+
+ MachineServiceDeleteResponse
+ MachineServiceDeleteResponse is the response payload for a machine delete request
+
+
+
+
+ | Field | Type | Label | Description |
+
+
+
+
+ | machine |
+ metalstack.api.v2.Machine |
+ |
+ Machine is the machine permanently deleted |
+
+
+
+
+
+
+
+
+
MachineServiceGetBMCRequest
MachineServiceGetBMCRequest is the request payload for a machine getbmc request
@@ -12714,6 +12770,13 @@ MachineService
Returns the list of all machines. |
+
+ | Delete |
+ MachineServiceDeleteRequest |
+ MachineServiceDeleteResponse |
+ Delete a machine from the database. This can only be done if the machine is offline and dead. |
+
+
| BMCCommand |
MachineServiceBMCCommandRequest |
diff --git a/go/metalstack/admin/v2/adminv2connect/machine.connect.go b/go/metalstack/admin/v2/adminv2connect/machine.connect.go
index 21f6d1fc..12a37af1 100644
--- a/go/metalstack/admin/v2/adminv2connect/machine.connect.go
+++ b/go/metalstack/admin/v2/adminv2connect/machine.connect.go
@@ -37,6 +37,8 @@ const (
MachineServiceGetProcedure = "/metalstack.admin.v2.MachineService/Get"
// MachineServiceListProcedure is the fully-qualified name of the MachineService's List RPC.
MachineServiceListProcedure = "/metalstack.admin.v2.MachineService/List"
+ // MachineServiceDeleteProcedure is the fully-qualified name of the MachineService's Delete RPC.
+ MachineServiceDeleteProcedure = "/metalstack.admin.v2.MachineService/Delete"
// MachineServiceBMCCommandProcedure is the fully-qualified name of the MachineService's BMCCommand
// RPC.
MachineServiceBMCCommandProcedure = "/metalstack.admin.v2.MachineService/BMCCommand"
@@ -57,6 +59,8 @@ type MachineServiceClient interface {
Get(context.Context, *v2.MachineServiceGetRequest) (*v2.MachineServiceGetResponse, error)
// Returns the list of all machines.
List(context.Context, *v2.MachineServiceListRequest) (*v2.MachineServiceListResponse, error)
+ // Delete a machine from the database. This can only be done if the machine is offline and dead.
+ Delete(context.Context, *v2.MachineServiceDeleteRequest) (*v2.MachineServiceDeleteResponse, error)
// BMCCommand sends a command to the BMC of a machine.
BMCCommand(context.Context, *v2.MachineServiceBMCCommandRequest) (*v2.MachineServiceBMCCommandResponse, error)
// Returns the BMC details of a machine.
@@ -92,6 +96,12 @@ func NewMachineServiceClient(httpClient connect.HTTPClient, baseURL string, opts
connect.WithSchema(machineServiceMethods.ByName("List")),
connect.WithClientOptions(opts...),
),
+ delete: connect.NewClient[v2.MachineServiceDeleteRequest, v2.MachineServiceDeleteResponse](
+ httpClient,
+ baseURL+MachineServiceDeleteProcedure,
+ connect.WithSchema(machineServiceMethods.ByName("Delete")),
+ connect.WithClientOptions(opts...),
+ ),
bMCCommand: connect.NewClient[v2.MachineServiceBMCCommandRequest, v2.MachineServiceBMCCommandResponse](
httpClient,
baseURL+MachineServiceBMCCommandProcedure,
@@ -129,6 +139,7 @@ func NewMachineServiceClient(httpClient connect.HTTPClient, baseURL string, opts
type machineServiceClient struct {
get *connect.Client[v2.MachineServiceGetRequest, v2.MachineServiceGetResponse]
list *connect.Client[v2.MachineServiceListRequest, v2.MachineServiceListResponse]
+ delete *connect.Client[v2.MachineServiceDeleteRequest, v2.MachineServiceDeleteResponse]
bMCCommand *connect.Client[v2.MachineServiceBMCCommandRequest, v2.MachineServiceBMCCommandResponse]
getBMC *connect.Client[v2.MachineServiceGetBMCRequest, v2.MachineServiceGetBMCResponse]
listBMC *connect.Client[v2.MachineServiceListBMCRequest, v2.MachineServiceListBMCResponse]
@@ -154,6 +165,15 @@ func (c *machineServiceClient) List(ctx context.Context, req *v2.MachineServiceL
return nil, err
}
+// Delete calls metalstack.admin.v2.MachineService.Delete.
+func (c *machineServiceClient) Delete(ctx context.Context, req *v2.MachineServiceDeleteRequest) (*v2.MachineServiceDeleteResponse, error) {
+ response, err := c.delete.CallUnary(ctx, connect.NewRequest(req))
+ if response != nil {
+ return response.Msg, err
+ }
+ return nil, err
+}
+
// BMCCommand calls metalstack.admin.v2.MachineService.BMCCommand.
func (c *machineServiceClient) BMCCommand(ctx context.Context, req *v2.MachineServiceBMCCommandRequest) (*v2.MachineServiceBMCCommandResponse, error) {
response, err := c.bMCCommand.CallUnary(ctx, connect.NewRequest(req))
@@ -205,6 +225,8 @@ type MachineServiceHandler interface {
Get(context.Context, *v2.MachineServiceGetRequest) (*v2.MachineServiceGetResponse, error)
// Returns the list of all machines.
List(context.Context, *v2.MachineServiceListRequest) (*v2.MachineServiceListResponse, error)
+ // Delete a machine from the database. This can only be done if the machine is offline and dead.
+ Delete(context.Context, *v2.MachineServiceDeleteRequest) (*v2.MachineServiceDeleteResponse, error)
// BMCCommand sends a command to the BMC of a machine.
BMCCommand(context.Context, *v2.MachineServiceBMCCommandRequest) (*v2.MachineServiceBMCCommandResponse, error)
// Returns the BMC details of a machine.
@@ -236,6 +258,12 @@ func NewMachineServiceHandler(svc MachineServiceHandler, opts ...connect.Handler
connect.WithSchema(machineServiceMethods.ByName("List")),
connect.WithHandlerOptions(opts...),
)
+ machineServiceDeleteHandler := connect.NewUnaryHandlerSimple(
+ MachineServiceDeleteProcedure,
+ svc.Delete,
+ connect.WithSchema(machineServiceMethods.ByName("Delete")),
+ connect.WithHandlerOptions(opts...),
+ )
machineServiceBMCCommandHandler := connect.NewUnaryHandlerSimple(
MachineServiceBMCCommandProcedure,
svc.BMCCommand,
@@ -272,6 +300,8 @@ func NewMachineServiceHandler(svc MachineServiceHandler, opts ...connect.Handler
machineServiceGetHandler.ServeHTTP(w, r)
case MachineServiceListProcedure:
machineServiceListHandler.ServeHTTP(w, r)
+ case MachineServiceDeleteProcedure:
+ machineServiceDeleteHandler.ServeHTTP(w, r)
case MachineServiceBMCCommandProcedure:
machineServiceBMCCommandHandler.ServeHTTP(w, r)
case MachineServiceGetBMCProcedure:
@@ -299,6 +329,10 @@ func (UnimplementedMachineServiceHandler) List(context.Context, *v2.MachineServi
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.MachineService.List is not implemented"))
}
+func (UnimplementedMachineServiceHandler) Delete(context.Context, *v2.MachineServiceDeleteRequest) (*v2.MachineServiceDeleteResponse, error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.MachineService.Delete is not implemented"))
+}
+
func (UnimplementedMachineServiceHandler) BMCCommand(context.Context, *v2.MachineServiceBMCCommandRequest) (*v2.MachineServiceBMCCommandResponse, error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.MachineService.BMCCommand is not implemented"))
}
diff --git a/go/metalstack/admin/v2/machine.pb.go b/go/metalstack/admin/v2/machine.pb.go
index 52398137..e920eb9f 100644
--- a/go/metalstack/admin/v2/machine.pb.go
+++ b/go/metalstack/admin/v2/machine.pb.go
@@ -217,6 +217,98 @@ func (x *MachineServiceListResponse) GetMachines() []*v2.Machine {
return nil
}
+// MachineServiceDeleteRequest is the request payload for a machine delete request
+type MachineServiceDeleteRequest struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // UUID of the machine to permanently delete
+ Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *MachineServiceDeleteRequest) Reset() {
+ *x = MachineServiceDeleteRequest{}
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *MachineServiceDeleteRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MachineServiceDeleteRequest) ProtoMessage() {}
+
+func (x *MachineServiceDeleteRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[4]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MachineServiceDeleteRequest.ProtoReflect.Descriptor instead.
+func (*MachineServiceDeleteRequest) Descriptor() ([]byte, []int) {
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *MachineServiceDeleteRequest) GetUuid() string {
+ if x != nil {
+ return x.Uuid
+ }
+ return ""
+}
+
+// MachineServiceDeleteResponse is the response payload for a machine delete request
+type MachineServiceDeleteResponse struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // Machine is the machine permanently deleted
+ Machine *v2.Machine `protobuf:"bytes,1,opt,name=machine,proto3" json:"machine,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *MachineServiceDeleteResponse) Reset() {
+ *x = MachineServiceDeleteResponse{}
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *MachineServiceDeleteResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MachineServiceDeleteResponse) ProtoMessage() {}
+
+func (x *MachineServiceDeleteResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[5]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MachineServiceDeleteResponse.ProtoReflect.Descriptor instead.
+func (*MachineServiceDeleteResponse) Descriptor() ([]byte, []int) {
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *MachineServiceDeleteResponse) GetMachine() *v2.Machine {
+ if x != nil {
+ return x.Machine
+ }
+ return nil
+}
+
// MachineServiceBMCCommandRequest is the request payload for a machine bmc command
type MachineServiceBMCCommandRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
@@ -230,7 +322,7 @@ type MachineServiceBMCCommandRequest struct {
func (x *MachineServiceBMCCommandRequest) Reset() {
*x = MachineServiceBMCCommandRequest{}
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[4]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -242,7 +334,7 @@ func (x *MachineServiceBMCCommandRequest) String() string {
func (*MachineServiceBMCCommandRequest) ProtoMessage() {}
func (x *MachineServiceBMCCommandRequest) ProtoReflect() protoreflect.Message {
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[4]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -255,7 +347,7 @@ func (x *MachineServiceBMCCommandRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MachineServiceBMCCommandRequest.ProtoReflect.Descriptor instead.
func (*MachineServiceBMCCommandRequest) Descriptor() ([]byte, []int) {
- return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{4}
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{6}
}
func (x *MachineServiceBMCCommandRequest) GetUuid() string {
@@ -281,7 +373,7 @@ type MachineServiceBMCCommandResponse struct {
func (x *MachineServiceBMCCommandResponse) Reset() {
*x = MachineServiceBMCCommandResponse{}
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[5]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -293,7 +385,7 @@ func (x *MachineServiceBMCCommandResponse) String() string {
func (*MachineServiceBMCCommandResponse) ProtoMessage() {}
func (x *MachineServiceBMCCommandResponse) ProtoReflect() protoreflect.Message {
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[5]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -306,7 +398,7 @@ func (x *MachineServiceBMCCommandResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MachineServiceBMCCommandResponse.ProtoReflect.Descriptor instead.
func (*MachineServiceBMCCommandResponse) Descriptor() ([]byte, []int) {
- return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{5}
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{7}
}
// MachineServiceGetBMCRequest is the request payload for a machine getbmc request
@@ -320,7 +412,7 @@ type MachineServiceGetBMCRequest struct {
func (x *MachineServiceGetBMCRequest) Reset() {
*x = MachineServiceGetBMCRequest{}
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[6]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -332,7 +424,7 @@ func (x *MachineServiceGetBMCRequest) String() string {
func (*MachineServiceGetBMCRequest) ProtoMessage() {}
func (x *MachineServiceGetBMCRequest) ProtoReflect() protoreflect.Message {
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[6]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -345,7 +437,7 @@ func (x *MachineServiceGetBMCRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MachineServiceGetBMCRequest.ProtoReflect.Descriptor instead.
func (*MachineServiceGetBMCRequest) Descriptor() ([]byte, []int) {
- return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{6}
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{8}
}
func (x *MachineServiceGetBMCRequest) GetUuid() string {
@@ -368,7 +460,7 @@ type MachineServiceGetBMCResponse struct {
func (x *MachineServiceGetBMCResponse) Reset() {
*x = MachineServiceGetBMCResponse{}
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[7]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -380,7 +472,7 @@ func (x *MachineServiceGetBMCResponse) String() string {
func (*MachineServiceGetBMCResponse) ProtoMessage() {}
func (x *MachineServiceGetBMCResponse) ProtoReflect() protoreflect.Message {
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[7]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -393,7 +485,7 @@ func (x *MachineServiceGetBMCResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MachineServiceGetBMCResponse.ProtoReflect.Descriptor instead.
func (*MachineServiceGetBMCResponse) Descriptor() ([]byte, []int) {
- return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{7}
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{9}
}
func (x *MachineServiceGetBMCResponse) GetUuid() string {
@@ -421,7 +513,7 @@ type MachineServiceListBMCRequest struct {
func (x *MachineServiceListBMCRequest) Reset() {
*x = MachineServiceListBMCRequest{}
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[8]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -433,7 +525,7 @@ func (x *MachineServiceListBMCRequest) String() string {
func (*MachineServiceListBMCRequest) ProtoMessage() {}
func (x *MachineServiceListBMCRequest) ProtoReflect() protoreflect.Message {
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[8]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -446,7 +538,7 @@ func (x *MachineServiceListBMCRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MachineServiceListBMCRequest.ProtoReflect.Descriptor instead.
func (*MachineServiceListBMCRequest) Descriptor() ([]byte, []int) {
- return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{8}
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{10}
}
func (x *MachineServiceListBMCRequest) GetQuery() *v2.MachineBMCQuery {
@@ -467,7 +559,7 @@ type MachineServiceListBMCResponse struct {
func (x *MachineServiceListBMCResponse) Reset() {
*x = MachineServiceListBMCResponse{}
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[9]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -479,7 +571,7 @@ func (x *MachineServiceListBMCResponse) String() string {
func (*MachineServiceListBMCResponse) ProtoMessage() {}
func (x *MachineServiceListBMCResponse) ProtoReflect() protoreflect.Message {
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[9]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -492,7 +584,7 @@ func (x *MachineServiceListBMCResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MachineServiceListBMCResponse.ProtoReflect.Descriptor instead.
func (*MachineServiceListBMCResponse) Descriptor() ([]byte, []int) {
- return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{9}
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{11}
}
func (x *MachineServiceListBMCResponse) GetBmcReports() map[string]*v2.MachineBMCReport {
@@ -516,7 +608,7 @@ type MachineServiceConsolePasswordRequest struct {
func (x *MachineServiceConsolePasswordRequest) Reset() {
*x = MachineServiceConsolePasswordRequest{}
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[10]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -528,7 +620,7 @@ func (x *MachineServiceConsolePasswordRequest) String() string {
func (*MachineServiceConsolePasswordRequest) ProtoMessage() {}
func (x *MachineServiceConsolePasswordRequest) ProtoReflect() protoreflect.Message {
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[10]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -541,7 +633,7 @@ func (x *MachineServiceConsolePasswordRequest) ProtoReflect() protoreflect.Messa
// Deprecated: Use MachineServiceConsolePasswordRequest.ProtoReflect.Descriptor instead.
func (*MachineServiceConsolePasswordRequest) Descriptor() ([]byte, []int) {
- return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{10}
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{12}
}
func (x *MachineServiceConsolePasswordRequest) GetUuid() string {
@@ -571,7 +663,7 @@ type MachineServiceConsolePasswordResponse struct {
func (x *MachineServiceConsolePasswordResponse) Reset() {
*x = MachineServiceConsolePasswordResponse{}
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[11]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -583,7 +675,7 @@ func (x *MachineServiceConsolePasswordResponse) String() string {
func (*MachineServiceConsolePasswordResponse) ProtoMessage() {}
func (x *MachineServiceConsolePasswordResponse) ProtoReflect() protoreflect.Message {
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[11]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -596,7 +688,7 @@ func (x *MachineServiceConsolePasswordResponse) ProtoReflect() protoreflect.Mess
// Deprecated: Use MachineServiceConsolePasswordResponse.ProtoReflect.Descriptor instead.
func (*MachineServiceConsolePasswordResponse) Descriptor() ([]byte, []int) {
- return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{11}
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{13}
}
func (x *MachineServiceConsolePasswordResponse) GetUuid() string {
@@ -629,7 +721,7 @@ type MachineServiceSetStateRequest struct {
func (x *MachineServiceSetStateRequest) Reset() {
*x = MachineServiceSetStateRequest{}
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[12]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -641,7 +733,7 @@ func (x *MachineServiceSetStateRequest) String() string {
func (*MachineServiceSetStateRequest) ProtoMessage() {}
func (x *MachineServiceSetStateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[12]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -654,7 +746,7 @@ func (x *MachineServiceSetStateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MachineServiceSetStateRequest.ProtoReflect.Descriptor instead.
func (*MachineServiceSetStateRequest) Descriptor() ([]byte, []int) {
- return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{12}
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{14}
}
func (x *MachineServiceSetStateRequest) GetUuid() string {
@@ -689,7 +781,7 @@ type MachineServiceSetStateResponse struct {
func (x *MachineServiceSetStateResponse) Reset() {
*x = MachineServiceSetStateResponse{}
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[13]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -701,7 +793,7 @@ func (x *MachineServiceSetStateResponse) String() string {
func (*MachineServiceSetStateResponse) ProtoMessage() {}
func (x *MachineServiceSetStateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_metalstack_admin_v2_machine_proto_msgTypes[13]
+ mi := &file_metalstack_admin_v2_machine_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -714,7 +806,7 @@ func (x *MachineServiceSetStateResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MachineServiceSetStateResponse.ProtoReflect.Descriptor instead.
func (*MachineServiceSetStateResponse) Descriptor() ([]byte, []int) {
- return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{13}
+ return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{15}
}
func (x *MachineServiceSetStateResponse) GetMachine() *v2.Machine {
@@ -739,7 +831,11 @@ const file_metalstack_admin_v2_machine_proto_rawDesc = "" +
"\n" +
"_partition\"T\n" +
"\x1aMachineServiceListResponse\x126\n" +
- "\bmachines\x18\x01 \x03(\v2\x1a.metalstack.api.v2.MachineR\bmachines\"\x89\x01\n" +
+ "\bmachines\x18\x01 \x03(\v2\x1a.metalstack.api.v2.MachineR\bmachines\";\n" +
+ "\x1bMachineServiceDeleteRequest\x12\x1c\n" +
+ "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"T\n" +
+ "\x1cMachineServiceDeleteResponse\x124\n" +
+ "\amachine\x18\x01 \x01(\v2\x1a.metalstack.api.v2.MachineR\amachine\"\x89\x01\n" +
"\x1fMachineServiceBMCCommandRequest\x12\x1c\n" +
"\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12H\n" +
"\acommand\x18\x02 \x01(\x0e2$.metalstack.api.v2.MachineBMCCommandB\b\xbaH\x05\x82\x01\x02\x10\x01R\acommand\"\"\n" +
@@ -771,12 +867,13 @@ const file_metalstack_admin_v2_machine_proto_rawDesc = "" +
"\x05state\x18\x02 \x01(\x0e2\x1f.metalstack.api.v2.MachineStateB\b\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12-\n" +
"\vdescription\x18\x03 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01R\vdescription\"V\n" +
"\x1eMachineServiceSetStateResponse\x124\n" +
- "\amachine\x18\x01 \x01(\v2\x1a.metalstack.api.v2.MachineR\amachine2\x8e\a\n" +
+ "\amachine\x18\x01 \x01(\v2\x1a.metalstack.api.v2.MachineR\amachine2\x88\b\n" +
"\x0eMachineService\x12p\n" +
"\x03Get\x12-.metalstack.admin.v2.MachineServiceGetRequest\x1a..metalstack.admin.v2.MachineServiceGetResponse\"\n" +
"\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12s\n" +
"\x04List\x12..metalstack.admin.v2.MachineServiceListRequest\x1a/.metalstack.admin.v2.MachineServiceListResponse\"\n" +
- "\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x84\x01\n" +
+ "\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12x\n" +
+ "\x06Delete\x120.metalstack.admin.v2.MachineServiceDeleteRequest\x1a1.metalstack.admin.v2.MachineServiceDeleteResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x84\x01\n" +
"\n" +
"BMCCommand\x124.metalstack.admin.v2.MachineServiceBMCCommandRequest\x1a5.metalstack.admin.v2.MachineServiceBMCCommandResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12y\n" +
"\x06GetBMC\x120.metalstack.admin.v2.MachineServiceGetBMCRequest\x1a1.metalstack.admin.v2.MachineServiceGetBMCResponse\"\n" +
@@ -800,60 +897,65 @@ func file_metalstack_admin_v2_machine_proto_rawDescGZIP() []byte {
return file_metalstack_admin_v2_machine_proto_rawDescData
}
-var file_metalstack_admin_v2_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
+var file_metalstack_admin_v2_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
var file_metalstack_admin_v2_machine_proto_goTypes = []any{
(*MachineServiceGetRequest)(nil), // 0: metalstack.admin.v2.MachineServiceGetRequest
(*MachineServiceGetResponse)(nil), // 1: metalstack.admin.v2.MachineServiceGetResponse
(*MachineServiceListRequest)(nil), // 2: metalstack.admin.v2.MachineServiceListRequest
(*MachineServiceListResponse)(nil), // 3: metalstack.admin.v2.MachineServiceListResponse
- (*MachineServiceBMCCommandRequest)(nil), // 4: metalstack.admin.v2.MachineServiceBMCCommandRequest
- (*MachineServiceBMCCommandResponse)(nil), // 5: metalstack.admin.v2.MachineServiceBMCCommandResponse
- (*MachineServiceGetBMCRequest)(nil), // 6: metalstack.admin.v2.MachineServiceGetBMCRequest
- (*MachineServiceGetBMCResponse)(nil), // 7: metalstack.admin.v2.MachineServiceGetBMCResponse
- (*MachineServiceListBMCRequest)(nil), // 8: metalstack.admin.v2.MachineServiceListBMCRequest
- (*MachineServiceListBMCResponse)(nil), // 9: metalstack.admin.v2.MachineServiceListBMCResponse
- (*MachineServiceConsolePasswordRequest)(nil), // 10: metalstack.admin.v2.MachineServiceConsolePasswordRequest
- (*MachineServiceConsolePasswordResponse)(nil), // 11: metalstack.admin.v2.MachineServiceConsolePasswordResponse
- (*MachineServiceSetStateRequest)(nil), // 12: metalstack.admin.v2.MachineServiceSetStateRequest
- (*MachineServiceSetStateResponse)(nil), // 13: metalstack.admin.v2.MachineServiceSetStateResponse
- nil, // 14: metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntry
- (*v2.Machine)(nil), // 15: metalstack.api.v2.Machine
- (*v2.MachineQuery)(nil), // 16: metalstack.api.v2.MachineQuery
- (v2.MachineBMCCommand)(0), // 17: metalstack.api.v2.MachineBMCCommand
- (*v2.MachineBMCReport)(nil), // 18: metalstack.api.v2.MachineBMCReport
- (*v2.MachineBMCQuery)(nil), // 19: metalstack.api.v2.MachineBMCQuery
- (v2.MachineState)(0), // 20: metalstack.api.v2.MachineState
+ (*MachineServiceDeleteRequest)(nil), // 4: metalstack.admin.v2.MachineServiceDeleteRequest
+ (*MachineServiceDeleteResponse)(nil), // 5: metalstack.admin.v2.MachineServiceDeleteResponse
+ (*MachineServiceBMCCommandRequest)(nil), // 6: metalstack.admin.v2.MachineServiceBMCCommandRequest
+ (*MachineServiceBMCCommandResponse)(nil), // 7: metalstack.admin.v2.MachineServiceBMCCommandResponse
+ (*MachineServiceGetBMCRequest)(nil), // 8: metalstack.admin.v2.MachineServiceGetBMCRequest
+ (*MachineServiceGetBMCResponse)(nil), // 9: metalstack.admin.v2.MachineServiceGetBMCResponse
+ (*MachineServiceListBMCRequest)(nil), // 10: metalstack.admin.v2.MachineServiceListBMCRequest
+ (*MachineServiceListBMCResponse)(nil), // 11: metalstack.admin.v2.MachineServiceListBMCResponse
+ (*MachineServiceConsolePasswordRequest)(nil), // 12: metalstack.admin.v2.MachineServiceConsolePasswordRequest
+ (*MachineServiceConsolePasswordResponse)(nil), // 13: metalstack.admin.v2.MachineServiceConsolePasswordResponse
+ (*MachineServiceSetStateRequest)(nil), // 14: metalstack.admin.v2.MachineServiceSetStateRequest
+ (*MachineServiceSetStateResponse)(nil), // 15: metalstack.admin.v2.MachineServiceSetStateResponse
+ nil, // 16: metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntry
+ (*v2.Machine)(nil), // 17: metalstack.api.v2.Machine
+ (*v2.MachineQuery)(nil), // 18: metalstack.api.v2.MachineQuery
+ (v2.MachineBMCCommand)(0), // 19: metalstack.api.v2.MachineBMCCommand
+ (*v2.MachineBMCReport)(nil), // 20: metalstack.api.v2.MachineBMCReport
+ (*v2.MachineBMCQuery)(nil), // 21: metalstack.api.v2.MachineBMCQuery
+ (v2.MachineState)(0), // 22: metalstack.api.v2.MachineState
}
var file_metalstack_admin_v2_machine_proto_depIdxs = []int32{
- 15, // 0: metalstack.admin.v2.MachineServiceGetResponse.machine:type_name -> metalstack.api.v2.Machine
- 16, // 1: metalstack.admin.v2.MachineServiceListRequest.query:type_name -> metalstack.api.v2.MachineQuery
- 15, // 2: metalstack.admin.v2.MachineServiceListResponse.machines:type_name -> metalstack.api.v2.Machine
- 17, // 3: metalstack.admin.v2.MachineServiceBMCCommandRequest.command:type_name -> metalstack.api.v2.MachineBMCCommand
- 18, // 4: metalstack.admin.v2.MachineServiceGetBMCResponse.bmc:type_name -> metalstack.api.v2.MachineBMCReport
- 19, // 5: metalstack.admin.v2.MachineServiceListBMCRequest.query:type_name -> metalstack.api.v2.MachineBMCQuery
- 14, // 6: metalstack.admin.v2.MachineServiceListBMCResponse.bmc_reports:type_name -> metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntry
- 20, // 7: metalstack.admin.v2.MachineServiceSetStateRequest.state:type_name -> metalstack.api.v2.MachineState
- 15, // 8: metalstack.admin.v2.MachineServiceSetStateResponse.machine:type_name -> metalstack.api.v2.Machine
- 18, // 9: metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntry.value:type_name -> metalstack.api.v2.MachineBMCReport
- 0, // 10: metalstack.admin.v2.MachineService.Get:input_type -> metalstack.admin.v2.MachineServiceGetRequest
- 2, // 11: metalstack.admin.v2.MachineService.List:input_type -> metalstack.admin.v2.MachineServiceListRequest
- 4, // 12: metalstack.admin.v2.MachineService.BMCCommand:input_type -> metalstack.admin.v2.MachineServiceBMCCommandRequest
- 6, // 13: metalstack.admin.v2.MachineService.GetBMC:input_type -> metalstack.admin.v2.MachineServiceGetBMCRequest
- 8, // 14: metalstack.admin.v2.MachineService.ListBMC:input_type -> metalstack.admin.v2.MachineServiceListBMCRequest
- 10, // 15: metalstack.admin.v2.MachineService.ConsolePassword:input_type -> metalstack.admin.v2.MachineServiceConsolePasswordRequest
- 12, // 16: metalstack.admin.v2.MachineService.SetState:input_type -> metalstack.admin.v2.MachineServiceSetStateRequest
- 1, // 17: metalstack.admin.v2.MachineService.Get:output_type -> metalstack.admin.v2.MachineServiceGetResponse
- 3, // 18: metalstack.admin.v2.MachineService.List:output_type -> metalstack.admin.v2.MachineServiceListResponse
- 5, // 19: metalstack.admin.v2.MachineService.BMCCommand:output_type -> metalstack.admin.v2.MachineServiceBMCCommandResponse
- 7, // 20: metalstack.admin.v2.MachineService.GetBMC:output_type -> metalstack.admin.v2.MachineServiceGetBMCResponse
- 9, // 21: metalstack.admin.v2.MachineService.ListBMC:output_type -> metalstack.admin.v2.MachineServiceListBMCResponse
- 11, // 22: metalstack.admin.v2.MachineService.ConsolePassword:output_type -> metalstack.admin.v2.MachineServiceConsolePasswordResponse
- 13, // 23: metalstack.admin.v2.MachineService.SetState:output_type -> metalstack.admin.v2.MachineServiceSetStateResponse
- 17, // [17:24] is the sub-list for method output_type
- 10, // [10:17] is the sub-list for method input_type
- 10, // [10:10] is the sub-list for extension type_name
- 10, // [10:10] is the sub-list for extension extendee
- 0, // [0:10] is the sub-list for field type_name
+ 17, // 0: metalstack.admin.v2.MachineServiceGetResponse.machine:type_name -> metalstack.api.v2.Machine
+ 18, // 1: metalstack.admin.v2.MachineServiceListRequest.query:type_name -> metalstack.api.v2.MachineQuery
+ 17, // 2: metalstack.admin.v2.MachineServiceListResponse.machines:type_name -> metalstack.api.v2.Machine
+ 17, // 3: metalstack.admin.v2.MachineServiceDeleteResponse.machine:type_name -> metalstack.api.v2.Machine
+ 19, // 4: metalstack.admin.v2.MachineServiceBMCCommandRequest.command:type_name -> metalstack.api.v2.MachineBMCCommand
+ 20, // 5: metalstack.admin.v2.MachineServiceGetBMCResponse.bmc:type_name -> metalstack.api.v2.MachineBMCReport
+ 21, // 6: metalstack.admin.v2.MachineServiceListBMCRequest.query:type_name -> metalstack.api.v2.MachineBMCQuery
+ 16, // 7: metalstack.admin.v2.MachineServiceListBMCResponse.bmc_reports:type_name -> metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntry
+ 22, // 8: metalstack.admin.v2.MachineServiceSetStateRequest.state:type_name -> metalstack.api.v2.MachineState
+ 17, // 9: metalstack.admin.v2.MachineServiceSetStateResponse.machine:type_name -> metalstack.api.v2.Machine
+ 20, // 10: metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntry.value:type_name -> metalstack.api.v2.MachineBMCReport
+ 0, // 11: metalstack.admin.v2.MachineService.Get:input_type -> metalstack.admin.v2.MachineServiceGetRequest
+ 2, // 12: metalstack.admin.v2.MachineService.List:input_type -> metalstack.admin.v2.MachineServiceListRequest
+ 4, // 13: metalstack.admin.v2.MachineService.Delete:input_type -> metalstack.admin.v2.MachineServiceDeleteRequest
+ 6, // 14: metalstack.admin.v2.MachineService.BMCCommand:input_type -> metalstack.admin.v2.MachineServiceBMCCommandRequest
+ 8, // 15: metalstack.admin.v2.MachineService.GetBMC:input_type -> metalstack.admin.v2.MachineServiceGetBMCRequest
+ 10, // 16: metalstack.admin.v2.MachineService.ListBMC:input_type -> metalstack.admin.v2.MachineServiceListBMCRequest
+ 12, // 17: metalstack.admin.v2.MachineService.ConsolePassword:input_type -> metalstack.admin.v2.MachineServiceConsolePasswordRequest
+ 14, // 18: metalstack.admin.v2.MachineService.SetState:input_type -> metalstack.admin.v2.MachineServiceSetStateRequest
+ 1, // 19: metalstack.admin.v2.MachineService.Get:output_type -> metalstack.admin.v2.MachineServiceGetResponse
+ 3, // 20: metalstack.admin.v2.MachineService.List:output_type -> metalstack.admin.v2.MachineServiceListResponse
+ 5, // 21: metalstack.admin.v2.MachineService.Delete:output_type -> metalstack.admin.v2.MachineServiceDeleteResponse
+ 7, // 22: metalstack.admin.v2.MachineService.BMCCommand:output_type -> metalstack.admin.v2.MachineServiceBMCCommandResponse
+ 9, // 23: metalstack.admin.v2.MachineService.GetBMC:output_type -> metalstack.admin.v2.MachineServiceGetBMCResponse
+ 11, // 24: metalstack.admin.v2.MachineService.ListBMC:output_type -> metalstack.admin.v2.MachineServiceListBMCResponse
+ 13, // 25: metalstack.admin.v2.MachineService.ConsolePassword:output_type -> metalstack.admin.v2.MachineServiceConsolePasswordResponse
+ 15, // 26: metalstack.admin.v2.MachineService.SetState:output_type -> metalstack.admin.v2.MachineServiceSetStateResponse
+ 19, // [19:27] is the sub-list for method output_type
+ 11, // [11:19] is the sub-list for method input_type
+ 11, // [11:11] is the sub-list for extension type_name
+ 11, // [11:11] is the sub-list for extension extendee
+ 0, // [0:11] is the sub-list for field type_name
}
func init() { file_metalstack_admin_v2_machine_proto_init() }
@@ -868,7 +970,7 @@ func file_metalstack_admin_v2_machine_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_metalstack_admin_v2_machine_proto_rawDesc), len(file_metalstack_admin_v2_machine_proto_rawDesc)),
NumEnums: 0,
- NumMessages: 15,
+ NumMessages: 17,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/go/permissions/servicepermissions.go b/go/permissions/servicepermissions.go
index 0b943673..32de85b5 100755
--- a/go/permissions/servicepermissions.go
+++ b/go/permissions/servicepermissions.go
@@ -70,6 +70,7 @@ func GetServicePermissions() *ServicePermissions {
"/metalstack.admin.v2.IPService/List",
"/metalstack.admin.v2.MachineService/Get",
"/metalstack.admin.v2.MachineService/List",
+ "/metalstack.admin.v2.MachineService/Delete",
"/metalstack.admin.v2.MachineService/BMCCommand",
"/metalstack.admin.v2.MachineService/GetBMC",
"/metalstack.admin.v2.MachineService/ListBMC",
@@ -289,6 +290,7 @@ func GetServicePermissions() *ServicePermissions {
"/metalstack.admin.v2.ImageService/Usage": true,
"/metalstack.admin.v2.MachineService/BMCCommand": true,
"/metalstack.admin.v2.MachineService/ConsolePassword": true,
+ "/metalstack.admin.v2.MachineService/Delete": true,
"/metalstack.admin.v2.MachineService/Get": true,
"/metalstack.admin.v2.MachineService/GetBMC": true,
"/metalstack.admin.v2.MachineService/List": true,
@@ -470,6 +472,7 @@ func GetServicePermissions() *ServicePermissions {
"/metalstack.admin.v2.ImageService/Usage": true,
"/metalstack.admin.v2.MachineService/BMCCommand": true,
"/metalstack.admin.v2.MachineService/ConsolePassword": true,
+ "/metalstack.admin.v2.MachineService/Delete": true,
"/metalstack.admin.v2.MachineService/Get": true,
"/metalstack.admin.v2.MachineService/GetBMC": true,
"/metalstack.admin.v2.MachineService/List": true,
@@ -597,6 +600,7 @@ func GetServicePermissions() *ServicePermissions {
"/metalstack.admin.v2.ImageService/Usage": true,
"/metalstack.admin.v2.MachineService/BMCCommand": true,
"/metalstack.admin.v2.MachineService/ConsolePassword": true,
+ "/metalstack.admin.v2.MachineService/Delete": true,
"/metalstack.admin.v2.MachineService/Get": false,
"/metalstack.admin.v2.MachineService/GetBMC": true,
"/metalstack.admin.v2.MachineService/List": false,
diff --git a/go/tests/mocks/metalstack/admin/v2/adminv2connect/MachineServiceClient.go b/go/tests/mocks/metalstack/admin/v2/adminv2connect/MachineServiceClient.go
index d901fb77..2572b4f8 100644
--- a/go/tests/mocks/metalstack/admin/v2/adminv2connect/MachineServiceClient.go
+++ b/go/tests/mocks/metalstack/admin/v2/adminv2connect/MachineServiceClient.go
@@ -174,6 +174,74 @@ func (_c *MachineServiceClient_ConsolePassword_Call) RunAndReturn(run func(conte
return _c
}
+// Delete provides a mock function for the type MachineServiceClient
+func (_mock *MachineServiceClient) Delete(context1 context.Context, machineServiceDeleteRequest *adminv2.MachineServiceDeleteRequest) (*adminv2.MachineServiceDeleteResponse, error) {
+ ret := _mock.Called(context1, machineServiceDeleteRequest)
+
+ if len(ret) == 0 {
+ panic("no return value specified for Delete")
+ }
+
+ var r0 *adminv2.MachineServiceDeleteResponse
+ var r1 error
+ if returnFunc, ok := ret.Get(0).(func(context.Context, *adminv2.MachineServiceDeleteRequest) (*adminv2.MachineServiceDeleteResponse, error)); ok {
+ return returnFunc(context1, machineServiceDeleteRequest)
+ }
+ if returnFunc, ok := ret.Get(0).(func(context.Context, *adminv2.MachineServiceDeleteRequest) *adminv2.MachineServiceDeleteResponse); ok {
+ r0 = returnFunc(context1, machineServiceDeleteRequest)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*adminv2.MachineServiceDeleteResponse)
+ }
+ }
+ if returnFunc, ok := ret.Get(1).(func(context.Context, *adminv2.MachineServiceDeleteRequest) error); ok {
+ r1 = returnFunc(context1, machineServiceDeleteRequest)
+ } else {
+ r1 = ret.Error(1)
+ }
+ return r0, r1
+}
+
+// MachineServiceClient_Delete_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Delete'
+type MachineServiceClient_Delete_Call struct {
+ *mock.Call
+}
+
+// Delete is a helper method to define mock.On call
+// - context1 context.Context
+// - machineServiceDeleteRequest *adminv2.MachineServiceDeleteRequest
+func (_e *MachineServiceClient_Expecter) Delete(context1 interface{}, machineServiceDeleteRequest interface{}) *MachineServiceClient_Delete_Call {
+ return &MachineServiceClient_Delete_Call{Call: _e.mock.On("Delete", context1, machineServiceDeleteRequest)}
+}
+
+func (_c *MachineServiceClient_Delete_Call) Run(run func(context1 context.Context, machineServiceDeleteRequest *adminv2.MachineServiceDeleteRequest)) *MachineServiceClient_Delete_Call {
+ _c.Call.Run(func(args mock.Arguments) {
+ var arg0 context.Context
+ if args[0] != nil {
+ arg0 = args[0].(context.Context)
+ }
+ var arg1 *adminv2.MachineServiceDeleteRequest
+ if args[1] != nil {
+ arg1 = args[1].(*adminv2.MachineServiceDeleteRequest)
+ }
+ run(
+ arg0,
+ arg1,
+ )
+ })
+ return _c
+}
+
+func (_c *MachineServiceClient_Delete_Call) Return(machineServiceDeleteResponse *adminv2.MachineServiceDeleteResponse, err error) *MachineServiceClient_Delete_Call {
+ _c.Call.Return(machineServiceDeleteResponse, err)
+ return _c
+}
+
+func (_c *MachineServiceClient_Delete_Call) RunAndReturn(run func(context1 context.Context, machineServiceDeleteRequest *adminv2.MachineServiceDeleteRequest) (*adminv2.MachineServiceDeleteResponse, error)) *MachineServiceClient_Delete_Call {
+ _c.Call.Return(run)
+ return _c
+}
+
// Get provides a mock function for the type MachineServiceClient
func (_mock *MachineServiceClient) Get(context1 context.Context, machineServiceGetRequest *adminv2.MachineServiceGetRequest) (*adminv2.MachineServiceGetResponse, error) {
ret := _mock.Called(context1, machineServiceGetRequest)
diff --git a/go/tests/mocks/metalstack/admin/v2/adminv2connect/MachineServiceHandler.go b/go/tests/mocks/metalstack/admin/v2/adminv2connect/MachineServiceHandler.go
index 87558441..59d453a6 100644
--- a/go/tests/mocks/metalstack/admin/v2/adminv2connect/MachineServiceHandler.go
+++ b/go/tests/mocks/metalstack/admin/v2/adminv2connect/MachineServiceHandler.go
@@ -174,6 +174,74 @@ func (_c *MachineServiceHandler_ConsolePassword_Call) RunAndReturn(run func(cont
return _c
}
+// Delete provides a mock function for the type MachineServiceHandler
+func (_mock *MachineServiceHandler) Delete(context1 context.Context, machineServiceDeleteRequest *adminv2.MachineServiceDeleteRequest) (*adminv2.MachineServiceDeleteResponse, error) {
+ ret := _mock.Called(context1, machineServiceDeleteRequest)
+
+ if len(ret) == 0 {
+ panic("no return value specified for Delete")
+ }
+
+ var r0 *adminv2.MachineServiceDeleteResponse
+ var r1 error
+ if returnFunc, ok := ret.Get(0).(func(context.Context, *adminv2.MachineServiceDeleteRequest) (*adminv2.MachineServiceDeleteResponse, error)); ok {
+ return returnFunc(context1, machineServiceDeleteRequest)
+ }
+ if returnFunc, ok := ret.Get(0).(func(context.Context, *adminv2.MachineServiceDeleteRequest) *adminv2.MachineServiceDeleteResponse); ok {
+ r0 = returnFunc(context1, machineServiceDeleteRequest)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*adminv2.MachineServiceDeleteResponse)
+ }
+ }
+ if returnFunc, ok := ret.Get(1).(func(context.Context, *adminv2.MachineServiceDeleteRequest) error); ok {
+ r1 = returnFunc(context1, machineServiceDeleteRequest)
+ } else {
+ r1 = ret.Error(1)
+ }
+ return r0, r1
+}
+
+// MachineServiceHandler_Delete_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Delete'
+type MachineServiceHandler_Delete_Call struct {
+ *mock.Call
+}
+
+// Delete is a helper method to define mock.On call
+// - context1 context.Context
+// - machineServiceDeleteRequest *adminv2.MachineServiceDeleteRequest
+func (_e *MachineServiceHandler_Expecter) Delete(context1 interface{}, machineServiceDeleteRequest interface{}) *MachineServiceHandler_Delete_Call {
+ return &MachineServiceHandler_Delete_Call{Call: _e.mock.On("Delete", context1, machineServiceDeleteRequest)}
+}
+
+func (_c *MachineServiceHandler_Delete_Call) Run(run func(context1 context.Context, machineServiceDeleteRequest *adminv2.MachineServiceDeleteRequest)) *MachineServiceHandler_Delete_Call {
+ _c.Call.Run(func(args mock.Arguments) {
+ var arg0 context.Context
+ if args[0] != nil {
+ arg0 = args[0].(context.Context)
+ }
+ var arg1 *adminv2.MachineServiceDeleteRequest
+ if args[1] != nil {
+ arg1 = args[1].(*adminv2.MachineServiceDeleteRequest)
+ }
+ run(
+ arg0,
+ arg1,
+ )
+ })
+ return _c
+}
+
+func (_c *MachineServiceHandler_Delete_Call) Return(machineServiceDeleteResponse *adminv2.MachineServiceDeleteResponse, err error) *MachineServiceHandler_Delete_Call {
+ _c.Call.Return(machineServiceDeleteResponse, err)
+ return _c
+}
+
+func (_c *MachineServiceHandler_Delete_Call) RunAndReturn(run func(context1 context.Context, machineServiceDeleteRequest *adminv2.MachineServiceDeleteRequest) (*adminv2.MachineServiceDeleteResponse, error)) *MachineServiceHandler_Delete_Call {
+ _c.Call.Return(run)
+ return _c
+}
+
// Get provides a mock function for the type MachineServiceHandler
func (_mock *MachineServiceHandler) Get(context1 context.Context, machineServiceGetRequest *adminv2.MachineServiceGetRequest) (*adminv2.MachineServiceGetResponse, error) {
ret := _mock.Called(context1, machineServiceGetRequest)
diff --git a/js/metalstack/admin/v2/machine_pb.d.ts b/js/metalstack/admin/v2/machine_pb.d.ts
index 38442baf..152ff5ff 100644
--- a/js/metalstack/admin/v2/machine_pb.d.ts
+++ b/js/metalstack/admin/v2/machine_pb.d.ts
@@ -84,6 +84,42 @@ export type MachineServiceListResponse = Message<"metalstack.admin.v2.MachineSer
* Use `create(MachineServiceListResponseSchema)` to create a new message.
*/
export declare const MachineServiceListResponseSchema: GenMessage;
+/**
+ * MachineServiceDeleteRequest is the request payload for a machine delete request
+ *
+ * @generated from message metalstack.admin.v2.MachineServiceDeleteRequest
+ */
+export type MachineServiceDeleteRequest = Message<"metalstack.admin.v2.MachineServiceDeleteRequest"> & {
+ /**
+ * UUID of the machine to permanently delete
+ *
+ * @generated from field: string uuid = 1;
+ */
+ uuid: string;
+};
+/**
+ * Describes the message metalstack.admin.v2.MachineServiceDeleteRequest.
+ * Use `create(MachineServiceDeleteRequestSchema)` to create a new message.
+ */
+export declare const MachineServiceDeleteRequestSchema: GenMessage;
+/**
+ * MachineServiceDeleteResponse is the response payload for a machine delete request
+ *
+ * @generated from message metalstack.admin.v2.MachineServiceDeleteResponse
+ */
+export type MachineServiceDeleteResponse = Message<"metalstack.admin.v2.MachineServiceDeleteResponse"> & {
+ /**
+ * Machine is the machine permanently deleted
+ *
+ * @generated from field: metalstack.api.v2.Machine machine = 1;
+ */
+ machine?: Machine | undefined;
+};
+/**
+ * Describes the message metalstack.admin.v2.MachineServiceDeleteResponse.
+ * Use `create(MachineServiceDeleteResponseSchema)` to create a new message.
+ */
+export declare const MachineServiceDeleteResponseSchema: GenMessage;
/**
* MachineServiceBMCCommandRequest is the request payload for a machine bmc command
*
@@ -323,6 +359,16 @@ export declare const MachineService: GenService<{
input: typeof MachineServiceListRequestSchema;
output: typeof MachineServiceListResponseSchema;
};
+ /**
+ * Delete a machine from the database. This can only be done if the machine is offline and dead.
+ *
+ * @generated from rpc metalstack.admin.v2.MachineService.Delete
+ */
+ delete: {
+ methodKind: "unary";
+ input: typeof MachineServiceDeleteRequestSchema;
+ output: typeof MachineServiceDeleteResponseSchema;
+ };
/**
* BMCCommand sends a command to the BMC of a machine.
*
diff --git a/js/metalstack/admin/v2/machine_pb.js b/js/metalstack/admin/v2/machine_pb.js
index 8670db50..b708ecb5 100644
--- a/js/metalstack/admin/v2/machine_pb.js
+++ b/js/metalstack/admin/v2/machine_pb.js
@@ -9,7 +9,7 @@ import { file_metalstack_api_v2_predefined_rules } from "../../api/v2/predefined
/**
* Describes the file metalstack/admin/v2/machine.proto.
*/
-export const file_metalstack_admin_v2_machine = /*@__PURE__*/ fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL21hY2hpbmUucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiMgoYTWFjaGluZVNlcnZpY2VHZXRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIkgKGU1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUifgoZTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBIuCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRIjCglwYXJ0aXRpb24YAiABKAlCC7pICHIG0LOusQIBSACIAQFCDAoKX3BhcnRpdGlvbiJKChpNYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZRIsCghtYWNoaW5lcxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiegofTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI/Cgdjb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmRCCLpIBYIBAhABIiIKIE1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIjUKG01hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABASJoChxNYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjAKA2JtYxgCIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNSZXBvcnQiUQocTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVxdWVzdBIxCgVxdWVyeRgBIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeSLfAQodTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVzcG9uc2USZgoLYm1jX3JlcG9ydHMYASADKAsyQi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdEJNQ1Jlc3BvbnNlLkJtY1JlcG9ydHNFbnRyeUINukgKmgEHIgVyA7ABARpWCg9CbWNSZXBvcnRzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydDoCOAEiWgokTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhoKBnJlYXNvbhgCIAEoCUIKukgHcgUQChiABCJRCiVNYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhAKCHBhc3N3b3JkGAIgASgJIpMBCh1NYWNoaW5lU2VydmljZVNldFN0YXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI4CgVzdGF0ZRgCIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBIk0KHk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZTKOBwoOTWFjaGluZVNlcnZpY2UScAoDR2V0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2UiCtLzGAIBAuDzGAIScwoETGlzdBIuLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBovLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2UiCtLzGAIBAuDzGAIShAEKCkJNQ0NvbW1hbmQSNC5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlcXVlc3QaNS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIgnS8xgBAeDzGAESeQoGR2V0Qk1DEjAubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QaMS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2UiCtLzGAIBAuDzGAESfAoHTGlzdEJNQxIxLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVxdWVzdBoyLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVzcG9uc2UiCtLzGAIBAuDzGAESlAEKD0NvbnNvbGVQYXNzd29yZBI5Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXF1ZXN0GjoubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlc3BvbnNlIgrS8xgCAQLg8xgBEn4KCFNldFN0YXRlEjIubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZVNldFN0YXRlUmVxdWVzdBozLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VTZXRTdGF0ZVJlc3BvbnNlIgnS8xgBAeDzGAFC0AEKF2NvbS5tZXRhbHN0YWNrLmFkbWluLnYyQgxNYWNoaW5lUHJvdG9QAVo5Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hZG1pbi92MjthZG1pbnYyogIDTUFYqgITTWV0YWxzdGFjay5BZG1pbi5WMsoCE01ldGFsc3RhY2tcQWRtaW5cVjLiAh9NZXRhbHN0YWNrXEFkbWluXFYyXEdQQk1ldGFkYXRh6gIVTWV0YWxzdGFjazo6QWRtaW46OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_machine, file_metalstack_api_v2_predefined_rules]);
+export const file_metalstack_admin_v2_machine = /*@__PURE__*/ fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL21hY2hpbmUucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiMgoYTWFjaGluZVNlcnZpY2VHZXRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIkgKGU1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUifgoZTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBIuCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRIjCglwYXJ0aXRpb24YAiABKAlCC7pICHIG0LOusQIBSACIAQFCDAoKX3BhcnRpdGlvbiJKChpNYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZRIsCghtYWNoaW5lcxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiNQobTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIksKHE1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiegofTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI/Cgdjb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmRCCLpIBYIBAhABIiIKIE1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIjUKG01hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABASJoChxNYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjAKA2JtYxgCIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNSZXBvcnQiUQocTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVxdWVzdBIxCgVxdWVyeRgBIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeSLfAQodTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVzcG9uc2USZgoLYm1jX3JlcG9ydHMYASADKAsyQi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdEJNQ1Jlc3BvbnNlLkJtY1JlcG9ydHNFbnRyeUINukgKmgEHIgVyA7ABARpWCg9CbWNSZXBvcnRzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydDoCOAEiWgokTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhoKBnJlYXNvbhgCIAEoCUIKukgHcgUQChiABCJRCiVNYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhAKCHBhc3N3b3JkGAIgASgJIpMBCh1NYWNoaW5lU2VydmljZVNldFN0YXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI4CgVzdGF0ZRgCIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBIk0KHk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZTKICAoOTWFjaGluZVNlcnZpY2UScAoDR2V0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2UiCtLzGAIBAuDzGAIScwoETGlzdBIuLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBovLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2UiCtLzGAIBAuDzGAISeAoGRGVsZXRlEjAubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlcXVlc3QaMS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiCdLzGAEB4PMYARKEAQoKQk1DQ29tbWFuZBI0Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBo1Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiCdLzGAEB4PMYARJ5CgZHZXRCTUMSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZSIK0vMYAgEC4PMYARJ8CgdMaXN0Qk1DEjEubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RCTUNSZXF1ZXN0GjIubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RCTUNSZXNwb25zZSIK0vMYAgEC4PMYARKUAQoPQ29uc29sZVBhc3N3b3JkEjkubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlcXVlc3QaOi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlQ29uc29sZVBhc3N3b3JkUmVzcG9uc2UiCtLzGAIBAuDzGAESfgoIU2V0U3RhdGUSMi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXF1ZXN0GjMubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZVNldFN0YXRlUmVzcG9uc2UiCdLzGAEB4PMYAULQAQoXY29tLm1ldGFsc3RhY2suYWRtaW4udjJCDE1hY2hpbmVQcm90b1ABWjlnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FkbWluL3YyO2FkbWludjKiAgNNQViqAhNNZXRhbHN0YWNrLkFkbWluLlYyygITTWV0YWxzdGFja1xBZG1pblxWMuICH01ldGFsc3RhY2tcQWRtaW5cVjJcR1BCTWV0YWRhdGHqAhVNZXRhbHN0YWNrOjpBZG1pbjo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_machine, file_metalstack_api_v2_predefined_rules]);
/**
* Describes the message metalstack.admin.v2.MachineServiceGetRequest.
* Use `create(MachineServiceGetRequestSchema)` to create a new message.
@@ -30,56 +30,66 @@ export const MachineServiceListRequestSchema = /*@__PURE__*/ messageDesc(file_me
* Use `create(MachineServiceListResponseSchema)` to create a new message.
*/
export const MachineServiceListResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 3);
+/**
+ * Describes the message metalstack.admin.v2.MachineServiceDeleteRequest.
+ * Use `create(MachineServiceDeleteRequestSchema)` to create a new message.
+ */
+export const MachineServiceDeleteRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 4);
+/**
+ * Describes the message metalstack.admin.v2.MachineServiceDeleteResponse.
+ * Use `create(MachineServiceDeleteResponseSchema)` to create a new message.
+ */
+export const MachineServiceDeleteResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 5);
/**
* Describes the message metalstack.admin.v2.MachineServiceBMCCommandRequest.
* Use `create(MachineServiceBMCCommandRequestSchema)` to create a new message.
*/
-export const MachineServiceBMCCommandRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 4);
+export const MachineServiceBMCCommandRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 6);
/**
* Describes the message metalstack.admin.v2.MachineServiceBMCCommandResponse.
* Use `create(MachineServiceBMCCommandResponseSchema)` to create a new message.
*/
-export const MachineServiceBMCCommandResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 5);
+export const MachineServiceBMCCommandResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 7);
/**
* Describes the message metalstack.admin.v2.MachineServiceGetBMCRequest.
* Use `create(MachineServiceGetBMCRequestSchema)` to create a new message.
*/
-export const MachineServiceGetBMCRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 6);
+export const MachineServiceGetBMCRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 8);
/**
* Describes the message metalstack.admin.v2.MachineServiceGetBMCResponse.
* Use `create(MachineServiceGetBMCResponseSchema)` to create a new message.
*/
-export const MachineServiceGetBMCResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 7);
+export const MachineServiceGetBMCResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 9);
/**
* Describes the message metalstack.admin.v2.MachineServiceListBMCRequest.
* Use `create(MachineServiceListBMCRequestSchema)` to create a new message.
*/
-export const MachineServiceListBMCRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 8);
+export const MachineServiceListBMCRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 10);
/**
* Describes the message metalstack.admin.v2.MachineServiceListBMCResponse.
* Use `create(MachineServiceListBMCResponseSchema)` to create a new message.
*/
-export const MachineServiceListBMCResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 9);
+export const MachineServiceListBMCResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 11);
/**
* Describes the message metalstack.admin.v2.MachineServiceConsolePasswordRequest.
* Use `create(MachineServiceConsolePasswordRequestSchema)` to create a new message.
*/
-export const MachineServiceConsolePasswordRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 10);
+export const MachineServiceConsolePasswordRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 12);
/**
* Describes the message metalstack.admin.v2.MachineServiceConsolePasswordResponse.
* Use `create(MachineServiceConsolePasswordResponseSchema)` to create a new message.
*/
-export const MachineServiceConsolePasswordResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 11);
+export const MachineServiceConsolePasswordResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 13);
/**
* Describes the message metalstack.admin.v2.MachineServiceSetStateRequest.
* Use `create(MachineServiceSetStateRequestSchema)` to create a new message.
*/
-export const MachineServiceSetStateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 12);
+export const MachineServiceSetStateRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 14);
/**
* Describes the message metalstack.admin.v2.MachineServiceSetStateResponse.
* Use `create(MachineServiceSetStateResponseSchema)` to create a new message.
*/
-export const MachineServiceSetStateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 13);
+export const MachineServiceSetStateResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_machine, 15);
/**
* MachineService provides machine lifecycle management operations.
*
diff --git a/js/metalstack/admin/v2/machine_pb.ts b/js/metalstack/admin/v2/machine_pb.ts
index 84f6b57e..b8dd3ef7 100644
--- a/js/metalstack/admin/v2/machine_pb.ts
+++ b/js/metalstack/admin/v2/machine_pb.ts
@@ -15,7 +15,7 @@ import type { Message } from "@bufbuild/protobuf";
* Describes the file metalstack/admin/v2/machine.proto.
*/
export const file_metalstack_admin_v2_machine: GenFile = /*@__PURE__*/
- fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL21hY2hpbmUucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiMgoYTWFjaGluZVNlcnZpY2VHZXRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIkgKGU1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUifgoZTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBIuCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRIjCglwYXJ0aXRpb24YAiABKAlCC7pICHIG0LOusQIBSACIAQFCDAoKX3BhcnRpdGlvbiJKChpNYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZRIsCghtYWNoaW5lcxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiegofTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI/Cgdjb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmRCCLpIBYIBAhABIiIKIE1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIjUKG01hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABASJoChxNYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjAKA2JtYxgCIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNSZXBvcnQiUQocTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVxdWVzdBIxCgVxdWVyeRgBIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeSLfAQodTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVzcG9uc2USZgoLYm1jX3JlcG9ydHMYASADKAsyQi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdEJNQ1Jlc3BvbnNlLkJtY1JlcG9ydHNFbnRyeUINukgKmgEHIgVyA7ABARpWCg9CbWNSZXBvcnRzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydDoCOAEiWgokTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhoKBnJlYXNvbhgCIAEoCUIKukgHcgUQChiABCJRCiVNYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhAKCHBhc3N3b3JkGAIgASgJIpMBCh1NYWNoaW5lU2VydmljZVNldFN0YXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI4CgVzdGF0ZRgCIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBIk0KHk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZTKOBwoOTWFjaGluZVNlcnZpY2UScAoDR2V0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2UiCtLzGAIBAuDzGAIScwoETGlzdBIuLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBovLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2UiCtLzGAIBAuDzGAIShAEKCkJNQ0NvbW1hbmQSNC5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlcXVlc3QaNS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIgnS8xgBAeDzGAESeQoGR2V0Qk1DEjAubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QaMS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2UiCtLzGAIBAuDzGAESfAoHTGlzdEJNQxIxLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVxdWVzdBoyLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVzcG9uc2UiCtLzGAIBAuDzGAESlAEKD0NvbnNvbGVQYXNzd29yZBI5Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXF1ZXN0GjoubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlc3BvbnNlIgrS8xgCAQLg8xgBEn4KCFNldFN0YXRlEjIubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZVNldFN0YXRlUmVxdWVzdBozLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VTZXRTdGF0ZVJlc3BvbnNlIgnS8xgBAeDzGAFC0AEKF2NvbS5tZXRhbHN0YWNrLmFkbWluLnYyQgxNYWNoaW5lUHJvdG9QAVo5Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hZG1pbi92MjthZG1pbnYyogIDTUFYqgITTWV0YWxzdGFjay5BZG1pbi5WMsoCE01ldGFsc3RhY2tcQWRtaW5cVjLiAh9NZXRhbHN0YWNrXEFkbWluXFYyXEdQQk1ldGFkYXRh6gIVTWV0YWxzdGFjazo6QWRtaW46OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_machine, file_metalstack_api_v2_predefined_rules]);
+ fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL21hY2hpbmUucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiMgoYTWFjaGluZVNlcnZpY2VHZXRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIkgKGU1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUifgoZTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBIuCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRIjCglwYXJ0aXRpb24YAiABKAlCC7pICHIG0LOusQIBSACIAQFCDAoKX3BhcnRpdGlvbiJKChpNYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZRIsCghtYWNoaW5lcxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiNQobTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIksKHE1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiegofTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI/Cgdjb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmRCCLpIBYIBAhABIiIKIE1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIjUKG01hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABASJoChxNYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjAKA2JtYxgCIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNSZXBvcnQiUQocTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVxdWVzdBIxCgVxdWVyeRgBIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeSLfAQodTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVzcG9uc2USZgoLYm1jX3JlcG9ydHMYASADKAsyQi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdEJNQ1Jlc3BvbnNlLkJtY1JlcG9ydHNFbnRyeUINukgKmgEHIgVyA7ABARpWCg9CbWNSZXBvcnRzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydDoCOAEiWgokTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhoKBnJlYXNvbhgCIAEoCUIKukgHcgUQChiABCJRCiVNYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhAKCHBhc3N3b3JkGAIgASgJIpMBCh1NYWNoaW5lU2VydmljZVNldFN0YXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI4CgVzdGF0ZRgCIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBIk0KHk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZTKICAoOTWFjaGluZVNlcnZpY2UScAoDR2V0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2UiCtLzGAIBAuDzGAIScwoETGlzdBIuLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBovLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2UiCtLzGAIBAuDzGAISeAoGRGVsZXRlEjAubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlcXVlc3QaMS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiCdLzGAEB4PMYARKEAQoKQk1DQ29tbWFuZBI0Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBo1Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiCdLzGAEB4PMYARJ5CgZHZXRCTUMSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZSIK0vMYAgEC4PMYARJ8CgdMaXN0Qk1DEjEubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RCTUNSZXF1ZXN0GjIubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RCTUNSZXNwb25zZSIK0vMYAgEC4PMYARKUAQoPQ29uc29sZVBhc3N3b3JkEjkubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlcXVlc3QaOi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlQ29uc29sZVBhc3N3b3JkUmVzcG9uc2UiCtLzGAIBAuDzGAESfgoIU2V0U3RhdGUSMi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXF1ZXN0GjMubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZVNldFN0YXRlUmVzcG9uc2UiCdLzGAEB4PMYAULQAQoXY29tLm1ldGFsc3RhY2suYWRtaW4udjJCDE1hY2hpbmVQcm90b1ABWjlnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FkbWluL3YyO2FkbWludjKiAgNNQViqAhNNZXRhbHN0YWNrLkFkbWluLlYyygITTWV0YWxzdGFja1xBZG1pblxWMuICH01ldGFsc3RhY2tcQWRtaW5cVjJcR1BCTWV0YWRhdGHqAhVNZXRhbHN0YWNrOjpBZG1pbjo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_machine, file_metalstack_api_v2_predefined_rules]);
/**
* MachineServiceGetRequest is the request payload for a machine get request
@@ -109,6 +109,48 @@ export type MachineServiceListResponse = Message<"metalstack.admin.v2.MachineSer
export const MachineServiceListResponseSchema: GenMessage = /*@__PURE__*/
messageDesc(file_metalstack_admin_v2_machine, 3);
+/**
+ * MachineServiceDeleteRequest is the request payload for a machine delete request
+ *
+ * @generated from message metalstack.admin.v2.MachineServiceDeleteRequest
+ */
+export type MachineServiceDeleteRequest = Message<"metalstack.admin.v2.MachineServiceDeleteRequest"> & {
+ /**
+ * UUID of the machine to permanently delete
+ *
+ * @generated from field: string uuid = 1;
+ */
+ uuid: string;
+};
+
+/**
+ * Describes the message metalstack.admin.v2.MachineServiceDeleteRequest.
+ * Use `create(MachineServiceDeleteRequestSchema)` to create a new message.
+ */
+export const MachineServiceDeleteRequestSchema: GenMessage = /*@__PURE__*/
+ messageDesc(file_metalstack_admin_v2_machine, 4);
+
+/**
+ * MachineServiceDeleteResponse is the response payload for a machine delete request
+ *
+ * @generated from message metalstack.admin.v2.MachineServiceDeleteResponse
+ */
+export type MachineServiceDeleteResponse = Message<"metalstack.admin.v2.MachineServiceDeleteResponse"> & {
+ /**
+ * Machine is the machine permanently deleted
+ *
+ * @generated from field: metalstack.api.v2.Machine machine = 1;
+ */
+ machine?: Machine | undefined;
+};
+
+/**
+ * Describes the message metalstack.admin.v2.MachineServiceDeleteResponse.
+ * Use `create(MachineServiceDeleteResponseSchema)` to create a new message.
+ */
+export const MachineServiceDeleteResponseSchema: GenMessage = /*@__PURE__*/
+ messageDesc(file_metalstack_admin_v2_machine, 5);
+
/**
* MachineServiceBMCCommandRequest is the request payload for a machine bmc command
*
@@ -135,7 +177,7 @@ export type MachineServiceBMCCommandRequest = Message<"metalstack.admin.v2.Machi
* Use `create(MachineServiceBMCCommandRequestSchema)` to create a new message.
*/
export const MachineServiceBMCCommandRequestSchema: GenMessage = /*@__PURE__*/
- messageDesc(file_metalstack_admin_v2_machine, 4);
+ messageDesc(file_metalstack_admin_v2_machine, 6);
/**
* MachineServiceBMCCommandResponse is the response payload for a machine bmc command
@@ -150,7 +192,7 @@ export type MachineServiceBMCCommandResponse = Message<"metalstack.admin.v2.Mach
* Use `create(MachineServiceBMCCommandResponseSchema)` to create a new message.
*/
export const MachineServiceBMCCommandResponseSchema: GenMessage = /*@__PURE__*/
- messageDesc(file_metalstack_admin_v2_machine, 5);
+ messageDesc(file_metalstack_admin_v2_machine, 7);
/**
* MachineServiceGetBMCRequest is the request payload for a machine getbmc request
@@ -171,7 +213,7 @@ export type MachineServiceGetBMCRequest = Message<"metalstack.admin.v2.MachineSe
* Use `create(MachineServiceGetBMCRequestSchema)` to create a new message.
*/
export const MachineServiceGetBMCRequestSchema: GenMessage = /*@__PURE__*/
- messageDesc(file_metalstack_admin_v2_machine, 6);
+ messageDesc(file_metalstack_admin_v2_machine, 8);
/**
* MachineServiceGetBMCResponse is the response payload for a machine getbmc request
@@ -199,7 +241,7 @@ export type MachineServiceGetBMCResponse = Message<"metalstack.admin.v2.MachineS
* Use `create(MachineServiceGetBMCResponseSchema)` to create a new message.
*/
export const MachineServiceGetBMCResponseSchema: GenMessage = /*@__PURE__*/
- messageDesc(file_metalstack_admin_v2_machine, 7);
+ messageDesc(file_metalstack_admin_v2_machine, 9);
/**
* MachineServiceListBMCRequest is the request payload for a machine listbmc request
@@ -220,7 +262,7 @@ export type MachineServiceListBMCRequest = Message<"metalstack.admin.v2.MachineS
* Use `create(MachineServiceListBMCRequestSchema)` to create a new message.
*/
export const MachineServiceListBMCRequestSchema: GenMessage = /*@__PURE__*/
- messageDesc(file_metalstack_admin_v2_machine, 8);
+ messageDesc(file_metalstack_admin_v2_machine, 10);
/**
* MachineServiceListBMCResponse is the response payload for a machine listbmc request
@@ -241,7 +283,7 @@ export type MachineServiceListBMCResponse = Message<"metalstack.admin.v2.Machine
* Use `create(MachineServiceListBMCResponseSchema)` to create a new message.
*/
export const MachineServiceListBMCResponseSchema: GenMessage = /*@__PURE__*/
- messageDesc(file_metalstack_admin_v2_machine, 9);
+ messageDesc(file_metalstack_admin_v2_machine, 11);
/**
* MachineServiceConsolePasswordRequest is the request payload for getting the console password.
@@ -270,7 +312,7 @@ export type MachineServiceConsolePasswordRequest = Message<"metalstack.admin.v2.
* Use `create(MachineServiceConsolePasswordRequestSchema)` to create a new message.
*/
export const MachineServiceConsolePasswordRequestSchema: GenMessage = /*@__PURE__*/
- messageDesc(file_metalstack_admin_v2_machine, 10);
+ messageDesc(file_metalstack_admin_v2_machine, 12);
/**
* MachineServiceConsolePasswordResponse is the response payload for getting the console password.
@@ -298,7 +340,7 @@ export type MachineServiceConsolePasswordResponse = Message<"metalstack.admin.v2
* Use `create(MachineServiceConsolePasswordResponseSchema)` to create a new message.
*/
export const MachineServiceConsolePasswordResponseSchema: GenMessage = /*@__PURE__*/
- messageDesc(file_metalstack_admin_v2_machine, 11);
+ messageDesc(file_metalstack_admin_v2_machine, 13);
/**
* MachineServiceSetStateRequest is the request payload for a machine set state request
@@ -334,7 +376,7 @@ export type MachineServiceSetStateRequest = Message<"metalstack.admin.v2.Machine
* Use `create(MachineServiceSetStateRequestSchema)` to create a new message.
*/
export const MachineServiceSetStateRequestSchema: GenMessage = /*@__PURE__*/
- messageDesc(file_metalstack_admin_v2_machine, 12);
+ messageDesc(file_metalstack_admin_v2_machine, 14);
/**
* MachineServiceSetStateResponse is the response payload for a machine set state request
@@ -355,7 +397,7 @@ export type MachineServiceSetStateResponse = Message<"metalstack.admin.v2.Machin
* Use `create(MachineServiceSetStateResponseSchema)` to create a new message.
*/
export const MachineServiceSetStateResponseSchema: GenMessage = /*@__PURE__*/
- messageDesc(file_metalstack_admin_v2_machine, 13);
+ messageDesc(file_metalstack_admin_v2_machine, 15);
/**
* MachineService provides machine lifecycle management operations.
@@ -383,6 +425,16 @@ export const MachineService: GenService<{
input: typeof MachineServiceListRequestSchema;
output: typeof MachineServiceListResponseSchema;
},
+ /**
+ * Delete a machine from the database. This can only be done if the machine is offline and dead.
+ *
+ * @generated from rpc metalstack.admin.v2.MachineService.Delete
+ */
+ delete: {
+ methodKind: "unary";
+ input: typeof MachineServiceDeleteRequestSchema;
+ output: typeof MachineServiceDeleteResponseSchema;
+ },
/**
* BMCCommand sends a command to the BMC of a machine.
*
diff --git a/proto/metalstack/admin/v2/machine.proto b/proto/metalstack/admin/v2/machine.proto
index 57d77fd4..d14a2c04 100644
--- a/proto/metalstack/admin/v2/machine.proto
+++ b/proto/metalstack/admin/v2/machine.proto
@@ -21,6 +21,11 @@ service MachineService {
option (metalstack.api.v2.admin_roles) = ADMIN_ROLE_VIEWER;
option (metalstack.api.v2.auditing) = AUDITING_EXCLUDED;
}
+ // Delete a machine from the database. This can only be done if the machine is offline and dead.
+ rpc Delete(MachineServiceDeleteRequest) returns (MachineServiceDeleteResponse) {
+ option (metalstack.api.v2.admin_roles) = ADMIN_ROLE_EDITOR;
+ option (metalstack.api.v2.auditing) = AUDITING_INCLUDED;
+ }
// BMCCommand sends a command to the BMC of a machine.
rpc BMCCommand(MachineServiceBMCCommandRequest) returns (MachineServiceBMCCommandResponse) {
option (metalstack.api.v2.admin_roles) = ADMIN_ROLE_EDITOR;
@@ -80,6 +85,18 @@ message MachineServiceListResponse {
repeated metalstack.api.v2.Machine machines = 1;
}
+// MachineServiceDeleteRequest is the request payload for a machine delete request
+message MachineServiceDeleteRequest {
+ // UUID of the machine to permanently delete
+ string uuid = 1 [(buf.validate.field).string.uuid = true];
+}
+
+// MachineServiceDeleteResponse is the response payload for a machine delete request
+message MachineServiceDeleteResponse {
+ // Machine is the machine permanently deleted
+ metalstack.api.v2.Machine machine = 1;
+}
+
// MachineServiceBMCCommandRequest is the request payload for a machine bmc command
message MachineServiceBMCCommandRequest {
// UUID of the machine to send the command to
diff --git a/python/metalstack/admin/v2/machine_connect.py b/python/metalstack/admin/v2/machine_connect.py
index ad393d76..3f15b802 100644
--- a/python/metalstack/admin/v2/machine_connect.py
+++ b/python/metalstack/admin/v2/machine_connect.py
@@ -24,6 +24,9 @@ async def get(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.Machin
async def list(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceListRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceListResponse:
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
+ async def delete(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteResponse:
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
+
async def b_m_c_command(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceBMCCommandRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceBMCCommandResponse:
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
@@ -65,6 +68,16 @@ def __init__(self, service: MachineService | AsyncGenerator[MachineService], *,
),
function=svc.list,
),
+ "/metalstack.admin.v2.MachineService/Delete": Endpoint.unary(
+ method=MethodInfo(
+ name="Delete",
+ service_name="metalstack.admin.v2.MachineService",
+ input=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteRequest,
+ output=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteResponse,
+ idempotency_level=IdempotencyLevel.UNKNOWN,
+ ),
+ function=svc.delete,
+ ),
"/metalstack.admin.v2.MachineService/BMCCommand": Endpoint.unary(
method=MethodInfo(
name="BMCCommand",
@@ -169,6 +182,26 @@ async def list(
timeout_ms=timeout_ms,
)
+ async def delete(
+ self,
+ request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteRequest,
+ *,
+ headers: Headers | Mapping[str, str] | None = None,
+ timeout_ms: int | None = None,
+ ) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteResponse:
+ return await self.execute_unary(
+ request=request,
+ method=MethodInfo(
+ name="Delete",
+ service_name="metalstack.admin.v2.MachineService",
+ input=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteRequest,
+ output=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteResponse,
+ idempotency_level=IdempotencyLevel.UNKNOWN,
+ ),
+ headers=headers,
+ timeout_ms=timeout_ms,
+ )
+
async def b_m_c_command(
self,
request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceBMCCommandRequest,
@@ -278,6 +311,8 @@ def get(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServi
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
def list(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceListRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceListResponse:
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
+ def delete(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteResponse:
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
def b_m_c_command(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceBMCCommandRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceBMCCommandResponse:
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
def get_b_m_c(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceGetBMCRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceGetBMCResponse:
@@ -314,6 +349,16 @@ def __init__(self, service: MachineServiceSync, interceptors: Iterable[Intercept
),
function=service.list,
),
+ "/metalstack.admin.v2.MachineService/Delete": EndpointSync.unary(
+ method=MethodInfo(
+ name="Delete",
+ service_name="metalstack.admin.v2.MachineService",
+ input=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteRequest,
+ output=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteResponse,
+ idempotency_level=IdempotencyLevel.UNKNOWN,
+ ),
+ function=service.delete,
+ ),
"/metalstack.admin.v2.MachineService/BMCCommand": EndpointSync.unary(
method=MethodInfo(
name="BMCCommand",
@@ -418,6 +463,26 @@ def list(
timeout_ms=timeout_ms,
)
+ def delete(
+ self,
+ request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteRequest,
+ *,
+ headers: Headers | Mapping[str, str] | None = None,
+ timeout_ms: int | None = None,
+ ) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteResponse:
+ return self.execute_unary(
+ request=request,
+ method=MethodInfo(
+ name="Delete",
+ service_name="metalstack.admin.v2.MachineService",
+ input=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteRequest,
+ output=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceDeleteResponse,
+ idempotency_level=IdempotencyLevel.UNKNOWN,
+ ),
+ headers=headers,
+ timeout_ms=timeout_ms,
+ )
+
def b_m_c_command(
self,
request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceBMCCommandRequest,
diff --git a/python/metalstack/admin/v2/machine_pb2.py b/python/metalstack/admin/v2/machine_pb2.py
index 6b7e1163..5c797a9a 100644
--- a/python/metalstack/admin/v2/machine_pb2.py
+++ b/python/metalstack/admin/v2/machine_pb2.py
@@ -28,7 +28,7 @@
from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/admin/v2/machine.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/machine.proto\x1a(metalstack/api/v2/predefined_rules.proto\"8\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\x90\x01\n\x19MachineServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\x12.\n\tpartition\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x00R\tpartition\x88\x01\x01\x42\x0c\n\n_partition\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines\"\x89\x01\n\x1fMachineServiceBMCCommandRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12H\n\x07\x63ommand\x18\x02 \x01(\x0e\x32$.metalstack.api.v2.MachineBMCCommandB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07\x63ommand\"\"\n MachineServiceBMCCommandResponse\";\n\x1bMachineServiceGetBMCRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"s\n\x1cMachineServiceGetBMCResponse\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x35\n\x03\x62mc\x18\x02 \x01(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\x03\x62mc\"X\n\x1cMachineServiceListBMCRequest\x12\x38\n\x05query\x18\x01 \x01(\x0b\x32\".metalstack.api.v2.MachineBMCQueryR\x05query\"\xf7\x01\n\x1dMachineServiceListBMCResponse\x12r\n\x0b\x62mc_reports\x18\x01 \x03(\x0b\x32\x42.metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntryB\r\xbaH\n\x9a\x01\x07\"\x05r\x03\xb0\x01\x01R\nbmcReports\x1a\x62\n\x0f\x42mcReportsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\x05value:\x02\x38\x01\"h\n$MachineServiceConsolePasswordRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x06reason\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\n\x18\x80\x04R\x06reason\"a\n%MachineServiceConsolePasswordResponse\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password\"\xad\x01\n\x1dMachineServiceSetStateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12?\n\x05state\x18\x02 \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\"V\n\x1eMachineServiceSetStateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine2\x8e\x07\n\x0eMachineService\x12p\n\x03Get\x12-.metalstack.admin.v2.MachineServiceGetRequest\x1a..metalstack.admin.v2.MachineServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12s\n\x04List\x12..metalstack.admin.v2.MachineServiceListRequest\x1a/.metalstack.admin.v2.MachineServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x84\x01\n\nBMCCommand\x12\x34.metalstack.admin.v2.MachineServiceBMCCommandRequest\x1a\x35.metalstack.admin.v2.MachineServiceBMCCommandResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12y\n\x06GetBMC\x12\x30.metalstack.admin.v2.MachineServiceGetBMCRequest\x1a\x31.metalstack.admin.v2.MachineServiceGetBMCResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12|\n\x07ListBMC\x12\x31.metalstack.admin.v2.MachineServiceListBMCRequest\x1a\x32.metalstack.admin.v2.MachineServiceListBMCResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x94\x01\n\x0f\x43onsolePassword\x12\x39.metalstack.admin.v2.MachineServiceConsolePasswordRequest\x1a:.metalstack.admin.v2.MachineServiceConsolePasswordResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12~\n\x08SetState\x12\x32.metalstack.admin.v2.MachineServiceSetStateRequest\x1a\x33.metalstack.admin.v2.MachineServiceSetStateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cMachineProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/admin/v2/machine.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/machine.proto\x1a(metalstack/api/v2/predefined_rules.proto\"8\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\x90\x01\n\x19MachineServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\x12.\n\tpartition\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x00R\tpartition\x88\x01\x01\x42\x0c\n\n_partition\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines\";\n\x1bMachineServiceDeleteRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"T\n\x1cMachineServiceDeleteResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\x89\x01\n\x1fMachineServiceBMCCommandRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12H\n\x07\x63ommand\x18\x02 \x01(\x0e\x32$.metalstack.api.v2.MachineBMCCommandB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07\x63ommand\"\"\n MachineServiceBMCCommandResponse\";\n\x1bMachineServiceGetBMCRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"s\n\x1cMachineServiceGetBMCResponse\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x35\n\x03\x62mc\x18\x02 \x01(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\x03\x62mc\"X\n\x1cMachineServiceListBMCRequest\x12\x38\n\x05query\x18\x01 \x01(\x0b\x32\".metalstack.api.v2.MachineBMCQueryR\x05query\"\xf7\x01\n\x1dMachineServiceListBMCResponse\x12r\n\x0b\x62mc_reports\x18\x01 \x03(\x0b\x32\x42.metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntryB\r\xbaH\n\x9a\x01\x07\"\x05r\x03\xb0\x01\x01R\nbmcReports\x1a\x62\n\x0f\x42mcReportsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\x05value:\x02\x38\x01\"h\n$MachineServiceConsolePasswordRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x06reason\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\n\x18\x80\x04R\x06reason\"a\n%MachineServiceConsolePasswordResponse\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password\"\xad\x01\n\x1dMachineServiceSetStateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12?\n\x05state\x18\x02 \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\"V\n\x1eMachineServiceSetStateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine2\x88\x08\n\x0eMachineService\x12p\n\x03Get\x12-.metalstack.admin.v2.MachineServiceGetRequest\x1a..metalstack.admin.v2.MachineServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12s\n\x04List\x12..metalstack.admin.v2.MachineServiceListRequest\x1a/.metalstack.admin.v2.MachineServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12x\n\x06\x44\x65lete\x12\x30.metalstack.admin.v2.MachineServiceDeleteRequest\x1a\x31.metalstack.admin.v2.MachineServiceDeleteResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x84\x01\n\nBMCCommand\x12\x34.metalstack.admin.v2.MachineServiceBMCCommandRequest\x1a\x35.metalstack.admin.v2.MachineServiceBMCCommandResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12y\n\x06GetBMC\x12\x30.metalstack.admin.v2.MachineServiceGetBMCRequest\x1a\x31.metalstack.admin.v2.MachineServiceGetBMCResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12|\n\x07ListBMC\x12\x31.metalstack.admin.v2.MachineServiceListBMCRequest\x1a\x32.metalstack.admin.v2.MachineServiceListBMCResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x94\x01\n\x0f\x43onsolePassword\x12\x39.metalstack.admin.v2.MachineServiceConsolePasswordRequest\x1a:.metalstack.admin.v2.MachineServiceConsolePasswordResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12~\n\x08SetState\x12\x32.metalstack.admin.v2.MachineServiceSetStateRequest\x1a\x33.metalstack.admin.v2.MachineServiceSetStateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cMachineProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -40,6 +40,8 @@
_globals['_MACHINESERVICEGETREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
_globals['_MACHINESERVICELISTREQUEST'].fields_by_name['partition']._loaded_options = None
_globals['_MACHINESERVICELISTREQUEST'].fields_by_name['partition']._serialized_options = b'\272H\010r\006\320\263\256\261\002\001'
+ _globals['_MACHINESERVICEDELETEREQUEST'].fields_by_name['uuid']._loaded_options = None
+ _globals['_MACHINESERVICEDELETEREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
_globals['_MACHINESERVICEBMCCOMMANDREQUEST'].fields_by_name['uuid']._loaded_options = None
_globals['_MACHINESERVICEBMCCOMMANDREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
_globals['_MACHINESERVICEBMCCOMMANDREQUEST'].fields_by_name['command']._loaded_options = None
@@ -68,6 +70,8 @@
_globals['_MACHINESERVICE'].methods_by_name['Get']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
_globals['_MACHINESERVICE'].methods_by_name['List']._loaded_options = None
_globals['_MACHINESERVICE'].methods_by_name['List']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
+ _globals['_MACHINESERVICE'].methods_by_name['Delete']._loaded_options = None
+ _globals['_MACHINESERVICE'].methods_by_name['Delete']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
_globals['_MACHINESERVICE'].methods_by_name['BMCCommand']._loaded_options = None
_globals['_MACHINESERVICE'].methods_by_name['BMCCommand']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
_globals['_MACHINESERVICE'].methods_by_name['GetBMC']._loaded_options = None
@@ -86,28 +90,32 @@
_globals['_MACHINESERVICELISTREQUEST']._serialized_end=480
_globals['_MACHINESERVICELISTRESPONSE']._serialized_start=482
_globals['_MACHINESERVICELISTRESPONSE']._serialized_end=566
- _globals['_MACHINESERVICEBMCCOMMANDREQUEST']._serialized_start=569
- _globals['_MACHINESERVICEBMCCOMMANDREQUEST']._serialized_end=706
- _globals['_MACHINESERVICEBMCCOMMANDRESPONSE']._serialized_start=708
- _globals['_MACHINESERVICEBMCCOMMANDRESPONSE']._serialized_end=742
- _globals['_MACHINESERVICEGETBMCREQUEST']._serialized_start=744
- _globals['_MACHINESERVICEGETBMCREQUEST']._serialized_end=803
- _globals['_MACHINESERVICEGETBMCRESPONSE']._serialized_start=805
- _globals['_MACHINESERVICEGETBMCRESPONSE']._serialized_end=920
- _globals['_MACHINESERVICELISTBMCREQUEST']._serialized_start=922
- _globals['_MACHINESERVICELISTBMCREQUEST']._serialized_end=1010
- _globals['_MACHINESERVICELISTBMCRESPONSE']._serialized_start=1013
- _globals['_MACHINESERVICELISTBMCRESPONSE']._serialized_end=1260
- _globals['_MACHINESERVICELISTBMCRESPONSE_BMCREPORTSENTRY']._serialized_start=1162
- _globals['_MACHINESERVICELISTBMCRESPONSE_BMCREPORTSENTRY']._serialized_end=1260
- _globals['_MACHINESERVICECONSOLEPASSWORDREQUEST']._serialized_start=1262
- _globals['_MACHINESERVICECONSOLEPASSWORDREQUEST']._serialized_end=1366
- _globals['_MACHINESERVICECONSOLEPASSWORDRESPONSE']._serialized_start=1368
- _globals['_MACHINESERVICECONSOLEPASSWORDRESPONSE']._serialized_end=1465
- _globals['_MACHINESERVICESETSTATEREQUEST']._serialized_start=1468
- _globals['_MACHINESERVICESETSTATEREQUEST']._serialized_end=1641
- _globals['_MACHINESERVICESETSTATERESPONSE']._serialized_start=1643
- _globals['_MACHINESERVICESETSTATERESPONSE']._serialized_end=1729
- _globals['_MACHINESERVICE']._serialized_start=1732
- _globals['_MACHINESERVICE']._serialized_end=2642
+ _globals['_MACHINESERVICEDELETEREQUEST']._serialized_start=568
+ _globals['_MACHINESERVICEDELETEREQUEST']._serialized_end=627
+ _globals['_MACHINESERVICEDELETERESPONSE']._serialized_start=629
+ _globals['_MACHINESERVICEDELETERESPONSE']._serialized_end=713
+ _globals['_MACHINESERVICEBMCCOMMANDREQUEST']._serialized_start=716
+ _globals['_MACHINESERVICEBMCCOMMANDREQUEST']._serialized_end=853
+ _globals['_MACHINESERVICEBMCCOMMANDRESPONSE']._serialized_start=855
+ _globals['_MACHINESERVICEBMCCOMMANDRESPONSE']._serialized_end=889
+ _globals['_MACHINESERVICEGETBMCREQUEST']._serialized_start=891
+ _globals['_MACHINESERVICEGETBMCREQUEST']._serialized_end=950
+ _globals['_MACHINESERVICEGETBMCRESPONSE']._serialized_start=952
+ _globals['_MACHINESERVICEGETBMCRESPONSE']._serialized_end=1067
+ _globals['_MACHINESERVICELISTBMCREQUEST']._serialized_start=1069
+ _globals['_MACHINESERVICELISTBMCREQUEST']._serialized_end=1157
+ _globals['_MACHINESERVICELISTBMCRESPONSE']._serialized_start=1160
+ _globals['_MACHINESERVICELISTBMCRESPONSE']._serialized_end=1407
+ _globals['_MACHINESERVICELISTBMCRESPONSE_BMCREPORTSENTRY']._serialized_start=1309
+ _globals['_MACHINESERVICELISTBMCRESPONSE_BMCREPORTSENTRY']._serialized_end=1407
+ _globals['_MACHINESERVICECONSOLEPASSWORDREQUEST']._serialized_start=1409
+ _globals['_MACHINESERVICECONSOLEPASSWORDREQUEST']._serialized_end=1513
+ _globals['_MACHINESERVICECONSOLEPASSWORDRESPONSE']._serialized_start=1515
+ _globals['_MACHINESERVICECONSOLEPASSWORDRESPONSE']._serialized_end=1612
+ _globals['_MACHINESERVICESETSTATEREQUEST']._serialized_start=1615
+ _globals['_MACHINESERVICESETSTATEREQUEST']._serialized_end=1788
+ _globals['_MACHINESERVICESETSTATERESPONSE']._serialized_start=1790
+ _globals['_MACHINESERVICESETSTATERESPONSE']._serialized_end=1876
+ _globals['_MACHINESERVICE']._serialized_start=1879
+ _globals['_MACHINESERVICE']._serialized_end=2911
# @@protoc_insertion_point(module_scope)
diff --git a/python/metalstack/admin/v2/machine_pb2.pyi b/python/metalstack/admin/v2/machine_pb2.pyi
index f9ed95cc..7c6456cf 100644
--- a/python/metalstack/admin/v2/machine_pb2.pyi
+++ b/python/metalstack/admin/v2/machine_pb2.pyi
@@ -36,6 +36,18 @@ class MachineServiceListResponse(_message.Message):
machines: _containers.RepeatedCompositeFieldContainer[_machine_pb2.Machine]
def __init__(self, machines: _Optional[_Iterable[_Union[_machine_pb2.Machine, _Mapping]]] = ...) -> None: ...
+class MachineServiceDeleteRequest(_message.Message):
+ __slots__ = ("uuid",)
+ UUID_FIELD_NUMBER: _ClassVar[int]
+ uuid: str
+ def __init__(self, uuid: _Optional[str] = ...) -> None: ...
+
+class MachineServiceDeleteResponse(_message.Message):
+ __slots__ = ("machine",)
+ MACHINE_FIELD_NUMBER: _ClassVar[int]
+ machine: _machine_pb2.Machine
+ def __init__(self, machine: _Optional[_Union[_machine_pb2.Machine, _Mapping]] = ...) -> None: ...
+
class MachineServiceBMCCommandRequest(_message.Message):
__slots__ = ("uuid", "command")
UUID_FIELD_NUMBER: _ClassVar[int]