From 14f95eddd1474c858054bc9396994160c2519dbb Mon Sep 17 00:00:00 2001 From: Stefan Majer Date: Sun, 14 Jun 2026 09:05:16 +0200 Subject: [PATCH] Admin machine delete --- doc/index.html | 63 +++++ .../v2/adminv2connect/machine.connect.go | 34 +++ go/metalstack/admin/v2/machine.pb.go | 264 ++++++++++++------ go/permissions/servicepermissions.go | 4 + .../v2/adminv2connect/MachineServiceClient.go | 68 +++++ .../adminv2connect/MachineServiceHandler.go | 68 +++++ js/metalstack/admin/v2/machine_pb.d.ts | 46 +++ js/metalstack/admin/v2/machine_pb.js | 32 ++- js/metalstack/admin/v2/machine_pb.ts | 74 ++++- proto/metalstack/admin/v2/machine.proto | 17 ++ python/metalstack/admin/v2/machine_connect.py | 65 +++++ python/metalstack/admin/v2/machine_pb2.py | 58 ++-- python/metalstack/admin/v2/machine_pb2.pyi | 12 + 13 files changed, 677 insertions(+), 128 deletions(-) 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 @@

    MachineServic +

    MachineServiceDeleteRequest

    +

    MachineServiceDeleteRequest is the request payload for a machine delete request

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    uuidstring

    UUID of the machine to permanently delete

    + + + + + +

    MachineServiceDeleteResponse

    +

    MachineServiceDeleteResponse is the response payload for a machine delete request

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    machinemetalstack.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]