diff --git a/doc/index.html b/doc/index.html index d673d26e..70506971 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1269,6 +1269,10 @@

Table of Contents

MMachineBMC +
  • + MMachineBMCDetails +
  • +
  • MMachineBMCQuery
  • @@ -1540,10 +1544,6 @@

    Table of Contents

    MMachineServiceListBMCResponse -
  • - MMachineServiceListBMCResponse.BmcReportsEntry -
  • -
  • MMachineServiceListRequest
  • @@ -2671,10 +2671,6 @@

    Table of Contents

    MUpdateBMCInfoRequest -
  • - MUpdateBMCInfoRequest.BmcReportsEntry -
  • -
  • MUpdateBMCInfoResponse
  • @@ -10662,6 +10658,65 @@

    MachineBMC

    +

    MachineBMCDetails

    +

    MachineBMCDetails contains machine and bmc details of a machine.

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

    UUID of this machine.

    partitionstring

    Partition where this machine resides.

    rackstring

    Rack where this machine is located.

    roomstring

    Room where this machine is located.

    sizestring

    Size of this machine.

    bmc_reportMachineBMCReport

    BMCReport contains the bmc details.

    + + + + +

    MachineBMCQuery

    MachineBMCQuery machine ipmi or bmc specific machine queries.

    @@ -10717,6 +10772,13 @@

    MachineBMCReport

    + + uuid + string + +

    UUID of the machine.

    + + bmc MachineBMC @@ -12191,17 +12253,10 @@

    MachineServiceGetBMCResp - uuid - string - -

    UUID of the machine.

    - - - - bmc - MachineBMCReport + bmc_details + MachineBMCDetails -

    BMC contains the BMC details of this machine.

    +

    BMCDetails contains the BMC details of this machine.

    @@ -13282,17 +13337,10 @@

    MachineServiceGetBMCRe - uuid - string + bmc_details + metalstack.api.v2.MachineBMCDetails -

    UUID of the machine.

    - - - - bmc - metalstack.api.v2.MachineBMCReport - -

    BMC contains the BMC details of this machine.

    +

    BMCDetails of the machine.

    @@ -13410,7 +13458,7 @@

    MachineServiceListBMCR query - metalstack.api.v2.MachineBMCQuery + metalstack.api.v2.MachineQuery

    Query to list one or more BMCs of many machines.

    @@ -13433,41 +13481,10 @@

    MachineServiceListBMC - bmc_reports - MachineServiceListBMCResponse.BmcReportsEntry + bmc_details + metalstack.api.v2.MachineBMCDetails repeated -

    BMCReports maps the bmc report per machine uuid.

    - - - - - - - - - -

    MachineServiceListBMCResponse.BmcReportsEntry

    -

    - - - - - - - - - - - - - - - - - - - - + @@ -21511,40 +21528,9 @@

    UpdateBMCInfoRequest

    - - - - - - -
    FieldTypeLabelDescription
    keystring

    valuemetalstack.api.v2.MachineBMCReport

    BMCDetails of the machines.

    bmc_reportsUpdateBMCInfoRequest.BmcReportsEntryrepeated

    BmcReports maps the BMC report per machine UUID.

    - - - - - -

    UpdateBMCInfoRequest.BmcReportsEntry

    -

    - - - - - - - - - - - - - - - - - - - + + diff --git a/go/metalstack/admin/v2/machine.pb.go b/go/metalstack/admin/v2/machine.pb.go index e7447c63..ee9bc666 100644 --- a/go/metalstack/admin/v2/machine.pb.go +++ b/go/metalstack/admin/v2/machine.pb.go @@ -450,10 +450,8 @@ func (x *MachineServiceGetBMCRequest) GetUuid() string { // MachineServiceGetBMCResponse is the response payload for a machine getbmc request. type MachineServiceGetBMCResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - // UUID of the machine. - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - // BMC contains the BMC details of this machine. - Bmc *v2.MachineBMCReport `protobuf:"bytes,2,opt,name=bmc,proto3" json:"bmc,omitempty"` + // BMCDetails of the machine. + BmcDetails *v2.MachineBMCDetails `protobuf:"bytes,1,opt,name=bmc_details,json=bmcDetails,proto3" json:"bmc_details,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -488,16 +486,9 @@ func (*MachineServiceGetBMCResponse) Descriptor() ([]byte, []int) { return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{9} } -func (x *MachineServiceGetBMCResponse) GetUuid() string { - if x != nil { - return x.Uuid - } - return "" -} - -func (x *MachineServiceGetBMCResponse) GetBmc() *v2.MachineBMCReport { +func (x *MachineServiceGetBMCResponse) GetBmcDetails() *v2.MachineBMCDetails { if x != nil { - return x.Bmc + return x.BmcDetails } return nil } @@ -506,7 +497,7 @@ func (x *MachineServiceGetBMCResponse) GetBmc() *v2.MachineBMCReport { type MachineServiceListBMCRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Query to list one or more BMCs of many machines. - Query *v2.MachineBMCQuery `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Query *v2.MachineQuery `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -541,7 +532,7 @@ func (*MachineServiceListBMCRequest) Descriptor() ([]byte, []int) { return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{10} } -func (x *MachineServiceListBMCRequest) GetQuery() *v2.MachineBMCQuery { +func (x *MachineServiceListBMCRequest) GetQuery() *v2.MachineQuery { if x != nil { return x.Query } @@ -551,8 +542,8 @@ func (x *MachineServiceListBMCRequest) GetQuery() *v2.MachineBMCQuery { // MachineServiceListBMCResponse is the response payload for a machine listbmc request. type MachineServiceListBMCResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - // BMCReports maps the bmc report per machine uuid. - BmcReports map[string]*v2.MachineBMCReport `protobuf:"bytes,1,rep,name=bmc_reports,json=bmcReports,proto3" json:"bmc_reports,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // BMCDetails of the machines. + BmcDetails []*v2.MachineBMCDetails `protobuf:"bytes,1,rep,name=bmc_details,json=bmcDetails,proto3" json:"bmc_details,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -587,9 +578,9 @@ func (*MachineServiceListBMCResponse) Descriptor() ([]byte, []int) { return file_metalstack_admin_v2_machine_proto_rawDescGZIP(), []int{11} } -func (x *MachineServiceListBMCResponse) GetBmcReports() map[string]*v2.MachineBMCReport { +func (x *MachineServiceListBMCResponse) GetBmcDetails() []*v2.MachineBMCDetails { if x != nil { - return x.BmcReports + return x.BmcDetails } return nil } @@ -933,19 +924,15 @@ const file_metalstack_admin_v2_machine_proto_rawDesc = "" + "\acommand\x18\x02 \x01(\x0e2$.metalstack.api.v2.MachineBMCCommandB\b\xbaH\x05\x82\x01\x02\x10\x01R\acommand\"\"\n" + " MachineServiceBMCCommandResponse\";\n" + "\x1bMachineServiceGetBMCRequest\x12\x1c\n" + - "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"s\n" + - "\x1cMachineServiceGetBMCResponse\x12\x1c\n" + - "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x125\n" + - "\x03bmc\x18\x02 \x01(\v2#.metalstack.api.v2.MachineBMCReportR\x03bmc\"X\n" + - "\x1cMachineServiceListBMCRequest\x128\n" + - "\x05query\x18\x01 \x01(\v2\".metalstack.api.v2.MachineBMCQueryR\x05query\"\xf7\x01\n" + - "\x1dMachineServiceListBMCResponse\x12r\n" + - "\vbmc_reports\x18\x01 \x03(\v2B.metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntryB\r\xbaH\n" + - "\x9a\x01\a\"\x05r\x03\xb0\x01\x01R\n" + - "bmcReports\x1ab\n" + - "\x0fBmcReportsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x129\n" + - "\x05value\x18\x02 \x01(\v2#.metalstack.api.v2.MachineBMCReportR\x05value:\x028\x01\"h\n" + + "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"e\n" + + "\x1cMachineServiceGetBMCResponse\x12E\n" + + "\vbmc_details\x18\x01 \x01(\v2$.metalstack.api.v2.MachineBMCDetailsR\n" + + "bmcDetails\"U\n" + + "\x1cMachineServiceListBMCRequest\x125\n" + + "\x05query\x18\x01 \x01(\v2\x1f.metalstack.api.v2.MachineQueryR\x05query\"f\n" + + "\x1dMachineServiceListBMCResponse\x12E\n" + + "\vbmc_details\x18\x01 \x03(\v2$.metalstack.api.v2.MachineBMCDetailsR\n" + + "bmcDetails\"h\n" + "$MachineServiceConsolePasswordRequest\x12\x1c\n" + "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n" + "\x06reason\x18\x02 \x01(\tB\n" + @@ -995,7 +982,7 @@ 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, 19) +var file_metalstack_admin_v2_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_metalstack_admin_v2_machine_proto_goTypes = []any{ (*MachineServiceGetRequest)(nil), // 0: metalstack.admin.v2.MachineServiceGetRequest (*MachineServiceGetResponse)(nil), // 1: metalstack.admin.v2.MachineServiceGetResponse @@ -1015,53 +1002,50 @@ var file_metalstack_admin_v2_machine_proto_goTypes = []any{ (*MachineServiceSetStateResponse)(nil), // 15: metalstack.admin.v2.MachineServiceSetStateResponse (*MachineServiceIssuesRequest)(nil), // 16: metalstack.admin.v2.MachineServiceIssuesRequest (*MachineServiceIssuesResponse)(nil), // 17: metalstack.admin.v2.MachineServiceIssuesResponse - nil, // 18: metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntry - (*v2.Machine)(nil), // 19: metalstack.api.v2.Machine - (*v2.MachineQuery)(nil), // 20: metalstack.api.v2.MachineQuery - (v2.MachineBMCCommand)(0), // 21: metalstack.api.v2.MachineBMCCommand - (*v2.MachineBMCReport)(nil), // 22: metalstack.api.v2.MachineBMCReport - (*v2.MachineBMCQuery)(nil), // 23: metalstack.api.v2.MachineBMCQuery - (v2.MachineState)(0), // 24: metalstack.api.v2.MachineState - (*v2.MachineIssuesQuery)(nil), // 25: metalstack.api.v2.MachineIssuesQuery - (*v2.MachineIssues)(nil), // 26: metalstack.api.v2.MachineIssues + (*v2.Machine)(nil), // 18: metalstack.api.v2.Machine + (*v2.MachineQuery)(nil), // 19: metalstack.api.v2.MachineQuery + (v2.MachineBMCCommand)(0), // 20: metalstack.api.v2.MachineBMCCommand + (*v2.MachineBMCDetails)(nil), // 21: metalstack.api.v2.MachineBMCDetails + (v2.MachineState)(0), // 22: metalstack.api.v2.MachineState + (*v2.MachineIssuesQuery)(nil), // 23: metalstack.api.v2.MachineIssuesQuery + (*v2.MachineIssues)(nil), // 24: metalstack.api.v2.MachineIssues } var file_metalstack_admin_v2_machine_proto_depIdxs = []int32{ - 19, // 0: metalstack.admin.v2.MachineServiceGetResponse.machine:type_name -> metalstack.api.v2.Machine - 20, // 1: metalstack.admin.v2.MachineServiceListRequest.query:type_name -> metalstack.api.v2.MachineQuery - 19, // 2: metalstack.admin.v2.MachineServiceListResponse.machines:type_name -> metalstack.api.v2.Machine - 19, // 3: metalstack.admin.v2.MachineServiceDeleteResponse.machine:type_name -> metalstack.api.v2.Machine - 21, // 4: metalstack.admin.v2.MachineServiceBMCCommandRequest.command:type_name -> metalstack.api.v2.MachineBMCCommand - 22, // 5: metalstack.admin.v2.MachineServiceGetBMCResponse.bmc:type_name -> metalstack.api.v2.MachineBMCReport - 23, // 6: metalstack.admin.v2.MachineServiceListBMCRequest.query:type_name -> metalstack.api.v2.MachineBMCQuery - 18, // 7: metalstack.admin.v2.MachineServiceListBMCResponse.bmc_reports:type_name -> metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntry - 24, // 8: metalstack.admin.v2.MachineServiceSetStateRequest.state:type_name -> metalstack.api.v2.MachineState - 19, // 9: metalstack.admin.v2.MachineServiceSetStateResponse.machine:type_name -> metalstack.api.v2.Machine - 25, // 10: metalstack.admin.v2.MachineServiceIssuesRequest.query:type_name -> metalstack.api.v2.MachineIssuesQuery - 26, // 11: metalstack.admin.v2.MachineServiceIssuesResponse.issues:type_name -> metalstack.api.v2.MachineIssues - 22, // 12: metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntry.value:type_name -> metalstack.api.v2.MachineBMCReport - 0, // 13: metalstack.admin.v2.MachineService.Get:input_type -> metalstack.admin.v2.MachineServiceGetRequest - 2, // 14: metalstack.admin.v2.MachineService.List:input_type -> metalstack.admin.v2.MachineServiceListRequest - 4, // 15: metalstack.admin.v2.MachineService.Delete:input_type -> metalstack.admin.v2.MachineServiceDeleteRequest - 6, // 16: metalstack.admin.v2.MachineService.BMCCommand:input_type -> metalstack.admin.v2.MachineServiceBMCCommandRequest - 8, // 17: metalstack.admin.v2.MachineService.GetBMC:input_type -> metalstack.admin.v2.MachineServiceGetBMCRequest - 10, // 18: metalstack.admin.v2.MachineService.ListBMC:input_type -> metalstack.admin.v2.MachineServiceListBMCRequest - 12, // 19: metalstack.admin.v2.MachineService.ConsolePassword:input_type -> metalstack.admin.v2.MachineServiceConsolePasswordRequest - 14, // 20: metalstack.admin.v2.MachineService.SetState:input_type -> metalstack.admin.v2.MachineServiceSetStateRequest - 16, // 21: metalstack.admin.v2.MachineService.Issues:input_type -> metalstack.admin.v2.MachineServiceIssuesRequest - 1, // 22: metalstack.admin.v2.MachineService.Get:output_type -> metalstack.admin.v2.MachineServiceGetResponse - 3, // 23: metalstack.admin.v2.MachineService.List:output_type -> metalstack.admin.v2.MachineServiceListResponse - 5, // 24: metalstack.admin.v2.MachineService.Delete:output_type -> metalstack.admin.v2.MachineServiceDeleteResponse - 7, // 25: metalstack.admin.v2.MachineService.BMCCommand:output_type -> metalstack.admin.v2.MachineServiceBMCCommandResponse - 9, // 26: metalstack.admin.v2.MachineService.GetBMC:output_type -> metalstack.admin.v2.MachineServiceGetBMCResponse - 11, // 27: metalstack.admin.v2.MachineService.ListBMC:output_type -> metalstack.admin.v2.MachineServiceListBMCResponse - 13, // 28: metalstack.admin.v2.MachineService.ConsolePassword:output_type -> metalstack.admin.v2.MachineServiceConsolePasswordResponse - 15, // 29: metalstack.admin.v2.MachineService.SetState:output_type -> metalstack.admin.v2.MachineServiceSetStateResponse - 17, // 30: metalstack.admin.v2.MachineService.Issues:output_type -> metalstack.admin.v2.MachineServiceIssuesResponse - 22, // [22:31] is the sub-list for method output_type - 13, // [13:22] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name + 18, // 0: metalstack.admin.v2.MachineServiceGetResponse.machine:type_name -> metalstack.api.v2.Machine + 19, // 1: metalstack.admin.v2.MachineServiceListRequest.query:type_name -> metalstack.api.v2.MachineQuery + 18, // 2: metalstack.admin.v2.MachineServiceListResponse.machines:type_name -> metalstack.api.v2.Machine + 18, // 3: metalstack.admin.v2.MachineServiceDeleteResponse.machine:type_name -> metalstack.api.v2.Machine + 20, // 4: metalstack.admin.v2.MachineServiceBMCCommandRequest.command:type_name -> metalstack.api.v2.MachineBMCCommand + 21, // 5: metalstack.admin.v2.MachineServiceGetBMCResponse.bmc_details:type_name -> metalstack.api.v2.MachineBMCDetails + 19, // 6: metalstack.admin.v2.MachineServiceListBMCRequest.query:type_name -> metalstack.api.v2.MachineQuery + 21, // 7: metalstack.admin.v2.MachineServiceListBMCResponse.bmc_details:type_name -> metalstack.api.v2.MachineBMCDetails + 22, // 8: metalstack.admin.v2.MachineServiceSetStateRequest.state:type_name -> metalstack.api.v2.MachineState + 18, // 9: metalstack.admin.v2.MachineServiceSetStateResponse.machine:type_name -> metalstack.api.v2.Machine + 23, // 10: metalstack.admin.v2.MachineServiceIssuesRequest.query:type_name -> metalstack.api.v2.MachineIssuesQuery + 24, // 11: metalstack.admin.v2.MachineServiceIssuesResponse.issues:type_name -> metalstack.api.v2.MachineIssues + 0, // 12: metalstack.admin.v2.MachineService.Get:input_type -> metalstack.admin.v2.MachineServiceGetRequest + 2, // 13: metalstack.admin.v2.MachineService.List:input_type -> metalstack.admin.v2.MachineServiceListRequest + 4, // 14: metalstack.admin.v2.MachineService.Delete:input_type -> metalstack.admin.v2.MachineServiceDeleteRequest + 6, // 15: metalstack.admin.v2.MachineService.BMCCommand:input_type -> metalstack.admin.v2.MachineServiceBMCCommandRequest + 8, // 16: metalstack.admin.v2.MachineService.GetBMC:input_type -> metalstack.admin.v2.MachineServiceGetBMCRequest + 10, // 17: metalstack.admin.v2.MachineService.ListBMC:input_type -> metalstack.admin.v2.MachineServiceListBMCRequest + 12, // 18: metalstack.admin.v2.MachineService.ConsolePassword:input_type -> metalstack.admin.v2.MachineServiceConsolePasswordRequest + 14, // 19: metalstack.admin.v2.MachineService.SetState:input_type -> metalstack.admin.v2.MachineServiceSetStateRequest + 16, // 20: metalstack.admin.v2.MachineService.Issues:input_type -> metalstack.admin.v2.MachineServiceIssuesRequest + 1, // 21: metalstack.admin.v2.MachineService.Get:output_type -> metalstack.admin.v2.MachineServiceGetResponse + 3, // 22: metalstack.admin.v2.MachineService.List:output_type -> metalstack.admin.v2.MachineServiceListResponse + 5, // 23: metalstack.admin.v2.MachineService.Delete:output_type -> metalstack.admin.v2.MachineServiceDeleteResponse + 7, // 24: metalstack.admin.v2.MachineService.BMCCommand:output_type -> metalstack.admin.v2.MachineServiceBMCCommandResponse + 9, // 25: metalstack.admin.v2.MachineService.GetBMC:output_type -> metalstack.admin.v2.MachineServiceGetBMCResponse + 11, // 26: metalstack.admin.v2.MachineService.ListBMC:output_type -> metalstack.admin.v2.MachineServiceListBMCResponse + 13, // 27: metalstack.admin.v2.MachineService.ConsolePassword:output_type -> metalstack.admin.v2.MachineServiceConsolePasswordResponse + 15, // 28: metalstack.admin.v2.MachineService.SetState:output_type -> metalstack.admin.v2.MachineServiceSetStateResponse + 17, // 29: metalstack.admin.v2.MachineService.Issues:output_type -> metalstack.admin.v2.MachineServiceIssuesResponse + 21, // [21:30] is the sub-list for method output_type + 12, // [12:21] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_metalstack_admin_v2_machine_proto_init() } @@ -1076,7 +1060,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: 19, + NumMessages: 18, NumExtensions: 0, NumServices: 1, }, diff --git a/go/metalstack/api/v2/machine.pb.go b/go/metalstack/api/v2/machine.pb.go index 211c26e4..3511a3e2 100644 --- a/go/metalstack/api/v2/machine.pb.go +++ b/go/metalstack/api/v2/machine.pb.go @@ -1532,10 +1532,8 @@ func (x *MachineServiceGetBMCRequest) GetProject() string { // MachineServiceGetBMCResponse is the response payload for a machine getbmc request. type MachineServiceGetBMCResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - // UUID of the machine. - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - // BMC contains the BMC details of this machine. - Bmc *MachineBMCReport `protobuf:"bytes,2,opt,name=bmc,proto3" json:"bmc,omitempty"` + // BMCDetails contains the BMC details of this machine. + BmcDetails *MachineBMCDetails `protobuf:"bytes,6,opt,name=bmc_details,json=bmcDetails,proto3" json:"bmc_details,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1570,16 +1568,9 @@ func (*MachineServiceGetBMCResponse) Descriptor() ([]byte, []int) { return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{14} } -func (x *MachineServiceGetBMCResponse) GetUuid() string { +func (x *MachineServiceGetBMCResponse) GetBmcDetails() *MachineBMCDetails { if x != nil { - return x.Uuid - } - return "" -} - -func (x *MachineServiceGetBMCResponse) GetBmc() *MachineBMCReport { - if x != nil { - return x.Bmc + return x.BmcDetails } return nil } @@ -2864,30 +2855,123 @@ func (x *MachineChassisIdentifyLEDState) GetDescription() string { return "" } +// MachineBMCDetails contains machine and bmc details of a machine. +type MachineBMCDetails struct { + state protoimpl.MessageState `protogen:"open.v1"` + // UUID of this machine. + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` + // Partition where this machine resides. + Partition string `protobuf:"bytes,2,opt,name=partition,proto3" json:"partition,omitempty"` + // Rack where this machine is located. + Rack string `protobuf:"bytes,3,opt,name=rack,proto3" json:"rack,omitempty"` + // Room where this machine is located. + Room string `protobuf:"bytes,4,opt,name=room,proto3" json:"room,omitempty"` + // Size of this machine. + Size string `protobuf:"bytes,5,opt,name=size,proto3" json:"size,omitempty"` + // BMCReport contains the bmc details. + BmcReport *MachineBMCReport `protobuf:"bytes,6,opt,name=bmc_report,json=bmcReport,proto3" json:"bmc_report,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MachineBMCDetails) Reset() { + *x = MachineBMCDetails{} + mi := &file_metalstack_api_v2_machine_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MachineBMCDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MachineBMCDetails) ProtoMessage() {} + +func (x *MachineBMCDetails) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_machine_proto_msgTypes[30] + 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 MachineBMCDetails.ProtoReflect.Descriptor instead. +func (*MachineBMCDetails) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{30} +} + +func (x *MachineBMCDetails) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *MachineBMCDetails) GetPartition() string { + if x != nil { + return x.Partition + } + return "" +} + +func (x *MachineBMCDetails) GetRack() string { + if x != nil { + return x.Rack + } + return "" +} + +func (x *MachineBMCDetails) GetRoom() string { + if x != nil { + return x.Room + } + return "" +} + +func (x *MachineBMCDetails) GetSize() string { + if x != nil { + return x.Size + } + return "" +} + +func (x *MachineBMCDetails) GetBmcReport() *MachineBMCReport { + if x != nil { + return x.BmcReport + } + return nil +} + // MachineBMCReport is sent from the metal-bmc to update bmc and power related details. type MachineBMCReport struct { state protoimpl.MessageState `protogen:"open.v1"` + // UUID of the machine. + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` // Bmc contains bmc details. - Bmc *MachineBMC `protobuf:"bytes,1,opt,name=bmc,proto3" json:"bmc,omitempty"` + Bmc *MachineBMC `protobuf:"bytes,2,opt,name=bmc,proto3" json:"bmc,omitempty"` // Bios contains bios details. - Bios *MachineBios `protobuf:"bytes,2,opt,name=bios,proto3" json:"bios,omitempty"` + Bios *MachineBios `protobuf:"bytes,3,opt,name=bios,proto3" json:"bios,omitempty"` // Fru contains field replaceable unit details. - Fru *MachineFRU `protobuf:"bytes,3,opt,name=fru,proto3" json:"fru,omitempty"` + Fru *MachineFRU `protobuf:"bytes,4,opt,name=fru,proto3" json:"fru,omitempty"` // PowerMetric contains the power statistics of the machine. - PowerMetric *MachinePowerMetric `protobuf:"bytes,4,opt,name=power_metric,json=powerMetric,proto3" json:"power_metric,omitempty"` + PowerMetric *MachinePowerMetric `protobuf:"bytes,5,opt,name=power_metric,json=powerMetric,proto3" json:"power_metric,omitempty"` // PowerSupplies contains details about all power supplies and their state. - PowerSupplies []*MachinePowerSupply `protobuf:"bytes,5,rep,name=power_supplies,json=powerSupplies,proto3" json:"power_supplies,omitempty"` + PowerSupplies []*MachinePowerSupply `protobuf:"bytes,6,rep,name=power_supplies,json=powerSupplies,proto3" json:"power_supplies,omitempty"` // LedState indicates the state of the indicator LED on this machine. - LedState *MachineChassisIdentifyLEDState `protobuf:"bytes,6,opt,name=led_state,json=ledState,proto3" json:"led_state,omitempty"` + LedState *MachineChassisIdentifyLEDState `protobuf:"bytes,7,opt,name=led_state,json=ledState,proto3" json:"led_state,omitempty"` // UpdatedAt contains the date when this data was last updated. - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MachineBMCReport) Reset() { *x = MachineBMCReport{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[30] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2899,7 +2983,7 @@ func (x *MachineBMCReport) String() string { func (*MachineBMCReport) ProtoMessage() {} func (x *MachineBMCReport) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[30] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2912,7 +2996,14 @@ func (x *MachineBMCReport) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineBMCReport.ProtoReflect.Descriptor instead. func (*MachineBMCReport) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{30} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{31} +} + +func (x *MachineBMCReport) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" } func (x *MachineBMCReport) GetBmc() *MachineBMC { @@ -2979,7 +3070,7 @@ type MachineBios struct { func (x *MachineBios) Reset() { *x = MachineBios{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[31] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2991,7 +3082,7 @@ func (x *MachineBios) String() string { func (*MachineBios) ProtoMessage() {} func (x *MachineBios) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[31] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3004,7 +3095,7 @@ func (x *MachineBios) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineBios.ProtoReflect.Descriptor instead. func (*MachineBios) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{31} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{32} } func (x *MachineBios) GetVersion() string { @@ -3051,7 +3142,7 @@ type MachineBMC struct { func (x *MachineBMC) Reset() { *x = MachineBMC{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[32] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3063,7 +3154,7 @@ func (x *MachineBMC) String() string { func (*MachineBMC) ProtoMessage() {} func (x *MachineBMC) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[32] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3076,7 +3167,7 @@ func (x *MachineBMC) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineBMC.ProtoReflect.Descriptor instead. func (*MachineBMC) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{32} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{33} } func (x *MachineBMC) GetAddress() string { @@ -3153,7 +3244,7 @@ type MachineFRU struct { func (x *MachineFRU) Reset() { *x = MachineFRU{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[33] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3165,7 +3256,7 @@ func (x *MachineFRU) String() string { func (*MachineFRU) ProtoMessage() {} func (x *MachineFRU) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[33] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3178,7 +3269,7 @@ func (x *MachineFRU) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineFRU.ProtoReflect.Descriptor instead. func (*MachineFRU) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{33} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{34} } func (x *MachineFRU) GetChassisPartNumber() string { @@ -3255,7 +3346,7 @@ type MachinePowerMetric struct { func (x *MachinePowerMetric) Reset() { *x = MachinePowerMetric{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[34] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3267,7 +3358,7 @@ func (x *MachinePowerMetric) String() string { func (*MachinePowerMetric) ProtoMessage() {} func (x *MachinePowerMetric) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[34] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3280,7 +3371,7 @@ func (x *MachinePowerMetric) ProtoReflect() protoreflect.Message { // Deprecated: Use MachinePowerMetric.ProtoReflect.Descriptor instead. func (*MachinePowerMetric) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{34} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{35} } func (x *MachinePowerMetric) GetAverageConsumedWatts() float32 { @@ -3324,7 +3415,7 @@ type MachinePowerSupply struct { func (x *MachinePowerSupply) Reset() { *x = MachinePowerSupply{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[35] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3336,7 +3427,7 @@ func (x *MachinePowerSupply) String() string { func (*MachinePowerSupply) ProtoMessage() {} func (x *MachinePowerSupply) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[35] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3349,7 +3440,7 @@ func (x *MachinePowerSupply) ProtoReflect() protoreflect.Message { // Deprecated: Use MachinePowerSupply.ProtoReflect.Descriptor instead. func (*MachinePowerSupply) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{35} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{36} } func (x *MachinePowerSupply) GetHealth() string { @@ -3383,7 +3474,7 @@ type MachineRecentProvisioningEvents struct { func (x *MachineRecentProvisioningEvents) Reset() { *x = MachineRecentProvisioningEvents{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[36] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3395,7 +3486,7 @@ func (x *MachineRecentProvisioningEvents) String() string { func (*MachineRecentProvisioningEvents) ProtoMessage() {} func (x *MachineRecentProvisioningEvents) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[36] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3408,7 +3499,7 @@ func (x *MachineRecentProvisioningEvents) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineRecentProvisioningEvents.ProtoReflect.Descriptor instead. func (*MachineRecentProvisioningEvents) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{36} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{37} } func (x *MachineRecentProvisioningEvents) GetEvents() []*MachineProvisioningEvent { @@ -3454,7 +3545,7 @@ type MachineProvisioningEvent struct { func (x *MachineProvisioningEvent) Reset() { *x = MachineProvisioningEvent{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[37] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3466,7 +3557,7 @@ func (x *MachineProvisioningEvent) String() string { func (*MachineProvisioningEvent) ProtoMessage() {} func (x *MachineProvisioningEvent) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[37] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3479,7 +3570,7 @@ func (x *MachineProvisioningEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineProvisioningEvent.ProtoReflect.Descriptor instead. func (*MachineProvisioningEvent) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{37} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{38} } func (x *MachineProvisioningEvent) GetTime() *timestamppb.Timestamp { @@ -3520,7 +3611,7 @@ type MachineVPN struct { func (x *MachineVPN) Reset() { *x = MachineVPN{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[38] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3532,7 +3623,7 @@ func (x *MachineVPN) String() string { func (*MachineVPN) ProtoMessage() {} func (x *MachineVPN) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[38] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3545,7 +3636,7 @@ func (x *MachineVPN) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineVPN.ProtoReflect.Descriptor instead. func (*MachineVPN) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{38} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{39} } func (x *MachineVPN) GetControlPlaneAddress() string { @@ -3624,7 +3715,7 @@ type MachineQuery struct { func (x *MachineQuery) Reset() { *x = MachineQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[39] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3636,7 +3727,7 @@ func (x *MachineQuery) String() string { func (*MachineQuery) ProtoMessage() {} func (x *MachineQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[39] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3649,7 +3740,7 @@ func (x *MachineQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineQuery.ProtoReflect.Descriptor instead. func (*MachineQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{39} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{40} } func (x *MachineQuery) GetUuid() string { @@ -3805,7 +3896,7 @@ type MachineAllocationQuery struct { func (x *MachineAllocationQuery) Reset() { *x = MachineAllocationQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[40] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3817,7 +3908,7 @@ func (x *MachineAllocationQuery) String() string { func (*MachineAllocationQuery) ProtoMessage() {} func (x *MachineAllocationQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[40] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3830,7 +3921,7 @@ func (x *MachineAllocationQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineAllocationQuery.ProtoReflect.Descriptor instead. func (*MachineAllocationQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{40} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{41} } func (x *MachineAllocationQuery) GetUuid() string { @@ -3917,7 +4008,7 @@ type MachineNetworkQuery struct { func (x *MachineNetworkQuery) Reset() { *x = MachineNetworkQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[41] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3929,7 +4020,7 @@ func (x *MachineNetworkQuery) String() string { func (*MachineNetworkQuery) ProtoMessage() {} func (x *MachineNetworkQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[41] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3942,7 +4033,7 @@ func (x *MachineNetworkQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineNetworkQuery.ProtoReflect.Descriptor instead. func (*MachineNetworkQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{41} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{42} } func (x *MachineNetworkQuery) GetNetworks() []string { @@ -4004,7 +4095,7 @@ type MachineNicQuery struct { func (x *MachineNicQuery) Reset() { *x = MachineNicQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[42] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4016,7 +4107,7 @@ func (x *MachineNicQuery) String() string { func (*MachineNicQuery) ProtoMessage() {} func (x *MachineNicQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[42] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4029,7 +4120,7 @@ func (x *MachineNicQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineNicQuery.ProtoReflect.Descriptor instead. func (*MachineNicQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{42} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{43} } func (x *MachineNicQuery) GetMacs() []string { @@ -4073,7 +4164,7 @@ type MachineDiskQuery struct { func (x *MachineDiskQuery) Reset() { *x = MachineDiskQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[43] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4085,7 +4176,7 @@ func (x *MachineDiskQuery) String() string { func (*MachineDiskQuery) ProtoMessage() {} func (x *MachineDiskQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[43] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4098,7 +4189,7 @@ func (x *MachineDiskQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineDiskQuery.ProtoReflect.Descriptor instead. func (*MachineDiskQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{43} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{44} } func (x *MachineDiskQuery) GetNames() []string { @@ -4132,7 +4223,7 @@ type MachineBMCQuery struct { func (x *MachineBMCQuery) Reset() { *x = MachineBMCQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[44] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4144,7 +4235,7 @@ func (x *MachineBMCQuery) String() string { func (*MachineBMCQuery) ProtoMessage() {} func (x *MachineBMCQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[44] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4157,7 +4248,7 @@ func (x *MachineBMCQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineBMCQuery.ProtoReflect.Descriptor instead. func (*MachineBMCQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{44} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{45} } func (x *MachineBMCQuery) GetAddress() string { @@ -4213,7 +4304,7 @@ type MachineFRUQuery struct { func (x *MachineFRUQuery) Reset() { *x = MachineFRUQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[45] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4225,7 +4316,7 @@ func (x *MachineFRUQuery) String() string { func (*MachineFRUQuery) ProtoMessage() {} func (x *MachineFRUQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[45] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4238,7 +4329,7 @@ func (x *MachineFRUQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineFRUQuery.ProtoReflect.Descriptor instead. func (*MachineFRUQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{45} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{46} } func (x *MachineFRUQuery) GetChassisPartNumber() string { @@ -4310,7 +4401,7 @@ type MachineHardwareQuery struct { func (x *MachineHardwareQuery) Reset() { *x = MachineHardwareQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[46] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4322,7 +4413,7 @@ func (x *MachineHardwareQuery) String() string { func (*MachineHardwareQuery) ProtoMessage() {} func (x *MachineHardwareQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[46] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4335,7 +4426,7 @@ func (x *MachineHardwareQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineHardwareQuery.ProtoReflect.Descriptor instead. func (*MachineHardwareQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{46} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{47} } func (x *MachineHardwareQuery) GetMemory() uint64 { @@ -4371,7 +4462,7 @@ type MachineIssuesQuery struct { func (x *MachineIssuesQuery) Reset() { *x = MachineIssuesQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[47] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4383,7 +4474,7 @@ func (x *MachineIssuesQuery) String() string { func (*MachineIssuesQuery) ProtoMessage() {} func (x *MachineIssuesQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[47] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4396,7 +4487,7 @@ func (x *MachineIssuesQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineIssuesQuery.ProtoReflect.Descriptor instead. func (*MachineIssuesQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{47} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{48} } func (x *MachineIssuesQuery) GetMachineQuery() *MachineQuery { @@ -4447,7 +4538,7 @@ type MachineIssues struct { func (x *MachineIssues) Reset() { *x = MachineIssues{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[48] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4459,7 +4550,7 @@ func (x *MachineIssues) String() string { func (*MachineIssues) ProtoMessage() {} func (x *MachineIssues) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[48] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4472,7 +4563,7 @@ func (x *MachineIssues) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineIssues.ProtoReflect.Descriptor instead. func (*MachineIssues) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{48} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{49} } func (x *MachineIssues) GetUuid() string { @@ -4508,7 +4599,7 @@ type MachineIssue struct { func (x *MachineIssue) Reset() { *x = MachineIssue{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[49] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4520,7 +4611,7 @@ func (x *MachineIssue) String() string { func (*MachineIssue) ProtoMessage() {} func (x *MachineIssue) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[49] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4533,7 +4624,7 @@ func (x *MachineIssue) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineIssue.ProtoReflect.Descriptor instead. func (*MachineIssue) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{49} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{50} } func (x *MachineIssue) GetType() MachineIssueType { @@ -4645,10 +4736,10 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" + " MachineServiceBMCCommandResponse\"_\n" + "\x1bMachineServiceGetBMCRequest\x12\x1c\n" + "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n" + - "\aproject\x18\x02 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\"s\n" + - "\x1cMachineServiceGetBMCResponse\x12\x1c\n" + - "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x125\n" + - "\x03bmc\x18\x02 \x01(\v2#.metalstack.api.v2.MachineBMCReportR\x03bmc\"\xab\x04\n" + + "\aproject\x18\x02 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\"e\n" + + "\x1cMachineServiceGetBMCResponse\x12E\n" + + "\vbmc_details\x18\x06 \x01(\v2$.metalstack.api.v2.MachineBMCDetailsR\n" + + "bmcDetails\"\xab\x04\n" + "\aMachine\x12\x1c\n" + "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n" + "\x04meta\x18\x02 \x01(\v2\x17.metalstack.api.v2.MetaR\x04meta\x12:\n" + @@ -4759,16 +4850,25 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" + "\x04size\x18\x02 \x01(\x04R\x04size\"o\n" + "\x1eMachineChassisIdentifyLEDState\x12\x1e\n" + "\x05value\x18\x01 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x01R\x05value\x12-\n" + - "\vdescription\x18\x02 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01R\vdescription\"\xcb\x03\n" + - "\x10MachineBMCReport\x12/\n" + - "\x03bmc\x18\x01 \x01(\v2\x1d.metalstack.api.v2.MachineBMCR\x03bmc\x122\n" + - "\x04bios\x18\x02 \x01(\v2\x1e.metalstack.api.v2.MachineBiosR\x04bios\x12/\n" + - "\x03fru\x18\x03 \x01(\v2\x1d.metalstack.api.v2.MachineFRUR\x03fru\x12H\n" + - "\fpower_metric\x18\x04 \x01(\v2%.metalstack.api.v2.MachinePowerMetricR\vpowerMetric\x12L\n" + - "\x0epower_supplies\x18\x05 \x03(\v2%.metalstack.api.v2.MachinePowerSupplyR\rpowerSupplies\x12N\n" + - "\tled_state\x18\x06 \x01(\v21.metalstack.api.v2.MachineChassisIdentifyLEDStateR\bledState\x129\n" + + "\vdescription\x18\x02 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01R\vdescription\"\xf7\x01\n" + + "\x11MachineBMCDetails\x12\x1c\n" + + "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12&\n" + + "\tpartition\x18\x02 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x01R\tpartition\x12\x1c\n" + + "\x04rack\x18\x03 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12\x1c\n" + + "\x04room\x18\x04 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x01R\x04room\x12\x1c\n" + + "\x04size\x18\x05 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x01R\x04size\x12B\n" + + "\n" + + "bmc_report\x18\x06 \x01(\v2#.metalstack.api.v2.MachineBMCReportR\tbmcReport\"\xe9\x03\n" + + "\x10MachineBMCReport\x12\x1c\n" + + "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12/\n" + + "\x03bmc\x18\x02 \x01(\v2\x1d.metalstack.api.v2.MachineBMCR\x03bmc\x122\n" + + "\x04bios\x18\x03 \x01(\v2\x1e.metalstack.api.v2.MachineBiosR\x04bios\x12/\n" + + "\x03fru\x18\x04 \x01(\v2\x1d.metalstack.api.v2.MachineFRUR\x03fru\x12H\n" + + "\fpower_metric\x18\x05 \x01(\v2%.metalstack.api.v2.MachinePowerMetricR\vpowerMetric\x12L\n" + + "\x0epower_supplies\x18\x06 \x03(\v2%.metalstack.api.v2.MachinePowerSupplyR\rpowerSupplies\x12N\n" + + "\tled_state\x18\a \x01(\v21.metalstack.api.v2.MachineChassisIdentifyLEDStateR\bledState\x129\n" + "\n" + - "updated_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"z\n" + + "updated_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"z\n" + "\vMachineBios\x12%\n" + "\aversion\x18\x01 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01R\aversion\x12#\n" + "\x06vendor\x18\x02 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01R\x06vendor\x12\x1f\n" + @@ -5060,7 +5160,7 @@ func file_metalstack_api_v2_machine_proto_rawDescGZIP() []byte { } var file_metalstack_api_v2_machine_proto_enumTypes = make([]protoimpl.EnumInfo, 9) -var file_metalstack_api_v2_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 50) +var file_metalstack_api_v2_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 51) var file_metalstack_api_v2_machine_proto_goTypes = []any{ (IPProtocol)(0), // 0: metalstack.api.v2.IPProtocol (MachineState)(0), // 1: metalstack.api.v2.MachineState @@ -5101,144 +5201,146 @@ var file_metalstack_api_v2_machine_proto_goTypes = []any{ (*MachineNic)(nil), // 36: metalstack.api.v2.MachineNic (*MachineBlockDevice)(nil), // 37: metalstack.api.v2.MachineBlockDevice (*MachineChassisIdentifyLEDState)(nil), // 38: metalstack.api.v2.MachineChassisIdentifyLEDState - (*MachineBMCReport)(nil), // 39: metalstack.api.v2.MachineBMCReport - (*MachineBios)(nil), // 40: metalstack.api.v2.MachineBios - (*MachineBMC)(nil), // 41: metalstack.api.v2.MachineBMC - (*MachineFRU)(nil), // 42: metalstack.api.v2.MachineFRU - (*MachinePowerMetric)(nil), // 43: metalstack.api.v2.MachinePowerMetric - (*MachinePowerSupply)(nil), // 44: metalstack.api.v2.MachinePowerSupply - (*MachineRecentProvisioningEvents)(nil), // 45: metalstack.api.v2.MachineRecentProvisioningEvents - (*MachineProvisioningEvent)(nil), // 46: metalstack.api.v2.MachineProvisioningEvent - (*MachineVPN)(nil), // 47: metalstack.api.v2.MachineVPN - (*MachineQuery)(nil), // 48: metalstack.api.v2.MachineQuery - (*MachineAllocationQuery)(nil), // 49: metalstack.api.v2.MachineAllocationQuery - (*MachineNetworkQuery)(nil), // 50: metalstack.api.v2.MachineNetworkQuery - (*MachineNicQuery)(nil), // 51: metalstack.api.v2.MachineNicQuery - (*MachineDiskQuery)(nil), // 52: metalstack.api.v2.MachineDiskQuery - (*MachineBMCQuery)(nil), // 53: metalstack.api.v2.MachineBMCQuery - (*MachineFRUQuery)(nil), // 54: metalstack.api.v2.MachineFRUQuery - (*MachineHardwareQuery)(nil), // 55: metalstack.api.v2.MachineHardwareQuery - (*MachineIssuesQuery)(nil), // 56: metalstack.api.v2.MachineIssuesQuery - (*MachineIssues)(nil), // 57: metalstack.api.v2.MachineIssues - (*MachineIssue)(nil), // 58: metalstack.api.v2.MachineIssue - (*Labels)(nil), // 59: metalstack.api.v2.Labels - (*DNSServer)(nil), // 60: metalstack.api.v2.DNSServer - (*NTPServer)(nil), // 61: metalstack.api.v2.NTPServer - (*UpdateMeta)(nil), // 62: metalstack.api.v2.UpdateMeta - (*UpdateLabels)(nil), // 63: metalstack.api.v2.UpdateLabels - (*Meta)(nil), // 64: metalstack.api.v2.Meta - (*Partition)(nil), // 65: metalstack.api.v2.Partition - (*Size)(nil), // 66: metalstack.api.v2.Size - (*Image)(nil), // 67: metalstack.api.v2.Image - (*FilesystemLayout)(nil), // 68: metalstack.api.v2.FilesystemLayout - (NetworkType)(0), // 69: metalstack.api.v2.NetworkType - (NATType)(0), // 70: metalstack.api.v2.NATType - (*timestamppb.Timestamp)(nil), // 71: google.protobuf.Timestamp - (*durationpb.Duration)(nil), // 72: google.protobuf.Duration + (*MachineBMCDetails)(nil), // 39: metalstack.api.v2.MachineBMCDetails + (*MachineBMCReport)(nil), // 40: metalstack.api.v2.MachineBMCReport + (*MachineBios)(nil), // 41: metalstack.api.v2.MachineBios + (*MachineBMC)(nil), // 42: metalstack.api.v2.MachineBMC + (*MachineFRU)(nil), // 43: metalstack.api.v2.MachineFRU + (*MachinePowerMetric)(nil), // 44: metalstack.api.v2.MachinePowerMetric + (*MachinePowerSupply)(nil), // 45: metalstack.api.v2.MachinePowerSupply + (*MachineRecentProvisioningEvents)(nil), // 46: metalstack.api.v2.MachineRecentProvisioningEvents + (*MachineProvisioningEvent)(nil), // 47: metalstack.api.v2.MachineProvisioningEvent + (*MachineVPN)(nil), // 48: metalstack.api.v2.MachineVPN + (*MachineQuery)(nil), // 49: metalstack.api.v2.MachineQuery + (*MachineAllocationQuery)(nil), // 50: metalstack.api.v2.MachineAllocationQuery + (*MachineNetworkQuery)(nil), // 51: metalstack.api.v2.MachineNetworkQuery + (*MachineNicQuery)(nil), // 52: metalstack.api.v2.MachineNicQuery + (*MachineDiskQuery)(nil), // 53: metalstack.api.v2.MachineDiskQuery + (*MachineBMCQuery)(nil), // 54: metalstack.api.v2.MachineBMCQuery + (*MachineFRUQuery)(nil), // 55: metalstack.api.v2.MachineFRUQuery + (*MachineHardwareQuery)(nil), // 56: metalstack.api.v2.MachineHardwareQuery + (*MachineIssuesQuery)(nil), // 57: metalstack.api.v2.MachineIssuesQuery + (*MachineIssues)(nil), // 58: metalstack.api.v2.MachineIssues + (*MachineIssue)(nil), // 59: metalstack.api.v2.MachineIssue + (*Labels)(nil), // 60: metalstack.api.v2.Labels + (*DNSServer)(nil), // 61: metalstack.api.v2.DNSServer + (*NTPServer)(nil), // 62: metalstack.api.v2.NTPServer + (*UpdateMeta)(nil), // 63: metalstack.api.v2.UpdateMeta + (*UpdateLabels)(nil), // 64: metalstack.api.v2.UpdateLabels + (*Meta)(nil), // 65: metalstack.api.v2.Meta + (*Partition)(nil), // 66: metalstack.api.v2.Partition + (*Size)(nil), // 67: metalstack.api.v2.Size + (*Image)(nil), // 68: metalstack.api.v2.Image + (*FilesystemLayout)(nil), // 69: metalstack.api.v2.FilesystemLayout + (NetworkType)(0), // 70: metalstack.api.v2.NetworkType + (NATType)(0), // 71: metalstack.api.v2.NATType + (*timestamppb.Timestamp)(nil), // 72: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 73: google.protobuf.Duration } var file_metalstack_api_v2_machine_proto_depIdxs = []int32{ 24, // 0: metalstack.api.v2.MachineServiceGetResponse.machine:type_name -> metalstack.api.v2.Machine - 59, // 1: metalstack.api.v2.MachineServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels + 60, // 1: metalstack.api.v2.MachineServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels 28, // 2: metalstack.api.v2.MachineServiceCreateRequest.networks:type_name -> metalstack.api.v2.MachineAllocationNetwork - 59, // 3: metalstack.api.v2.MachineServiceCreateRequest.placement_labels:type_name -> metalstack.api.v2.Labels - 60, // 4: metalstack.api.v2.MachineServiceCreateRequest.dns_servers:type_name -> metalstack.api.v2.DNSServer - 61, // 5: metalstack.api.v2.MachineServiceCreateRequest.ntp_servers:type_name -> metalstack.api.v2.NTPServer + 60, // 3: metalstack.api.v2.MachineServiceCreateRequest.placement_labels:type_name -> metalstack.api.v2.Labels + 61, // 4: metalstack.api.v2.MachineServiceCreateRequest.dns_servers:type_name -> metalstack.api.v2.DNSServer + 62, // 5: metalstack.api.v2.MachineServiceCreateRequest.ntp_servers:type_name -> metalstack.api.v2.NTPServer 5, // 6: metalstack.api.v2.MachineServiceCreateRequest.allocation_type:type_name -> metalstack.api.v2.MachineAllocationType 12, // 7: metalstack.api.v2.MachineServiceCreateRequest.firewall_spec:type_name -> metalstack.api.v2.FirewallSpec 29, // 8: metalstack.api.v2.FirewallSpec.firewall_rules:type_name -> metalstack.api.v2.FirewallRules 24, // 9: metalstack.api.v2.MachineServiceCreateResponse.machine:type_name -> metalstack.api.v2.Machine - 62, // 10: metalstack.api.v2.MachineServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta - 63, // 11: metalstack.api.v2.MachineServiceUpdateRequest.labels:type_name -> metalstack.api.v2.UpdateLabels + 63, // 10: metalstack.api.v2.MachineServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta + 64, // 11: metalstack.api.v2.MachineServiceUpdateRequest.labels:type_name -> metalstack.api.v2.UpdateLabels 24, // 12: metalstack.api.v2.MachineServiceUpdateResponse.machine:type_name -> metalstack.api.v2.Machine - 48, // 13: metalstack.api.v2.MachineServiceListRequest.query:type_name -> metalstack.api.v2.MachineQuery + 49, // 13: metalstack.api.v2.MachineServiceListRequest.query:type_name -> metalstack.api.v2.MachineQuery 24, // 14: metalstack.api.v2.MachineServiceListResponse.machines:type_name -> metalstack.api.v2.Machine 24, // 15: metalstack.api.v2.MachineServiceDeleteResponse.machine:type_name -> metalstack.api.v2.Machine 6, // 16: metalstack.api.v2.MachineServiceBMCCommandRequest.command:type_name -> metalstack.api.v2.MachineBMCCommand - 39, // 17: metalstack.api.v2.MachineServiceGetBMCResponse.bmc:type_name -> metalstack.api.v2.MachineBMCReport - 64, // 18: metalstack.api.v2.Machine.meta:type_name -> metalstack.api.v2.Meta - 65, // 19: metalstack.api.v2.Machine.partition:type_name -> metalstack.api.v2.Partition - 66, // 20: metalstack.api.v2.Machine.size:type_name -> metalstack.api.v2.Size + 39, // 17: metalstack.api.v2.MachineServiceGetBMCResponse.bmc_details:type_name -> metalstack.api.v2.MachineBMCDetails + 65, // 18: metalstack.api.v2.Machine.meta:type_name -> metalstack.api.v2.Meta + 66, // 19: metalstack.api.v2.Machine.partition:type_name -> metalstack.api.v2.Partition + 67, // 20: metalstack.api.v2.Machine.size:type_name -> metalstack.api.v2.Size 33, // 21: metalstack.api.v2.Machine.hardware:type_name -> metalstack.api.v2.MachineHardware 27, // 22: metalstack.api.v2.Machine.allocation:type_name -> metalstack.api.v2.MachineAllocation 25, // 23: metalstack.api.v2.Machine.status:type_name -> metalstack.api.v2.MachineStatus - 45, // 24: metalstack.api.v2.Machine.recent_provisioning_events:type_name -> metalstack.api.v2.MachineRecentProvisioningEvents + 46, // 24: metalstack.api.v2.Machine.recent_provisioning_events:type_name -> metalstack.api.v2.MachineRecentProvisioningEvents 26, // 25: metalstack.api.v2.MachineStatus.condition:type_name -> metalstack.api.v2.MachineCondition 38, // 26: metalstack.api.v2.MachineStatus.led_state:type_name -> metalstack.api.v2.MachineChassisIdentifyLEDState 4, // 27: metalstack.api.v2.MachineStatus.liveliness:type_name -> metalstack.api.v2.MachineLiveliness 1, // 28: metalstack.api.v2.MachineCondition.state:type_name -> metalstack.api.v2.MachineState - 64, // 29: metalstack.api.v2.MachineAllocation.meta:type_name -> metalstack.api.v2.Meta - 67, // 30: metalstack.api.v2.MachineAllocation.image:type_name -> metalstack.api.v2.Image - 68, // 31: metalstack.api.v2.MachineAllocation.filesystem_layout:type_name -> metalstack.api.v2.FilesystemLayout + 65, // 29: metalstack.api.v2.MachineAllocation.meta:type_name -> metalstack.api.v2.Meta + 68, // 30: metalstack.api.v2.MachineAllocation.image:type_name -> metalstack.api.v2.Image + 69, // 31: metalstack.api.v2.MachineAllocation.filesystem_layout:type_name -> metalstack.api.v2.FilesystemLayout 32, // 32: metalstack.api.v2.MachineAllocation.networks:type_name -> metalstack.api.v2.MachineNetwork 5, // 33: metalstack.api.v2.MachineAllocation.allocation_type:type_name -> metalstack.api.v2.MachineAllocationType 29, // 34: metalstack.api.v2.MachineAllocation.firewall_rules:type_name -> metalstack.api.v2.FirewallRules - 60, // 35: metalstack.api.v2.MachineAllocation.dns_servers:type_name -> metalstack.api.v2.DNSServer - 61, // 36: metalstack.api.v2.MachineAllocation.ntp_servers:type_name -> metalstack.api.v2.NTPServer - 47, // 37: metalstack.api.v2.MachineAllocation.vpn:type_name -> metalstack.api.v2.MachineVPN - 59, // 38: metalstack.api.v2.MachineAllocation.placement_labels:type_name -> metalstack.api.v2.Labels + 61, // 35: metalstack.api.v2.MachineAllocation.dns_servers:type_name -> metalstack.api.v2.DNSServer + 62, // 36: metalstack.api.v2.MachineAllocation.ntp_servers:type_name -> metalstack.api.v2.NTPServer + 48, // 37: metalstack.api.v2.MachineAllocation.vpn:type_name -> metalstack.api.v2.MachineVPN + 60, // 38: metalstack.api.v2.MachineAllocation.placement_labels:type_name -> metalstack.api.v2.Labels 30, // 39: metalstack.api.v2.FirewallRules.egress:type_name -> metalstack.api.v2.FirewallEgressRule 31, // 40: metalstack.api.v2.FirewallRules.ingress:type_name -> metalstack.api.v2.FirewallIngressRule 0, // 41: metalstack.api.v2.FirewallEgressRule.protocol:type_name -> metalstack.api.v2.IPProtocol 0, // 42: metalstack.api.v2.FirewallIngressRule.protocol:type_name -> metalstack.api.v2.IPProtocol - 69, // 43: metalstack.api.v2.MachineNetwork.network_type:type_name -> metalstack.api.v2.NetworkType - 70, // 44: metalstack.api.v2.MachineNetwork.nat_type:type_name -> metalstack.api.v2.NATType + 70, // 43: metalstack.api.v2.MachineNetwork.network_type:type_name -> metalstack.api.v2.NetworkType + 71, // 44: metalstack.api.v2.MachineNetwork.nat_type:type_name -> metalstack.api.v2.NATType 37, // 45: metalstack.api.v2.MachineHardware.disks:type_name -> metalstack.api.v2.MachineBlockDevice 34, // 46: metalstack.api.v2.MachineHardware.cpus:type_name -> metalstack.api.v2.MetalCPU 35, // 47: metalstack.api.v2.MachineHardware.gpus:type_name -> metalstack.api.v2.MetalGPU 36, // 48: metalstack.api.v2.MachineHardware.nics:type_name -> metalstack.api.v2.MachineNic 36, // 49: metalstack.api.v2.MachineNic.neighbors:type_name -> metalstack.api.v2.MachineNic - 41, // 50: metalstack.api.v2.MachineBMCReport.bmc:type_name -> metalstack.api.v2.MachineBMC - 40, // 51: metalstack.api.v2.MachineBMCReport.bios:type_name -> metalstack.api.v2.MachineBios - 42, // 52: metalstack.api.v2.MachineBMCReport.fru:type_name -> metalstack.api.v2.MachineFRU - 43, // 53: metalstack.api.v2.MachineBMCReport.power_metric:type_name -> metalstack.api.v2.MachinePowerMetric - 44, // 54: metalstack.api.v2.MachineBMCReport.power_supplies:type_name -> metalstack.api.v2.MachinePowerSupply - 38, // 55: metalstack.api.v2.MachineBMCReport.led_state:type_name -> metalstack.api.v2.MachineChassisIdentifyLEDState - 71, // 56: metalstack.api.v2.MachineBMCReport.updated_at:type_name -> google.protobuf.Timestamp - 46, // 57: metalstack.api.v2.MachineRecentProvisioningEvents.events:type_name -> metalstack.api.v2.MachineProvisioningEvent - 71, // 58: metalstack.api.v2.MachineRecentProvisioningEvents.last_event_time:type_name -> google.protobuf.Timestamp - 46, // 59: metalstack.api.v2.MachineRecentProvisioningEvents.last_error_event:type_name -> metalstack.api.v2.MachineProvisioningEvent - 2, // 60: metalstack.api.v2.MachineRecentProvisioningEvents.state:type_name -> metalstack.api.v2.MachineProvisioningEventState - 71, // 61: metalstack.api.v2.MachineProvisioningEvent.time:type_name -> google.protobuf.Timestamp - 3, // 62: metalstack.api.v2.MachineProvisioningEvent.event:type_name -> metalstack.api.v2.MachineProvisioningEventType - 59, // 63: metalstack.api.v2.MachineQuery.labels:type_name -> metalstack.api.v2.Labels - 49, // 64: metalstack.api.v2.MachineQuery.allocation:type_name -> metalstack.api.v2.MachineAllocationQuery - 50, // 65: metalstack.api.v2.MachineQuery.network:type_name -> metalstack.api.v2.MachineNetworkQuery - 51, // 66: metalstack.api.v2.MachineQuery.nic:type_name -> metalstack.api.v2.MachineNicQuery - 52, // 67: metalstack.api.v2.MachineQuery.disk:type_name -> metalstack.api.v2.MachineDiskQuery - 53, // 68: metalstack.api.v2.MachineQuery.bmc:type_name -> metalstack.api.v2.MachineBMCQuery - 54, // 69: metalstack.api.v2.MachineQuery.fru:type_name -> metalstack.api.v2.MachineFRUQuery - 55, // 70: metalstack.api.v2.MachineQuery.hardware:type_name -> metalstack.api.v2.MachineHardwareQuery - 1, // 71: metalstack.api.v2.MachineQuery.state:type_name -> metalstack.api.v2.MachineState - 5, // 72: metalstack.api.v2.MachineAllocationQuery.allocation_type:type_name -> metalstack.api.v2.MachineAllocationType - 59, // 73: metalstack.api.v2.MachineAllocationQuery.labels:type_name -> metalstack.api.v2.Labels - 47, // 74: metalstack.api.v2.MachineAllocationQuery.vpn:type_name -> metalstack.api.v2.MachineVPN - 48, // 75: metalstack.api.v2.MachineIssuesQuery.machine_query:type_name -> metalstack.api.v2.MachineQuery - 7, // 76: metalstack.api.v2.MachineIssuesQuery.only:type_name -> metalstack.api.v2.MachineIssueType - 7, // 77: metalstack.api.v2.MachineIssuesQuery.omit:type_name -> metalstack.api.v2.MachineIssueType - 8, // 78: metalstack.api.v2.MachineIssuesQuery.severity:type_name -> metalstack.api.v2.MachineIssueSeverity - 72, // 79: metalstack.api.v2.MachineIssuesQuery.last_error_threshold:type_name -> google.protobuf.Duration - 58, // 80: metalstack.api.v2.MachineIssues.issues:type_name -> metalstack.api.v2.MachineIssue - 7, // 81: metalstack.api.v2.MachineIssue.type:type_name -> metalstack.api.v2.MachineIssueType - 8, // 82: metalstack.api.v2.MachineIssue.severity:type_name -> metalstack.api.v2.MachineIssueSeverity - 9, // 83: metalstack.api.v2.MachineService.Get:input_type -> metalstack.api.v2.MachineServiceGetRequest - 11, // 84: metalstack.api.v2.MachineService.Create:input_type -> metalstack.api.v2.MachineServiceCreateRequest - 14, // 85: metalstack.api.v2.MachineService.Update:input_type -> metalstack.api.v2.MachineServiceUpdateRequest - 16, // 86: metalstack.api.v2.MachineService.List:input_type -> metalstack.api.v2.MachineServiceListRequest - 18, // 87: metalstack.api.v2.MachineService.Delete:input_type -> metalstack.api.v2.MachineServiceDeleteRequest - 20, // 88: metalstack.api.v2.MachineService.BMCCommand:input_type -> metalstack.api.v2.MachineServiceBMCCommandRequest - 22, // 89: metalstack.api.v2.MachineService.GetBMC:input_type -> metalstack.api.v2.MachineServiceGetBMCRequest - 10, // 90: metalstack.api.v2.MachineService.Get:output_type -> metalstack.api.v2.MachineServiceGetResponse - 13, // 91: metalstack.api.v2.MachineService.Create:output_type -> metalstack.api.v2.MachineServiceCreateResponse - 15, // 92: metalstack.api.v2.MachineService.Update:output_type -> metalstack.api.v2.MachineServiceUpdateResponse - 17, // 93: metalstack.api.v2.MachineService.List:output_type -> metalstack.api.v2.MachineServiceListResponse - 19, // 94: metalstack.api.v2.MachineService.Delete:output_type -> metalstack.api.v2.MachineServiceDeleteResponse - 21, // 95: metalstack.api.v2.MachineService.BMCCommand:output_type -> metalstack.api.v2.MachineServiceBMCCommandResponse - 23, // 96: metalstack.api.v2.MachineService.GetBMC:output_type -> metalstack.api.v2.MachineServiceGetBMCResponse - 90, // [90:97] is the sub-list for method output_type - 83, // [83:90] is the sub-list for method input_type - 83, // [83:83] is the sub-list for extension type_name - 83, // [83:83] is the sub-list for extension extendee - 0, // [0:83] is the sub-list for field type_name + 40, // 50: metalstack.api.v2.MachineBMCDetails.bmc_report:type_name -> metalstack.api.v2.MachineBMCReport + 42, // 51: metalstack.api.v2.MachineBMCReport.bmc:type_name -> metalstack.api.v2.MachineBMC + 41, // 52: metalstack.api.v2.MachineBMCReport.bios:type_name -> metalstack.api.v2.MachineBios + 43, // 53: metalstack.api.v2.MachineBMCReport.fru:type_name -> metalstack.api.v2.MachineFRU + 44, // 54: metalstack.api.v2.MachineBMCReport.power_metric:type_name -> metalstack.api.v2.MachinePowerMetric + 45, // 55: metalstack.api.v2.MachineBMCReport.power_supplies:type_name -> metalstack.api.v2.MachinePowerSupply + 38, // 56: metalstack.api.v2.MachineBMCReport.led_state:type_name -> metalstack.api.v2.MachineChassisIdentifyLEDState + 72, // 57: metalstack.api.v2.MachineBMCReport.updated_at:type_name -> google.protobuf.Timestamp + 47, // 58: metalstack.api.v2.MachineRecentProvisioningEvents.events:type_name -> metalstack.api.v2.MachineProvisioningEvent + 72, // 59: metalstack.api.v2.MachineRecentProvisioningEvents.last_event_time:type_name -> google.protobuf.Timestamp + 47, // 60: metalstack.api.v2.MachineRecentProvisioningEvents.last_error_event:type_name -> metalstack.api.v2.MachineProvisioningEvent + 2, // 61: metalstack.api.v2.MachineRecentProvisioningEvents.state:type_name -> metalstack.api.v2.MachineProvisioningEventState + 72, // 62: metalstack.api.v2.MachineProvisioningEvent.time:type_name -> google.protobuf.Timestamp + 3, // 63: metalstack.api.v2.MachineProvisioningEvent.event:type_name -> metalstack.api.v2.MachineProvisioningEventType + 60, // 64: metalstack.api.v2.MachineQuery.labels:type_name -> metalstack.api.v2.Labels + 50, // 65: metalstack.api.v2.MachineQuery.allocation:type_name -> metalstack.api.v2.MachineAllocationQuery + 51, // 66: metalstack.api.v2.MachineQuery.network:type_name -> metalstack.api.v2.MachineNetworkQuery + 52, // 67: metalstack.api.v2.MachineQuery.nic:type_name -> metalstack.api.v2.MachineNicQuery + 53, // 68: metalstack.api.v2.MachineQuery.disk:type_name -> metalstack.api.v2.MachineDiskQuery + 54, // 69: metalstack.api.v2.MachineQuery.bmc:type_name -> metalstack.api.v2.MachineBMCQuery + 55, // 70: metalstack.api.v2.MachineQuery.fru:type_name -> metalstack.api.v2.MachineFRUQuery + 56, // 71: metalstack.api.v2.MachineQuery.hardware:type_name -> metalstack.api.v2.MachineHardwareQuery + 1, // 72: metalstack.api.v2.MachineQuery.state:type_name -> metalstack.api.v2.MachineState + 5, // 73: metalstack.api.v2.MachineAllocationQuery.allocation_type:type_name -> metalstack.api.v2.MachineAllocationType + 60, // 74: metalstack.api.v2.MachineAllocationQuery.labels:type_name -> metalstack.api.v2.Labels + 48, // 75: metalstack.api.v2.MachineAllocationQuery.vpn:type_name -> metalstack.api.v2.MachineVPN + 49, // 76: metalstack.api.v2.MachineIssuesQuery.machine_query:type_name -> metalstack.api.v2.MachineQuery + 7, // 77: metalstack.api.v2.MachineIssuesQuery.only:type_name -> metalstack.api.v2.MachineIssueType + 7, // 78: metalstack.api.v2.MachineIssuesQuery.omit:type_name -> metalstack.api.v2.MachineIssueType + 8, // 79: metalstack.api.v2.MachineIssuesQuery.severity:type_name -> metalstack.api.v2.MachineIssueSeverity + 73, // 80: metalstack.api.v2.MachineIssuesQuery.last_error_threshold:type_name -> google.protobuf.Duration + 59, // 81: metalstack.api.v2.MachineIssues.issues:type_name -> metalstack.api.v2.MachineIssue + 7, // 82: metalstack.api.v2.MachineIssue.type:type_name -> metalstack.api.v2.MachineIssueType + 8, // 83: metalstack.api.v2.MachineIssue.severity:type_name -> metalstack.api.v2.MachineIssueSeverity + 9, // 84: metalstack.api.v2.MachineService.Get:input_type -> metalstack.api.v2.MachineServiceGetRequest + 11, // 85: metalstack.api.v2.MachineService.Create:input_type -> metalstack.api.v2.MachineServiceCreateRequest + 14, // 86: metalstack.api.v2.MachineService.Update:input_type -> metalstack.api.v2.MachineServiceUpdateRequest + 16, // 87: metalstack.api.v2.MachineService.List:input_type -> metalstack.api.v2.MachineServiceListRequest + 18, // 88: metalstack.api.v2.MachineService.Delete:input_type -> metalstack.api.v2.MachineServiceDeleteRequest + 20, // 89: metalstack.api.v2.MachineService.BMCCommand:input_type -> metalstack.api.v2.MachineServiceBMCCommandRequest + 22, // 90: metalstack.api.v2.MachineService.GetBMC:input_type -> metalstack.api.v2.MachineServiceGetBMCRequest + 10, // 91: metalstack.api.v2.MachineService.Get:output_type -> metalstack.api.v2.MachineServiceGetResponse + 13, // 92: metalstack.api.v2.MachineService.Create:output_type -> metalstack.api.v2.MachineServiceCreateResponse + 15, // 93: metalstack.api.v2.MachineService.Update:output_type -> metalstack.api.v2.MachineServiceUpdateResponse + 17, // 94: metalstack.api.v2.MachineService.List:output_type -> metalstack.api.v2.MachineServiceListResponse + 19, // 95: metalstack.api.v2.MachineService.Delete:output_type -> metalstack.api.v2.MachineServiceDeleteResponse + 21, // 96: metalstack.api.v2.MachineService.BMCCommand:output_type -> metalstack.api.v2.MachineServiceBMCCommandResponse + 23, // 97: metalstack.api.v2.MachineService.GetBMC:output_type -> metalstack.api.v2.MachineServiceGetBMCResponse + 91, // [91:98] is the sub-list for method output_type + 84, // [84:91] is the sub-list for method input_type + 84, // [84:84] is the sub-list for extension type_name + 84, // [84:84] is the sub-list for extension extendee + 0, // [0:84] is the sub-list for field type_name } func init() { file_metalstack_api_v2_machine_proto_init() } @@ -5256,20 +5358,20 @@ func file_metalstack_api_v2_machine_proto_init() { file_metalstack_api_v2_machine_proto_msgTypes[2].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[5].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[23].OneofWrappers = []any{} - file_metalstack_api_v2_machine_proto_msgTypes[33].OneofWrappers = []any{} - file_metalstack_api_v2_machine_proto_msgTypes[39].OneofWrappers = []any{} + file_metalstack_api_v2_machine_proto_msgTypes[34].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[40].OneofWrappers = []any{} - file_metalstack_api_v2_machine_proto_msgTypes[44].OneofWrappers = []any{} + file_metalstack_api_v2_machine_proto_msgTypes[41].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[45].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[46].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[47].OneofWrappers = []any{} + file_metalstack_api_v2_machine_proto_msgTypes[48].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_metalstack_api_v2_machine_proto_rawDesc), len(file_metalstack_api_v2_machine_proto_rawDesc)), NumEnums: 9, - NumMessages: 50, + NumMessages: 51, NumExtensions: 0, NumServices: 1, }, diff --git a/go/metalstack/infra/v2/bmc.pb.go b/go/metalstack/infra/v2/bmc.pb.go index d05c3d00..24377b89 100644 --- a/go/metalstack/infra/v2/bmc.pb.go +++ b/go/metalstack/infra/v2/bmc.pb.go @@ -28,8 +28,8 @@ type UpdateBMCInfoRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Partition is the partition ID where metal-bmc wants to receive events. Partition string `protobuf:"bytes,1,opt,name=partition,proto3" json:"partition,omitempty"` - // BmcReports maps the BMC report per machine UUID. - BmcReports map[string]*v2.MachineBMCReport `protobuf:"bytes,2,rep,name=bmc_reports,json=bmcReports,proto3" json:"bmc_reports,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // BmcReports contains bmc details of a machine. + BmcReports []*v2.MachineBMCReport `protobuf:"bytes,2,rep,name=bmc_reports,json=bmcReports,proto3" json:"bmc_reports,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -71,7 +71,7 @@ func (x *UpdateBMCInfoRequest) GetPartition() string { return "" } -func (x *UpdateBMCInfoRequest) GetBmcReports() map[string]*v2.MachineBMCReport { +func (x *UpdateBMCInfoRequest) GetBmcReports() []*v2.MachineBMCReport { if x != nil { return x.BmcReports } @@ -350,15 +350,11 @@ var File_metalstack_infra_v2_bmc_proto protoreflect.FileDescriptor const file_metalstack_infra_v2_bmc_proto_rawDesc = "" + "\n" + - "\x1dmetalstack/infra/v2/bmc.proto\x12\x13metalstack.infra.v2\x1a\x1bbuf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/machine.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\x90\x02\n" + + "\x1dmetalstack/infra/v2/bmc.proto\x12\x13metalstack.infra.v2\x1a\x1bbuf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/machine.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\x87\x01\n" + "\x14UpdateBMCInfoRequest\x12)\n" + - "\tpartition\x18\x01 \x01(\tB\v\xbaH\br\x06г\xae\xb1\x02\x01R\tpartition\x12i\n" + - "\vbmc_reports\x18\x02 \x03(\v29.metalstack.infra.v2.UpdateBMCInfoRequest.BmcReportsEntryB\r\xbaH\n" + - "\x9a\x01\a\"\x05r\x03\xb0\x01\x01R\n" + - "bmcReports\x1ab\n" + - "\x0fBmcReportsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x129\n" + - "\x05value\x18\x02 \x01(\v2#.metalstack.api.v2.MachineBMCReportR\x05value:\x028\x01\"m\n" + + "\tpartition\x18\x01 \x01(\tB\v\xbaH\br\x06г\xae\xb1\x02\x01R\tpartition\x12D\n" + + "\vbmc_reports\x18\x02 \x03(\v2#.metalstack.api.v2.MachineBMCReportR\n" + + "bmcReports\"m\n" + "\x15UpdateBMCInfoResponse\x12)\n" + "\x10updated_machines\x18\x01 \x03(\tR\x0fupdatedMachines\x12)\n" + "\x10created_machines\x18\x02 \x03(\tR\x0fcreatedMachines\"E\n" + @@ -397,7 +393,7 @@ func file_metalstack_infra_v2_bmc_proto_rawDescGZIP() []byte { return file_metalstack_infra_v2_bmc_proto_rawDescData } -var file_metalstack_infra_v2_bmc_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_metalstack_infra_v2_bmc_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_metalstack_infra_v2_bmc_proto_goTypes = []any{ (*UpdateBMCInfoRequest)(nil), // 0: metalstack.infra.v2.UpdateBMCInfoRequest (*UpdateBMCInfoResponse)(nil), // 1: metalstack.infra.v2.UpdateBMCInfoResponse @@ -405,27 +401,25 @@ var file_metalstack_infra_v2_bmc_proto_goTypes = []any{ (*WaitForBMCCommandResponse)(nil), // 3: metalstack.infra.v2.WaitForBMCCommandResponse (*BMCCommandDoneRequest)(nil), // 4: metalstack.infra.v2.BMCCommandDoneRequest (*BMCCommandDoneResponse)(nil), // 5: metalstack.infra.v2.BMCCommandDoneResponse - nil, // 6: metalstack.infra.v2.UpdateBMCInfoRequest.BmcReportsEntry + (*v2.MachineBMCReport)(nil), // 6: metalstack.api.v2.MachineBMCReport (v2.MachineBMCCommand)(0), // 7: metalstack.api.v2.MachineBMCCommand (*v2.MachineBMC)(nil), // 8: metalstack.api.v2.MachineBMC - (*v2.MachineBMCReport)(nil), // 9: metalstack.api.v2.MachineBMCReport } var file_metalstack_infra_v2_bmc_proto_depIdxs = []int32{ - 6, // 0: metalstack.infra.v2.UpdateBMCInfoRequest.bmc_reports:type_name -> metalstack.infra.v2.UpdateBMCInfoRequest.BmcReportsEntry + 6, // 0: metalstack.infra.v2.UpdateBMCInfoRequest.bmc_reports:type_name -> metalstack.api.v2.MachineBMCReport 7, // 1: metalstack.infra.v2.WaitForBMCCommandResponse.bmc_command:type_name -> metalstack.api.v2.MachineBMCCommand 8, // 2: metalstack.infra.v2.WaitForBMCCommandResponse.machine_bmc:type_name -> metalstack.api.v2.MachineBMC - 9, // 3: metalstack.infra.v2.UpdateBMCInfoRequest.BmcReportsEntry.value:type_name -> metalstack.api.v2.MachineBMCReport - 0, // 4: metalstack.infra.v2.BMCService.UpdateBMCInfo:input_type -> metalstack.infra.v2.UpdateBMCInfoRequest - 2, // 5: metalstack.infra.v2.BMCService.WaitForBMCCommand:input_type -> metalstack.infra.v2.WaitForBMCCommandRequest - 4, // 6: metalstack.infra.v2.BMCService.BMCCommandDone:input_type -> metalstack.infra.v2.BMCCommandDoneRequest - 1, // 7: metalstack.infra.v2.BMCService.UpdateBMCInfo:output_type -> metalstack.infra.v2.UpdateBMCInfoResponse - 3, // 8: metalstack.infra.v2.BMCService.WaitForBMCCommand:output_type -> metalstack.infra.v2.WaitForBMCCommandResponse - 5, // 9: metalstack.infra.v2.BMCService.BMCCommandDone:output_type -> metalstack.infra.v2.BMCCommandDoneResponse - 7, // [7:10] is the sub-list for method output_type - 4, // [4:7] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 0, // 3: metalstack.infra.v2.BMCService.UpdateBMCInfo:input_type -> metalstack.infra.v2.UpdateBMCInfoRequest + 2, // 4: metalstack.infra.v2.BMCService.WaitForBMCCommand:input_type -> metalstack.infra.v2.WaitForBMCCommandRequest + 4, // 5: metalstack.infra.v2.BMCService.BMCCommandDone:input_type -> metalstack.infra.v2.BMCCommandDoneRequest + 1, // 6: metalstack.infra.v2.BMCService.UpdateBMCInfo:output_type -> metalstack.infra.v2.UpdateBMCInfoResponse + 3, // 7: metalstack.infra.v2.BMCService.WaitForBMCCommand:output_type -> metalstack.infra.v2.WaitForBMCCommandResponse + 5, // 8: metalstack.infra.v2.BMCService.BMCCommandDone:output_type -> metalstack.infra.v2.BMCCommandDoneResponse + 6, // [6:9] is the sub-list for method output_type + 3, // [3:6] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } func init() { file_metalstack_infra_v2_bmc_proto_init() } @@ -440,7 +434,7 @@ func file_metalstack_infra_v2_bmc_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_metalstack_infra_v2_bmc_proto_rawDesc), len(file_metalstack_infra_v2_bmc_proto_rawDesc)), NumEnums: 0, - NumMessages: 7, + NumMessages: 6, NumExtensions: 0, NumServices: 1, }, diff --git a/js/metalstack/admin/v2/machine_pb.d.ts b/js/metalstack/admin/v2/machine_pb.d.ts index b5ccfcb0..068d1e70 100644 --- a/js/metalstack/admin/v2/machine_pb.d.ts +++ b/js/metalstack/admin/v2/machine_pb.d.ts @@ -1,5 +1,5 @@ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; -import type { Machine, MachineBMCCommand, MachineBMCQuery, MachineBMCReport, MachineIssues, MachineIssuesQuery, MachineQuery, MachineState } from "../../api/v2/machine_pb"; +import type { Machine, MachineBMCCommand, MachineBMCDetails, MachineIssues, MachineIssuesQuery, MachineQuery, MachineState } from "../../api/v2/machine_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file metalstack/admin/v2/machine.proto. @@ -180,17 +180,11 @@ export declare const MachineServiceGetBMCRequestSchema: GenMessage & { /** - * UUID of the machine. + * BMCDetails of the machine. * - * @generated from field: string uuid = 1; - */ - uuid: string; - /** - * BMC contains the BMC details of this machine. - * - * @generated from field: metalstack.api.v2.MachineBMCReport bmc = 2; + * @generated from field: metalstack.api.v2.MachineBMCDetails bmc_details = 1; */ - bmc?: MachineBMCReport | undefined; + bmcDetails?: MachineBMCDetails | undefined; }; /** * Describes the message metalstack.admin.v2.MachineServiceGetBMCResponse. @@ -206,9 +200,9 @@ export type MachineServiceListBMCRequest = Message<"metalstack.admin.v2.MachineS /** * Query to list one or more BMCs of many machines. * - * @generated from field: metalstack.api.v2.MachineBMCQuery query = 1; + * @generated from field: metalstack.api.v2.MachineQuery query = 1; */ - query?: MachineBMCQuery | undefined; + query?: MachineQuery | undefined; }; /** * Describes the message metalstack.admin.v2.MachineServiceListBMCRequest. @@ -222,13 +216,11 @@ export declare const MachineServiceListBMCRequestSchema: GenMessage & { /** - * BMCReports maps the bmc report per machine uuid. + * BMCDetails of the machines. * - * @generated from field: map bmc_reports = 1; + * @generated from field: repeated metalstack.api.v2.MachineBMCDetails bmc_details = 1; */ - bmcReports: { - [key: string]: MachineBMCReport; - }; + bmcDetails: MachineBMCDetails[]; }; /** * Describes the message metalstack.admin.v2.MachineServiceListBMCResponse. diff --git a/js/metalstack/admin/v2/machine_pb.js b/js/metalstack/admin/v2/machine_pb.js index 45a13385..1223a32d 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("CiFtZXRhbHN0YWNrL2FkbWluL3YyL21hY2hpbmUucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiMgoYTWFjaGluZVNlcnZpY2VHZXRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIkgKGU1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUifgoZTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBIuCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRIjCglwYXJ0aXRpb24YAiABKAlCC7pICHIG0LOusQIBSACIAQFCDAoKX3BhcnRpdGlvbiJKChpNYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZRIsCghtYWNoaW5lcxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiNQobTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIksKHE1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiegofTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI/Cgdjb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmRCCLpIBYIBAhABIiIKIE1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIjUKG01hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABASJoChxNYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjAKA2JtYxgCIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNSZXBvcnQiUQocTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVxdWVzdBIxCgVxdWVyeRgBIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeSLfAQodTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVzcG9uc2USZgoLYm1jX3JlcG9ydHMYASADKAsyQi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdEJNQ1Jlc3BvbnNlLkJtY1JlcG9ydHNFbnRyeUINukgKmgEHIgVyA7ABARpWCg9CbWNSZXBvcnRzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydDoCOAEiWgokTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhoKBnJlYXNvbhgCIAEoCUIKukgHcgUQChiABCJRCiVNYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhAKCHBhc3N3b3JkGAIgASgJIpMBCh1NYWNoaW5lU2VydmljZVNldFN0YXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI4CgVzdGF0ZRgCIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBIk0KHk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSJTChtNYWNoaW5lU2VydmljZUlzc3Vlc1JlcXVlc3QSNAoFcXVlcnkYASABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVzUXVlcnkiUAocTWFjaGluZVNlcnZpY2VJc3N1ZXNSZXNwb25zZRIwCgZpc3N1ZXMYASADKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVzMoMJCg5NYWNoaW5lU2VydmljZRJwCgNHZXQSLS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVxdWVzdBouLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZSIK0vMYAgEC4PMYAhJzCgRMaXN0Ei4ubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZSIK0vMYAgEC4PMYAhJ4CgZEZWxldGUSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXNwb25zZSIJ0vMYAQHg8xgBEoQBCgpCTUNDb21tYW5kEjQubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0GjUubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXNwb25zZSIJ0vMYAQHg8xgBEnkKBkdldEJNQxIwLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlIgrS8xgCAQLg8xgBEnwKB0xpc3RCTUMSMS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdEJNQ1JlcXVlc3QaMi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdEJNQ1Jlc3BvbnNlIgrS8xgCAQLg8xgBEpQBCg9Db25zb2xlUGFzc3dvcmQSOS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlQ29uc29sZVBhc3N3b3JkUmVxdWVzdBo6Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXNwb25zZSIK0vMYAgEC4PMYARJ+CghTZXRTdGF0ZRIyLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VTZXRTdGF0ZVJlcXVlc3QaMy5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXNwb25zZSIJ0vMYAQHg8xgBEnkKBklzc3VlcxIwLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VJc3N1ZXNSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUlzc3Vlc1Jlc3BvbnNlIgrS8xgCAQLg8xgCQtABChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkIMTWFjaGluZVByb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [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/Cgdjb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmRCCLpIBYIBAhABIiIKIE1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIjUKG01hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABASJZChxNYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlEjkKC2JtY19kZXRhaWxzGAEgASgLMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0RldGFpbHMiTgocTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVxdWVzdBIuCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeSJaCh1NYWNoaW5lU2VydmljZUxpc3RCTUNSZXNwb25zZRI5CgtibWNfZGV0YWlscxgBIAMoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNEZXRhaWxzIloKJE1hY2hpbmVTZXJ2aWNlQ29uc29sZVBhc3N3b3JkUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIaCgZyZWFzb24YAiABKAlCCrpIB3IFEAoYgAQiUQolTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXNwb25zZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIQCghwYXNzd29yZBgCIAEoCSKTAQodTWFjaGluZVNlcnZpY2VTZXRTdGF0ZVJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESOAoFc3RhdGUYAiABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECASJNCh5NYWNoaW5lU2VydmljZVNldFN0YXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiUwobTWFjaGluZVNlcnZpY2VJc3N1ZXNSZXF1ZXN0EjQKBXF1ZXJ5GAEgASgLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3Vlc1F1ZXJ5IlAKHE1hY2hpbmVTZXJ2aWNlSXNzdWVzUmVzcG9uc2USMAoGaXNzdWVzGAEgAygLMiAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlczKDCQoOTWFjaGluZVNlcnZpY2UScAoDR2V0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2UiCtLzGAIBAuDzGAIScwoETGlzdBIuLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBovLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2UiCtLzGAIBAuDzGAISeAoGRGVsZXRlEjAubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlcXVlc3QaMS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiCdLzGAEB4PMYARKEAQoKQk1DQ29tbWFuZBI0Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBo1Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiCdLzGAEB4PMYARJ5CgZHZXRCTUMSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZSIK0vMYAgEC4PMYARJ8CgdMaXN0Qk1DEjEubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RCTUNSZXF1ZXN0GjIubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RCTUNSZXNwb25zZSIK0vMYAgEC4PMYARKUAQoPQ29uc29sZVBhc3N3b3JkEjkubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlcXVlc3QaOi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlQ29uc29sZVBhc3N3b3JkUmVzcG9uc2UiCtLzGAIBAuDzGAESfgoIU2V0U3RhdGUSMi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXF1ZXN0GjMubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZVNldFN0YXRlUmVzcG9uc2UiCdLzGAEB4PMYARJ5CgZJc3N1ZXMSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlSXNzdWVzUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VJc3N1ZXNSZXNwb25zZSIK0vMYAgEC4PMYAkLQAQoXY29tLm1ldGFsc3RhY2suYWRtaW4udjJCDE1hY2hpbmVQcm90b1ABWjlnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FkbWluL3YyO2FkbWludjKiAgNNQViqAhNNZXRhbHN0YWNrLkFkbWluLlYyygITTWV0YWxzdGFja1xBZG1pblxWMuICH01ldGFsc3RhY2tcQWRtaW5cVjJcR1BCTWV0YWRhdGHqAhVNZXRhbHN0YWNrOjpBZG1pbjo6VjJiBnByb3RvMw", [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. diff --git a/js/metalstack/admin/v2/machine_pb.ts b/js/metalstack/admin/v2/machine_pb.ts index c8dcbcba..c46e0043 100644 --- a/js/metalstack/admin/v2/machine_pb.ts +++ b/js/metalstack/admin/v2/machine_pb.ts @@ -6,7 +6,7 @@ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegen import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; import { file_buf_validate_validate } from "../../../buf/validate/validate_pb"; import { file_metalstack_api_v2_common } from "../../api/v2/common_pb"; -import type { Machine, MachineBMCCommand, MachineBMCQuery, MachineBMCReport, MachineIssues, MachineIssuesQuery, MachineQuery, MachineState } from "../../api/v2/machine_pb"; +import type { Machine, MachineBMCCommand, MachineBMCDetails, MachineIssues, MachineIssuesQuery, MachineQuery, MachineState } from "../../api/v2/machine_pb"; import { file_metalstack_api_v2_machine } from "../../api/v2/machine_pb"; import { file_metalstack_api_v2_predefined_rules } from "../../api/v2/predefined_rules_pb"; import type { Message } from "@bufbuild/protobuf"; @@ -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("CiFtZXRhbHN0YWNrL2FkbWluL3YyL21hY2hpbmUucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiMgoYTWFjaGluZVNlcnZpY2VHZXRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIkgKGU1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUifgoZTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBIuCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRIjCglwYXJ0aXRpb24YAiABKAlCC7pICHIG0LOusQIBSACIAQFCDAoKX3BhcnRpdGlvbiJKChpNYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZRIsCghtYWNoaW5lcxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiNQobTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIksKHE1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiegofTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI/Cgdjb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmRCCLpIBYIBAhABIiIKIE1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIjUKG01hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABASJoChxNYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjAKA2JtYxgCIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNSZXBvcnQiUQocTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVxdWVzdBIxCgVxdWVyeRgBIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeSLfAQodTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVzcG9uc2USZgoLYm1jX3JlcG9ydHMYASADKAsyQi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdEJNQ1Jlc3BvbnNlLkJtY1JlcG9ydHNFbnRyeUINukgKmgEHIgVyA7ABARpWCg9CbWNSZXBvcnRzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydDoCOAEiWgokTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhoKBnJlYXNvbhgCIAEoCUIKukgHcgUQChiABCJRCiVNYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhAKCHBhc3N3b3JkGAIgASgJIpMBCh1NYWNoaW5lU2VydmljZVNldFN0YXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI4CgVzdGF0ZRgCIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBIk0KHk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSJTChtNYWNoaW5lU2VydmljZUlzc3Vlc1JlcXVlc3QSNAoFcXVlcnkYASABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVzUXVlcnkiUAocTWFjaGluZVNlcnZpY2VJc3N1ZXNSZXNwb25zZRIwCgZpc3N1ZXMYASADKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVzMoMJCg5NYWNoaW5lU2VydmljZRJwCgNHZXQSLS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVxdWVzdBouLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZSIK0vMYAgEC4PMYAhJzCgRMaXN0Ei4ubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZSIK0vMYAgEC4PMYAhJ4CgZEZWxldGUSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXNwb25zZSIJ0vMYAQHg8xgBEoQBCgpCTUNDb21tYW5kEjQubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0GjUubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXNwb25zZSIJ0vMYAQHg8xgBEnkKBkdldEJNQxIwLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlIgrS8xgCAQLg8xgBEnwKB0xpc3RCTUMSMS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdEJNQ1JlcXVlc3QaMi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdEJNQ1Jlc3BvbnNlIgrS8xgCAQLg8xgBEpQBCg9Db25zb2xlUGFzc3dvcmQSOS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlQ29uc29sZVBhc3N3b3JkUmVxdWVzdBo6Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXNwb25zZSIK0vMYAgEC4PMYARJ+CghTZXRTdGF0ZRIyLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VTZXRTdGF0ZVJlcXVlc3QaMy5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXNwb25zZSIJ0vMYAQHg8xgBEnkKBklzc3VlcxIwLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VJc3N1ZXNSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUlzc3Vlc1Jlc3BvbnNlIgrS8xgCAQLg8xgCQtABChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkIMTWFjaGluZVByb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_machine, file_metalstack_api_v2_predefined_rules]); + fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL21hY2hpbmUucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiMgoYTWFjaGluZVNlcnZpY2VHZXRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIkgKGU1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUifgoZTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBIuCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRIjCglwYXJ0aXRpb24YAiABKAlCC7pICHIG0LOusQIBSACIAQFCDAoKX3BhcnRpdGlvbiJKChpNYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZRIsCghtYWNoaW5lcxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiNQobTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBIksKHE1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiegofTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI/Cgdjb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmRCCLpIBYIBAhABIiIKIE1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIjUKG01hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABASJZChxNYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlEjkKC2JtY19kZXRhaWxzGAEgASgLMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0RldGFpbHMiTgocTWFjaGluZVNlcnZpY2VMaXN0Qk1DUmVxdWVzdBIuCgVxdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeSJaCh1NYWNoaW5lU2VydmljZUxpc3RCTUNSZXNwb25zZRI5CgtibWNfZGV0YWlscxgBIAMoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNEZXRhaWxzIloKJE1hY2hpbmVTZXJ2aWNlQ29uc29sZVBhc3N3b3JkUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIaCgZyZWFzb24YAiABKAlCCrpIB3IFEAoYgAQiUQolTWFjaGluZVNlcnZpY2VDb25zb2xlUGFzc3dvcmRSZXNwb25zZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIQCghwYXNzd29yZBgCIAEoCSKTAQodTWFjaGluZVNlcnZpY2VTZXRTdGF0ZVJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESOAoFc3RhdGUYAiABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECASJNCh5NYWNoaW5lU2VydmljZVNldFN0YXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiUwobTWFjaGluZVNlcnZpY2VJc3N1ZXNSZXF1ZXN0EjQKBXF1ZXJ5GAEgASgLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3Vlc1F1ZXJ5IlAKHE1hY2hpbmVTZXJ2aWNlSXNzdWVzUmVzcG9uc2USMAoGaXNzdWVzGAEgAygLMiAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlczKDCQoOTWFjaGluZVNlcnZpY2UScAoDR2V0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2UiCtLzGAIBAuDzGAIScwoETGlzdBIuLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBovLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2UiCtLzGAIBAuDzGAISeAoGRGVsZXRlEjAubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlcXVlc3QaMS5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiCdLzGAEB4PMYARKEAQoKQk1DQ29tbWFuZBI0Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBo1Lm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiCdLzGAEB4PMYARJ5CgZHZXRCTUMSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZSIK0vMYAgEC4PMYARJ8CgdMaXN0Qk1DEjEubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RCTUNSZXF1ZXN0GjIubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUxpc3RCTUNSZXNwb25zZSIK0vMYAgEC4PMYARKUAQoPQ29uc29sZVBhc3N3b3JkEjkubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZUNvbnNvbGVQYXNzd29yZFJlcXVlc3QaOi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlQ29uc29sZVBhc3N3b3JkUmVzcG9uc2UiCtLzGAIBAuDzGAESfgoIU2V0U3RhdGUSMi5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlU2V0U3RhdGVSZXF1ZXN0GjMubWV0YWxzdGFjay5hZG1pbi52Mi5NYWNoaW5lU2VydmljZVNldFN0YXRlUmVzcG9uc2UiCdLzGAEB4PMYARJ5CgZJc3N1ZXMSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk1hY2hpbmVTZXJ2aWNlSXNzdWVzUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTWFjaGluZVNlcnZpY2VJc3N1ZXNSZXNwb25zZSIK0vMYAgEC4PMYAkLQAQoXY29tLm1ldGFsc3RhY2suYWRtaW4udjJCDE1hY2hpbmVQcm90b1ABWjlnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FkbWluL3YyO2FkbWludjKiAgNNQViqAhNNZXRhbHN0YWNrLkFkbWluLlYyygITTWV0YWxzdGFja1xBZG1pblxWMuICH01ldGFsc3RhY2tcQWRtaW5cVjJcR1BCTWV0YWRhdGHqAhVNZXRhbHN0YWNrOjpBZG1pbjo6VjJiBnByb3RvMw", [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. @@ -222,18 +222,11 @@ export const MachineServiceGetBMCRequestSchema: GenMessage & { /** - * UUID of the machine. + * BMCDetails of the machine. * - * @generated from field: string uuid = 1; - */ - uuid: string; - - /** - * BMC contains the BMC details of this machine. - * - * @generated from field: metalstack.api.v2.MachineBMCReport bmc = 2; + * @generated from field: metalstack.api.v2.MachineBMCDetails bmc_details = 1; */ - bmc?: MachineBMCReport | undefined; + bmcDetails?: MachineBMCDetails | undefined; }; /** @@ -252,9 +245,9 @@ export type MachineServiceListBMCRequest = Message<"metalstack.admin.v2.MachineS /** * Query to list one or more BMCs of many machines. * - * @generated from field: metalstack.api.v2.MachineBMCQuery query = 1; + * @generated from field: metalstack.api.v2.MachineQuery query = 1; */ - query?: MachineBMCQuery | undefined; + query?: MachineQuery | undefined; }; /** @@ -271,11 +264,11 @@ export const MachineServiceListBMCRequestSchema: GenMessage & { /** - * BMCReports maps the bmc report per machine uuid. + * BMCDetails of the machines. * - * @generated from field: map bmc_reports = 1; + * @generated from field: repeated metalstack.api.v2.MachineBMCDetails bmc_details = 1; */ - bmcReports: { [key: string]: MachineBMCReport }; + bmcDetails: MachineBMCDetails[]; }; /** diff --git a/js/metalstack/api/v2/machine_pb.d.ts b/js/metalstack/api/v2/machine_pb.d.ts index 53e9810a..ba61bcdb 100644 --- a/js/metalstack/api/v2/machine_pb.d.ts +++ b/js/metalstack/api/v2/machine_pb.d.ts @@ -444,17 +444,11 @@ export declare const MachineServiceGetBMCRequestSchema: GenMessage & { /** - * UUID of the machine. - * - * @generated from field: string uuid = 1; - */ - uuid: string; - /** - * BMC contains the BMC details of this machine. + * BMCDetails contains the BMC details of this machine. * - * @generated from field: metalstack.api.v2.MachineBMCReport bmc = 2; + * @generated from field: metalstack.api.v2.MachineBMCDetails bmc_details = 6; */ - bmc?: MachineBMCReport | undefined; + bmcDetails?: MachineBMCDetails | undefined; }; /** * Describes the message metalstack.api.v2.MachineServiceGetBMCResponse. @@ -1126,52 +1120,106 @@ export type MachineChassisIdentifyLEDState = Message<"metalstack.api.v2.MachineC * Use `create(MachineChassisIdentifyLEDStateSchema)` to create a new message. */ export declare const MachineChassisIdentifyLEDStateSchema: GenMessage; +/** + * MachineBMCDetails contains machine and bmc details of a machine. + * + * @generated from message metalstack.api.v2.MachineBMCDetails + */ +export type MachineBMCDetails = Message<"metalstack.api.v2.MachineBMCDetails"> & { + /** + * UUID of this machine. + * + * @generated from field: string uuid = 1; + */ + uuid: string; + /** + * Partition where this machine resides. + * + * @generated from field: string partition = 2; + */ + partition: string; + /** + * Rack where this machine is located. + * + * @generated from field: string rack = 3; + */ + rack: string; + /** + * Room where this machine is located. + * + * @generated from field: string room = 4; + */ + room: string; + /** + * Size of this machine. + * + * @generated from field: string size = 5; + */ + size: string; + /** + * BMCReport contains the bmc details. + * + * @generated from field: metalstack.api.v2.MachineBMCReport bmc_report = 6; + */ + bmcReport?: MachineBMCReport | undefined; +}; +/** + * Describes the message metalstack.api.v2.MachineBMCDetails. + * Use `create(MachineBMCDetailsSchema)` to create a new message. + */ +export declare const MachineBMCDetailsSchema: GenMessage; /** * MachineBMCReport is sent from the metal-bmc to update bmc and power related details. * * @generated from message metalstack.api.v2.MachineBMCReport */ export type MachineBMCReport = Message<"metalstack.api.v2.MachineBMCReport"> & { + /** + * UUID of the machine. + * + * @generated from field: string uuid = 1; + */ + uuid: string; /** * Bmc contains bmc details. * - * @generated from field: metalstack.api.v2.MachineBMC bmc = 1; + * @generated from field: metalstack.api.v2.MachineBMC bmc = 2; */ bmc?: MachineBMC | undefined; /** * Bios contains bios details. * - * @generated from field: metalstack.api.v2.MachineBios bios = 2; + * @generated from field: metalstack.api.v2.MachineBios bios = 3; */ bios?: MachineBios | undefined; /** * Fru contains field replaceable unit details. * - * @generated from field: metalstack.api.v2.MachineFRU fru = 3; + * @generated from field: metalstack.api.v2.MachineFRU fru = 4; */ fru?: MachineFRU | undefined; /** * PowerMetric contains the power statistics of the machine. * - * @generated from field: metalstack.api.v2.MachinePowerMetric power_metric = 4; + * @generated from field: metalstack.api.v2.MachinePowerMetric power_metric = 5; */ powerMetric?: MachinePowerMetric | undefined; /** * PowerSupplies contains details about all power supplies and their state. * - * @generated from field: repeated metalstack.api.v2.MachinePowerSupply power_supplies = 5; + * @generated from field: repeated metalstack.api.v2.MachinePowerSupply power_supplies = 6; */ powerSupplies: MachinePowerSupply[]; /** * LedState indicates the state of the indicator LED on this machine. * - * @generated from field: metalstack.api.v2.MachineChassisIdentifyLEDState led_state = 6; + * @generated from field: metalstack.api.v2.MachineChassisIdentifyLEDState led_state = 7; */ ledState?: MachineChassisIdentifyLEDState | undefined; /** * UpdatedAt contains the date when this data was last updated. * - * @generated from field: google.protobuf.Timestamp updated_at = 7; + * @generated from field: google.protobuf.Timestamp updated_at = 8; */ updatedAt?: Timestamp | undefined; }; diff --git a/js/metalstack/api/v2/machine_pb.js b/js/metalstack/api/v2/machine_pb.js index dcb3bfc1..440a1c2a 100644 --- a/js/metalstack/api/v2/machine_pb.js +++ b/js/metalstack/api/v2/machine_pb.js @@ -14,7 +14,7 @@ import { file_metalstack_api_v2_size } from "./size_pb"; /** * Describes the file metalstack/api/v2/machine.proto. */ -export const file_metalstack_api_v2_machine = /*@__PURE__*/ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSKuBwobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIjCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBSAOIAQESHgoEc2l6ZRgHIAEoCUILukgIcgbAs66xAgFIBIgBARIaCgVpbWFnZRgIIAEoCUILukgIcgbAs66xAgESKwoRZmlsZXN5c3RlbV9sYXlvdXQYCSABKAlCC7pICHIGwLOusQIBSAWIAQESMQoPc3NoX3B1YmxpY19rZXlzGAogAygJQhi6SBWSARLQpLOxAgEQMiIIcgaItK6xAgESLAoIdXNlcmRhdGEYCyABKAlCFbpIEnIQ8LOusQIBsLSusQIBGICAAkgGiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxJHCghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29ya0IIukgFkgECCAESMwoQcGxhY2VtZW50X2xhYmVscxgOIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI7CgtkbnNfc2VydmVycxgPIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYECADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgRIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgSIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQgwKCl9wYXJ0aXRpb25CBwoFX3NpemVCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV91c2VyZGF0YSJICgxGaXJld2FsbFNwZWMSOAoOZmlyZXdhbGxfcnVsZXMYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzIksKHE1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUitwIKG01hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIZCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAIgBARI0CgZsYWJlbHMYBSABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIAYgBARIxCg9zc2hfcHVibGljX2tleXMYBiADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECAUIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiIgogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiUAobTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBImgKHE1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2USFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESMAoDYm1jGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydCLKAwoHTWFjaGluZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIvCglwYXJ0aXRpb24YAyABKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5QYXJ0aXRpb24SFgoEcmFjaxgEIAEoCUIIukgFcgMYgAESFgoEcm9vbRgFIAEoCUIIukgFcgMYgAESJQoEc2l6ZRgGIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLlNpemUSNAoIaGFyZHdhcmUYByABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmUSOAoKYWxsb2NhdGlvbhgIIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uEjAKBnN0YXR1cxgJIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0dXMSVgoacmVjZW50X3Byb3Zpc2lvbmluZ19ldmVudHMYCiABKAsyMi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUmVjZW50UHJvdmlzaW9uaW5nRXZlbnRzIu8BCg1NYWNoaW5lU3RhdHVzEjYKCWNvbmRpdGlvbhgBIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDb25kaXRpb24SRAoJbGVkX3N0YXRlGAIgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEkIKCmxpdmVsaW5lc3MYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTGl2ZWxpbmVzc0IIukgFggECEAESHAoUbWV0YWxfaGFtbWVyX3ZlcnNpb24YBCABKAkiiAEKEE1hY2hpbmVDb25kaXRpb24SOAoFc3RhdGUYASABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAIgASgJQgu6SAhyBsizrrECARIYCgZpc3N1ZXIYAyABKAlCCLpIBXIDGIACIrkGChFNYWNoaW5lQWxsb2NhdGlvbhIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIZCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECARIgCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgESHAoKY3JlYXRlZF9ieRgFIAEoCUIIukgFcgMYgAESGQoHcHJvamVjdBgGIAEoCUIIukgFcgOwAQESJwoFaW1hZ2UYByABKAsyGC5tZXRhbHN0YWNrLmFwaS52Mi5JbWFnZRI+ChFmaWxlc3lzdGVtX2xheW91dBgIIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLkZpbGVzeXN0ZW1MYXlvdXQSMwoIbmV0d29ya3MYCSADKAsyIS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmV0d29yaxIZCghob3N0bmFtZRgKIAEoCUIHukgEcgJoARIxCg9zc2hfcHVibGljX2tleXMYCyADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECARIhCgh1c2VyZGF0YRgMIAEoCUIPukgMcgrws66xAgEYgIACEksKD2FsbG9jYXRpb25fdHlwZRgNIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESOAoOZmlyZXdhbGxfcnVsZXMYDiABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzEjsKC2Ruc19zZXJ2ZXJzGA8gAygLMhwubWV0YWxzdGFjay5hcGkudjIuRE5TU2VydmVyQgi6SAWSAQIQAxI7CgtudHBfc2VydmVycxgQIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLk5UUFNlcnZlckIIukgFkgECEAoSKgoDdnBuGBEgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVZQThIzChBwbGFjZW1lbnRfbGFiZWxzGBIgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzIlMKGE1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIZCgNpcHMYAiADKAlCDLpICZIBBsCks7ECASJ/Cg1GaXJld2FsbFJ1bGVzEjUKBmVncmVzcxgBIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsRWdyZXNzUnVsZRI3CgdpbmdyZXNzGAIgAygLMiYubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxJbmdyZXNzUnVsZSKyAQoSRmlyZXdhbGxFZ3Jlc3NSdWxlEjkKCHByb3RvY29sGAEgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuSVBQcm90b2NvbEIIukgFggECEAESHQoFcG9ydHMYAiADKA1CDrpIC5IBCCIGKgQY/P8DEhgKAnRvGAMgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgEIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQizwEKE0ZpcmV3YWxsSW5ncmVzc1J1bGUSOQoIcHJvdG9jb2wYASABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5JUFByb3RvY29sQgi6SAWCAQIQARIdCgVwb3J0cxgCIAMoDUIOukgLkgEIIgYqBBj8/wMSGAoCdG8YAyADKAlCDLpICZIBBriks7ECARIaCgRmcm9tGAQgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgFIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQixgIKDk1hY2hpbmVOZXR3b3JrEg8KB25ldHdvcmsYASABKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEj4KDG5ldHdvcmtfdHlwZRgFIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtUeXBlQgi6SAWCAQIQARI2CghuYXRfdHlwZRgGIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABEgsKA3ZyZhgHIAEoBBILCgNhc24YCCABKA0SHgoHcHJvamVjdBgJIAEoCUIIukgFcgOwAQFIAIgBAUIKCghfcHJvamVjdCLaAQoPTWFjaGluZUhhcmR3YXJlEg4KBm1lbW9yeRgBIAEoBBI0CgVkaXNrcxgCIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCbG9ja0RldmljZRIpCgRjcHVzGAMgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxDUFUSKQoEZ3B1cxgEIAMoCzIbLm1ldGFsc3RhY2suYXBpLnYyLk1ldGFsR1BVEisKBG5pY3MYBSADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljIl0KCE1ldGFsQ1BVEhgKBnZlbmRvchgBIAEoCUIIukgFcgMYgAISFwoFbW9kZWwYAiABKAlCCLpIBXIDGIACEg0KBWNvcmVzGAMgASgNEg8KB3RocmVhZHMYBCABKA0iPQoITWV0YWxHUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAIi5QEKCk1hY2hpbmVOaWMSGAoDbWFjGAEgASgJQgu6SAhyBrizrrECARIZCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECARIcCgppZGVudGlmaWVyGAMgASgJQgi6SAVyAxiAARIYCgZ2ZW5kb3IYBCABKAlCCLpIBXIDGIABEhcKBW1vZGVsGAUgASgJQgi6SAVyAxiAARINCgVzcGVlZBgGIAEoBBIwCgluZWlnaGJvcnMYByADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljEhAKCGhvc3RuYW1lGAggASgJIj0KEk1hY2hpbmVCbG9ja0RldmljZRIZCgRuYW1lGAEgASgJQgu6SAhyBsCzrrECARIMCgRzaXplGAIgASgEIlsKHk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIXCgV2YWx1ZRgBIAEoCUIIukgFcgMYgAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBIooDChBNYWNoaW5lQk1DUmVwb3J0EioKA2JtYxgBIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUMSLAoEYmlvcxgCIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCaW9zEioKA2ZydRgDIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlUSOwoMcG93ZXJfbWV0cmljGAQgASgLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyTWV0cmljEj0KDnBvd2VyX3N1cHBsaWVzGAUgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyU3VwcGx5EkQKCWxlZF9zdGF0ZRgGIAEoCzIxLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIuCgp1cGRhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJjCgtNYWNoaW5lQmlvcxIcCgd2ZXJzaW9uGAEgASgJQgu6SAhyBsizrrECARIbCgZ2ZW5kb3IYAiABKAlCC7pICHIGyLOusQIBEhkKBGRhdGUYAyABKAlCC7pICHIGyLOusQIBItsBCgpNYWNoaW5lQk1DEhkKB2FkZHJlc3MYASABKAlCCLpIBXIDgAIBEhgKA21hYxgCIAEoCUILukgIcga4s66xAgESGQoEdXNlchgDIAEoCUILukgIcgbIs66xAgESHQoIcGFzc3dvcmQYBCABKAlCC7pICHIGyLOusQIBEh4KCWludGVyZmFjZRgFIAEoCUILukgIcgbIs66xAgESHAoHdmVyc2lvbhgGIAEoCUILukgIcgbIs66xAgESIAoLcG93ZXJfc3RhdGUYByABKAlCC7pICHIGyLOusQIBIp4ECgpNYWNoaW5lRlJVEi0KE2NoYXNzaXNfcGFydF9udW1iZXIYASABKAlCC7pICHIGyLOusQIBSACIAQESLQoTY2hhc3Npc19wYXJ0X3NlcmlhbBgCIAEoCUILukgIcgbIs66xAgFIAYgBARIjCglib2FyZF9tZmcYAyABKAlCC7pICHIGyLOusQIBSAKIAQESKgoQYm9hcmRfbWZnX3NlcmlhbBgEIAEoCUILukgIcgbIs66xAgFIA4gBARIrChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUILukgIcgbIs66xAgFIBIgBARIuChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUILukgIcgbIs66xAgFIBYgBARItChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgu6SAhyBsizrrECAUgGiAEBEigKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgu6SAhyBsizrrECAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCEwoRX2JvYXJkX21mZ19zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwihQEKEk1hY2hpbmVQb3dlck1ldHJpYxIeChZhdmVyYWdlX2NvbnN1bWVkX3dhdHRzGAEgASgCEhcKD2ludGVydmFsX2luX21pbhgCIAEoAhIaChJtYXhfY29uc3VtZWRfd2F0dHMYAyABKAISGgoSbWluX2NvbnN1bWVkX3dhdHRzGAQgASgCIjMKEk1hY2hpbmVQb3dlclN1cHBseRIOCgZoZWFsdGgYASABKAkSDQoFc3RhdGUYAiABKAkipQIKH01hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMSOwoGZXZlbnRzGAEgAygLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EjMKD2xhc3RfZXZlbnRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRQoQbGFzdF9lcnJvcl9ldmVudBgDIAEoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudBJJCgVzdGF0ZRgEIAEoDjIwLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudFN0YXRlQgi6SAWCAQIQASKfAQoYTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EigKBHRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkgKBWV2ZW50GAIgASgOMi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50VHlwZUIIukgFggECEAESDwoHbWVzc2FnZRgDIAEoCSJrCgpNYWNoaW5lVlBOEh0KFWNvbnRyb2xfcGxhbmVfYWRkcmVzcxgBIAEoCRIQCghhdXRoX2tleRgCIAEoCRIRCgljb25uZWN0ZWQYAyABKAgSGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgEi5gcKDE1hY2hpbmVRdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAMgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KBHNpemUYBCABKAlCC7pICHIGwLOusQIBSAOIAQESHgoEcmFjaxgFIAEoCUILukgIcgbAs66xAgFIBIgBARIeCgRyb29tGAYgASgJQgu6SAhyBsCzrrECAUgFiAEBEi4KBmxhYmVscxgHIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gGiAEBEkIKCmFsbG9jYXRpb24YCCABKAsyKS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQWxsb2NhdGlvblF1ZXJ5SAeIAQESPAoHbmV0d29yaxgJIAEoCzImLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrUXVlcnlICIgBARI0CgNuaWMYCiABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljUXVlcnlICYgBARI2CgRkaXNrGAsgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZURpc2tRdWVyeUgKiAEBEjQKA2JtYxgMIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeUgLiAEBEjQKA2ZydRgNIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlVRdWVyeUgMiAEBEj4KCGhhcmR3YXJlGA4gASgLMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUhhcmR3YXJlUXVlcnlIDYgBARIzCgVzdGF0ZRgPIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUgOiAEBEhQKB3dhaXRpbmcYECABKAhID4gBARIZCgxwcmVhbGxvY2F0ZWQYESABKAhIEIgBARIaCg1ub3RfYWxsb2NhdGVkGBIgASgISBGIAQFCBwoFX3V1aWRCBwoFX25hbWVCDAoKX3BhcnRpdGlvbkIHCgVfc2l6ZUIHCgVfcmFja0IHCgVfcm9vbUIJCgdfbGFiZWxzQg0KC19hbGxvY2F0aW9uQgoKCF9uZXR3b3JrQgYKBF9uaWNCBwoFX2Rpc2tCBgoEX2JtY0IGCgRfZnJ1QgsKCV9oYXJkd2FyZUIICgZfc3RhdGVCCgoIX3dhaXRpbmdCDwoNX3ByZWFsbG9jYXRlZEIQCg5fbm90X2FsbG9jYXRlZCKIBAoWTWFjaGluZUFsbG9jYXRpb25RdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESHgoHcHJvamVjdBgDIAEoCUIIukgFcgOwAQFIAogBARIfCgVpbWFnZRgEIAEoCUILukgIcgbAs66xAgFIA4gBARIrChFmaWxlc3lzdGVtX2xheW91dBgFIAEoCUILukgIcgbAs66xAgFIBIgBARIeCghob3N0bmFtZRgGIAEoCUIHukgEcgJoAUgFiAEBElAKD2FsbG9jYXRpb25fdHlwZRgHIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAFIBogBARIuCgZsYWJlbHMYCCABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIB4gBARIvCgN2cG4YCSABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOSAiIAQFCBwoFX3V1aWRCBwoFX25hbWVCCgoIX3Byb2plY3RCCAoGX2ltYWdlQhQKEl9maWxlc3lzdGVtX2xheW91dEILCglfaG9zdG5hbWVCEgoQX2FsbG9jYXRpb25fdHlwZUIJCgdfbGFiZWxzQgYKBF92cG4iqgEKE01hY2hpbmVOZXR3b3JrUXVlcnkSEAoIbmV0d29ya3MYASADKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEgwKBHZyZnMYBSADKAQSDAoEYXNucxgGIAMoDSKvAQoPTWFjaGluZU5pY1F1ZXJ5EiIKBG1hY3MYASADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEiAKBW5hbWVzGAIgAygJQhG6SA6SAQsQZBgBIgVyAxiAARIrCg1uZWlnaGJvcl9tYWNzGAMgAygJQhS6SBGSAQ4QZBgBIghyBrizrrECARIpCg5uZWlnaGJvcl9uYW1lcxgEIAMoCUIRukgOkgELEGQYASIFcgMYgAEiSwoQTWFjaGluZURpc2tRdWVyeRIeCgVuYW1lcxgBIAMoCUIPukgMkgEJEGQiBXIDGIABEhcKBXNpemVzGAIgAygEQgi6SAWSAQIQZCK5AQoPTWFjaGluZUJNQ1F1ZXJ5Eh0KB2FkZHJlc3MYASABKAlCB7pIBHICcAFIAIgBARIdCgNtYWMYAiABKAlCC7pICHIGuLOusQIBSAGIAQESGwoEdXNlchgDIAEoCUIIukgFcgMYgAFIAogBARIgCglpbnRlcmZhY2UYBCABKAlCCLpIBXIDGIABSAOIAQFCCgoIX2FkZHJlc3NCBgoEX21hY0IHCgVfdXNlckIMCgpfaW50ZXJmYWNlIoMECg9NYWNoaW5lRlJVUXVlcnkSKgoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUIIukgFcgMYgAFIAIgBARIqChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgi6SAVyAxiAAUgBiAEBEiAKCWJvYXJkX21mZxgDIAEoCUIIukgFcgMYgAFIAogBARIjCgxib2FyZF9zZXJpYWwYBCABKAlCCLpIBXIDGIABSAOIAQESKAoRYm9hcmRfcGFydF9udW1iZXIYBSABKAlCCLpIBXIDGIABSASIAQESKwoUcHJvZHVjdF9tYW51ZmFjdHVyZXIYBiABKAlCCLpIBXIDGIABSAWIAQESKgoTcHJvZHVjdF9wYXJ0X251bWJlchgHIAEoCUIIukgFcgMYgAFIBogBARIlCg5wcm9kdWN0X3NlcmlhbBgIIAEoCUIIukgFcgMYgAFIB4gBAUIWChRfY2hhc3Npc19wYXJ0X251bWJlckIWChRfY2hhc3Npc19wYXJ0X3NlcmlhbEIMCgpfYm9hcmRfbWZnQg8KDV9ib2FyZF9zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwiXAoUTWFjaGluZUhhcmR3YXJlUXVlcnkSEwoGbWVtb3J5GAEgASgESACIAQESFgoJY3B1X2NvcmVzGAIgASgNSAGIAQFCCQoHX21lbW9yeUIMCgpfY3B1X2NvcmVzIuACChJNYWNoaW5lSXNzdWVzUXVlcnkSNgoNbWFjaGluZV9xdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRJACgRvbmx5GAIgAygOMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlVHlwZUINukgKkgEHIgWCAQIQARJACgRvbWl0GAMgAygOMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlVHlwZUINukgKkgEHIgWCAQIQARJICghzZXZlcml0eRgEIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVNldmVyaXR5Qgi6SAWCAQIQAUgAiAEBEjcKFGxhc3RfZXJyb3JfdGhyZXNob2xkGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQgsKCV9zZXZlcml0eSJYCg1NYWNoaW5lSXNzdWVzEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEi8KBmlzc3VlcxgCIAMoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZSLnAQoMTWFjaGluZUlzc3VlEjsKBHR5cGUYASABKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQgi6SAWCAQIQARJDCghzZXZlcml0eRgCIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVNldmVyaXR5Qgi6SAWCAQIQARIgCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgESIgoNcmVmZXJlbmNlX3VybBgEIAEoCUILukgIcgbgs66xAgESDwoHZGV0YWlscxgFIAEoCSplCgpJUFByb3RvY29sEhsKF0lQX1BST1RPQ09MX1VOU1BFQ0lGSUVEEAASHAoPSVBfUFJPVE9DT0xfVENQEAEaB4KyGQN0Y3ASHAoPSVBfUFJPVE9DT0xfVURQEAIaB4KyGQN1ZHAqrQEKDE1hY2hpbmVTdGF0ZRIjChlNQUNISU5FX1NUQVRFX1VOU1BFQ0lGSUVEEAAaBIKyGQASJgoVTUFDSElORV9TVEFURV9UQUlOVEVEEAEaC4KyGQd0YWludGVkEiQKFE1BQ0hJTkVfU1RBVEVfTE9DS0VEEAIaCoKyGQZsb2NrZWQSKgoXTUFDSElORV9TVEFURV9BVkFJTEFCTEUQAxoNgrIZCWF2YWlsYWJsZSrfAQodTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGUSNgosTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABI9CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9DUkFTSExPT1AQARoNgrIZCWNyYXNobG9vcBJHCi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9GQUlMRURfUkVDTEFJTRACGhKCshkOZmFpbGVkLXJlY2xhaW0qnwYKHE1hY2hpbmVQcm92aXNpb25pbmdFdmVudFR5cGUSLworTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEjQKJU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQUxJVkUQARoJgrIZBUFsaXZlEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQ1JBU0hFRBACGguCshkHQ3Jhc2hlZBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BYRV9CT09USU5HEAMaD4KyGQtQWEUgQm9vdGluZxJGCi5NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BMQU5ORURfUkVCT09UEAQaEoKyGQ5QbGFubmVkIFJlYm9vdBI8CilNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BSRVBBUklORxAFGg2CshkJUHJlcGFyaW5nEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUkVHSVNURVJJTkcQBhoPgrIZC1JlZ2lzdGVyaW5nEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfV0FJVElORxAHGguCshkHV2FpdGluZxI+CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0lOU1RBTExJTkcQCBoOgrIZCkluc3RhbGxpbmcSTgoyTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9CT09USU5HX05FV19LRVJORUwQCRoWgrIZEkJvb3RpbmcgTmV3IEtlcm5lbBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BIT05FRF9IT01FEAoaD4KyGQtQaG9uZWQgSG9tZRJICi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX01BQ0hJTkVfUkVDTEFJTRALGhOCshkPTWFjaGluZSBSZWNsYWltKroBChFNYWNoaW5lTGl2ZWxpbmVzcxIoCh5NQUNISU5FX0xJVkVMSU5FU1NfVU5TUEVDSUZJRUQQABoEgrIZABInChhNQUNISU5FX0xJVkVMSU5FU1NfQUxJVkUQARoJgrIZBWFsaXZlEiUKF01BQ0hJTkVfTElWRUxJTkVTU19ERUFEEAIaCIKyGQRkZWFkEisKGk1BQ0hJTkVfTElWRUxJTkVTU19VTktOT1dOEAMaC4KyGQd1bmtub3duKqwBChVNYWNoaW5lQWxsb2NhdGlvblR5cGUSLQojTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABoEgrIZABIwCh9NQUNISU5FX0FMTE9DQVRJT05fVFlQRV9NQUNISU5FEAEaC4KyGQdtYWNoaW5lEjIKIE1BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX0ZJUkVXQUxMEAIaDIKyGQhmaXJld2FsbCr+BAoRTWFjaGluZUJNQ0NvbW1hbmQSIwofTUFDSElORV9CTUNfQ09NTUFORF9VTlNQRUNJRklFRBAAEiIKFk1BQ0hJTkVfQk1DX0NPTU1BTkRfT04QARoGgrIZAm9uEiQKF01BQ0hJTkVfQk1DX0NPTU1BTkRfT0ZGEAIaB4KyGQNvZmYSKAoZTUFDSElORV9CTUNfQ09NTUFORF9SRVNFVBADGgmCshkFcmVzZXQSKAoZTUFDSElORV9CTUNfQ09NTUFORF9DWUNMRRAEGgmCshkFY3ljbGUSNgogTUFDSElORV9CTUNfQ09NTUFORF9CT09UX1RPX0JJT1MQBRoQgrIZDGJvb3QtdG8tYmlvcxI6CiJNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9ESVNLEAYaEoKyGQ5ib290LWZyb20tZGlzaxI4CiFNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9QWEUQBxoRgrIZDWJvb3QtZnJvbS1weGUSPAojTUFDSElORV9CTUNfQ09NTUFORF9JREVOVElGWV9MRURfT04QCBoTgrIZD2lkZW50aWZ5LWxlZC1vbhI+CiRNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PRkYQCRoUgrIZEGlkZW50aWZ5LWxlZC1vZmYSPAojTUFDSElORV9CTUNfQ09NTUFORF9NQUNISU5FX0RFTEVURUQQChoTgrIZD21hY2hpbmUtZGVsZXRlZBI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfQ1JFQVRFRBALGhOCshkPbWFjaGluZS1jcmVhdGVkKvMGChBNYWNoaW5lSXNzdWVUeXBlEiIKHk1BQ0hJTkVfSVNTVUVfVFlQRV9VTlNQRUNJRklFRBAAEjkKIU1BQ0hJTkVfSVNTVUVfVFlQRV9BU05fVU5JUVVFTkVTUxABGhKCshkOYXNuLW5vdC11bmlxdWUSPwokTUFDSElORV9JU1NVRV9UWVBFX0JNQ19JTkZPX09VVERBVEVEEAIaFYKyGRFibWMtaW5mby1vdXRkYXRlZBJCCiZNQUNISU5FX0lTU1VFX1RZUEVfQk1DX05PTl9ESVNUSU5DVF9JUBADGhaCshkSYm1jLW5vLWRpc3RpbmN0LWlwEjkKIU1BQ0hJTkVfSVNTVUVfVFlQRV9CTUNfV0lUSE9VVF9JUBAEGhKCshkOYm1jLXdpdGhvdXQtaXASOwoiTUFDSElORV9JU1NVRV9UWVBFX0JNQ19XSVRIT1VUX01BQxAFGhOCshkPYm1jLXdpdGhvdXQtbWFjEjAKHU1BQ0hJTkVfSVNTVUVfVFlQRV9DUkFTSF9MT09QEAYaDYKyGQljcmFzaGxvb3ASSQopTUFDSElORV9JU1NVRV9UWVBFX0ZBSUxFRF9NQUNISU5FX1JFQ0xBSU0QBxoagrIZFmZhaWxlZC1tYWNoaW5lLXJlY2xhaW0SPQojTUFDSElORV9JU1NVRV9UWVBFX0xBU1RfRVZFTlRfRVJST1IQCBoUgrIZEGxhc3QtZXZlbnQtZXJyb3ISOwoiTUFDSElORV9JU1NVRV9UWVBFX0xJVkVMSU5FU1NfREVBRBAJGhOCshkPbGl2ZWxpbmVzcy1kZWFkEk0KK01BQ0hJTkVfSVNTVUVfVFlQRV9MSVZFTElORVNTX05PVF9BVkFJTEFCTEUQChocgrIZGGxpdmVsaW5lc3Mtbm90LWF2YWlsYWJsZRJBCiVNQUNISU5FX0lTU1VFX1RZUEVfTElWRUxJTkVTU19VTktOT1dOEAsaFoKyGRJsaXZlbGluZXNzLXVua25vd24SQQolTUFDSElORV9JU1NVRV9UWVBFX05PX0VWRU5UX0NPTlRBSU5FUhAMGhaCshkSbm8tZXZlbnQtY29udGFpbmVyEjUKH01BQ0hJTkVfSVNTVUVfVFlQRV9OT19QQVJUSVRJT04QDRoQgrIZDG5vLXBhcnRpdGlvbirLAQoUTWFjaGluZUlzc3VlU2V2ZXJpdHkSJgoiTUFDSElORV9JU1NVRV9TRVZFUklUWV9VTlNQRUNJRklFRBAAEisKHE1BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfTUlOT1IQARoJgrIZBW1pbm9yEisKHE1BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfTUFKT1IQAhoJgrIZBW1ham9yEjEKH01BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfQ1JJVElDQUwQAxoMgrIZCGNyaXRpY2FsMtEGCg5NYWNoaW5lU2VydmljZRJtCgNHZXQSKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZDcmVhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBlVwZGF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAEScAoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZSILyvMYAwECA+DzGAISdQoGRGVsZXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXNwb25zZSIKyvMYAgEC4PMYARKBAQoKQk1DQ29tbWFuZBIyLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlcXVlc3QaMy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXNwb25zZSIKyvMYAgEC4PMYARJ1CgZHZXRCTUMSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlIgrK8xgCAQLg8xgBQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDE1hY2hpbmVQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_duration, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_filesystem, file_metalstack_api_v2_image, file_metalstack_api_v2_network, file_metalstack_api_v2_partition, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_size]); +export const file_metalstack_api_v2_machine = /*@__PURE__*/ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSKuBwobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIjCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBSAOIAQESHgoEc2l6ZRgHIAEoCUILukgIcgbAs66xAgFIBIgBARIaCgVpbWFnZRgIIAEoCUILukgIcgbAs66xAgESKwoRZmlsZXN5c3RlbV9sYXlvdXQYCSABKAlCC7pICHIGwLOusQIBSAWIAQESMQoPc3NoX3B1YmxpY19rZXlzGAogAygJQhi6SBWSARLQpLOxAgEQMiIIcgaItK6xAgESLAoIdXNlcmRhdGEYCyABKAlCFbpIEnIQ8LOusQIBsLSusQIBGICAAkgGiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxJHCghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29ya0IIukgFkgECCAESMwoQcGxhY2VtZW50X2xhYmVscxgOIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI7CgtkbnNfc2VydmVycxgPIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYECADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgRIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgSIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQgwKCl9wYXJ0aXRpb25CBwoFX3NpemVCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV91c2VyZGF0YSJICgxGaXJld2FsbFNwZWMSOAoOZmlyZXdhbGxfcnVsZXMYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzIksKHE1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUitwIKG01hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIZCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAIgBARI0CgZsYWJlbHMYBSABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIAYgBARIxCg9zc2hfcHVibGljX2tleXMYBiADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECAUIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiIgogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiUAobTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIlkKHE1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2USOQoLYm1jX2RldGFpbHMYBiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DRGV0YWlscyLKAwoHTWFjaGluZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIvCglwYXJ0aXRpb24YAyABKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5QYXJ0aXRpb24SFgoEcmFjaxgEIAEoCUIIukgFcgMYgAESFgoEcm9vbRgFIAEoCUIIukgFcgMYgAESJQoEc2l6ZRgGIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLlNpemUSNAoIaGFyZHdhcmUYByABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmUSOAoKYWxsb2NhdGlvbhgIIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uEjAKBnN0YXR1cxgJIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0dXMSVgoacmVjZW50X3Byb3Zpc2lvbmluZ19ldmVudHMYCiABKAsyMi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUmVjZW50UHJvdmlzaW9uaW5nRXZlbnRzIu8BCg1NYWNoaW5lU3RhdHVzEjYKCWNvbmRpdGlvbhgBIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDb25kaXRpb24SRAoJbGVkX3N0YXRlGAIgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEkIKCmxpdmVsaW5lc3MYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTGl2ZWxpbmVzc0IIukgFggECEAESHAoUbWV0YWxfaGFtbWVyX3ZlcnNpb24YBCABKAkiiAEKEE1hY2hpbmVDb25kaXRpb24SOAoFc3RhdGUYASABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAIgASgJQgu6SAhyBsizrrECARIYCgZpc3N1ZXIYAyABKAlCCLpIBXIDGIACIrkGChFNYWNoaW5lQWxsb2NhdGlvbhIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIZCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECARIgCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgESHAoKY3JlYXRlZF9ieRgFIAEoCUIIukgFcgMYgAESGQoHcHJvamVjdBgGIAEoCUIIukgFcgOwAQESJwoFaW1hZ2UYByABKAsyGC5tZXRhbHN0YWNrLmFwaS52Mi5JbWFnZRI+ChFmaWxlc3lzdGVtX2xheW91dBgIIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLkZpbGVzeXN0ZW1MYXlvdXQSMwoIbmV0d29ya3MYCSADKAsyIS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmV0d29yaxIZCghob3N0bmFtZRgKIAEoCUIHukgEcgJoARIxCg9zc2hfcHVibGljX2tleXMYCyADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECARIhCgh1c2VyZGF0YRgMIAEoCUIPukgMcgrws66xAgEYgIACEksKD2FsbG9jYXRpb25fdHlwZRgNIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESOAoOZmlyZXdhbGxfcnVsZXMYDiABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzEjsKC2Ruc19zZXJ2ZXJzGA8gAygLMhwubWV0YWxzdGFjay5hcGkudjIuRE5TU2VydmVyQgi6SAWSAQIQAxI7CgtudHBfc2VydmVycxgQIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLk5UUFNlcnZlckIIukgFkgECEAoSKgoDdnBuGBEgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVZQThIzChBwbGFjZW1lbnRfbGFiZWxzGBIgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzIlMKGE1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIZCgNpcHMYAiADKAlCDLpICZIBBsCks7ECASJ/Cg1GaXJld2FsbFJ1bGVzEjUKBmVncmVzcxgBIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsRWdyZXNzUnVsZRI3CgdpbmdyZXNzGAIgAygLMiYubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxJbmdyZXNzUnVsZSKyAQoSRmlyZXdhbGxFZ3Jlc3NSdWxlEjkKCHByb3RvY29sGAEgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuSVBQcm90b2NvbEIIukgFggECEAESHQoFcG9ydHMYAiADKA1CDrpIC5IBCCIGKgQY/P8DEhgKAnRvGAMgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgEIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQizwEKE0ZpcmV3YWxsSW5ncmVzc1J1bGUSOQoIcHJvdG9jb2wYASABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5JUFByb3RvY29sQgi6SAWCAQIQARIdCgVwb3J0cxgCIAMoDUIOukgLkgEIIgYqBBj8/wMSGAoCdG8YAyADKAlCDLpICZIBBriks7ECARIaCgRmcm9tGAQgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgFIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQixgIKDk1hY2hpbmVOZXR3b3JrEg8KB25ldHdvcmsYASABKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEj4KDG5ldHdvcmtfdHlwZRgFIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtUeXBlQgi6SAWCAQIQARI2CghuYXRfdHlwZRgGIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABEgsKA3ZyZhgHIAEoBBILCgNhc24YCCABKA0SHgoHcHJvamVjdBgJIAEoCUIIukgFcgOwAQFIAIgBAUIKCghfcHJvamVjdCLaAQoPTWFjaGluZUhhcmR3YXJlEg4KBm1lbW9yeRgBIAEoBBI0CgVkaXNrcxgCIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCbG9ja0RldmljZRIpCgRjcHVzGAMgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxDUFUSKQoEZ3B1cxgEIAMoCzIbLm1ldGFsc3RhY2suYXBpLnYyLk1ldGFsR1BVEisKBG5pY3MYBSADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljIl0KCE1ldGFsQ1BVEhgKBnZlbmRvchgBIAEoCUIIukgFcgMYgAISFwoFbW9kZWwYAiABKAlCCLpIBXIDGIACEg0KBWNvcmVzGAMgASgNEg8KB3RocmVhZHMYBCABKA0iPQoITWV0YWxHUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAIi5QEKCk1hY2hpbmVOaWMSGAoDbWFjGAEgASgJQgu6SAhyBrizrrECARIZCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECARIcCgppZGVudGlmaWVyGAMgASgJQgi6SAVyAxiAARIYCgZ2ZW5kb3IYBCABKAlCCLpIBXIDGIABEhcKBW1vZGVsGAUgASgJQgi6SAVyAxiAARINCgVzcGVlZBgGIAEoBBIwCgluZWlnaGJvcnMYByADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljEhAKCGhvc3RuYW1lGAggASgJIj0KEk1hY2hpbmVCbG9ja0RldmljZRIZCgRuYW1lGAEgASgJQgu6SAhyBsCzrrECARIMCgRzaXplGAIgASgEIlsKHk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIXCgV2YWx1ZRgBIAEoCUIIukgFcgMYgAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBIskBChFNYWNoaW5lQk1DRGV0YWlscxIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIbCglwYXJ0aXRpb24YAiABKAlCCLpIBXIDGIABEhYKBHJhY2sYAyABKAlCCLpIBXIDGIABEhYKBHJvb20YBCABKAlCCLpIBXIDGIABEhYKBHNpemUYBSABKAlCCLpIBXIDGIABEjcKCmJtY19yZXBvcnQYBiABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DUmVwb3J0IqIDChBNYWNoaW5lQk1DUmVwb3J0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEioKA2JtYxgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUMSLAoEYmlvcxgDIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCaW9zEioKA2ZydRgEIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlUSOwoMcG93ZXJfbWV0cmljGAUgASgLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyTWV0cmljEj0KDnBvd2VyX3N1cHBsaWVzGAYgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyU3VwcGx5EkQKCWxlZF9zdGF0ZRgHIAEoCzIxLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJjCgtNYWNoaW5lQmlvcxIcCgd2ZXJzaW9uGAEgASgJQgu6SAhyBsizrrECARIbCgZ2ZW5kb3IYAiABKAlCC7pICHIGyLOusQIBEhkKBGRhdGUYAyABKAlCC7pICHIGyLOusQIBItsBCgpNYWNoaW5lQk1DEhkKB2FkZHJlc3MYASABKAlCCLpIBXIDgAIBEhgKA21hYxgCIAEoCUILukgIcga4s66xAgESGQoEdXNlchgDIAEoCUILukgIcgbIs66xAgESHQoIcGFzc3dvcmQYBCABKAlCC7pICHIGyLOusQIBEh4KCWludGVyZmFjZRgFIAEoCUILukgIcgbIs66xAgESHAoHdmVyc2lvbhgGIAEoCUILukgIcgbIs66xAgESIAoLcG93ZXJfc3RhdGUYByABKAlCC7pICHIGyLOusQIBIp4ECgpNYWNoaW5lRlJVEi0KE2NoYXNzaXNfcGFydF9udW1iZXIYASABKAlCC7pICHIGyLOusQIBSACIAQESLQoTY2hhc3Npc19wYXJ0X3NlcmlhbBgCIAEoCUILukgIcgbIs66xAgFIAYgBARIjCglib2FyZF9tZmcYAyABKAlCC7pICHIGyLOusQIBSAKIAQESKgoQYm9hcmRfbWZnX3NlcmlhbBgEIAEoCUILukgIcgbIs66xAgFIA4gBARIrChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUILukgIcgbIs66xAgFIBIgBARIuChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUILukgIcgbIs66xAgFIBYgBARItChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgu6SAhyBsizrrECAUgGiAEBEigKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgu6SAhyBsizrrECAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCEwoRX2JvYXJkX21mZ19zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwihQEKEk1hY2hpbmVQb3dlck1ldHJpYxIeChZhdmVyYWdlX2NvbnN1bWVkX3dhdHRzGAEgASgCEhcKD2ludGVydmFsX2luX21pbhgCIAEoAhIaChJtYXhfY29uc3VtZWRfd2F0dHMYAyABKAISGgoSbWluX2NvbnN1bWVkX3dhdHRzGAQgASgCIjMKEk1hY2hpbmVQb3dlclN1cHBseRIOCgZoZWFsdGgYASABKAkSDQoFc3RhdGUYAiABKAkipQIKH01hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMSOwoGZXZlbnRzGAEgAygLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EjMKD2xhc3RfZXZlbnRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRQoQbGFzdF9lcnJvcl9ldmVudBgDIAEoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudBJJCgVzdGF0ZRgEIAEoDjIwLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudFN0YXRlQgi6SAWCAQIQASKfAQoYTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EigKBHRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkgKBWV2ZW50GAIgASgOMi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50VHlwZUIIukgFggECEAESDwoHbWVzc2FnZRgDIAEoCSJrCgpNYWNoaW5lVlBOEh0KFWNvbnRyb2xfcGxhbmVfYWRkcmVzcxgBIAEoCRIQCghhdXRoX2tleRgCIAEoCRIRCgljb25uZWN0ZWQYAyABKAgSGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgEi5gcKDE1hY2hpbmVRdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAMgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KBHNpemUYBCABKAlCC7pICHIGwLOusQIBSAOIAQESHgoEcmFjaxgFIAEoCUILukgIcgbAs66xAgFIBIgBARIeCgRyb29tGAYgASgJQgu6SAhyBsCzrrECAUgFiAEBEi4KBmxhYmVscxgHIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gGiAEBEkIKCmFsbG9jYXRpb24YCCABKAsyKS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQWxsb2NhdGlvblF1ZXJ5SAeIAQESPAoHbmV0d29yaxgJIAEoCzImLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrUXVlcnlICIgBARI0CgNuaWMYCiABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljUXVlcnlICYgBARI2CgRkaXNrGAsgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZURpc2tRdWVyeUgKiAEBEjQKA2JtYxgMIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeUgLiAEBEjQKA2ZydRgNIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlVRdWVyeUgMiAEBEj4KCGhhcmR3YXJlGA4gASgLMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUhhcmR3YXJlUXVlcnlIDYgBARIzCgVzdGF0ZRgPIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUgOiAEBEhQKB3dhaXRpbmcYECABKAhID4gBARIZCgxwcmVhbGxvY2F0ZWQYESABKAhIEIgBARIaCg1ub3RfYWxsb2NhdGVkGBIgASgISBGIAQFCBwoFX3V1aWRCBwoFX25hbWVCDAoKX3BhcnRpdGlvbkIHCgVfc2l6ZUIHCgVfcmFja0IHCgVfcm9vbUIJCgdfbGFiZWxzQg0KC19hbGxvY2F0aW9uQgoKCF9uZXR3b3JrQgYKBF9uaWNCBwoFX2Rpc2tCBgoEX2JtY0IGCgRfZnJ1QgsKCV9oYXJkd2FyZUIICgZfc3RhdGVCCgoIX3dhaXRpbmdCDwoNX3ByZWFsbG9jYXRlZEIQCg5fbm90X2FsbG9jYXRlZCKIBAoWTWFjaGluZUFsbG9jYXRpb25RdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESHgoHcHJvamVjdBgDIAEoCUIIukgFcgOwAQFIAogBARIfCgVpbWFnZRgEIAEoCUILukgIcgbAs66xAgFIA4gBARIrChFmaWxlc3lzdGVtX2xheW91dBgFIAEoCUILukgIcgbAs66xAgFIBIgBARIeCghob3N0bmFtZRgGIAEoCUIHukgEcgJoAUgFiAEBElAKD2FsbG9jYXRpb25fdHlwZRgHIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAFIBogBARIuCgZsYWJlbHMYCCABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIB4gBARIvCgN2cG4YCSABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOSAiIAQFCBwoFX3V1aWRCBwoFX25hbWVCCgoIX3Byb2plY3RCCAoGX2ltYWdlQhQKEl9maWxlc3lzdGVtX2xheW91dEILCglfaG9zdG5hbWVCEgoQX2FsbG9jYXRpb25fdHlwZUIJCgdfbGFiZWxzQgYKBF92cG4iqgEKE01hY2hpbmVOZXR3b3JrUXVlcnkSEAoIbmV0d29ya3MYASADKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEgwKBHZyZnMYBSADKAQSDAoEYXNucxgGIAMoDSKvAQoPTWFjaGluZU5pY1F1ZXJ5EiIKBG1hY3MYASADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEiAKBW5hbWVzGAIgAygJQhG6SA6SAQsQZBgBIgVyAxiAARIrCg1uZWlnaGJvcl9tYWNzGAMgAygJQhS6SBGSAQ4QZBgBIghyBrizrrECARIpCg5uZWlnaGJvcl9uYW1lcxgEIAMoCUIRukgOkgELEGQYASIFcgMYgAEiSwoQTWFjaGluZURpc2tRdWVyeRIeCgVuYW1lcxgBIAMoCUIPukgMkgEJEGQiBXIDGIABEhcKBXNpemVzGAIgAygEQgi6SAWSAQIQZCK5AQoPTWFjaGluZUJNQ1F1ZXJ5Eh0KB2FkZHJlc3MYASABKAlCB7pIBHICcAFIAIgBARIdCgNtYWMYAiABKAlCC7pICHIGuLOusQIBSAGIAQESGwoEdXNlchgDIAEoCUIIukgFcgMYgAFIAogBARIgCglpbnRlcmZhY2UYBCABKAlCCLpIBXIDGIABSAOIAQFCCgoIX2FkZHJlc3NCBgoEX21hY0IHCgVfdXNlckIMCgpfaW50ZXJmYWNlIoMECg9NYWNoaW5lRlJVUXVlcnkSKgoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUIIukgFcgMYgAFIAIgBARIqChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgi6SAVyAxiAAUgBiAEBEiAKCWJvYXJkX21mZxgDIAEoCUIIukgFcgMYgAFIAogBARIjCgxib2FyZF9zZXJpYWwYBCABKAlCCLpIBXIDGIABSAOIAQESKAoRYm9hcmRfcGFydF9udW1iZXIYBSABKAlCCLpIBXIDGIABSASIAQESKwoUcHJvZHVjdF9tYW51ZmFjdHVyZXIYBiABKAlCCLpIBXIDGIABSAWIAQESKgoTcHJvZHVjdF9wYXJ0X251bWJlchgHIAEoCUIIukgFcgMYgAFIBogBARIlCg5wcm9kdWN0X3NlcmlhbBgIIAEoCUIIukgFcgMYgAFIB4gBAUIWChRfY2hhc3Npc19wYXJ0X251bWJlckIWChRfY2hhc3Npc19wYXJ0X3NlcmlhbEIMCgpfYm9hcmRfbWZnQg8KDV9ib2FyZF9zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwiXAoUTWFjaGluZUhhcmR3YXJlUXVlcnkSEwoGbWVtb3J5GAEgASgESACIAQESFgoJY3B1X2NvcmVzGAIgASgNSAGIAQFCCQoHX21lbW9yeUIMCgpfY3B1X2NvcmVzIuACChJNYWNoaW5lSXNzdWVzUXVlcnkSNgoNbWFjaGluZV9xdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRJACgRvbmx5GAIgAygOMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlVHlwZUINukgKkgEHIgWCAQIQARJACgRvbWl0GAMgAygOMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlVHlwZUINukgKkgEHIgWCAQIQARJICghzZXZlcml0eRgEIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVNldmVyaXR5Qgi6SAWCAQIQAUgAiAEBEjcKFGxhc3RfZXJyb3JfdGhyZXNob2xkGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQgsKCV9zZXZlcml0eSJYCg1NYWNoaW5lSXNzdWVzEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEi8KBmlzc3VlcxgCIAMoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZSLnAQoMTWFjaGluZUlzc3VlEjsKBHR5cGUYASABKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQgi6SAWCAQIQARJDCghzZXZlcml0eRgCIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVNldmVyaXR5Qgi6SAWCAQIQARIgCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgESIgoNcmVmZXJlbmNlX3VybBgEIAEoCUILukgIcgbgs66xAgESDwoHZGV0YWlscxgFIAEoCSplCgpJUFByb3RvY29sEhsKF0lQX1BST1RPQ09MX1VOU1BFQ0lGSUVEEAASHAoPSVBfUFJPVE9DT0xfVENQEAEaB4KyGQN0Y3ASHAoPSVBfUFJPVE9DT0xfVURQEAIaB4KyGQN1ZHAqrQEKDE1hY2hpbmVTdGF0ZRIjChlNQUNISU5FX1NUQVRFX1VOU1BFQ0lGSUVEEAAaBIKyGQASJgoVTUFDSElORV9TVEFURV9UQUlOVEVEEAEaC4KyGQd0YWludGVkEiQKFE1BQ0hJTkVfU1RBVEVfTE9DS0VEEAIaCoKyGQZsb2NrZWQSKgoXTUFDSElORV9TVEFURV9BVkFJTEFCTEUQAxoNgrIZCWF2YWlsYWJsZSrfAQodTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGUSNgosTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABI9CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9DUkFTSExPT1AQARoNgrIZCWNyYXNobG9vcBJHCi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9GQUlMRURfUkVDTEFJTRACGhKCshkOZmFpbGVkLXJlY2xhaW0qnwYKHE1hY2hpbmVQcm92aXNpb25pbmdFdmVudFR5cGUSLworTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEjQKJU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQUxJVkUQARoJgrIZBUFsaXZlEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQ1JBU0hFRBACGguCshkHQ3Jhc2hlZBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BYRV9CT09USU5HEAMaD4KyGQtQWEUgQm9vdGluZxJGCi5NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BMQU5ORURfUkVCT09UEAQaEoKyGQ5QbGFubmVkIFJlYm9vdBI8CilNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BSRVBBUklORxAFGg2CshkJUHJlcGFyaW5nEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUkVHSVNURVJJTkcQBhoPgrIZC1JlZ2lzdGVyaW5nEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfV0FJVElORxAHGguCshkHV2FpdGluZxI+CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0lOU1RBTExJTkcQCBoOgrIZCkluc3RhbGxpbmcSTgoyTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9CT09USU5HX05FV19LRVJORUwQCRoWgrIZEkJvb3RpbmcgTmV3IEtlcm5lbBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BIT05FRF9IT01FEAoaD4KyGQtQaG9uZWQgSG9tZRJICi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX01BQ0hJTkVfUkVDTEFJTRALGhOCshkPTWFjaGluZSBSZWNsYWltKroBChFNYWNoaW5lTGl2ZWxpbmVzcxIoCh5NQUNISU5FX0xJVkVMSU5FU1NfVU5TUEVDSUZJRUQQABoEgrIZABInChhNQUNISU5FX0xJVkVMSU5FU1NfQUxJVkUQARoJgrIZBWFsaXZlEiUKF01BQ0hJTkVfTElWRUxJTkVTU19ERUFEEAIaCIKyGQRkZWFkEisKGk1BQ0hJTkVfTElWRUxJTkVTU19VTktOT1dOEAMaC4KyGQd1bmtub3duKqwBChVNYWNoaW5lQWxsb2NhdGlvblR5cGUSLQojTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABoEgrIZABIwCh9NQUNISU5FX0FMTE9DQVRJT05fVFlQRV9NQUNISU5FEAEaC4KyGQdtYWNoaW5lEjIKIE1BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX0ZJUkVXQUxMEAIaDIKyGQhmaXJld2FsbCr+BAoRTWFjaGluZUJNQ0NvbW1hbmQSIwofTUFDSElORV9CTUNfQ09NTUFORF9VTlNQRUNJRklFRBAAEiIKFk1BQ0hJTkVfQk1DX0NPTU1BTkRfT04QARoGgrIZAm9uEiQKF01BQ0hJTkVfQk1DX0NPTU1BTkRfT0ZGEAIaB4KyGQNvZmYSKAoZTUFDSElORV9CTUNfQ09NTUFORF9SRVNFVBADGgmCshkFcmVzZXQSKAoZTUFDSElORV9CTUNfQ09NTUFORF9DWUNMRRAEGgmCshkFY3ljbGUSNgogTUFDSElORV9CTUNfQ09NTUFORF9CT09UX1RPX0JJT1MQBRoQgrIZDGJvb3QtdG8tYmlvcxI6CiJNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9ESVNLEAYaEoKyGQ5ib290LWZyb20tZGlzaxI4CiFNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9QWEUQBxoRgrIZDWJvb3QtZnJvbS1weGUSPAojTUFDSElORV9CTUNfQ09NTUFORF9JREVOVElGWV9MRURfT04QCBoTgrIZD2lkZW50aWZ5LWxlZC1vbhI+CiRNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PRkYQCRoUgrIZEGlkZW50aWZ5LWxlZC1vZmYSPAojTUFDSElORV9CTUNfQ09NTUFORF9NQUNISU5FX0RFTEVURUQQChoTgrIZD21hY2hpbmUtZGVsZXRlZBI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfQ1JFQVRFRBALGhOCshkPbWFjaGluZS1jcmVhdGVkKvMGChBNYWNoaW5lSXNzdWVUeXBlEiIKHk1BQ0hJTkVfSVNTVUVfVFlQRV9VTlNQRUNJRklFRBAAEjkKIU1BQ0hJTkVfSVNTVUVfVFlQRV9BU05fVU5JUVVFTkVTUxABGhKCshkOYXNuLW5vdC11bmlxdWUSPwokTUFDSElORV9JU1NVRV9UWVBFX0JNQ19JTkZPX09VVERBVEVEEAIaFYKyGRFibWMtaW5mby1vdXRkYXRlZBJCCiZNQUNISU5FX0lTU1VFX1RZUEVfQk1DX05PTl9ESVNUSU5DVF9JUBADGhaCshkSYm1jLW5vLWRpc3RpbmN0LWlwEjkKIU1BQ0hJTkVfSVNTVUVfVFlQRV9CTUNfV0lUSE9VVF9JUBAEGhKCshkOYm1jLXdpdGhvdXQtaXASOwoiTUFDSElORV9JU1NVRV9UWVBFX0JNQ19XSVRIT1VUX01BQxAFGhOCshkPYm1jLXdpdGhvdXQtbWFjEjAKHU1BQ0hJTkVfSVNTVUVfVFlQRV9DUkFTSF9MT09QEAYaDYKyGQljcmFzaGxvb3ASSQopTUFDSElORV9JU1NVRV9UWVBFX0ZBSUxFRF9NQUNISU5FX1JFQ0xBSU0QBxoagrIZFmZhaWxlZC1tYWNoaW5lLXJlY2xhaW0SPQojTUFDSElORV9JU1NVRV9UWVBFX0xBU1RfRVZFTlRfRVJST1IQCBoUgrIZEGxhc3QtZXZlbnQtZXJyb3ISOwoiTUFDSElORV9JU1NVRV9UWVBFX0xJVkVMSU5FU1NfREVBRBAJGhOCshkPbGl2ZWxpbmVzcy1kZWFkEk0KK01BQ0hJTkVfSVNTVUVfVFlQRV9MSVZFTElORVNTX05PVF9BVkFJTEFCTEUQChocgrIZGGxpdmVsaW5lc3Mtbm90LWF2YWlsYWJsZRJBCiVNQUNISU5FX0lTU1VFX1RZUEVfTElWRUxJTkVTU19VTktOT1dOEAsaFoKyGRJsaXZlbGluZXNzLXVua25vd24SQQolTUFDSElORV9JU1NVRV9UWVBFX05PX0VWRU5UX0NPTlRBSU5FUhAMGhaCshkSbm8tZXZlbnQtY29udGFpbmVyEjUKH01BQ0hJTkVfSVNTVUVfVFlQRV9OT19QQVJUSVRJT04QDRoQgrIZDG5vLXBhcnRpdGlvbirLAQoUTWFjaGluZUlzc3VlU2V2ZXJpdHkSJgoiTUFDSElORV9JU1NVRV9TRVZFUklUWV9VTlNQRUNJRklFRBAAEisKHE1BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfTUlOT1IQARoJgrIZBW1pbm9yEisKHE1BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfTUFKT1IQAhoJgrIZBW1ham9yEjEKH01BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfQ1JJVElDQUwQAxoMgrIZCGNyaXRpY2FsMtEGCg5NYWNoaW5lU2VydmljZRJtCgNHZXQSKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZDcmVhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBlVwZGF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAEScAoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZSILyvMYAwECA+DzGAISdQoGRGVsZXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXNwb25zZSIKyvMYAgEC4PMYARKBAQoKQk1DQ29tbWFuZBIyLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlcXVlc3QaMy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXNwb25zZSIKyvMYAgEC4PMYARJ1CgZHZXRCTUMSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlIgrK8xgCAQLg8xgBQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDE1hY2hpbmVQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_duration, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_filesystem, file_metalstack_api_v2_image, file_metalstack_api_v2_network, file_metalstack_api_v2_partition, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_size]); /** * Describes the message metalstack.api.v2.MachineServiceGetRequest. * Use `create(MachineServiceGetRequestSchema)` to create a new message. @@ -165,106 +165,111 @@ export const MachineBlockDeviceSchema = /*@__PURE__*/ messageDesc(file_metalstac * Use `create(MachineChassisIdentifyLEDStateSchema)` to create a new message. */ export const MachineChassisIdentifyLEDStateSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 29); +/** + * Describes the message metalstack.api.v2.MachineBMCDetails. + * Use `create(MachineBMCDetailsSchema)` to create a new message. + */ +export const MachineBMCDetailsSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 30); /** * Describes the message metalstack.api.v2.MachineBMCReport. * Use `create(MachineBMCReportSchema)` to create a new message. */ -export const MachineBMCReportSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 30); +export const MachineBMCReportSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 31); /** * Describes the message metalstack.api.v2.MachineBios. * Use `create(MachineBiosSchema)` to create a new message. */ -export const MachineBiosSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 31); +export const MachineBiosSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 32); /** * Describes the message metalstack.api.v2.MachineBMC. * Use `create(MachineBMCSchema)` to create a new message. */ -export const MachineBMCSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 32); +export const MachineBMCSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 33); /** * Describes the message metalstack.api.v2.MachineFRU. * Use `create(MachineFRUSchema)` to create a new message. */ -export const MachineFRUSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 33); +export const MachineFRUSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 34); /** * Describes the message metalstack.api.v2.MachinePowerMetric. * Use `create(MachinePowerMetricSchema)` to create a new message. */ -export const MachinePowerMetricSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 34); +export const MachinePowerMetricSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 35); /** * Describes the message metalstack.api.v2.MachinePowerSupply. * Use `create(MachinePowerSupplySchema)` to create a new message. */ -export const MachinePowerSupplySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 35); +export const MachinePowerSupplySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 36); /** * Describes the message metalstack.api.v2.MachineRecentProvisioningEvents. * Use `create(MachineRecentProvisioningEventsSchema)` to create a new message. */ -export const MachineRecentProvisioningEventsSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 36); +export const MachineRecentProvisioningEventsSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 37); /** * Describes the message metalstack.api.v2.MachineProvisioningEvent. * Use `create(MachineProvisioningEventSchema)` to create a new message. */ -export const MachineProvisioningEventSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 37); +export const MachineProvisioningEventSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 38); /** * Describes the message metalstack.api.v2.MachineVPN. * Use `create(MachineVPNSchema)` to create a new message. */ -export const MachineVPNSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 38); +export const MachineVPNSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 39); /** * Describes the message metalstack.api.v2.MachineQuery. * Use `create(MachineQuerySchema)` to create a new message. */ -export const MachineQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 39); +export const MachineQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 40); /** * Describes the message metalstack.api.v2.MachineAllocationQuery. * Use `create(MachineAllocationQuerySchema)` to create a new message. */ -export const MachineAllocationQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 40); +export const MachineAllocationQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 41); /** * Describes the message metalstack.api.v2.MachineNetworkQuery. * Use `create(MachineNetworkQuerySchema)` to create a new message. */ -export const MachineNetworkQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 41); +export const MachineNetworkQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 42); /** * Describes the message metalstack.api.v2.MachineNicQuery. * Use `create(MachineNicQuerySchema)` to create a new message. */ -export const MachineNicQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 42); +export const MachineNicQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 43); /** * Describes the message metalstack.api.v2.MachineDiskQuery. * Use `create(MachineDiskQuerySchema)` to create a new message. */ -export const MachineDiskQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 43); +export const MachineDiskQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 44); /** * Describes the message metalstack.api.v2.MachineBMCQuery. * Use `create(MachineBMCQuerySchema)` to create a new message. */ -export const MachineBMCQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 44); +export const MachineBMCQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 45); /** * Describes the message metalstack.api.v2.MachineFRUQuery. * Use `create(MachineFRUQuerySchema)` to create a new message. */ -export const MachineFRUQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 45); +export const MachineFRUQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 46); /** * Describes the message metalstack.api.v2.MachineHardwareQuery. * Use `create(MachineHardwareQuerySchema)` to create a new message. */ -export const MachineHardwareQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 46); +export const MachineHardwareQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 47); /** * Describes the message metalstack.api.v2.MachineIssuesQuery. * Use `create(MachineIssuesQuerySchema)` to create a new message. */ -export const MachineIssuesQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 47); +export const MachineIssuesQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 48); /** * Describes the message metalstack.api.v2.MachineIssues. * Use `create(MachineIssuesSchema)` to create a new message. */ -export const MachineIssuesSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 48); +export const MachineIssuesSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 49); /** * Describes the message metalstack.api.v2.MachineIssue. * Use `create(MachineIssueSchema)` to create a new message. */ -export const MachineIssueSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 49); +export const MachineIssueSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 50); /** * IPProtocol defines tcp|udp. * diff --git a/js/metalstack/api/v2/machine_pb.ts b/js/metalstack/api/v2/machine_pb.ts index a9b2e3ca..f44c3637 100644 --- a/js/metalstack/api/v2/machine_pb.ts +++ b/js/metalstack/api/v2/machine_pb.ts @@ -26,7 +26,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file metalstack/api/v2/machine.proto. */ export const file_metalstack_api_v2_machine: GenFile = /*@__PURE__*/ - fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSKuBwobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIjCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBSAOIAQESHgoEc2l6ZRgHIAEoCUILukgIcgbAs66xAgFIBIgBARIaCgVpbWFnZRgIIAEoCUILukgIcgbAs66xAgESKwoRZmlsZXN5c3RlbV9sYXlvdXQYCSABKAlCC7pICHIGwLOusQIBSAWIAQESMQoPc3NoX3B1YmxpY19rZXlzGAogAygJQhi6SBWSARLQpLOxAgEQMiIIcgaItK6xAgESLAoIdXNlcmRhdGEYCyABKAlCFbpIEnIQ8LOusQIBsLSusQIBGICAAkgGiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxJHCghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29ya0IIukgFkgECCAESMwoQcGxhY2VtZW50X2xhYmVscxgOIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI7CgtkbnNfc2VydmVycxgPIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYECADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgRIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgSIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQgwKCl9wYXJ0aXRpb25CBwoFX3NpemVCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV91c2VyZGF0YSJICgxGaXJld2FsbFNwZWMSOAoOZmlyZXdhbGxfcnVsZXMYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzIksKHE1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUitwIKG01hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIZCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAIgBARI0CgZsYWJlbHMYBSABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIAYgBARIxCg9zc2hfcHVibGljX2tleXMYBiADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECAUIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiIgogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiUAobTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBImgKHE1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2USFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESMAoDYm1jGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydCLKAwoHTWFjaGluZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIvCglwYXJ0aXRpb24YAyABKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5QYXJ0aXRpb24SFgoEcmFjaxgEIAEoCUIIukgFcgMYgAESFgoEcm9vbRgFIAEoCUIIukgFcgMYgAESJQoEc2l6ZRgGIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLlNpemUSNAoIaGFyZHdhcmUYByABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmUSOAoKYWxsb2NhdGlvbhgIIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uEjAKBnN0YXR1cxgJIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0dXMSVgoacmVjZW50X3Byb3Zpc2lvbmluZ19ldmVudHMYCiABKAsyMi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUmVjZW50UHJvdmlzaW9uaW5nRXZlbnRzIu8BCg1NYWNoaW5lU3RhdHVzEjYKCWNvbmRpdGlvbhgBIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDb25kaXRpb24SRAoJbGVkX3N0YXRlGAIgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEkIKCmxpdmVsaW5lc3MYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTGl2ZWxpbmVzc0IIukgFggECEAESHAoUbWV0YWxfaGFtbWVyX3ZlcnNpb24YBCABKAkiiAEKEE1hY2hpbmVDb25kaXRpb24SOAoFc3RhdGUYASABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAIgASgJQgu6SAhyBsizrrECARIYCgZpc3N1ZXIYAyABKAlCCLpIBXIDGIACIrkGChFNYWNoaW5lQWxsb2NhdGlvbhIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIZCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECARIgCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgESHAoKY3JlYXRlZF9ieRgFIAEoCUIIukgFcgMYgAESGQoHcHJvamVjdBgGIAEoCUIIukgFcgOwAQESJwoFaW1hZ2UYByABKAsyGC5tZXRhbHN0YWNrLmFwaS52Mi5JbWFnZRI+ChFmaWxlc3lzdGVtX2xheW91dBgIIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLkZpbGVzeXN0ZW1MYXlvdXQSMwoIbmV0d29ya3MYCSADKAsyIS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmV0d29yaxIZCghob3N0bmFtZRgKIAEoCUIHukgEcgJoARIxCg9zc2hfcHVibGljX2tleXMYCyADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECARIhCgh1c2VyZGF0YRgMIAEoCUIPukgMcgrws66xAgEYgIACEksKD2FsbG9jYXRpb25fdHlwZRgNIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESOAoOZmlyZXdhbGxfcnVsZXMYDiABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzEjsKC2Ruc19zZXJ2ZXJzGA8gAygLMhwubWV0YWxzdGFjay5hcGkudjIuRE5TU2VydmVyQgi6SAWSAQIQAxI7CgtudHBfc2VydmVycxgQIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLk5UUFNlcnZlckIIukgFkgECEAoSKgoDdnBuGBEgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVZQThIzChBwbGFjZW1lbnRfbGFiZWxzGBIgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzIlMKGE1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIZCgNpcHMYAiADKAlCDLpICZIBBsCks7ECASJ/Cg1GaXJld2FsbFJ1bGVzEjUKBmVncmVzcxgBIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsRWdyZXNzUnVsZRI3CgdpbmdyZXNzGAIgAygLMiYubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxJbmdyZXNzUnVsZSKyAQoSRmlyZXdhbGxFZ3Jlc3NSdWxlEjkKCHByb3RvY29sGAEgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuSVBQcm90b2NvbEIIukgFggECEAESHQoFcG9ydHMYAiADKA1CDrpIC5IBCCIGKgQY/P8DEhgKAnRvGAMgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgEIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQizwEKE0ZpcmV3YWxsSW5ncmVzc1J1bGUSOQoIcHJvdG9jb2wYASABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5JUFByb3RvY29sQgi6SAWCAQIQARIdCgVwb3J0cxgCIAMoDUIOukgLkgEIIgYqBBj8/wMSGAoCdG8YAyADKAlCDLpICZIBBriks7ECARIaCgRmcm9tGAQgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgFIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQixgIKDk1hY2hpbmVOZXR3b3JrEg8KB25ldHdvcmsYASABKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEj4KDG5ldHdvcmtfdHlwZRgFIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtUeXBlQgi6SAWCAQIQARI2CghuYXRfdHlwZRgGIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABEgsKA3ZyZhgHIAEoBBILCgNhc24YCCABKA0SHgoHcHJvamVjdBgJIAEoCUIIukgFcgOwAQFIAIgBAUIKCghfcHJvamVjdCLaAQoPTWFjaGluZUhhcmR3YXJlEg4KBm1lbW9yeRgBIAEoBBI0CgVkaXNrcxgCIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCbG9ja0RldmljZRIpCgRjcHVzGAMgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxDUFUSKQoEZ3B1cxgEIAMoCzIbLm1ldGFsc3RhY2suYXBpLnYyLk1ldGFsR1BVEisKBG5pY3MYBSADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljIl0KCE1ldGFsQ1BVEhgKBnZlbmRvchgBIAEoCUIIukgFcgMYgAISFwoFbW9kZWwYAiABKAlCCLpIBXIDGIACEg0KBWNvcmVzGAMgASgNEg8KB3RocmVhZHMYBCABKA0iPQoITWV0YWxHUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAIi5QEKCk1hY2hpbmVOaWMSGAoDbWFjGAEgASgJQgu6SAhyBrizrrECARIZCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECARIcCgppZGVudGlmaWVyGAMgASgJQgi6SAVyAxiAARIYCgZ2ZW5kb3IYBCABKAlCCLpIBXIDGIABEhcKBW1vZGVsGAUgASgJQgi6SAVyAxiAARINCgVzcGVlZBgGIAEoBBIwCgluZWlnaGJvcnMYByADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljEhAKCGhvc3RuYW1lGAggASgJIj0KEk1hY2hpbmVCbG9ja0RldmljZRIZCgRuYW1lGAEgASgJQgu6SAhyBsCzrrECARIMCgRzaXplGAIgASgEIlsKHk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIXCgV2YWx1ZRgBIAEoCUIIukgFcgMYgAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBIooDChBNYWNoaW5lQk1DUmVwb3J0EioKA2JtYxgBIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUMSLAoEYmlvcxgCIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCaW9zEioKA2ZydRgDIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlUSOwoMcG93ZXJfbWV0cmljGAQgASgLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyTWV0cmljEj0KDnBvd2VyX3N1cHBsaWVzGAUgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyU3VwcGx5EkQKCWxlZF9zdGF0ZRgGIAEoCzIxLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIuCgp1cGRhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJjCgtNYWNoaW5lQmlvcxIcCgd2ZXJzaW9uGAEgASgJQgu6SAhyBsizrrECARIbCgZ2ZW5kb3IYAiABKAlCC7pICHIGyLOusQIBEhkKBGRhdGUYAyABKAlCC7pICHIGyLOusQIBItsBCgpNYWNoaW5lQk1DEhkKB2FkZHJlc3MYASABKAlCCLpIBXIDgAIBEhgKA21hYxgCIAEoCUILukgIcga4s66xAgESGQoEdXNlchgDIAEoCUILukgIcgbIs66xAgESHQoIcGFzc3dvcmQYBCABKAlCC7pICHIGyLOusQIBEh4KCWludGVyZmFjZRgFIAEoCUILukgIcgbIs66xAgESHAoHdmVyc2lvbhgGIAEoCUILukgIcgbIs66xAgESIAoLcG93ZXJfc3RhdGUYByABKAlCC7pICHIGyLOusQIBIp4ECgpNYWNoaW5lRlJVEi0KE2NoYXNzaXNfcGFydF9udW1iZXIYASABKAlCC7pICHIGyLOusQIBSACIAQESLQoTY2hhc3Npc19wYXJ0X3NlcmlhbBgCIAEoCUILukgIcgbIs66xAgFIAYgBARIjCglib2FyZF9tZmcYAyABKAlCC7pICHIGyLOusQIBSAKIAQESKgoQYm9hcmRfbWZnX3NlcmlhbBgEIAEoCUILukgIcgbIs66xAgFIA4gBARIrChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUILukgIcgbIs66xAgFIBIgBARIuChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUILukgIcgbIs66xAgFIBYgBARItChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgu6SAhyBsizrrECAUgGiAEBEigKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgu6SAhyBsizrrECAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCEwoRX2JvYXJkX21mZ19zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwihQEKEk1hY2hpbmVQb3dlck1ldHJpYxIeChZhdmVyYWdlX2NvbnN1bWVkX3dhdHRzGAEgASgCEhcKD2ludGVydmFsX2luX21pbhgCIAEoAhIaChJtYXhfY29uc3VtZWRfd2F0dHMYAyABKAISGgoSbWluX2NvbnN1bWVkX3dhdHRzGAQgASgCIjMKEk1hY2hpbmVQb3dlclN1cHBseRIOCgZoZWFsdGgYASABKAkSDQoFc3RhdGUYAiABKAkipQIKH01hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMSOwoGZXZlbnRzGAEgAygLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EjMKD2xhc3RfZXZlbnRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRQoQbGFzdF9lcnJvcl9ldmVudBgDIAEoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudBJJCgVzdGF0ZRgEIAEoDjIwLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudFN0YXRlQgi6SAWCAQIQASKfAQoYTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EigKBHRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkgKBWV2ZW50GAIgASgOMi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50VHlwZUIIukgFggECEAESDwoHbWVzc2FnZRgDIAEoCSJrCgpNYWNoaW5lVlBOEh0KFWNvbnRyb2xfcGxhbmVfYWRkcmVzcxgBIAEoCRIQCghhdXRoX2tleRgCIAEoCRIRCgljb25uZWN0ZWQYAyABKAgSGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgEi5gcKDE1hY2hpbmVRdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAMgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KBHNpemUYBCABKAlCC7pICHIGwLOusQIBSAOIAQESHgoEcmFjaxgFIAEoCUILukgIcgbAs66xAgFIBIgBARIeCgRyb29tGAYgASgJQgu6SAhyBsCzrrECAUgFiAEBEi4KBmxhYmVscxgHIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gGiAEBEkIKCmFsbG9jYXRpb24YCCABKAsyKS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQWxsb2NhdGlvblF1ZXJ5SAeIAQESPAoHbmV0d29yaxgJIAEoCzImLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrUXVlcnlICIgBARI0CgNuaWMYCiABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljUXVlcnlICYgBARI2CgRkaXNrGAsgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZURpc2tRdWVyeUgKiAEBEjQKA2JtYxgMIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeUgLiAEBEjQKA2ZydRgNIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlVRdWVyeUgMiAEBEj4KCGhhcmR3YXJlGA4gASgLMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUhhcmR3YXJlUXVlcnlIDYgBARIzCgVzdGF0ZRgPIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUgOiAEBEhQKB3dhaXRpbmcYECABKAhID4gBARIZCgxwcmVhbGxvY2F0ZWQYESABKAhIEIgBARIaCg1ub3RfYWxsb2NhdGVkGBIgASgISBGIAQFCBwoFX3V1aWRCBwoFX25hbWVCDAoKX3BhcnRpdGlvbkIHCgVfc2l6ZUIHCgVfcmFja0IHCgVfcm9vbUIJCgdfbGFiZWxzQg0KC19hbGxvY2F0aW9uQgoKCF9uZXR3b3JrQgYKBF9uaWNCBwoFX2Rpc2tCBgoEX2JtY0IGCgRfZnJ1QgsKCV9oYXJkd2FyZUIICgZfc3RhdGVCCgoIX3dhaXRpbmdCDwoNX3ByZWFsbG9jYXRlZEIQCg5fbm90X2FsbG9jYXRlZCKIBAoWTWFjaGluZUFsbG9jYXRpb25RdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESHgoHcHJvamVjdBgDIAEoCUIIukgFcgOwAQFIAogBARIfCgVpbWFnZRgEIAEoCUILukgIcgbAs66xAgFIA4gBARIrChFmaWxlc3lzdGVtX2xheW91dBgFIAEoCUILukgIcgbAs66xAgFIBIgBARIeCghob3N0bmFtZRgGIAEoCUIHukgEcgJoAUgFiAEBElAKD2FsbG9jYXRpb25fdHlwZRgHIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAFIBogBARIuCgZsYWJlbHMYCCABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIB4gBARIvCgN2cG4YCSABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOSAiIAQFCBwoFX3V1aWRCBwoFX25hbWVCCgoIX3Byb2plY3RCCAoGX2ltYWdlQhQKEl9maWxlc3lzdGVtX2xheW91dEILCglfaG9zdG5hbWVCEgoQX2FsbG9jYXRpb25fdHlwZUIJCgdfbGFiZWxzQgYKBF92cG4iqgEKE01hY2hpbmVOZXR3b3JrUXVlcnkSEAoIbmV0d29ya3MYASADKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEgwKBHZyZnMYBSADKAQSDAoEYXNucxgGIAMoDSKvAQoPTWFjaGluZU5pY1F1ZXJ5EiIKBG1hY3MYASADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEiAKBW5hbWVzGAIgAygJQhG6SA6SAQsQZBgBIgVyAxiAARIrCg1uZWlnaGJvcl9tYWNzGAMgAygJQhS6SBGSAQ4QZBgBIghyBrizrrECARIpCg5uZWlnaGJvcl9uYW1lcxgEIAMoCUIRukgOkgELEGQYASIFcgMYgAEiSwoQTWFjaGluZURpc2tRdWVyeRIeCgVuYW1lcxgBIAMoCUIPukgMkgEJEGQiBXIDGIABEhcKBXNpemVzGAIgAygEQgi6SAWSAQIQZCK5AQoPTWFjaGluZUJNQ1F1ZXJ5Eh0KB2FkZHJlc3MYASABKAlCB7pIBHICcAFIAIgBARIdCgNtYWMYAiABKAlCC7pICHIGuLOusQIBSAGIAQESGwoEdXNlchgDIAEoCUIIukgFcgMYgAFIAogBARIgCglpbnRlcmZhY2UYBCABKAlCCLpIBXIDGIABSAOIAQFCCgoIX2FkZHJlc3NCBgoEX21hY0IHCgVfdXNlckIMCgpfaW50ZXJmYWNlIoMECg9NYWNoaW5lRlJVUXVlcnkSKgoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUIIukgFcgMYgAFIAIgBARIqChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgi6SAVyAxiAAUgBiAEBEiAKCWJvYXJkX21mZxgDIAEoCUIIukgFcgMYgAFIAogBARIjCgxib2FyZF9zZXJpYWwYBCABKAlCCLpIBXIDGIABSAOIAQESKAoRYm9hcmRfcGFydF9udW1iZXIYBSABKAlCCLpIBXIDGIABSASIAQESKwoUcHJvZHVjdF9tYW51ZmFjdHVyZXIYBiABKAlCCLpIBXIDGIABSAWIAQESKgoTcHJvZHVjdF9wYXJ0X251bWJlchgHIAEoCUIIukgFcgMYgAFIBogBARIlCg5wcm9kdWN0X3NlcmlhbBgIIAEoCUIIukgFcgMYgAFIB4gBAUIWChRfY2hhc3Npc19wYXJ0X251bWJlckIWChRfY2hhc3Npc19wYXJ0X3NlcmlhbEIMCgpfYm9hcmRfbWZnQg8KDV9ib2FyZF9zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwiXAoUTWFjaGluZUhhcmR3YXJlUXVlcnkSEwoGbWVtb3J5GAEgASgESACIAQESFgoJY3B1X2NvcmVzGAIgASgNSAGIAQFCCQoHX21lbW9yeUIMCgpfY3B1X2NvcmVzIuACChJNYWNoaW5lSXNzdWVzUXVlcnkSNgoNbWFjaGluZV9xdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRJACgRvbmx5GAIgAygOMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlVHlwZUINukgKkgEHIgWCAQIQARJACgRvbWl0GAMgAygOMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlVHlwZUINukgKkgEHIgWCAQIQARJICghzZXZlcml0eRgEIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVNldmVyaXR5Qgi6SAWCAQIQAUgAiAEBEjcKFGxhc3RfZXJyb3JfdGhyZXNob2xkGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQgsKCV9zZXZlcml0eSJYCg1NYWNoaW5lSXNzdWVzEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEi8KBmlzc3VlcxgCIAMoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZSLnAQoMTWFjaGluZUlzc3VlEjsKBHR5cGUYASABKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQgi6SAWCAQIQARJDCghzZXZlcml0eRgCIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVNldmVyaXR5Qgi6SAWCAQIQARIgCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgESIgoNcmVmZXJlbmNlX3VybBgEIAEoCUILukgIcgbgs66xAgESDwoHZGV0YWlscxgFIAEoCSplCgpJUFByb3RvY29sEhsKF0lQX1BST1RPQ09MX1VOU1BFQ0lGSUVEEAASHAoPSVBfUFJPVE9DT0xfVENQEAEaB4KyGQN0Y3ASHAoPSVBfUFJPVE9DT0xfVURQEAIaB4KyGQN1ZHAqrQEKDE1hY2hpbmVTdGF0ZRIjChlNQUNISU5FX1NUQVRFX1VOU1BFQ0lGSUVEEAAaBIKyGQASJgoVTUFDSElORV9TVEFURV9UQUlOVEVEEAEaC4KyGQd0YWludGVkEiQKFE1BQ0hJTkVfU1RBVEVfTE9DS0VEEAIaCoKyGQZsb2NrZWQSKgoXTUFDSElORV9TVEFURV9BVkFJTEFCTEUQAxoNgrIZCWF2YWlsYWJsZSrfAQodTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGUSNgosTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABI9CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9DUkFTSExPT1AQARoNgrIZCWNyYXNobG9vcBJHCi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9GQUlMRURfUkVDTEFJTRACGhKCshkOZmFpbGVkLXJlY2xhaW0qnwYKHE1hY2hpbmVQcm92aXNpb25pbmdFdmVudFR5cGUSLworTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEjQKJU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQUxJVkUQARoJgrIZBUFsaXZlEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQ1JBU0hFRBACGguCshkHQ3Jhc2hlZBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BYRV9CT09USU5HEAMaD4KyGQtQWEUgQm9vdGluZxJGCi5NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BMQU5ORURfUkVCT09UEAQaEoKyGQ5QbGFubmVkIFJlYm9vdBI8CilNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BSRVBBUklORxAFGg2CshkJUHJlcGFyaW5nEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUkVHSVNURVJJTkcQBhoPgrIZC1JlZ2lzdGVyaW5nEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfV0FJVElORxAHGguCshkHV2FpdGluZxI+CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0lOU1RBTExJTkcQCBoOgrIZCkluc3RhbGxpbmcSTgoyTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9CT09USU5HX05FV19LRVJORUwQCRoWgrIZEkJvb3RpbmcgTmV3IEtlcm5lbBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BIT05FRF9IT01FEAoaD4KyGQtQaG9uZWQgSG9tZRJICi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX01BQ0hJTkVfUkVDTEFJTRALGhOCshkPTWFjaGluZSBSZWNsYWltKroBChFNYWNoaW5lTGl2ZWxpbmVzcxIoCh5NQUNISU5FX0xJVkVMSU5FU1NfVU5TUEVDSUZJRUQQABoEgrIZABInChhNQUNISU5FX0xJVkVMSU5FU1NfQUxJVkUQARoJgrIZBWFsaXZlEiUKF01BQ0hJTkVfTElWRUxJTkVTU19ERUFEEAIaCIKyGQRkZWFkEisKGk1BQ0hJTkVfTElWRUxJTkVTU19VTktOT1dOEAMaC4KyGQd1bmtub3duKqwBChVNYWNoaW5lQWxsb2NhdGlvblR5cGUSLQojTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABoEgrIZABIwCh9NQUNISU5FX0FMTE9DQVRJT05fVFlQRV9NQUNISU5FEAEaC4KyGQdtYWNoaW5lEjIKIE1BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX0ZJUkVXQUxMEAIaDIKyGQhmaXJld2FsbCr+BAoRTWFjaGluZUJNQ0NvbW1hbmQSIwofTUFDSElORV9CTUNfQ09NTUFORF9VTlNQRUNJRklFRBAAEiIKFk1BQ0hJTkVfQk1DX0NPTU1BTkRfT04QARoGgrIZAm9uEiQKF01BQ0hJTkVfQk1DX0NPTU1BTkRfT0ZGEAIaB4KyGQNvZmYSKAoZTUFDSElORV9CTUNfQ09NTUFORF9SRVNFVBADGgmCshkFcmVzZXQSKAoZTUFDSElORV9CTUNfQ09NTUFORF9DWUNMRRAEGgmCshkFY3ljbGUSNgogTUFDSElORV9CTUNfQ09NTUFORF9CT09UX1RPX0JJT1MQBRoQgrIZDGJvb3QtdG8tYmlvcxI6CiJNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9ESVNLEAYaEoKyGQ5ib290LWZyb20tZGlzaxI4CiFNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9QWEUQBxoRgrIZDWJvb3QtZnJvbS1weGUSPAojTUFDSElORV9CTUNfQ09NTUFORF9JREVOVElGWV9MRURfT04QCBoTgrIZD2lkZW50aWZ5LWxlZC1vbhI+CiRNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PRkYQCRoUgrIZEGlkZW50aWZ5LWxlZC1vZmYSPAojTUFDSElORV9CTUNfQ09NTUFORF9NQUNISU5FX0RFTEVURUQQChoTgrIZD21hY2hpbmUtZGVsZXRlZBI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfQ1JFQVRFRBALGhOCshkPbWFjaGluZS1jcmVhdGVkKvMGChBNYWNoaW5lSXNzdWVUeXBlEiIKHk1BQ0hJTkVfSVNTVUVfVFlQRV9VTlNQRUNJRklFRBAAEjkKIU1BQ0hJTkVfSVNTVUVfVFlQRV9BU05fVU5JUVVFTkVTUxABGhKCshkOYXNuLW5vdC11bmlxdWUSPwokTUFDSElORV9JU1NVRV9UWVBFX0JNQ19JTkZPX09VVERBVEVEEAIaFYKyGRFibWMtaW5mby1vdXRkYXRlZBJCCiZNQUNISU5FX0lTU1VFX1RZUEVfQk1DX05PTl9ESVNUSU5DVF9JUBADGhaCshkSYm1jLW5vLWRpc3RpbmN0LWlwEjkKIU1BQ0hJTkVfSVNTVUVfVFlQRV9CTUNfV0lUSE9VVF9JUBAEGhKCshkOYm1jLXdpdGhvdXQtaXASOwoiTUFDSElORV9JU1NVRV9UWVBFX0JNQ19XSVRIT1VUX01BQxAFGhOCshkPYm1jLXdpdGhvdXQtbWFjEjAKHU1BQ0hJTkVfSVNTVUVfVFlQRV9DUkFTSF9MT09QEAYaDYKyGQljcmFzaGxvb3ASSQopTUFDSElORV9JU1NVRV9UWVBFX0ZBSUxFRF9NQUNISU5FX1JFQ0xBSU0QBxoagrIZFmZhaWxlZC1tYWNoaW5lLXJlY2xhaW0SPQojTUFDSElORV9JU1NVRV9UWVBFX0xBU1RfRVZFTlRfRVJST1IQCBoUgrIZEGxhc3QtZXZlbnQtZXJyb3ISOwoiTUFDSElORV9JU1NVRV9UWVBFX0xJVkVMSU5FU1NfREVBRBAJGhOCshkPbGl2ZWxpbmVzcy1kZWFkEk0KK01BQ0hJTkVfSVNTVUVfVFlQRV9MSVZFTElORVNTX05PVF9BVkFJTEFCTEUQChocgrIZGGxpdmVsaW5lc3Mtbm90LWF2YWlsYWJsZRJBCiVNQUNISU5FX0lTU1VFX1RZUEVfTElWRUxJTkVTU19VTktOT1dOEAsaFoKyGRJsaXZlbGluZXNzLXVua25vd24SQQolTUFDSElORV9JU1NVRV9UWVBFX05PX0VWRU5UX0NPTlRBSU5FUhAMGhaCshkSbm8tZXZlbnQtY29udGFpbmVyEjUKH01BQ0hJTkVfSVNTVUVfVFlQRV9OT19QQVJUSVRJT04QDRoQgrIZDG5vLXBhcnRpdGlvbirLAQoUTWFjaGluZUlzc3VlU2V2ZXJpdHkSJgoiTUFDSElORV9JU1NVRV9TRVZFUklUWV9VTlNQRUNJRklFRBAAEisKHE1BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfTUlOT1IQARoJgrIZBW1pbm9yEisKHE1BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfTUFKT1IQAhoJgrIZBW1ham9yEjEKH01BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfQ1JJVElDQUwQAxoMgrIZCGNyaXRpY2FsMtEGCg5NYWNoaW5lU2VydmljZRJtCgNHZXQSKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZDcmVhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBlVwZGF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAEScAoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZSILyvMYAwECA+DzGAISdQoGRGVsZXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXNwb25zZSIKyvMYAgEC4PMYARKBAQoKQk1DQ29tbWFuZBIyLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlcXVlc3QaMy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXNwb25zZSIKyvMYAgEC4PMYARJ1CgZHZXRCTUMSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlIgrK8xgCAQLg8xgBQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDE1hY2hpbmVQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_duration, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_filesystem, file_metalstack_api_v2_image, file_metalstack_api_v2_network, file_metalstack_api_v2_partition, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_size]); + fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSKuBwobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIjCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBSAOIAQESHgoEc2l6ZRgHIAEoCUILukgIcgbAs66xAgFIBIgBARIaCgVpbWFnZRgIIAEoCUILukgIcgbAs66xAgESKwoRZmlsZXN5c3RlbV9sYXlvdXQYCSABKAlCC7pICHIGwLOusQIBSAWIAQESMQoPc3NoX3B1YmxpY19rZXlzGAogAygJQhi6SBWSARLQpLOxAgEQMiIIcgaItK6xAgESLAoIdXNlcmRhdGEYCyABKAlCFbpIEnIQ8LOusQIBsLSusQIBGICAAkgGiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxJHCghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29ya0IIukgFkgECCAESMwoQcGxhY2VtZW50X2xhYmVscxgOIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI7CgtkbnNfc2VydmVycxgPIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYECADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgRIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgSIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQgwKCl9wYXJ0aXRpb25CBwoFX3NpemVCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV91c2VyZGF0YSJICgxGaXJld2FsbFNwZWMSOAoOZmlyZXdhbGxfcnVsZXMYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzIksKHE1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUitwIKG01hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIZCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAIgBARI0CgZsYWJlbHMYBSABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIAYgBARIxCg9zc2hfcHVibGljX2tleXMYBiADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECAUIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiIgogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiUAobTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIlkKHE1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2USOQoLYm1jX2RldGFpbHMYBiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DRGV0YWlscyLKAwoHTWFjaGluZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIvCglwYXJ0aXRpb24YAyABKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5QYXJ0aXRpb24SFgoEcmFjaxgEIAEoCUIIukgFcgMYgAESFgoEcm9vbRgFIAEoCUIIukgFcgMYgAESJQoEc2l6ZRgGIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLlNpemUSNAoIaGFyZHdhcmUYByABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmUSOAoKYWxsb2NhdGlvbhgIIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uEjAKBnN0YXR1cxgJIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0dXMSVgoacmVjZW50X3Byb3Zpc2lvbmluZ19ldmVudHMYCiABKAsyMi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUmVjZW50UHJvdmlzaW9uaW5nRXZlbnRzIu8BCg1NYWNoaW5lU3RhdHVzEjYKCWNvbmRpdGlvbhgBIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDb25kaXRpb24SRAoJbGVkX3N0YXRlGAIgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEkIKCmxpdmVsaW5lc3MYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTGl2ZWxpbmVzc0IIukgFggECEAESHAoUbWV0YWxfaGFtbWVyX3ZlcnNpb24YBCABKAkiiAEKEE1hY2hpbmVDb25kaXRpb24SOAoFc3RhdGUYASABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAIgASgJQgu6SAhyBsizrrECARIYCgZpc3N1ZXIYAyABKAlCCLpIBXIDGIACIrkGChFNYWNoaW5lQWxsb2NhdGlvbhIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIZCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECARIgCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgESHAoKY3JlYXRlZF9ieRgFIAEoCUIIukgFcgMYgAESGQoHcHJvamVjdBgGIAEoCUIIukgFcgOwAQESJwoFaW1hZ2UYByABKAsyGC5tZXRhbHN0YWNrLmFwaS52Mi5JbWFnZRI+ChFmaWxlc3lzdGVtX2xheW91dBgIIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLkZpbGVzeXN0ZW1MYXlvdXQSMwoIbmV0d29ya3MYCSADKAsyIS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmV0d29yaxIZCghob3N0bmFtZRgKIAEoCUIHukgEcgJoARIxCg9zc2hfcHVibGljX2tleXMYCyADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECARIhCgh1c2VyZGF0YRgMIAEoCUIPukgMcgrws66xAgEYgIACEksKD2FsbG9jYXRpb25fdHlwZRgNIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESOAoOZmlyZXdhbGxfcnVsZXMYDiABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzEjsKC2Ruc19zZXJ2ZXJzGA8gAygLMhwubWV0YWxzdGFjay5hcGkudjIuRE5TU2VydmVyQgi6SAWSAQIQAxI7CgtudHBfc2VydmVycxgQIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLk5UUFNlcnZlckIIukgFkgECEAoSKgoDdnBuGBEgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVZQThIzChBwbGFjZW1lbnRfbGFiZWxzGBIgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzIlMKGE1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIZCgNpcHMYAiADKAlCDLpICZIBBsCks7ECASJ/Cg1GaXJld2FsbFJ1bGVzEjUKBmVncmVzcxgBIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsRWdyZXNzUnVsZRI3CgdpbmdyZXNzGAIgAygLMiYubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxJbmdyZXNzUnVsZSKyAQoSRmlyZXdhbGxFZ3Jlc3NSdWxlEjkKCHByb3RvY29sGAEgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuSVBQcm90b2NvbEIIukgFggECEAESHQoFcG9ydHMYAiADKA1CDrpIC5IBCCIGKgQY/P8DEhgKAnRvGAMgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgEIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQizwEKE0ZpcmV3YWxsSW5ncmVzc1J1bGUSOQoIcHJvdG9jb2wYASABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5JUFByb3RvY29sQgi6SAWCAQIQARIdCgVwb3J0cxgCIAMoDUIOukgLkgEIIgYqBBj8/wMSGAoCdG8YAyADKAlCDLpICZIBBriks7ECARIaCgRmcm9tGAQgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgFIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQixgIKDk1hY2hpbmVOZXR3b3JrEg8KB25ldHdvcmsYASABKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEj4KDG5ldHdvcmtfdHlwZRgFIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtUeXBlQgi6SAWCAQIQARI2CghuYXRfdHlwZRgGIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABEgsKA3ZyZhgHIAEoBBILCgNhc24YCCABKA0SHgoHcHJvamVjdBgJIAEoCUIIukgFcgOwAQFIAIgBAUIKCghfcHJvamVjdCLaAQoPTWFjaGluZUhhcmR3YXJlEg4KBm1lbW9yeRgBIAEoBBI0CgVkaXNrcxgCIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCbG9ja0RldmljZRIpCgRjcHVzGAMgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxDUFUSKQoEZ3B1cxgEIAMoCzIbLm1ldGFsc3RhY2suYXBpLnYyLk1ldGFsR1BVEisKBG5pY3MYBSADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljIl0KCE1ldGFsQ1BVEhgKBnZlbmRvchgBIAEoCUIIukgFcgMYgAISFwoFbW9kZWwYAiABKAlCCLpIBXIDGIACEg0KBWNvcmVzGAMgASgNEg8KB3RocmVhZHMYBCABKA0iPQoITWV0YWxHUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAIi5QEKCk1hY2hpbmVOaWMSGAoDbWFjGAEgASgJQgu6SAhyBrizrrECARIZCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECARIcCgppZGVudGlmaWVyGAMgASgJQgi6SAVyAxiAARIYCgZ2ZW5kb3IYBCABKAlCCLpIBXIDGIABEhcKBW1vZGVsGAUgASgJQgi6SAVyAxiAARINCgVzcGVlZBgGIAEoBBIwCgluZWlnaGJvcnMYByADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljEhAKCGhvc3RuYW1lGAggASgJIj0KEk1hY2hpbmVCbG9ja0RldmljZRIZCgRuYW1lGAEgASgJQgu6SAhyBsCzrrECARIMCgRzaXplGAIgASgEIlsKHk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIXCgV2YWx1ZRgBIAEoCUIIukgFcgMYgAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBIskBChFNYWNoaW5lQk1DRGV0YWlscxIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIbCglwYXJ0aXRpb24YAiABKAlCCLpIBXIDGIABEhYKBHJhY2sYAyABKAlCCLpIBXIDGIABEhYKBHJvb20YBCABKAlCCLpIBXIDGIABEhYKBHNpemUYBSABKAlCCLpIBXIDGIABEjcKCmJtY19yZXBvcnQYBiABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DUmVwb3J0IqIDChBNYWNoaW5lQk1DUmVwb3J0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEioKA2JtYxgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUMSLAoEYmlvcxgDIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCaW9zEioKA2ZydRgEIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlUSOwoMcG93ZXJfbWV0cmljGAUgASgLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyTWV0cmljEj0KDnBvd2VyX3N1cHBsaWVzGAYgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyU3VwcGx5EkQKCWxlZF9zdGF0ZRgHIAEoCzIxLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJjCgtNYWNoaW5lQmlvcxIcCgd2ZXJzaW9uGAEgASgJQgu6SAhyBsizrrECARIbCgZ2ZW5kb3IYAiABKAlCC7pICHIGyLOusQIBEhkKBGRhdGUYAyABKAlCC7pICHIGyLOusQIBItsBCgpNYWNoaW5lQk1DEhkKB2FkZHJlc3MYASABKAlCCLpIBXIDgAIBEhgKA21hYxgCIAEoCUILukgIcga4s66xAgESGQoEdXNlchgDIAEoCUILukgIcgbIs66xAgESHQoIcGFzc3dvcmQYBCABKAlCC7pICHIGyLOusQIBEh4KCWludGVyZmFjZRgFIAEoCUILukgIcgbIs66xAgESHAoHdmVyc2lvbhgGIAEoCUILukgIcgbIs66xAgESIAoLcG93ZXJfc3RhdGUYByABKAlCC7pICHIGyLOusQIBIp4ECgpNYWNoaW5lRlJVEi0KE2NoYXNzaXNfcGFydF9udW1iZXIYASABKAlCC7pICHIGyLOusQIBSACIAQESLQoTY2hhc3Npc19wYXJ0X3NlcmlhbBgCIAEoCUILukgIcgbIs66xAgFIAYgBARIjCglib2FyZF9tZmcYAyABKAlCC7pICHIGyLOusQIBSAKIAQESKgoQYm9hcmRfbWZnX3NlcmlhbBgEIAEoCUILukgIcgbIs66xAgFIA4gBARIrChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUILukgIcgbIs66xAgFIBIgBARIuChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUILukgIcgbIs66xAgFIBYgBARItChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgu6SAhyBsizrrECAUgGiAEBEigKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgu6SAhyBsizrrECAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCEwoRX2JvYXJkX21mZ19zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwihQEKEk1hY2hpbmVQb3dlck1ldHJpYxIeChZhdmVyYWdlX2NvbnN1bWVkX3dhdHRzGAEgASgCEhcKD2ludGVydmFsX2luX21pbhgCIAEoAhIaChJtYXhfY29uc3VtZWRfd2F0dHMYAyABKAISGgoSbWluX2NvbnN1bWVkX3dhdHRzGAQgASgCIjMKEk1hY2hpbmVQb3dlclN1cHBseRIOCgZoZWFsdGgYASABKAkSDQoFc3RhdGUYAiABKAkipQIKH01hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMSOwoGZXZlbnRzGAEgAygLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EjMKD2xhc3RfZXZlbnRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRQoQbGFzdF9lcnJvcl9ldmVudBgDIAEoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudBJJCgVzdGF0ZRgEIAEoDjIwLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudFN0YXRlQgi6SAWCAQIQASKfAQoYTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EigKBHRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkgKBWV2ZW50GAIgASgOMi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50VHlwZUIIukgFggECEAESDwoHbWVzc2FnZRgDIAEoCSJrCgpNYWNoaW5lVlBOEh0KFWNvbnRyb2xfcGxhbmVfYWRkcmVzcxgBIAEoCRIQCghhdXRoX2tleRgCIAEoCRIRCgljb25uZWN0ZWQYAyABKAgSGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgEi5gcKDE1hY2hpbmVRdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAMgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KBHNpemUYBCABKAlCC7pICHIGwLOusQIBSAOIAQESHgoEcmFjaxgFIAEoCUILukgIcgbAs66xAgFIBIgBARIeCgRyb29tGAYgASgJQgu6SAhyBsCzrrECAUgFiAEBEi4KBmxhYmVscxgHIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gGiAEBEkIKCmFsbG9jYXRpb24YCCABKAsyKS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQWxsb2NhdGlvblF1ZXJ5SAeIAQESPAoHbmV0d29yaxgJIAEoCzImLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrUXVlcnlICIgBARI0CgNuaWMYCiABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljUXVlcnlICYgBARI2CgRkaXNrGAsgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZURpc2tRdWVyeUgKiAEBEjQKA2JtYxgMIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeUgLiAEBEjQKA2ZydRgNIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlVRdWVyeUgMiAEBEj4KCGhhcmR3YXJlGA4gASgLMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUhhcmR3YXJlUXVlcnlIDYgBARIzCgVzdGF0ZRgPIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUgOiAEBEhQKB3dhaXRpbmcYECABKAhID4gBARIZCgxwcmVhbGxvY2F0ZWQYESABKAhIEIgBARIaCg1ub3RfYWxsb2NhdGVkGBIgASgISBGIAQFCBwoFX3V1aWRCBwoFX25hbWVCDAoKX3BhcnRpdGlvbkIHCgVfc2l6ZUIHCgVfcmFja0IHCgVfcm9vbUIJCgdfbGFiZWxzQg0KC19hbGxvY2F0aW9uQgoKCF9uZXR3b3JrQgYKBF9uaWNCBwoFX2Rpc2tCBgoEX2JtY0IGCgRfZnJ1QgsKCV9oYXJkd2FyZUIICgZfc3RhdGVCCgoIX3dhaXRpbmdCDwoNX3ByZWFsbG9jYXRlZEIQCg5fbm90X2FsbG9jYXRlZCKIBAoWTWFjaGluZUFsbG9jYXRpb25RdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESHgoHcHJvamVjdBgDIAEoCUIIukgFcgOwAQFIAogBARIfCgVpbWFnZRgEIAEoCUILukgIcgbAs66xAgFIA4gBARIrChFmaWxlc3lzdGVtX2xheW91dBgFIAEoCUILukgIcgbAs66xAgFIBIgBARIeCghob3N0bmFtZRgGIAEoCUIHukgEcgJoAUgFiAEBElAKD2FsbG9jYXRpb25fdHlwZRgHIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAFIBogBARIuCgZsYWJlbHMYCCABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIB4gBARIvCgN2cG4YCSABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOSAiIAQFCBwoFX3V1aWRCBwoFX25hbWVCCgoIX3Byb2plY3RCCAoGX2ltYWdlQhQKEl9maWxlc3lzdGVtX2xheW91dEILCglfaG9zdG5hbWVCEgoQX2FsbG9jYXRpb25fdHlwZUIJCgdfbGFiZWxzQgYKBF92cG4iqgEKE01hY2hpbmVOZXR3b3JrUXVlcnkSEAoIbmV0d29ya3MYASADKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEgwKBHZyZnMYBSADKAQSDAoEYXNucxgGIAMoDSKvAQoPTWFjaGluZU5pY1F1ZXJ5EiIKBG1hY3MYASADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEiAKBW5hbWVzGAIgAygJQhG6SA6SAQsQZBgBIgVyAxiAARIrCg1uZWlnaGJvcl9tYWNzGAMgAygJQhS6SBGSAQ4QZBgBIghyBrizrrECARIpCg5uZWlnaGJvcl9uYW1lcxgEIAMoCUIRukgOkgELEGQYASIFcgMYgAEiSwoQTWFjaGluZURpc2tRdWVyeRIeCgVuYW1lcxgBIAMoCUIPukgMkgEJEGQiBXIDGIABEhcKBXNpemVzGAIgAygEQgi6SAWSAQIQZCK5AQoPTWFjaGluZUJNQ1F1ZXJ5Eh0KB2FkZHJlc3MYASABKAlCB7pIBHICcAFIAIgBARIdCgNtYWMYAiABKAlCC7pICHIGuLOusQIBSAGIAQESGwoEdXNlchgDIAEoCUIIukgFcgMYgAFIAogBARIgCglpbnRlcmZhY2UYBCABKAlCCLpIBXIDGIABSAOIAQFCCgoIX2FkZHJlc3NCBgoEX21hY0IHCgVfdXNlckIMCgpfaW50ZXJmYWNlIoMECg9NYWNoaW5lRlJVUXVlcnkSKgoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUIIukgFcgMYgAFIAIgBARIqChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgi6SAVyAxiAAUgBiAEBEiAKCWJvYXJkX21mZxgDIAEoCUIIukgFcgMYgAFIAogBARIjCgxib2FyZF9zZXJpYWwYBCABKAlCCLpIBXIDGIABSAOIAQESKAoRYm9hcmRfcGFydF9udW1iZXIYBSABKAlCCLpIBXIDGIABSASIAQESKwoUcHJvZHVjdF9tYW51ZmFjdHVyZXIYBiABKAlCCLpIBXIDGIABSAWIAQESKgoTcHJvZHVjdF9wYXJ0X251bWJlchgHIAEoCUIIukgFcgMYgAFIBogBARIlCg5wcm9kdWN0X3NlcmlhbBgIIAEoCUIIukgFcgMYgAFIB4gBAUIWChRfY2hhc3Npc19wYXJ0X251bWJlckIWChRfY2hhc3Npc19wYXJ0X3NlcmlhbEIMCgpfYm9hcmRfbWZnQg8KDV9ib2FyZF9zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwiXAoUTWFjaGluZUhhcmR3YXJlUXVlcnkSEwoGbWVtb3J5GAEgASgESACIAQESFgoJY3B1X2NvcmVzGAIgASgNSAGIAQFCCQoHX21lbW9yeUIMCgpfY3B1X2NvcmVzIuACChJNYWNoaW5lSXNzdWVzUXVlcnkSNgoNbWFjaGluZV9xdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRJACgRvbmx5GAIgAygOMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlVHlwZUINukgKkgEHIgWCAQIQARJACgRvbWl0GAMgAygOMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlVHlwZUINukgKkgEHIgWCAQIQARJICghzZXZlcml0eRgEIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVNldmVyaXR5Qgi6SAWCAQIQAUgAiAEBEjcKFGxhc3RfZXJyb3JfdGhyZXNob2xkGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQgsKCV9zZXZlcml0eSJYCg1NYWNoaW5lSXNzdWVzEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEi8KBmlzc3VlcxgCIAMoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZSLnAQoMTWFjaGluZUlzc3VlEjsKBHR5cGUYASABKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQgi6SAWCAQIQARJDCghzZXZlcml0eRgCIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVNldmVyaXR5Qgi6SAWCAQIQARIgCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgESIgoNcmVmZXJlbmNlX3VybBgEIAEoCUILukgIcgbgs66xAgESDwoHZGV0YWlscxgFIAEoCSplCgpJUFByb3RvY29sEhsKF0lQX1BST1RPQ09MX1VOU1BFQ0lGSUVEEAASHAoPSVBfUFJPVE9DT0xfVENQEAEaB4KyGQN0Y3ASHAoPSVBfUFJPVE9DT0xfVURQEAIaB4KyGQN1ZHAqrQEKDE1hY2hpbmVTdGF0ZRIjChlNQUNISU5FX1NUQVRFX1VOU1BFQ0lGSUVEEAAaBIKyGQASJgoVTUFDSElORV9TVEFURV9UQUlOVEVEEAEaC4KyGQd0YWludGVkEiQKFE1BQ0hJTkVfU1RBVEVfTE9DS0VEEAIaCoKyGQZsb2NrZWQSKgoXTUFDSElORV9TVEFURV9BVkFJTEFCTEUQAxoNgrIZCWF2YWlsYWJsZSrfAQodTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGUSNgosTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABI9CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9DUkFTSExPT1AQARoNgrIZCWNyYXNobG9vcBJHCi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9GQUlMRURfUkVDTEFJTRACGhKCshkOZmFpbGVkLXJlY2xhaW0qnwYKHE1hY2hpbmVQcm92aXNpb25pbmdFdmVudFR5cGUSLworTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEjQKJU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQUxJVkUQARoJgrIZBUFsaXZlEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQ1JBU0hFRBACGguCshkHQ3Jhc2hlZBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BYRV9CT09USU5HEAMaD4KyGQtQWEUgQm9vdGluZxJGCi5NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BMQU5ORURfUkVCT09UEAQaEoKyGQ5QbGFubmVkIFJlYm9vdBI8CilNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BSRVBBUklORxAFGg2CshkJUHJlcGFyaW5nEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUkVHSVNURVJJTkcQBhoPgrIZC1JlZ2lzdGVyaW5nEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfV0FJVElORxAHGguCshkHV2FpdGluZxI+CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0lOU1RBTExJTkcQCBoOgrIZCkluc3RhbGxpbmcSTgoyTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9CT09USU5HX05FV19LRVJORUwQCRoWgrIZEkJvb3RpbmcgTmV3IEtlcm5lbBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BIT05FRF9IT01FEAoaD4KyGQtQaG9uZWQgSG9tZRJICi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX01BQ0hJTkVfUkVDTEFJTRALGhOCshkPTWFjaGluZSBSZWNsYWltKroBChFNYWNoaW5lTGl2ZWxpbmVzcxIoCh5NQUNISU5FX0xJVkVMSU5FU1NfVU5TUEVDSUZJRUQQABoEgrIZABInChhNQUNISU5FX0xJVkVMSU5FU1NfQUxJVkUQARoJgrIZBWFsaXZlEiUKF01BQ0hJTkVfTElWRUxJTkVTU19ERUFEEAIaCIKyGQRkZWFkEisKGk1BQ0hJTkVfTElWRUxJTkVTU19VTktOT1dOEAMaC4KyGQd1bmtub3duKqwBChVNYWNoaW5lQWxsb2NhdGlvblR5cGUSLQojTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABoEgrIZABIwCh9NQUNISU5FX0FMTE9DQVRJT05fVFlQRV9NQUNISU5FEAEaC4KyGQdtYWNoaW5lEjIKIE1BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX0ZJUkVXQUxMEAIaDIKyGQhmaXJld2FsbCr+BAoRTWFjaGluZUJNQ0NvbW1hbmQSIwofTUFDSElORV9CTUNfQ09NTUFORF9VTlNQRUNJRklFRBAAEiIKFk1BQ0hJTkVfQk1DX0NPTU1BTkRfT04QARoGgrIZAm9uEiQKF01BQ0hJTkVfQk1DX0NPTU1BTkRfT0ZGEAIaB4KyGQNvZmYSKAoZTUFDSElORV9CTUNfQ09NTUFORF9SRVNFVBADGgmCshkFcmVzZXQSKAoZTUFDSElORV9CTUNfQ09NTUFORF9DWUNMRRAEGgmCshkFY3ljbGUSNgogTUFDSElORV9CTUNfQ09NTUFORF9CT09UX1RPX0JJT1MQBRoQgrIZDGJvb3QtdG8tYmlvcxI6CiJNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9ESVNLEAYaEoKyGQ5ib290LWZyb20tZGlzaxI4CiFNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9QWEUQBxoRgrIZDWJvb3QtZnJvbS1weGUSPAojTUFDSElORV9CTUNfQ09NTUFORF9JREVOVElGWV9MRURfT04QCBoTgrIZD2lkZW50aWZ5LWxlZC1vbhI+CiRNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PRkYQCRoUgrIZEGlkZW50aWZ5LWxlZC1vZmYSPAojTUFDSElORV9CTUNfQ09NTUFORF9NQUNISU5FX0RFTEVURUQQChoTgrIZD21hY2hpbmUtZGVsZXRlZBI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfQ1JFQVRFRBALGhOCshkPbWFjaGluZS1jcmVhdGVkKvMGChBNYWNoaW5lSXNzdWVUeXBlEiIKHk1BQ0hJTkVfSVNTVUVfVFlQRV9VTlNQRUNJRklFRBAAEjkKIU1BQ0hJTkVfSVNTVUVfVFlQRV9BU05fVU5JUVVFTkVTUxABGhKCshkOYXNuLW5vdC11bmlxdWUSPwokTUFDSElORV9JU1NVRV9UWVBFX0JNQ19JTkZPX09VVERBVEVEEAIaFYKyGRFibWMtaW5mby1vdXRkYXRlZBJCCiZNQUNISU5FX0lTU1VFX1RZUEVfQk1DX05PTl9ESVNUSU5DVF9JUBADGhaCshkSYm1jLW5vLWRpc3RpbmN0LWlwEjkKIU1BQ0hJTkVfSVNTVUVfVFlQRV9CTUNfV0lUSE9VVF9JUBAEGhKCshkOYm1jLXdpdGhvdXQtaXASOwoiTUFDSElORV9JU1NVRV9UWVBFX0JNQ19XSVRIT1VUX01BQxAFGhOCshkPYm1jLXdpdGhvdXQtbWFjEjAKHU1BQ0hJTkVfSVNTVUVfVFlQRV9DUkFTSF9MT09QEAYaDYKyGQljcmFzaGxvb3ASSQopTUFDSElORV9JU1NVRV9UWVBFX0ZBSUxFRF9NQUNISU5FX1JFQ0xBSU0QBxoagrIZFmZhaWxlZC1tYWNoaW5lLXJlY2xhaW0SPQojTUFDSElORV9JU1NVRV9UWVBFX0xBU1RfRVZFTlRfRVJST1IQCBoUgrIZEGxhc3QtZXZlbnQtZXJyb3ISOwoiTUFDSElORV9JU1NVRV9UWVBFX0xJVkVMSU5FU1NfREVBRBAJGhOCshkPbGl2ZWxpbmVzcy1kZWFkEk0KK01BQ0hJTkVfSVNTVUVfVFlQRV9MSVZFTElORVNTX05PVF9BVkFJTEFCTEUQChocgrIZGGxpdmVsaW5lc3Mtbm90LWF2YWlsYWJsZRJBCiVNQUNISU5FX0lTU1VFX1RZUEVfTElWRUxJTkVTU19VTktOT1dOEAsaFoKyGRJsaXZlbGluZXNzLXVua25vd24SQQolTUFDSElORV9JU1NVRV9UWVBFX05PX0VWRU5UX0NPTlRBSU5FUhAMGhaCshkSbm8tZXZlbnQtY29udGFpbmVyEjUKH01BQ0hJTkVfSVNTVUVfVFlQRV9OT19QQVJUSVRJT04QDRoQgrIZDG5vLXBhcnRpdGlvbirLAQoUTWFjaGluZUlzc3VlU2V2ZXJpdHkSJgoiTUFDSElORV9JU1NVRV9TRVZFUklUWV9VTlNQRUNJRklFRBAAEisKHE1BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfTUlOT1IQARoJgrIZBW1pbm9yEisKHE1BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfTUFKT1IQAhoJgrIZBW1ham9yEjEKH01BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfQ1JJVElDQUwQAxoMgrIZCGNyaXRpY2FsMtEGCg5NYWNoaW5lU2VydmljZRJtCgNHZXQSKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZDcmVhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBlVwZGF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAEScAoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZSILyvMYAwECA+DzGAISdQoGRGVsZXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXNwb25zZSIKyvMYAgEC4PMYARKBAQoKQk1DQ29tbWFuZBIyLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlcXVlc3QaMy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXNwb25zZSIKyvMYAgEC4PMYARJ1CgZHZXRCTUMSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlIgrK8xgCAQLg8xgBQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDE1hY2hpbmVQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_duration, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_filesystem, file_metalstack_api_v2_image, file_metalstack_api_v2_network, file_metalstack_api_v2_partition, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_size]); /** * MachineServiceGetRequest is the request payload for a machine get request. @@ -532,18 +532,11 @@ export const MachineServiceGetBMCRequestSchema: GenMessage & { /** - * UUID of the machine. - * - * @generated from field: string uuid = 1; - */ - uuid: string; - - /** - * BMC contains the BMC details of this machine. + * BMCDetails contains the BMC details of this machine. * - * @generated from field: metalstack.api.v2.MachineBMCReport bmc = 2; + * @generated from field: metalstack.api.v2.MachineBMCDetails bmc_details = 6; */ - bmc?: MachineBMCReport | undefined; + bmcDetails?: MachineBMCDetails | undefined; }; /** @@ -1328,58 +1321,121 @@ export type MachineChassisIdentifyLEDState = Message<"metalstack.api.v2.MachineC export const MachineChassisIdentifyLEDStateSchema: GenMessage = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 29); +/** + * MachineBMCDetails contains machine and bmc details of a machine. + * + * @generated from message metalstack.api.v2.MachineBMCDetails + */ +export type MachineBMCDetails = Message<"metalstack.api.v2.MachineBMCDetails"> & { + /** + * UUID of this machine. + * + * @generated from field: string uuid = 1; + */ + uuid: string; + + /** + * Partition where this machine resides. + * + * @generated from field: string partition = 2; + */ + partition: string; + + /** + * Rack where this machine is located. + * + * @generated from field: string rack = 3; + */ + rack: string; + + /** + * Room where this machine is located. + * + * @generated from field: string room = 4; + */ + room: string; + + /** + * Size of this machine. + * + * @generated from field: string size = 5; + */ + size: string; + + /** + * BMCReport contains the bmc details. + * + * @generated from field: metalstack.api.v2.MachineBMCReport bmc_report = 6; + */ + bmcReport?: MachineBMCReport | undefined; +}; + +/** + * Describes the message metalstack.api.v2.MachineBMCDetails. + * Use `create(MachineBMCDetailsSchema)` to create a new message. + */ +export const MachineBMCDetailsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_machine, 30); + /** * MachineBMCReport is sent from the metal-bmc to update bmc and power related details. * * @generated from message metalstack.api.v2.MachineBMCReport */ export type MachineBMCReport = Message<"metalstack.api.v2.MachineBMCReport"> & { + /** + * UUID of the machine. + * + * @generated from field: string uuid = 1; + */ + uuid: string; + /** * Bmc contains bmc details. * - * @generated from field: metalstack.api.v2.MachineBMC bmc = 1; + * @generated from field: metalstack.api.v2.MachineBMC bmc = 2; */ bmc?: MachineBMC | undefined; /** * Bios contains bios details. * - * @generated from field: metalstack.api.v2.MachineBios bios = 2; + * @generated from field: metalstack.api.v2.MachineBios bios = 3; */ bios?: MachineBios | undefined; /** * Fru contains field replaceable unit details. * - * @generated from field: metalstack.api.v2.MachineFRU fru = 3; + * @generated from field: metalstack.api.v2.MachineFRU fru = 4; */ fru?: MachineFRU | undefined; /** * PowerMetric contains the power statistics of the machine. * - * @generated from field: metalstack.api.v2.MachinePowerMetric power_metric = 4; + * @generated from field: metalstack.api.v2.MachinePowerMetric power_metric = 5; */ powerMetric?: MachinePowerMetric | undefined; /** * PowerSupplies contains details about all power supplies and their state. * - * @generated from field: repeated metalstack.api.v2.MachinePowerSupply power_supplies = 5; + * @generated from field: repeated metalstack.api.v2.MachinePowerSupply power_supplies = 6; */ powerSupplies: MachinePowerSupply[]; /** * LedState indicates the state of the indicator LED on this machine. * - * @generated from field: metalstack.api.v2.MachineChassisIdentifyLEDState led_state = 6; + * @generated from field: metalstack.api.v2.MachineChassisIdentifyLEDState led_state = 7; */ ledState?: MachineChassisIdentifyLEDState | undefined; /** * UpdatedAt contains the date when this data was last updated. * - * @generated from field: google.protobuf.Timestamp updated_at = 7; + * @generated from field: google.protobuf.Timestamp updated_at = 8; */ updatedAt?: Timestamp | undefined; }; @@ -1389,7 +1445,7 @@ export type MachineBMCReport = Message<"metalstack.api.v2.MachineBMCReport"> & { * Use `create(MachineBMCReportSchema)` to create a new message. */ export const MachineBMCReportSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 30); + messageDesc(file_metalstack_api_v2_machine, 31); /** * MachineBios contains BIOS details of this machine. @@ -1424,7 +1480,7 @@ export type MachineBios = Message<"metalstack.api.v2.MachineBios"> & { * Use `create(MachineBiosSchema)` to create a new message. */ export const MachineBiosSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 31); + messageDesc(file_metalstack_api_v2_machine, 32); /** * MachineBMC describe details of the ipmi or out of band device. @@ -1487,7 +1543,7 @@ export type MachineBMC = Message<"metalstack.api.v2.MachineBMC"> & { * Use `create(MachineBMCSchema)` to create a new message. */ export const MachineBMCSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 32); + messageDesc(file_metalstack_api_v2_machine, 33); /** * MachineFRU describes details to the machine which are required in case of a necessary replacement. @@ -1557,7 +1613,7 @@ export type MachineFRU = Message<"metalstack.api.v2.MachineFRU"> & { * Use `create(MachineFRUSchema)` to create a new message. */ export const MachineFRUSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 33); + messageDesc(file_metalstack_api_v2_machine, 34); /** * MachinePowerMetric contains metrics of the power consumption of a machine. @@ -1600,7 +1656,7 @@ export type MachinePowerMetric = Message<"metalstack.api.v2.MachinePowerMetric"> * Use `create(MachinePowerMetricSchema)` to create a new message. */ export const MachinePowerMetricSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 34); + messageDesc(file_metalstack_api_v2_machine, 35); /** * MachinePowerSupply contains details of the power supply of a machine. @@ -1628,7 +1684,7 @@ export type MachinePowerSupply = Message<"metalstack.api.v2.MachinePowerSupply"> * Use `create(MachinePowerSupplySchema)` to create a new message. */ export const MachinePowerSupplySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 35); + messageDesc(file_metalstack_api_v2_machine, 36); /** * MachineRecentProvisioningEvents the recent provisioning events for this machine. @@ -1670,7 +1726,7 @@ export type MachineRecentProvisioningEvents = Message<"metalstack.api.v2.Machine * Use `create(MachineRecentProvisioningEventsSchema)` to create a new message. */ export const MachineRecentProvisioningEventsSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 36); + messageDesc(file_metalstack_api_v2_machine, 37); /** * MachineProvisioningEvent is an event that has occurred during provisioning. @@ -1705,7 +1761,7 @@ export type MachineProvisioningEvent = Message<"metalstack.api.v2.MachineProvisi * Use `create(MachineProvisioningEventSchema)` to create a new message. */ export const MachineProvisioningEventSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 37); + messageDesc(file_metalstack_api_v2_machine, 38); /** * MachineVPN contains configuration data for the VPN connection. @@ -1747,7 +1803,7 @@ export type MachineVPN = Message<"metalstack.api.v2.MachineVPN"> & { * Use `create(MachineVPNSchema)` to create a new message. */ export const MachineVPNSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 38); + messageDesc(file_metalstack_api_v2_machine, 39); /** * MachineQuery contains fields which can be specified to list specific machines. @@ -1890,7 +1946,7 @@ export type MachineQuery = Message<"metalstack.api.v2.MachineQuery"> & { * Use `create(MachineQuerySchema)` to create a new message. */ export const MachineQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 39); + messageDesc(file_metalstack_api_v2_machine, 40); /** * MachineAllocationQuery allocation specific query parameters. @@ -1967,7 +2023,7 @@ export type MachineAllocationQuery = Message<"metalstack.api.v2.MachineAllocatio * Use `create(MachineAllocationQuerySchema)` to create a new message. */ export const MachineAllocationQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 40); + messageDesc(file_metalstack_api_v2_machine, 41); /** * MachineNetworkQuery network specific machine queries. @@ -2023,7 +2079,7 @@ export type MachineNetworkQuery = Message<"metalstack.api.v2.MachineNetworkQuery * Use `create(MachineNetworkQuerySchema)` to create a new message. */ export const MachineNetworkQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 41); + messageDesc(file_metalstack_api_v2_machine, 42); /** * MachineNicQuery nic specific machine queries. @@ -2065,7 +2121,7 @@ export type MachineNicQuery = Message<"metalstack.api.v2.MachineNicQuery"> & { * Use `create(MachineNicQuerySchema)` to create a new message. */ export const MachineNicQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 42); + messageDesc(file_metalstack_api_v2_machine, 43); /** * MachineDiskQuery disk specific machine queries. @@ -2093,7 +2149,7 @@ export type MachineDiskQuery = Message<"metalstack.api.v2.MachineDiskQuery"> & { * Use `create(MachineDiskQuerySchema)` to create a new message. */ export const MachineDiskQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 43); + messageDesc(file_metalstack_api_v2_machine, 44); /** * MachineBMCQuery machine ipmi or bmc specific machine queries. @@ -2135,7 +2191,7 @@ export type MachineBMCQuery = Message<"metalstack.api.v2.MachineBMCQuery"> & { * Use `create(MachineBMCQuerySchema)` to create a new message. */ export const MachineBMCQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 44); + messageDesc(file_metalstack_api_v2_machine, 45); /** * MachineFRUQuery machine fru specific machine queries. @@ -2205,7 +2261,7 @@ export type MachineFRUQuery = Message<"metalstack.api.v2.MachineFRUQuery"> & { * Use `create(MachineFRUQuerySchema)` to create a new message. */ export const MachineFRUQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 45); + messageDesc(file_metalstack_api_v2_machine, 46); /** * MachineHardwareQuery machine hardware specific machine queries. @@ -2233,7 +2289,7 @@ export type MachineHardwareQuery = Message<"metalstack.api.v2.MachineHardwareQue * Use `create(MachineHardwareQuerySchema)` to create a new message. */ export const MachineHardwareQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 46); + messageDesc(file_metalstack_api_v2_machine, 47); /** * MachineIssuesQuery defines which machine issues should be listed. @@ -2282,7 +2338,7 @@ export type MachineIssuesQuery = Message<"metalstack.api.v2.MachineIssuesQuery"> * Use `create(MachineIssuesQuerySchema)` to create a new message. */ export const MachineIssuesQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 47); + messageDesc(file_metalstack_api_v2_machine, 48); /** * MachineIssues is a list of issues for a machine. @@ -2310,7 +2366,7 @@ export type MachineIssues = Message<"metalstack.api.v2.MachineIssues"> & { * Use `create(MachineIssuesSchema)` to create a new message. */ export const MachineIssuesSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 48); + messageDesc(file_metalstack_api_v2_machine, 49); /** * MachineIssue contains details of one issue. @@ -2359,7 +2415,7 @@ export type MachineIssue = Message<"metalstack.api.v2.MachineIssue"> & { * Use `create(MachineIssueSchema)` to create a new message. */ export const MachineIssueSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 49); + messageDesc(file_metalstack_api_v2_machine, 50); /** * IPProtocol defines tcp|udp. diff --git a/js/metalstack/infra/v2/bmc_pb.d.ts b/js/metalstack/infra/v2/bmc_pb.d.ts index 858cf267..fd4259ba 100644 --- a/js/metalstack/infra/v2/bmc_pb.d.ts +++ b/js/metalstack/infra/v2/bmc_pb.d.ts @@ -18,13 +18,11 @@ export type UpdateBMCInfoRequest = Message<"metalstack.infra.v2.UpdateBMCInfoReq */ partition: string; /** - * BmcReports maps the BMC report per machine UUID. + * BmcReports contains bmc details of a machine. * - * @generated from field: map bmc_reports = 2; + * @generated from field: repeated metalstack.api.v2.MachineBMCReport bmc_reports = 2; */ - bmcReports: { - [key: string]: MachineBMCReport; - }; + bmcReports: MachineBMCReport[]; }; /** * Describes the message metalstack.infra.v2.UpdateBMCInfoRequest. diff --git a/js/metalstack/infra/v2/bmc_pb.js b/js/metalstack/infra/v2/bmc_pb.js index 8254dcb0..ed280db8 100644 --- a/js/metalstack/infra/v2/bmc_pb.js +++ b/js/metalstack/infra/v2/bmc_pb.js @@ -9,7 +9,7 @@ import { file_metalstack_api_v2_predefined_rules } from "../../api/v2/predefined /** * Describes the file metalstack/infra/v2/bmc.proto. */ -export const file_metalstack_infra_v2_bmc = /*@__PURE__*/ fileDesc("Ch1tZXRhbHN0YWNrL2luZnJhL3YyL2JtYy5wcm90bxITbWV0YWxzdGFjay5pbmZyYS52MiLtAQoUVXBkYXRlQk1DSW5mb1JlcXVlc3QSHgoJcGFydGl0aW9uGAEgASgJQgu6SAhyBtCzrrECARJdCgtibWNfcmVwb3J0cxgCIAMoCzI5Lm1ldGFsc3RhY2suaW5mcmEudjIuVXBkYXRlQk1DSW5mb1JlcXVlc3QuQm1jUmVwb3J0c0VudHJ5Qg26SAqaAQciBXIDsAEBGlYKD0JtY1JlcG9ydHNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DUmVwb3J0OgI4ASJLChVVcGRhdGVCTUNJbmZvUmVzcG9uc2USGAoQdXBkYXRlZF9tYWNoaW5lcxgBIAMoCRIYChBjcmVhdGVkX21hY2hpbmVzGAIgAygJIjoKGFdhaXRGb3JCTUNDb21tYW5kUmVxdWVzdBIeCglwYXJ0aXRpb24YASABKAlCC7pICHIG0LOusQIBIrYBChlXYWl0Rm9yQk1DQ29tbWFuZFJlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjkKC2JtY19jb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmQSMgoLbWFjaGluZV9ibWMYAyABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DEhIKCmNvbW1hbmRfaWQYBCABKAkiSQoVQk1DQ29tbWFuZERvbmVSZXF1ZXN0EhIKCmNvbW1hbmRfaWQYASABKAkSEgoFZXJyb3IYAiABKAlIAIgBAUIICgZfZXJyb3IiGAoWQk1DQ29tbWFuZERvbmVSZXNwb25zZTL2AgoKQk1DU2VydmljZRJxCg1VcGRhdGVCTUNJbmZvEikubWV0YWxzdGFjay5pbmZyYS52Mi5VcGRhdGVCTUNJbmZvUmVxdWVzdBoqLm1ldGFsc3RhY2suaW5mcmEudjIuVXBkYXRlQk1DSW5mb1Jlc3BvbnNlIgng8xgC6vMYAQESfwoRV2FpdEZvckJNQ0NvbW1hbmQSLS5tZXRhbHN0YWNrLmluZnJhLnYyLldhaXRGb3JCTUNDb21tYW5kUmVxdWVzdBouLm1ldGFsc3RhY2suaW5mcmEudjIuV2FpdEZvckJNQ0NvbW1hbmRSZXNwb25zZSIJ4PMYAurzGAEBMAESdAoOQk1DQ29tbWFuZERvbmUSKi5tZXRhbHN0YWNrLmluZnJhLnYyLkJNQ0NvbW1hbmREb25lUmVxdWVzdBorLm1ldGFsc3RhY2suaW5mcmEudjIuQk1DQ29tbWFuZERvbmVSZXNwb25zZSIJ4PMYAerzGAEBQswBChdjb20ubWV0YWxzdGFjay5pbmZyYS52MkIIQm1jUHJvdG9QAVo5Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9pbmZyYS92MjtpbmZyYXYyogIDTUlYqgITTWV0YWxzdGFjay5JbmZyYS5WMsoCE01ldGFsc3RhY2tcSW5mcmFcVjLiAh9NZXRhbHN0YWNrXEluZnJhXFYyXEdQQk1ldGFkYXRh6gIVTWV0YWxzdGFjazo6SW5mcmE6OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_machine, file_metalstack_api_v2_predefined_rules]); +export const file_metalstack_infra_v2_bmc = /*@__PURE__*/ fileDesc("Ch1tZXRhbHN0YWNrL2luZnJhL3YyL2JtYy5wcm90bxITbWV0YWxzdGFjay5pbmZyYS52MiJwChRVcGRhdGVCTUNJbmZvUmVxdWVzdBIeCglwYXJ0aXRpb24YASABKAlCC7pICHIG0LOusQIBEjgKC2JtY19yZXBvcnRzGAIgAygLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydCJLChVVcGRhdGVCTUNJbmZvUmVzcG9uc2USGAoQdXBkYXRlZF9tYWNoaW5lcxgBIAMoCRIYChBjcmVhdGVkX21hY2hpbmVzGAIgAygJIjoKGFdhaXRGb3JCTUNDb21tYW5kUmVxdWVzdBIeCglwYXJ0aXRpb24YASABKAlCC7pICHIG0LOusQIBIrYBChlXYWl0Rm9yQk1DQ29tbWFuZFJlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjkKC2JtY19jb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmQSMgoLbWFjaGluZV9ibWMYAyABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DEhIKCmNvbW1hbmRfaWQYBCABKAkiSQoVQk1DQ29tbWFuZERvbmVSZXF1ZXN0EhIKCmNvbW1hbmRfaWQYASABKAkSEgoFZXJyb3IYAiABKAlIAIgBAUIICgZfZXJyb3IiGAoWQk1DQ29tbWFuZERvbmVSZXNwb25zZTL2AgoKQk1DU2VydmljZRJxCg1VcGRhdGVCTUNJbmZvEikubWV0YWxzdGFjay5pbmZyYS52Mi5VcGRhdGVCTUNJbmZvUmVxdWVzdBoqLm1ldGFsc3RhY2suaW5mcmEudjIuVXBkYXRlQk1DSW5mb1Jlc3BvbnNlIgng8xgC6vMYAQESfwoRV2FpdEZvckJNQ0NvbW1hbmQSLS5tZXRhbHN0YWNrLmluZnJhLnYyLldhaXRGb3JCTUNDb21tYW5kUmVxdWVzdBouLm1ldGFsc3RhY2suaW5mcmEudjIuV2FpdEZvckJNQ0NvbW1hbmRSZXNwb25zZSIJ4PMYAurzGAEBMAESdAoOQk1DQ29tbWFuZERvbmUSKi5tZXRhbHN0YWNrLmluZnJhLnYyLkJNQ0NvbW1hbmREb25lUmVxdWVzdBorLm1ldGFsc3RhY2suaW5mcmEudjIuQk1DQ29tbWFuZERvbmVSZXNwb25zZSIJ4PMYAerzGAEBQswBChdjb20ubWV0YWxzdGFjay5pbmZyYS52MkIIQm1jUHJvdG9QAVo5Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9pbmZyYS92MjtpbmZyYXYyogIDTUlYqgITTWV0YWxzdGFjay5JbmZyYS5WMsoCE01ldGFsc3RhY2tcSW5mcmFcVjLiAh9NZXRhbHN0YWNrXEluZnJhXFYyXEdQQk1ldGFkYXRh6gIVTWV0YWxzdGFjazo6SW5mcmE6OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_machine, file_metalstack_api_v2_predefined_rules]); /** * Describes the message metalstack.infra.v2.UpdateBMCInfoRequest. * Use `create(UpdateBMCInfoRequestSchema)` to create a new message. diff --git a/js/metalstack/infra/v2/bmc_pb.ts b/js/metalstack/infra/v2/bmc_pb.ts index c64b51b8..2148bdbf 100644 --- a/js/metalstack/infra/v2/bmc_pb.ts +++ b/js/metalstack/infra/v2/bmc_pb.ts @@ -15,7 +15,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file metalstack/infra/v2/bmc.proto. */ export const file_metalstack_infra_v2_bmc: GenFile = /*@__PURE__*/ - fileDesc("Ch1tZXRhbHN0YWNrL2luZnJhL3YyL2JtYy5wcm90bxITbWV0YWxzdGFjay5pbmZyYS52MiLtAQoUVXBkYXRlQk1DSW5mb1JlcXVlc3QSHgoJcGFydGl0aW9uGAEgASgJQgu6SAhyBtCzrrECARJdCgtibWNfcmVwb3J0cxgCIAMoCzI5Lm1ldGFsc3RhY2suaW5mcmEudjIuVXBkYXRlQk1DSW5mb1JlcXVlc3QuQm1jUmVwb3J0c0VudHJ5Qg26SAqaAQciBXIDsAEBGlYKD0JtY1JlcG9ydHNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DUmVwb3J0OgI4ASJLChVVcGRhdGVCTUNJbmZvUmVzcG9uc2USGAoQdXBkYXRlZF9tYWNoaW5lcxgBIAMoCRIYChBjcmVhdGVkX21hY2hpbmVzGAIgAygJIjoKGFdhaXRGb3JCTUNDb21tYW5kUmVxdWVzdBIeCglwYXJ0aXRpb24YASABKAlCC7pICHIG0LOusQIBIrYBChlXYWl0Rm9yQk1DQ29tbWFuZFJlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjkKC2JtY19jb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmQSMgoLbWFjaGluZV9ibWMYAyABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DEhIKCmNvbW1hbmRfaWQYBCABKAkiSQoVQk1DQ29tbWFuZERvbmVSZXF1ZXN0EhIKCmNvbW1hbmRfaWQYASABKAkSEgoFZXJyb3IYAiABKAlIAIgBAUIICgZfZXJyb3IiGAoWQk1DQ29tbWFuZERvbmVSZXNwb25zZTL2AgoKQk1DU2VydmljZRJxCg1VcGRhdGVCTUNJbmZvEikubWV0YWxzdGFjay5pbmZyYS52Mi5VcGRhdGVCTUNJbmZvUmVxdWVzdBoqLm1ldGFsc3RhY2suaW5mcmEudjIuVXBkYXRlQk1DSW5mb1Jlc3BvbnNlIgng8xgC6vMYAQESfwoRV2FpdEZvckJNQ0NvbW1hbmQSLS5tZXRhbHN0YWNrLmluZnJhLnYyLldhaXRGb3JCTUNDb21tYW5kUmVxdWVzdBouLm1ldGFsc3RhY2suaW5mcmEudjIuV2FpdEZvckJNQ0NvbW1hbmRSZXNwb25zZSIJ4PMYAurzGAEBMAESdAoOQk1DQ29tbWFuZERvbmUSKi5tZXRhbHN0YWNrLmluZnJhLnYyLkJNQ0NvbW1hbmREb25lUmVxdWVzdBorLm1ldGFsc3RhY2suaW5mcmEudjIuQk1DQ29tbWFuZERvbmVSZXNwb25zZSIJ4PMYAerzGAEBQswBChdjb20ubWV0YWxzdGFjay5pbmZyYS52MkIIQm1jUHJvdG9QAVo5Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9pbmZyYS92MjtpbmZyYXYyogIDTUlYqgITTWV0YWxzdGFjay5JbmZyYS5WMsoCE01ldGFsc3RhY2tcSW5mcmFcVjLiAh9NZXRhbHN0YWNrXEluZnJhXFYyXEdQQk1ldGFkYXRh6gIVTWV0YWxzdGFjazo6SW5mcmE6OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_machine, file_metalstack_api_v2_predefined_rules]); + fileDesc("Ch1tZXRhbHN0YWNrL2luZnJhL3YyL2JtYy5wcm90bxITbWV0YWxzdGFjay5pbmZyYS52MiJwChRVcGRhdGVCTUNJbmZvUmVxdWVzdBIeCglwYXJ0aXRpb24YASABKAlCC7pICHIG0LOusQIBEjgKC2JtY19yZXBvcnRzGAIgAygLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydCJLChVVcGRhdGVCTUNJbmZvUmVzcG9uc2USGAoQdXBkYXRlZF9tYWNoaW5lcxgBIAMoCRIYChBjcmVhdGVkX21hY2hpbmVzGAIgAygJIjoKGFdhaXRGb3JCTUNDb21tYW5kUmVxdWVzdBIeCglwYXJ0aXRpb24YASABKAlCC7pICHIG0LOusQIBIrYBChlXYWl0Rm9yQk1DQ29tbWFuZFJlc3BvbnNlEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjkKC2JtY19jb21tYW5kGAIgASgOMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ0NvbW1hbmQSMgoLbWFjaGluZV9ibWMYAyABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DEhIKCmNvbW1hbmRfaWQYBCABKAkiSQoVQk1DQ29tbWFuZERvbmVSZXF1ZXN0EhIKCmNvbW1hbmRfaWQYASABKAkSEgoFZXJyb3IYAiABKAlIAIgBAUIICgZfZXJyb3IiGAoWQk1DQ29tbWFuZERvbmVSZXNwb25zZTL2AgoKQk1DU2VydmljZRJxCg1VcGRhdGVCTUNJbmZvEikubWV0YWxzdGFjay5pbmZyYS52Mi5VcGRhdGVCTUNJbmZvUmVxdWVzdBoqLm1ldGFsc3RhY2suaW5mcmEudjIuVXBkYXRlQk1DSW5mb1Jlc3BvbnNlIgng8xgC6vMYAQESfwoRV2FpdEZvckJNQ0NvbW1hbmQSLS5tZXRhbHN0YWNrLmluZnJhLnYyLldhaXRGb3JCTUNDb21tYW5kUmVxdWVzdBouLm1ldGFsc3RhY2suaW5mcmEudjIuV2FpdEZvckJNQ0NvbW1hbmRSZXNwb25zZSIJ4PMYAurzGAEBMAESdAoOQk1DQ29tbWFuZERvbmUSKi5tZXRhbHN0YWNrLmluZnJhLnYyLkJNQ0NvbW1hbmREb25lUmVxdWVzdBorLm1ldGFsc3RhY2suaW5mcmEudjIuQk1DQ29tbWFuZERvbmVSZXNwb25zZSIJ4PMYAerzGAEBQswBChdjb20ubWV0YWxzdGFjay5pbmZyYS52MkIIQm1jUHJvdG9QAVo5Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9pbmZyYS92MjtpbmZyYXYyogIDTUlYqgITTWV0YWxzdGFjay5JbmZyYS5WMsoCE01ldGFsc3RhY2tcSW5mcmFcVjLiAh9NZXRhbHN0YWNrXEluZnJhXFYyXEdQQk1ldGFkYXRh6gIVTWV0YWxzdGFjazo6SW5mcmE6OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_machine, file_metalstack_api_v2_predefined_rules]); /** * UpdateBMCInfoRequest is the request payload for updating BMC information. @@ -31,11 +31,11 @@ export type UpdateBMCInfoRequest = Message<"metalstack.infra.v2.UpdateBMCInfoReq partition: string; /** - * BmcReports maps the BMC report per machine UUID. + * BmcReports contains bmc details of a machine. * - * @generated from field: map bmc_reports = 2; + * @generated from field: repeated metalstack.api.v2.MachineBMCReport bmc_reports = 2; */ - bmcReports: { [key: string]: MachineBMCReport }; + bmcReports: MachineBMCReport[]; }; /** diff --git a/proto/metalstack/admin/v2/machine.proto b/proto/metalstack/admin/v2/machine.proto index a74f3fac..c934f06f 100644 --- a/proto/metalstack/admin/v2/machine.proto +++ b/proto/metalstack/admin/v2/machine.proto @@ -122,26 +122,20 @@ message MachineServiceGetBMCRequest { // MachineServiceGetBMCResponse is the response payload for a machine getbmc request. message MachineServiceGetBMCResponse { - // UUID of the machine. - string uuid = 1 [(buf.validate.field).string.uuid = true]; - // BMC contains the BMC details of this machine. - metalstack.api.v2.MachineBMCReport bmc = 2; + // BMCDetails of the machine. + metalstack.api.v2.MachineBMCDetails bmc_details = 1; } // MachineServiceListBMCRequest is the request payload for a machine listbmc request. message MachineServiceListBMCRequest { // Query to list one or more BMCs of many machines. - metalstack.api.v2.MachineBMCQuery query = 1; + metalstack.api.v2.MachineQuery query = 1; } // MachineServiceListBMCResponse is the response payload for a machine listbmc request. message MachineServiceListBMCResponse { - // BMCReports maps the bmc report per machine uuid. - map bmc_reports = 1 [(buf.validate.field).map = { - keys: { - string: {uuid: true} - } - }]; + // BMCDetails of the machines. + repeated metalstack.api.v2.MachineBMCDetails bmc_details = 1; } // MachineServiceConsolePasswordRequest is the request payload for getting the console password. diff --git a/proto/metalstack/api/v2/machine.proto b/proto/metalstack/api/v2/machine.proto index 8b5f40cf..2a529302 100644 --- a/proto/metalstack/api/v2/machine.proto +++ b/proto/metalstack/api/v2/machine.proto @@ -241,10 +241,8 @@ message MachineServiceGetBMCRequest { // MachineServiceGetBMCResponse is the response payload for a machine getbmc request. message MachineServiceGetBMCResponse { - // UUID of the machine. - string uuid = 1 [(buf.validate.field).string.uuid = true]; - // BMC contains the BMC details of this machine. - MachineBMCReport bmc = 2; + // BMCDetails contains the BMC details of this machine. + MachineBMCDetails bmc_details = 6; } // --------------- Types ---------------------------------------------------------- @@ -530,22 +528,40 @@ message MachineChassisIdentifyLEDState { string description = 2 [(buf.validate.field).string.(metalstack.api.v2.is_description) = true]; } +// MachineBMCDetails contains machine and bmc details of a machine. +message MachineBMCDetails { + // UUID of this machine. + string uuid = 1 [(buf.validate.field).string.uuid = true]; + // Partition where this machine resides. + string partition = 2 [(buf.validate.field).string = {max_len: 128}]; + // Rack where this machine is located. + string rack = 3 [(buf.validate.field).string = {max_len: 128}]; + // Room where this machine is located. + string room = 4 [(buf.validate.field).string = {max_len: 128}]; + // Size of this machine. + string size = 5 [(buf.validate.field).string = {max_len: 128}]; + // BMCReport contains the bmc details. + MachineBMCReport bmc_report = 6; +} + // MachineBMCReport is sent from the metal-bmc to update bmc and power related details. message MachineBMCReport { + // UUID of the machine. + string uuid = 1 [(buf.validate.field).string.uuid = true]; // Bmc contains bmc details. - MachineBMC bmc = 1; + MachineBMC bmc = 2; // Bios contains bios details. - MachineBios bios = 2; + MachineBios bios = 3; // Fru contains field replaceable unit details. - MachineFRU fru = 3; + MachineFRU fru = 4; // PowerMetric contains the power statistics of the machine. - MachinePowerMetric power_metric = 4; + MachinePowerMetric power_metric = 5; // PowerSupplies contains details about all power supplies and their state. - repeated MachinePowerSupply power_supplies = 5; + repeated MachinePowerSupply power_supplies = 6; // LedState indicates the state of the indicator LED on this machine. - MachineChassisIdentifyLEDState led_state = 6; + MachineChassisIdentifyLEDState led_state = 7; // UpdatedAt contains the date when this data was last updated. - google.protobuf.Timestamp updated_at = 7; + google.protobuf.Timestamp updated_at = 8; } // MachineBios contains BIOS details of this machine. diff --git a/proto/metalstack/infra/v2/bmc.proto b/proto/metalstack/infra/v2/bmc.proto index 16464fe2..4b42e34d 100644 --- a/proto/metalstack/infra/v2/bmc.proto +++ b/proto/metalstack/infra/v2/bmc.proto @@ -30,12 +30,8 @@ service BMCService { message UpdateBMCInfoRequest { // Partition is the partition ID where metal-bmc wants to receive events. string partition = 1 [(buf.validate.field).string.(metalstack.api.v2.is_partition) = true]; - // BmcReports maps the BMC report per machine UUID. - map bmc_reports = 2 [(buf.validate.field).map = { - keys: { - string: {uuid: true} - } - }]; + // BmcReports contains bmc details of a machine. + repeated metalstack.api.v2.MachineBMCReport bmc_reports = 2; } // UpdateBMCInfoResponse is the response payload for updating BMC information. diff --git a/python/metalstack/admin/v2/machine_pb2.py b/python/metalstack/admin/v2/machine_pb2.py index 5c99e714..7f451df2 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\";\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\x07machine\"Z\n\x1bMachineServiceIssuesRequest\x12;\n\x05query\x18\x01 \x01(\x0b\x32%.metalstack.api.v2.MachineIssuesQueryR\x05query\"X\n\x1cMachineServiceIssuesResponse\x12\x38\n\x06issues\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.MachineIssuesR\x06issues2\x83\t\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\x12y\n\x06Issues\x12\x30.metalstack.admin.v2.MachineServiceIssuesRequest\x1a\x31.metalstack.admin.v2.MachineServiceIssuesResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\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\"e\n\x1cMachineServiceGetBMCResponse\x12\x45\n\x0b\x62mc_details\x18\x01 \x01(\x0b\x32$.metalstack.api.v2.MachineBMCDetailsR\nbmcDetails\"U\n\x1cMachineServiceListBMCRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\"f\n\x1dMachineServiceListBMCResponse\x12\x45\n\x0b\x62mc_details\x18\x01 \x03(\x0b\x32$.metalstack.api.v2.MachineBMCDetailsR\nbmcDetails\"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\x07machine\"Z\n\x1bMachineServiceIssuesRequest\x12;\n\x05query\x18\x01 \x01(\x0b\x32%.metalstack.api.v2.MachineIssuesQueryR\x05query\"X\n\x1cMachineServiceIssuesResponse\x12\x38\n\x06issues\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.MachineIssuesR\x06issues2\x83\t\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\x12y\n\x06Issues\x12\x30.metalstack.admin.v2.MachineServiceIssuesRequest\x1a\x31.metalstack.admin.v2.MachineServiceIssuesResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\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) @@ -48,12 +48,6 @@ _globals['_MACHINESERVICEBMCCOMMANDREQUEST'].fields_by_name['command']._serialized_options = b'\272H\005\202\001\002\020\001' _globals['_MACHINESERVICEGETBMCREQUEST'].fields_by_name['uuid']._loaded_options = None _globals['_MACHINESERVICEGETBMCREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_MACHINESERVICEGETBMCRESPONSE'].fields_by_name['uuid']._loaded_options = None - _globals['_MACHINESERVICEGETBMCRESPONSE'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_MACHINESERVICELISTBMCRESPONSE_BMCREPORTSENTRY']._loaded_options = None - _globals['_MACHINESERVICELISTBMCRESPONSE_BMCREPORTSENTRY']._serialized_options = b'8\001' - _globals['_MACHINESERVICELISTBMCRESPONSE'].fields_by_name['bmc_reports']._loaded_options = None - _globals['_MACHINESERVICELISTBMCRESPONSE'].fields_by_name['bmc_reports']._serialized_options = b'\272H\n\232\001\007\"\005r\003\260\001\001' _globals['_MACHINESERVICECONSOLEPASSWORDREQUEST'].fields_by_name['uuid']._loaded_options = None _globals['_MACHINESERVICECONSOLEPASSWORDREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_MACHINESERVICECONSOLEPASSWORDREQUEST'].fields_by_name['reason']._loaded_options = None @@ -103,25 +97,23 @@ _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['_MACHINESERVICEISSUESREQUEST']._serialized_start=1878 - _globals['_MACHINESERVICEISSUESREQUEST']._serialized_end=1968 - _globals['_MACHINESERVICEISSUESRESPONSE']._serialized_start=1970 - _globals['_MACHINESERVICEISSUESRESPONSE']._serialized_end=2058 - _globals['_MACHINESERVICE']._serialized_start=2061 - _globals['_MACHINESERVICE']._serialized_end=3216 + _globals['_MACHINESERVICEGETBMCRESPONSE']._serialized_end=1053 + _globals['_MACHINESERVICELISTBMCREQUEST']._serialized_start=1055 + _globals['_MACHINESERVICELISTBMCREQUEST']._serialized_end=1140 + _globals['_MACHINESERVICELISTBMCRESPONSE']._serialized_start=1142 + _globals['_MACHINESERVICELISTBMCRESPONSE']._serialized_end=1244 + _globals['_MACHINESERVICECONSOLEPASSWORDREQUEST']._serialized_start=1246 + _globals['_MACHINESERVICECONSOLEPASSWORDREQUEST']._serialized_end=1350 + _globals['_MACHINESERVICECONSOLEPASSWORDRESPONSE']._serialized_start=1352 + _globals['_MACHINESERVICECONSOLEPASSWORDRESPONSE']._serialized_end=1449 + _globals['_MACHINESERVICESETSTATEREQUEST']._serialized_start=1452 + _globals['_MACHINESERVICESETSTATEREQUEST']._serialized_end=1625 + _globals['_MACHINESERVICESETSTATERESPONSE']._serialized_start=1627 + _globals['_MACHINESERVICESETSTATERESPONSE']._serialized_end=1713 + _globals['_MACHINESERVICEISSUESREQUEST']._serialized_start=1715 + _globals['_MACHINESERVICEISSUESREQUEST']._serialized_end=1805 + _globals['_MACHINESERVICEISSUESRESPONSE']._serialized_start=1807 + _globals['_MACHINESERVICEISSUESRESPONSE']._serialized_end=1895 + _globals['_MACHINESERVICE']._serialized_start=1898 + _globals['_MACHINESERVICE']._serialized_end=3053 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/admin/v2/machine_pb2.pyi b/python/metalstack/admin/v2/machine_pb2.pyi index a75325ce..ab71fb3a 100644 --- a/python/metalstack/admin/v2/machine_pb2.pyi +++ b/python/metalstack/admin/v2/machine_pb2.pyi @@ -67,31 +67,22 @@ class MachineServiceGetBMCRequest(_message.Message): def __init__(self, uuid: _Optional[str] = ...) -> None: ... class MachineServiceGetBMCResponse(_message.Message): - __slots__ = ("uuid", "bmc") - UUID_FIELD_NUMBER: _ClassVar[int] - BMC_FIELD_NUMBER: _ClassVar[int] - uuid: str - bmc: _machine_pb2.MachineBMCReport - def __init__(self, uuid: _Optional[str] = ..., bmc: _Optional[_Union[_machine_pb2.MachineBMCReport, _Mapping]] = ...) -> None: ... + __slots__ = ("bmc_details",) + BMC_DETAILS_FIELD_NUMBER: _ClassVar[int] + bmc_details: _machine_pb2.MachineBMCDetails + def __init__(self, bmc_details: _Optional[_Union[_machine_pb2.MachineBMCDetails, _Mapping]] = ...) -> None: ... class MachineServiceListBMCRequest(_message.Message): __slots__ = ("query",) QUERY_FIELD_NUMBER: _ClassVar[int] - query: _machine_pb2.MachineBMCQuery - def __init__(self, query: _Optional[_Union[_machine_pb2.MachineBMCQuery, _Mapping]] = ...) -> None: ... + query: _machine_pb2.MachineQuery + def __init__(self, query: _Optional[_Union[_machine_pb2.MachineQuery, _Mapping]] = ...) -> None: ... class MachineServiceListBMCResponse(_message.Message): - __slots__ = ("bmc_reports",) - class BmcReportsEntry(_message.Message): - __slots__ = ("key", "value") - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: _machine_pb2.MachineBMCReport - def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_machine_pb2.MachineBMCReport, _Mapping]] = ...) -> None: ... - BMC_REPORTS_FIELD_NUMBER: _ClassVar[int] - bmc_reports: _containers.MessageMap[str, _machine_pb2.MachineBMCReport] - def __init__(self, bmc_reports: _Optional[_Mapping[str, _machine_pb2.MachineBMCReport]] = ...) -> None: ... + __slots__ = ("bmc_details",) + BMC_DETAILS_FIELD_NUMBER: _ClassVar[int] + bmc_details: _containers.RepeatedCompositeFieldContainer[_machine_pb2.MachineBMCDetails] + def __init__(self, bmc_details: _Optional[_Iterable[_Union[_machine_pb2.MachineBMCDetails, _Mapping]]] = ...) -> None: ... class MachineServiceConsolePasswordRequest(_message.Message): __slots__ = ("uuid", "reason") diff --git a/python/metalstack/api/v2/machine_pb2.py b/python/metalstack/api/v2/machine_pb2.py index 494d043b..7d18fcd3 100644 --- a/python/metalstack/api/v2/machine_pb2.py +++ b/python/metalstack/api/v2/machine_pb2.py @@ -34,7 +34,7 @@ from metalstack.api.v2 import size_pb2 as metalstack_dot_api_dot_v2_dot_size__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/machine.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\"metalstack/api/v2/filesystem.proto\x1a\x1dmetalstack/api/v2/image.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a!metalstack/api/v2/partition.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1cmetalstack/api/v2/size.proto\"\\\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xf6\x08\n\x1bMachineServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12!\n\x04uuid\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12(\n\x08hostname\x18\x05 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x02R\x08hostname\x88\x01\x01\x12.\n\tpartition\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x03R\tpartition\x88\x01\x01\x12$\n\x04size\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x04size\x88\x01\x01\x12!\n\x05image\x18\x08 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x05image\x12=\n\x11\x66ilesystem_layout\x18\t \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x05R\x10\x66ilesystemLayout\x88\x01\x01\x12@\n\x0fssh_public_keys\x18\n \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeys\x12\x36\n\x08userdata\x18\x0b \x01(\tB\x15\xbaH\x12r\x10\x18\x80\x80\x02\xf0\xb3\xae\xb1\x02\x01\xb0\xb4\xae\xb1\x02\x01H\x06R\x08userdata\x88\x01\x01\x12\x31\n\x06labels\x18\x0c \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12Q\n\x08networks\x18\r \x03(\x0b\x32+.metalstack.api.v2.MachineAllocationNetworkB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x08networks\x12\x44\n\x10placement_labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x0fplacementLabels\x12G\n\x0b\x64ns_servers\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\ndnsServers\x12G\n\x0bntp_servers\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\nntpServers\x12[\n\x0f\x61llocation_type\x18\x11 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12\x44\n\rfirewall_spec\x18\x12 \x01(\x0b\x32\x1f.metalstack.api.v2.FirewallSpecR\x0c\x66irewallSpecB\x07\n\x05_uuidB\x0e\n\x0c_descriptionB\x0b\n\t_hostnameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x14\n\x12_filesystem_layoutB\x0b\n\t_userdata\"W\n\x0c\x46irewallSpec\x12G\n\x0e\x66irewall_rules\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\"T\n\x1cMachineServiceCreateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xf6\x02\n\x1bMachineServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\"\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x01R\x06labels\x88\x01\x01\x12@\n\x0fssh_public_keys\x18\x06 \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeysB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cMachineServiceUpdateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"v\n\x19MachineServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\"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\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cMachineServiceDeleteResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xad\x01\n\x1fMachineServiceBMCCommandRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12H\n\x07\x63ommand\x18\x03 \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\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"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\"\xab\x04\n\x07Machine\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12:\n\tpartition\x18\x03 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\x12\x1c\n\x04rack\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12\x1c\n\x04room\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04room\x12+\n\x04size\x18\x06 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\x12>\n\x08hardware\x18\x07 \x01(\x0b\x32\".metalstack.api.v2.MachineHardwareR\x08hardware\x12\x44\n\nallocation\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.MachineAllocationR\nallocation\x12\x38\n\x06status\x18\t \x01(\x0b\x32 .metalstack.api.v2.MachineStatusR\x06status\x12p\n\x1arecent_provisioning_events\x18\n \x01(\x0b\x32\x32.metalstack.api.v2.MachineRecentProvisioningEventsR\x18recentProvisioningEvents\"\xa4\x02\n\rMachineStatus\x12\x41\n\tcondition\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.MachineConditionR\tcondition\x12N\n\tled_state\x18\x02 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12N\n\nliveliness\x18\x03 \x01(\x0e\x32$.metalstack.api.v2.MachineLivelinessB\x08\xbaH\x05\x82\x01\x02\x10\x01R\nliveliness\x12\x30\n\x14metal_hammer_version\x18\x04 \x01(\tR\x12metalHammerVersion\"\xa4\x01\n\x10MachineCondition\x12?\n\x05state\x18\x01 \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12-\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12 \n\x06issuer\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06issuer\"\xff\x07\n\x11MachineAllocation\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\'\n\ncreated_by\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tcreatedBy\x12\"\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12.\n\x05image\x18\x07 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12P\n\x11\x66ilesystem_layout\x18\x08 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\x12=\n\x08networks\x18\t \x03(\x0b\x32!.metalstack.api.v2.MachineNetworkR\x08networks\x12#\n\x08hostname\x18\n \x01(\tB\x07\xbaH\x04r\x02h\x01R\x08hostname\x12@\n\x0fssh_public_keys\x18\x0b \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeys\x12+\n\x08userdata\x18\x0c \x01(\tB\x0f\xbaH\x0cr\n\x18\x80\x80\x02\xf0\xb3\xae\xb1\x02\x01R\x08userdata\x12[\n\x0f\x61llocation_type\x18\r \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12G\n\x0e\x66irewall_rules\x18\x0e \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\x12G\n\x0b\x64ns_servers\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\ndnsServers\x12G\n\x0bntp_servers\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\nntpServers\x12/\n\x03vpn\x18\x11 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNR\x03vpn\x12\x44\n\x10placement_labels\x18\x12 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x0fplacementLabels\"a\n\x18MachineAllocationNetwork\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x1e\n\x03ips\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\x90\x01\n\rFirewallRules\x12=\n\x06\x65gress\x18\x01 \x03(\x0b\x32%.metalstack.api.v2.FirewallEgressRuleR\x06\x65gress\x12@\n\x07ingress\x18\x02 \x03(\x0b\x32&.metalstack.api.v2.FirewallIngressRuleR\x07ingress\"\xd0\x01\n\x12\x46irewallEgressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12\x1c\n\x02to\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x02to\x12\x31\n\x07\x63omment\x18\x04 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\xf3\x01\n\x13\x46irewallIngressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12\x1c\n\x02to\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x02to\x12 \n\x04\x66rom\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x04\x66rom\x12\x31\n\x07\x63omment\x18\x05 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\x9c\x03\n\x0eMachineNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12(\n\x08prefixes\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\x12K\n\x0cnetwork_type\x18\x05 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0bnetworkType\x12?\n\x08nat_type\x18\x06 \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07natType\x12\x10\n\x03vrf\x18\x07 \x01(\x04R\x03vrf\x12\x10\n\x03\x61sn\x18\x08 \x01(\rR\x03\x61sn\x12\'\n\x07project\x18\t \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x07project\x88\x01\x01\x42\n\n\x08_project\"\xfb\x01\n\x0fMachineHardware\x12\x16\n\x06memory\x18\x01 \x01(\x04R\x06memory\x12;\n\x05\x64isks\x18\x02 \x03(\x0b\x32%.metalstack.api.v2.MachineBlockDeviceR\x05\x64isks\x12/\n\x04\x63pus\x18\x03 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalCPUR\x04\x63pus\x12/\n\x04gpus\x18\x04 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalGPUR\x04gpus\x12\x31\n\x04nics\x18\x05 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\x04nics\"|\n\x08MetalCPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\x12\x14\n\x05\x63ores\x18\x03 \x01(\rR\x05\x63ores\x12\x18\n\x07threads\x18\x04 \x01(\rR\x07threads\"L\n\x08MetalGPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\"\xa7\x02\n\nMachineNic\x12\x1d\n\x03mac\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x03mac\x12\x1f\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12(\n\nidentifier\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\nidentifier\x12 \n\x06vendor\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x06vendor\x12\x1e\n\x05model\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05model\x12\x14\n\x05speed\x18\x06 \x01(\x04R\x05speed\x12;\n\tneighbors\x18\x07 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\tneighbors\x12\x1a\n\x08hostname\x18\x08 \x01(\tR\x08hostname\"I\n\x12MachineBlockDevice\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size\"o\n\x1eMachineChassisIdentifyLEDState\x12\x1e\n\x05value\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05value\x12-\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\"\xcb\x03\n\x10MachineBMCReport\x12/\n\x03\x62mc\x18\x01 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineBMCR\x03\x62mc\x12\x32\n\x04\x62ios\x18\x02 \x01(\x0b\x32\x1e.metalstack.api.v2.MachineBiosR\x04\x62ios\x12/\n\x03\x66ru\x18\x03 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineFRUR\x03\x66ru\x12H\n\x0cpower_metric\x18\x04 \x01(\x0b\x32%.metalstack.api.v2.MachinePowerMetricR\x0bpowerMetric\x12L\n\x0epower_supplies\x18\x05 \x03(\x0b\x32%.metalstack.api.v2.MachinePowerSupplyR\rpowerSupplies\x12N\n\tled_state\x18\x06 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12\x39\n\nupdated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\"z\n\x0bMachineBios\x12%\n\x07version\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x07version\x12#\n\x06vendor\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x06vendor\x12\x1f\n\x04\x64\x61te\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x04\x64\x61te\"\x99\x02\n\nMachineBMC\x12\"\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x02\x01R\x07\x61\x64\x64ress\x12\x1d\n\x03mac\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x03mac\x12\x1f\n\x04user\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x04user\x12\'\n\x08password\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x08password\x12)\n\tinterface\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\tinterface\x12%\n\x07version\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x07version\x12,\n\x0bpower_state\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\npowerState\"\xa6\x05\n\nMachineFRU\x12@\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12@\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12-\n\tboard_mfg\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12:\n\x10\x62oard_mfg_serial\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x03R\x0e\x62oardMfgSerial\x88\x01\x01\x12<\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12\x43\n\x14product_manufacturer\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x05R\x13productManufacturer\x88\x01\x01\x12@\n\x13product_part_number\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x37\n\x0eproduct_serial\x18\x08 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x13\n\x11_board_mfg_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"\xce\x01\n\x12MachinePowerMetric\x12\x34\n\x16\x61verage_consumed_watts\x18\x01 \x01(\x02R\x14\x61verageConsumedWatts\x12&\n\x0finterval_in_min\x18\x02 \x01(\x02R\rintervalInMin\x12,\n\x12max_consumed_watts\x18\x03 \x01(\x02R\x10maxConsumedWatts\x12,\n\x12min_consumed_watts\x18\x04 \x01(\x02R\x10minConsumedWatts\"B\n\x12MachinePowerSupply\x12\x16\n\x06health\x18\x01 \x01(\tR\x06health\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state\"\xd3\x02\n\x1fMachineRecentProvisioningEvents\x12\x43\n\x06\x65vents\x18\x01 \x03(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x06\x65vents\x12\x42\n\x0flast_event_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\rlastEventTime\x12U\n\x10last_error_event\x18\x03 \x01(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x0elastErrorEvent\x12P\n\x05state\x18\x04 \x01(\x0e\x32\x30.metalstack.api.v2.MachineProvisioningEventStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\"\xb5\x01\n\x18MachineProvisioningEvent\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12O\n\x05\x65vent\x18\x02 \x01(\x0e\x32/.metalstack.api.v2.MachineProvisioningEventTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05\x65vent\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\"\x99\x01\n\nMachineVPN\x12\x32\n\x15\x63ontrol_plane_address\x18\x01 \x01(\tR\x13\x63ontrolPlaneAddress\x12\x19\n\x08\x61uth_key\x18\x02 \x01(\tR\x07\x61uthKey\x12\x1c\n\tconnected\x18\x03 \x01(\x08R\tconnected\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\xf7\x08\n\x0cMachineQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12.\n\tpartition\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x12$\n\x04size\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\x04size\x88\x01\x01\x12$\n\x04rack\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x04rack\x88\x01\x01\x12$\n\x04room\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x05R\x04room\x88\x01\x01\x12\x36\n\x06labels\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x06R\x06labels\x88\x01\x01\x12N\n\nallocation\x18\x08 \x01(\x0b\x32).metalstack.api.v2.MachineAllocationQueryH\x07R\nallocation\x88\x01\x01\x12\x45\n\x07network\x18\t \x01(\x0b\x32&.metalstack.api.v2.MachineNetworkQueryH\x08R\x07network\x88\x01\x01\x12\x39\n\x03nic\x18\n \x01(\x0b\x32\".metalstack.api.v2.MachineNicQueryH\tR\x03nic\x88\x01\x01\x12<\n\x04\x64isk\x18\x0b \x01(\x0b\x32#.metalstack.api.v2.MachineDiskQueryH\nR\x04\x64isk\x88\x01\x01\x12\x39\n\x03\x62mc\x18\x0c \x01(\x0b\x32\".metalstack.api.v2.MachineBMCQueryH\x0bR\x03\x62mc\x88\x01\x01\x12\x39\n\x03\x66ru\x18\r \x01(\x0b\x32\".metalstack.api.v2.MachineFRUQueryH\x0cR\x03\x66ru\x88\x01\x01\x12H\n\x08hardware\x18\x0e \x01(\x0b\x32\'.metalstack.api.v2.MachineHardwareQueryH\rR\x08hardware\x88\x01\x01\x12:\n\x05state\x18\x0f \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateH\x0eR\x05state\x88\x01\x01\x12\x1d\n\x07waiting\x18\x10 \x01(\x08H\x0fR\x07waiting\x88\x01\x01\x12\'\n\x0cpreallocated\x18\x11 \x01(\x08H\x10R\x0cpreallocated\x88\x01\x01\x12(\n\rnot_allocated\x18\x12 \x01(\x08H\x11R\x0cnotAllocated\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x07\n\x05_rackB\x07\n\x05_roomB\t\n\x07_labelsB\r\n\x0b_allocationB\n\n\x08_networkB\x06\n\x04_nicB\x07\n\x05_diskB\x06\n\x04_bmcB\x06\n\x04_fruB\x0b\n\t_hardwareB\x08\n\x06_stateB\n\n\x08_waitingB\x0f\n\r_preallocatedB\x10\n\x0e_not_allocated\"\xdd\x04\n\x16MachineAllocationQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12\'\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x07project\x88\x01\x01\x12&\n\x05image\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\x05image\x88\x01\x01\x12=\n\x11\x66ilesystem_layout\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x10\x66ilesystemLayout\x88\x01\x01\x12(\n\x08hostname\x18\x06 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x05R\x08hostname\x88\x01\x01\x12`\n\x0f\x61llocation_type\x18\x07 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x0e\x61llocationType\x88\x01\x01\x12\x36\n\x06labels\x18\x08 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x07R\x06labels\x88\x01\x01\x12\x34\n\x03vpn\x18\t \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNH\x08R\x03vpn\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\n\n\x08_projectB\x08\n\x06_imageB\x14\n\x12_filesystem_layoutB\x0b\n\t_hostnameB\x12\n\x10_allocation_typeB\t\n\x07_labelsB\x06\n\x04_vpn\"\xe4\x01\n\x13MachineNetworkQuery\x12\x1a\n\x08networks\x18\x01 \x03(\tR\x08networks\x12(\n\x08prefixes\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\x12\x12\n\x04vrfs\x18\x05 \x03(\x04R\x04vrfs\x12\x12\n\x04\x61sns\x18\x06 \x03(\rR\x04\x61sns\"\xd9\x01\n\x0fMachineNicQuery\x12(\n\x04macs\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\x10\x64\x18\x01\"\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x04macs\x12\'\n\x05names\x18\x02 \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x64\x18\x01\"\x05r\x03\x18\x80\x01R\x05names\x12\x39\n\rneighbor_macs\x18\x03 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\x10\x64\x18\x01\"\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x0cneighborMacs\x12\x38\n\x0eneighbor_names\x18\x04 \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x64\x18\x01\"\x05r\x03\x18\x80\x01R\rneighborNames\"Y\n\x10MachineDiskQuery\x12%\n\x05names\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12\x1e\n\x05sizes\x18\x02 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x05sizes\"\xd8\x01\n\x0fMachineBMCQuery\x12&\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x00R\x07\x61\x64\x64ress\x88\x01\x01\x12\"\n\x03mac\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01H\x01R\x03mac\x88\x01\x01\x12!\n\x04user\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x04user\x88\x01\x01\x12+\n\tinterface\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\tinterface\x88\x01\x01\x42\n\n\x08_addressB\x06\n\x04_macB\x07\n\x05_userB\x0c\n\n_interface\"\x88\x05\n\x0fMachineFRUQuery\x12=\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12=\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12*\n\tboard_mfg\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12\x30\n\x0c\x62oard_serial\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\x0b\x62oardSerial\x88\x01\x01\x12\x39\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12@\n\x14product_manufacturer\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x05R\x13productManufacturer\x88\x01\x01\x12=\n\x13product_part_number\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x34\n\x0eproduct_serial\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x0f\n\r_board_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"n\n\x14MachineHardwareQuery\x12\x1b\n\x06memory\x18\x01 \x01(\x04H\x00R\x06memory\x88\x01\x01\x12 \n\tcpu_cores\x18\x02 \x01(\rH\x01R\x08\x63puCores\x88\x01\x01\x42\t\n\x07_memoryB\x0c\n\n_cpu_cores\"\x98\x03\n\x12MachineIssuesQuery\x12\x44\n\rmachine_query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x0cmachineQuery\x12\x46\n\x04only\x18\x02 \x03(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x04only\x12\x46\n\x04omit\x18\x03 \x03(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x04omit\x12R\n\x08severity\x18\x04 \x01(\x0e\x32\'.metalstack.api.v2.MachineIssueSeverityB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x08severity\x88\x01\x01\x12K\n\x14last_error_threshold\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x12lastErrorThresholdB\x0b\n\t_severity\"f\n\rMachineIssues\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x37\n\x06issues\x18\x02 \x03(\x0b\x32\x1f.metalstack.api.v2.MachineIssueR\x06issues\"\x9b\x02\n\x0cMachineIssue\x12\x41\n\x04type\x18\x01 \x01(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12M\n\x08severity\x18\x02 \x01(\x0e\x32\'.metalstack.api.v2.MachineIssueSeverityB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08severity\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\x30\n\rreference_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01R\x0creferenceUrl\x12\x18\n\x07\x64\x65tails\x18\x05 \x01(\tR\x07\x64\x65tails*e\n\nIPProtocol\x12\x1b\n\x17IP_PROTOCOL_UNSPECIFIED\x10\x00\x12\x1c\n\x0fIP_PROTOCOL_TCP\x10\x01\x1a\x07\x82\xb2\x19\x03tcp\x12\x1c\n\x0fIP_PROTOCOL_UDP\x10\x02\x1a\x07\x82\xb2\x19\x03udp*\xad\x01\n\x0cMachineState\x12#\n\x19MACHINE_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12&\n\x15MACHINE_STATE_TAINTED\x10\x01\x1a\x0b\x82\xb2\x19\x07tainted\x12$\n\x14MACHINE_STATE_LOCKED\x10\x02\x1a\n\x82\xb2\x19\x06locked\x12*\n\x17MACHINE_STATE_AVAILABLE\x10\x03\x1a\r\x82\xb2\x19\tavailable*\xdf\x01\n\x1dMachineProvisioningEventState\x12\x36\n,MACHINE_PROVISIONING_EVENT_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12=\n*MACHINE_PROVISIONING_EVENT_STATE_CRASHLOOP\x10\x01\x1a\r\x82\xb2\x19\tcrashloop\x12G\n/MACHINE_PROVISIONING_EVENT_STATE_FAILED_RECLAIM\x10\x02\x1a\x12\x82\xb2\x19\x0e\x66\x61iled-reclaim*\x9f\x06\n\x1cMachineProvisioningEventType\x12/\n+MACHINE_PROVISIONING_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x34\n%MACHINE_PROVISIONING_EVENT_TYPE_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x41live\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_CRASHED\x10\x02\x1a\x0b\x82\xb2\x19\x07\x43rashed\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PXE_BOOTING\x10\x03\x1a\x0f\x82\xb2\x19\x0bPXE Booting\x12\x46\n.MACHINE_PROVISIONING_EVENT_TYPE_PLANNED_REBOOT\x10\x04\x1a\x12\x82\xb2\x19\x0ePlanned Reboot\x12<\n)MACHINE_PROVISIONING_EVENT_TYPE_PREPARING\x10\x05\x1a\r\x82\xb2\x19\tPreparing\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_REGISTERING\x10\x06\x1a\x0f\x82\xb2\x19\x0bRegistering\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_WAITING\x10\x07\x1a\x0b\x82\xb2\x19\x07Waiting\x12>\n*MACHINE_PROVISIONING_EVENT_TYPE_INSTALLING\x10\x08\x1a\x0e\x82\xb2\x19\nInstalling\x12N\n2MACHINE_PROVISIONING_EVENT_TYPE_BOOTING_NEW_KERNEL\x10\t\x1a\x16\x82\xb2\x19\x12\x42ooting New Kernel\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PHONED_HOME\x10\n\x1a\x0f\x82\xb2\x19\x0bPhoned Home\x12H\n/MACHINE_PROVISIONING_EVENT_TYPE_MACHINE_RECLAIM\x10\x0b\x1a\x13\x82\xb2\x19\x0fMachine Reclaim*\xba\x01\n\x11MachineLiveliness\x12(\n\x1eMACHINE_LIVELINESS_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\'\n\x18MACHINE_LIVELINESS_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x61live\x12%\n\x17MACHINE_LIVELINESS_DEAD\x10\x02\x1a\x08\x82\xb2\x19\x04\x64\x65\x61\x64\x12+\n\x1aMACHINE_LIVELINESS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknown*\xac\x01\n\x15MachineAllocationType\x12-\n#MACHINE_ALLOCATION_TYPE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\x30\n\x1fMACHINE_ALLOCATION_TYPE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12\x32\n MACHINE_ALLOCATION_TYPE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall*\xfe\x04\n\x11MachineBMCCommand\x12#\n\x1fMACHINE_BMC_COMMAND_UNSPECIFIED\x10\x00\x12\"\n\x16MACHINE_BMC_COMMAND_ON\x10\x01\x1a\x06\x82\xb2\x19\x02on\x12$\n\x17MACHINE_BMC_COMMAND_OFF\x10\x02\x1a\x07\x82\xb2\x19\x03off\x12(\n\x19MACHINE_BMC_COMMAND_RESET\x10\x03\x1a\t\x82\xb2\x19\x05reset\x12(\n\x19MACHINE_BMC_COMMAND_CYCLE\x10\x04\x1a\t\x82\xb2\x19\x05\x63ycle\x12\x36\n MACHINE_BMC_COMMAND_BOOT_TO_BIOS\x10\x05\x1a\x10\x82\xb2\x19\x0c\x62oot-to-bios\x12:\n\"MACHINE_BMC_COMMAND_BOOT_FROM_DISK\x10\x06\x1a\x12\x82\xb2\x19\x0e\x62oot-from-disk\x12\x38\n!MACHINE_BMC_COMMAND_BOOT_FROM_PXE\x10\x07\x1a\x11\x82\xb2\x19\rboot-from-pxe\x12<\n#MACHINE_BMC_COMMAND_IDENTIFY_LED_ON\x10\x08\x1a\x13\x82\xb2\x19\x0fidentify-led-on\x12>\n$MACHINE_BMC_COMMAND_IDENTIFY_LED_OFF\x10\t\x1a\x14\x82\xb2\x19\x10identify-led-off\x12<\n#MACHINE_BMC_COMMAND_MACHINE_DELETED\x10\n\x1a\x13\x82\xb2\x19\x0fmachine-deleted\x12<\n#MACHINE_BMC_COMMAND_MACHINE_CREATED\x10\x0b\x1a\x13\x82\xb2\x19\x0fmachine-created*\xf3\x06\n\x10MachineIssueType\x12\"\n\x1eMACHINE_ISSUE_TYPE_UNSPECIFIED\x10\x00\x12\x39\n!MACHINE_ISSUE_TYPE_ASN_UNIQUENESS\x10\x01\x1a\x12\x82\xb2\x19\x0e\x61sn-not-unique\x12?\n$MACHINE_ISSUE_TYPE_BMC_INFO_OUTDATED\x10\x02\x1a\x15\x82\xb2\x19\x11\x62mc-info-outdated\x12\x42\n&MACHINE_ISSUE_TYPE_BMC_NON_DISTINCT_IP\x10\x03\x1a\x16\x82\xb2\x19\x12\x62mc-no-distinct-ip\x12\x39\n!MACHINE_ISSUE_TYPE_BMC_WITHOUT_IP\x10\x04\x1a\x12\x82\xb2\x19\x0e\x62mc-without-ip\x12;\n\"MACHINE_ISSUE_TYPE_BMC_WITHOUT_MAC\x10\x05\x1a\x13\x82\xb2\x19\x0f\x62mc-without-mac\x12\x30\n\x1dMACHINE_ISSUE_TYPE_CRASH_LOOP\x10\x06\x1a\r\x82\xb2\x19\tcrashloop\x12I\n)MACHINE_ISSUE_TYPE_FAILED_MACHINE_RECLAIM\x10\x07\x1a\x1a\x82\xb2\x19\x16\x66\x61iled-machine-reclaim\x12=\n#MACHINE_ISSUE_TYPE_LAST_EVENT_ERROR\x10\x08\x1a\x14\x82\xb2\x19\x10last-event-error\x12;\n\"MACHINE_ISSUE_TYPE_LIVELINESS_DEAD\x10\t\x1a\x13\x82\xb2\x19\x0fliveliness-dead\x12M\n+MACHINE_ISSUE_TYPE_LIVELINESS_NOT_AVAILABLE\x10\n\x1a\x1c\x82\xb2\x19\x18liveliness-not-available\x12\x41\n%MACHINE_ISSUE_TYPE_LIVELINESS_UNKNOWN\x10\x0b\x1a\x16\x82\xb2\x19\x12liveliness-unknown\x12\x41\n%MACHINE_ISSUE_TYPE_NO_EVENT_CONTAINER\x10\x0c\x1a\x16\x82\xb2\x19\x12no-event-container\x12\x35\n\x1fMACHINE_ISSUE_TYPE_NO_PARTITION\x10\r\x1a\x10\x82\xb2\x19\x0cno-partition*\xcb\x01\n\x14MachineIssueSeverity\x12&\n\"MACHINE_ISSUE_SEVERITY_UNSPECIFIED\x10\x00\x12+\n\x1cMACHINE_ISSUE_SEVERITY_MINOR\x10\x01\x1a\t\x82\xb2\x19\x05minor\x12+\n\x1cMACHINE_ISSUE_SEVERITY_MAJOR\x10\x02\x1a\t\x82\xb2\x19\x05major\x12\x31\n\x1fMACHINE_ISSUE_SEVERITY_CRITICAL\x10\x03\x1a\x0c\x82\xb2\x19\x08\x63ritical2\xd1\x06\n\x0eMachineService\x12m\n\x03Get\x12+.metalstack.api.v2.MachineServiceGetRequest\x1a,.metalstack.api.v2.MachineServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.MachineServiceCreateRequest\x1a/.metalstack.api.v2.MachineServiceCreateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.MachineServiceUpdateRequest\x1a/.metalstack.api.v2.MachineServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12p\n\x04List\x12,.metalstack.api.v2.MachineServiceListRequest\x1a-.metalstack.api.v2.MachineServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x44\x65lete\x12..metalstack.api.v2.MachineServiceDeleteRequest\x1a/.metalstack.api.v2.MachineServiceDeleteResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x81\x01\n\nBMCCommand\x12\x32.metalstack.api.v2.MachineServiceBMCCommandRequest\x1a\x33.metalstack.api.v2.MachineServiceBMCCommandResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06GetBMC\x12..metalstack.api.v2.MachineServiceGetBMCRequest\x1a/.metalstack.api.v2.MachineServiceGetBMCResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cMachineProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/machine.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\"metalstack/api/v2/filesystem.proto\x1a\x1dmetalstack/api/v2/image.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a!metalstack/api/v2/partition.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1cmetalstack/api/v2/size.proto\"\\\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xf6\x08\n\x1bMachineServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12!\n\x04uuid\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12(\n\x08hostname\x18\x05 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x02R\x08hostname\x88\x01\x01\x12.\n\tpartition\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x03R\tpartition\x88\x01\x01\x12$\n\x04size\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x04size\x88\x01\x01\x12!\n\x05image\x18\x08 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x05image\x12=\n\x11\x66ilesystem_layout\x18\t \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x05R\x10\x66ilesystemLayout\x88\x01\x01\x12@\n\x0fssh_public_keys\x18\n \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeys\x12\x36\n\x08userdata\x18\x0b \x01(\tB\x15\xbaH\x12r\x10\x18\x80\x80\x02\xf0\xb3\xae\xb1\x02\x01\xb0\xb4\xae\xb1\x02\x01H\x06R\x08userdata\x88\x01\x01\x12\x31\n\x06labels\x18\x0c \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12Q\n\x08networks\x18\r \x03(\x0b\x32+.metalstack.api.v2.MachineAllocationNetworkB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x08networks\x12\x44\n\x10placement_labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x0fplacementLabels\x12G\n\x0b\x64ns_servers\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\ndnsServers\x12G\n\x0bntp_servers\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\nntpServers\x12[\n\x0f\x61llocation_type\x18\x11 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12\x44\n\rfirewall_spec\x18\x12 \x01(\x0b\x32\x1f.metalstack.api.v2.FirewallSpecR\x0c\x66irewallSpecB\x07\n\x05_uuidB\x0e\n\x0c_descriptionB\x0b\n\t_hostnameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x14\n\x12_filesystem_layoutB\x0b\n\t_userdata\"W\n\x0c\x46irewallSpec\x12G\n\x0e\x66irewall_rules\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\"T\n\x1cMachineServiceCreateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xf6\x02\n\x1bMachineServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\"\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x01R\x06labels\x88\x01\x01\x12@\n\x0fssh_public_keys\x18\x06 \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeysB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cMachineServiceUpdateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"v\n\x19MachineServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\"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\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cMachineServiceDeleteResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xad\x01\n\x1fMachineServiceBMCCommandRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12H\n\x07\x63ommand\x18\x03 \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\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"e\n\x1cMachineServiceGetBMCResponse\x12\x45\n\x0b\x62mc_details\x18\x06 \x01(\x0b\x32$.metalstack.api.v2.MachineBMCDetailsR\nbmcDetails\"\xab\x04\n\x07Machine\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12:\n\tpartition\x18\x03 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\x12\x1c\n\x04rack\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12\x1c\n\x04room\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04room\x12+\n\x04size\x18\x06 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\x12>\n\x08hardware\x18\x07 \x01(\x0b\x32\".metalstack.api.v2.MachineHardwareR\x08hardware\x12\x44\n\nallocation\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.MachineAllocationR\nallocation\x12\x38\n\x06status\x18\t \x01(\x0b\x32 .metalstack.api.v2.MachineStatusR\x06status\x12p\n\x1arecent_provisioning_events\x18\n \x01(\x0b\x32\x32.metalstack.api.v2.MachineRecentProvisioningEventsR\x18recentProvisioningEvents\"\xa4\x02\n\rMachineStatus\x12\x41\n\tcondition\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.MachineConditionR\tcondition\x12N\n\tled_state\x18\x02 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12N\n\nliveliness\x18\x03 \x01(\x0e\x32$.metalstack.api.v2.MachineLivelinessB\x08\xbaH\x05\x82\x01\x02\x10\x01R\nliveliness\x12\x30\n\x14metal_hammer_version\x18\x04 \x01(\tR\x12metalHammerVersion\"\xa4\x01\n\x10MachineCondition\x12?\n\x05state\x18\x01 \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12-\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12 \n\x06issuer\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06issuer\"\xff\x07\n\x11MachineAllocation\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\'\n\ncreated_by\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tcreatedBy\x12\"\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12.\n\x05image\x18\x07 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12P\n\x11\x66ilesystem_layout\x18\x08 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\x12=\n\x08networks\x18\t \x03(\x0b\x32!.metalstack.api.v2.MachineNetworkR\x08networks\x12#\n\x08hostname\x18\n \x01(\tB\x07\xbaH\x04r\x02h\x01R\x08hostname\x12@\n\x0fssh_public_keys\x18\x0b \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeys\x12+\n\x08userdata\x18\x0c \x01(\tB\x0f\xbaH\x0cr\n\x18\x80\x80\x02\xf0\xb3\xae\xb1\x02\x01R\x08userdata\x12[\n\x0f\x61llocation_type\x18\r \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12G\n\x0e\x66irewall_rules\x18\x0e \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\x12G\n\x0b\x64ns_servers\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\ndnsServers\x12G\n\x0bntp_servers\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\nntpServers\x12/\n\x03vpn\x18\x11 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNR\x03vpn\x12\x44\n\x10placement_labels\x18\x12 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x0fplacementLabels\"a\n\x18MachineAllocationNetwork\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x1e\n\x03ips\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\x90\x01\n\rFirewallRules\x12=\n\x06\x65gress\x18\x01 \x03(\x0b\x32%.metalstack.api.v2.FirewallEgressRuleR\x06\x65gress\x12@\n\x07ingress\x18\x02 \x03(\x0b\x32&.metalstack.api.v2.FirewallIngressRuleR\x07ingress\"\xd0\x01\n\x12\x46irewallEgressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12\x1c\n\x02to\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x02to\x12\x31\n\x07\x63omment\x18\x04 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\xf3\x01\n\x13\x46irewallIngressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12\x1c\n\x02to\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x02to\x12 \n\x04\x66rom\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x04\x66rom\x12\x31\n\x07\x63omment\x18\x05 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\x9c\x03\n\x0eMachineNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12(\n\x08prefixes\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\x12K\n\x0cnetwork_type\x18\x05 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0bnetworkType\x12?\n\x08nat_type\x18\x06 \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07natType\x12\x10\n\x03vrf\x18\x07 \x01(\x04R\x03vrf\x12\x10\n\x03\x61sn\x18\x08 \x01(\rR\x03\x61sn\x12\'\n\x07project\x18\t \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x07project\x88\x01\x01\x42\n\n\x08_project\"\xfb\x01\n\x0fMachineHardware\x12\x16\n\x06memory\x18\x01 \x01(\x04R\x06memory\x12;\n\x05\x64isks\x18\x02 \x03(\x0b\x32%.metalstack.api.v2.MachineBlockDeviceR\x05\x64isks\x12/\n\x04\x63pus\x18\x03 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalCPUR\x04\x63pus\x12/\n\x04gpus\x18\x04 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalGPUR\x04gpus\x12\x31\n\x04nics\x18\x05 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\x04nics\"|\n\x08MetalCPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\x12\x14\n\x05\x63ores\x18\x03 \x01(\rR\x05\x63ores\x12\x18\n\x07threads\x18\x04 \x01(\rR\x07threads\"L\n\x08MetalGPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\"\xa7\x02\n\nMachineNic\x12\x1d\n\x03mac\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x03mac\x12\x1f\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12(\n\nidentifier\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\nidentifier\x12 \n\x06vendor\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x06vendor\x12\x1e\n\x05model\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05model\x12\x14\n\x05speed\x18\x06 \x01(\x04R\x05speed\x12;\n\tneighbors\x18\x07 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\tneighbors\x12\x1a\n\x08hostname\x18\x08 \x01(\tR\x08hostname\"I\n\x12MachineBlockDevice\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size\"o\n\x1eMachineChassisIdentifyLEDState\x12\x1e\n\x05value\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05value\x12-\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\"\xf7\x01\n\x11MachineBMCDetails\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12&\n\tpartition\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tpartition\x12\x1c\n\x04rack\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12\x1c\n\x04room\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04room\x12\x1c\n\x04size\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04size\x12\x42\n\nbmc_report\x18\x06 \x01(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\tbmcReport\"\xe9\x03\n\x10MachineBMCReport\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12/\n\x03\x62mc\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineBMCR\x03\x62mc\x12\x32\n\x04\x62ios\x18\x03 \x01(\x0b\x32\x1e.metalstack.api.v2.MachineBiosR\x04\x62ios\x12/\n\x03\x66ru\x18\x04 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineFRUR\x03\x66ru\x12H\n\x0cpower_metric\x18\x05 \x01(\x0b\x32%.metalstack.api.v2.MachinePowerMetricR\x0bpowerMetric\x12L\n\x0epower_supplies\x18\x06 \x03(\x0b\x32%.metalstack.api.v2.MachinePowerSupplyR\rpowerSupplies\x12N\n\tled_state\x18\x07 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\"z\n\x0bMachineBios\x12%\n\x07version\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x07version\x12#\n\x06vendor\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x06vendor\x12\x1f\n\x04\x64\x61te\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x04\x64\x61te\"\x99\x02\n\nMachineBMC\x12\"\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x02\x01R\x07\x61\x64\x64ress\x12\x1d\n\x03mac\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x03mac\x12\x1f\n\x04user\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x04user\x12\'\n\x08password\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x08password\x12)\n\tinterface\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\tinterface\x12%\n\x07version\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x07version\x12,\n\x0bpower_state\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\npowerState\"\xa6\x05\n\nMachineFRU\x12@\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12@\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12-\n\tboard_mfg\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12:\n\x10\x62oard_mfg_serial\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x03R\x0e\x62oardMfgSerial\x88\x01\x01\x12<\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12\x43\n\x14product_manufacturer\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x05R\x13productManufacturer\x88\x01\x01\x12@\n\x13product_part_number\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x37\n\x0eproduct_serial\x18\x08 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x13\n\x11_board_mfg_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"\xce\x01\n\x12MachinePowerMetric\x12\x34\n\x16\x61verage_consumed_watts\x18\x01 \x01(\x02R\x14\x61verageConsumedWatts\x12&\n\x0finterval_in_min\x18\x02 \x01(\x02R\rintervalInMin\x12,\n\x12max_consumed_watts\x18\x03 \x01(\x02R\x10maxConsumedWatts\x12,\n\x12min_consumed_watts\x18\x04 \x01(\x02R\x10minConsumedWatts\"B\n\x12MachinePowerSupply\x12\x16\n\x06health\x18\x01 \x01(\tR\x06health\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state\"\xd3\x02\n\x1fMachineRecentProvisioningEvents\x12\x43\n\x06\x65vents\x18\x01 \x03(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x06\x65vents\x12\x42\n\x0flast_event_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\rlastEventTime\x12U\n\x10last_error_event\x18\x03 \x01(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x0elastErrorEvent\x12P\n\x05state\x18\x04 \x01(\x0e\x32\x30.metalstack.api.v2.MachineProvisioningEventStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\"\xb5\x01\n\x18MachineProvisioningEvent\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12O\n\x05\x65vent\x18\x02 \x01(\x0e\x32/.metalstack.api.v2.MachineProvisioningEventTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05\x65vent\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\"\x99\x01\n\nMachineVPN\x12\x32\n\x15\x63ontrol_plane_address\x18\x01 \x01(\tR\x13\x63ontrolPlaneAddress\x12\x19\n\x08\x61uth_key\x18\x02 \x01(\tR\x07\x61uthKey\x12\x1c\n\tconnected\x18\x03 \x01(\x08R\tconnected\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\xf7\x08\n\x0cMachineQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12.\n\tpartition\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x12$\n\x04size\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\x04size\x88\x01\x01\x12$\n\x04rack\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x04rack\x88\x01\x01\x12$\n\x04room\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x05R\x04room\x88\x01\x01\x12\x36\n\x06labels\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x06R\x06labels\x88\x01\x01\x12N\n\nallocation\x18\x08 \x01(\x0b\x32).metalstack.api.v2.MachineAllocationQueryH\x07R\nallocation\x88\x01\x01\x12\x45\n\x07network\x18\t \x01(\x0b\x32&.metalstack.api.v2.MachineNetworkQueryH\x08R\x07network\x88\x01\x01\x12\x39\n\x03nic\x18\n \x01(\x0b\x32\".metalstack.api.v2.MachineNicQueryH\tR\x03nic\x88\x01\x01\x12<\n\x04\x64isk\x18\x0b \x01(\x0b\x32#.metalstack.api.v2.MachineDiskQueryH\nR\x04\x64isk\x88\x01\x01\x12\x39\n\x03\x62mc\x18\x0c \x01(\x0b\x32\".metalstack.api.v2.MachineBMCQueryH\x0bR\x03\x62mc\x88\x01\x01\x12\x39\n\x03\x66ru\x18\r \x01(\x0b\x32\".metalstack.api.v2.MachineFRUQueryH\x0cR\x03\x66ru\x88\x01\x01\x12H\n\x08hardware\x18\x0e \x01(\x0b\x32\'.metalstack.api.v2.MachineHardwareQueryH\rR\x08hardware\x88\x01\x01\x12:\n\x05state\x18\x0f \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateH\x0eR\x05state\x88\x01\x01\x12\x1d\n\x07waiting\x18\x10 \x01(\x08H\x0fR\x07waiting\x88\x01\x01\x12\'\n\x0cpreallocated\x18\x11 \x01(\x08H\x10R\x0cpreallocated\x88\x01\x01\x12(\n\rnot_allocated\x18\x12 \x01(\x08H\x11R\x0cnotAllocated\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x07\n\x05_rackB\x07\n\x05_roomB\t\n\x07_labelsB\r\n\x0b_allocationB\n\n\x08_networkB\x06\n\x04_nicB\x07\n\x05_diskB\x06\n\x04_bmcB\x06\n\x04_fruB\x0b\n\t_hardwareB\x08\n\x06_stateB\n\n\x08_waitingB\x0f\n\r_preallocatedB\x10\n\x0e_not_allocated\"\xdd\x04\n\x16MachineAllocationQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12\'\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x07project\x88\x01\x01\x12&\n\x05image\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\x05image\x88\x01\x01\x12=\n\x11\x66ilesystem_layout\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x10\x66ilesystemLayout\x88\x01\x01\x12(\n\x08hostname\x18\x06 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x05R\x08hostname\x88\x01\x01\x12`\n\x0f\x61llocation_type\x18\x07 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x0e\x61llocationType\x88\x01\x01\x12\x36\n\x06labels\x18\x08 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x07R\x06labels\x88\x01\x01\x12\x34\n\x03vpn\x18\t \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNH\x08R\x03vpn\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\n\n\x08_projectB\x08\n\x06_imageB\x14\n\x12_filesystem_layoutB\x0b\n\t_hostnameB\x12\n\x10_allocation_typeB\t\n\x07_labelsB\x06\n\x04_vpn\"\xe4\x01\n\x13MachineNetworkQuery\x12\x1a\n\x08networks\x18\x01 \x03(\tR\x08networks\x12(\n\x08prefixes\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\x12\x12\n\x04vrfs\x18\x05 \x03(\x04R\x04vrfs\x12\x12\n\x04\x61sns\x18\x06 \x03(\rR\x04\x61sns\"\xd9\x01\n\x0fMachineNicQuery\x12(\n\x04macs\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\x10\x64\x18\x01\"\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x04macs\x12\'\n\x05names\x18\x02 \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x64\x18\x01\"\x05r\x03\x18\x80\x01R\x05names\x12\x39\n\rneighbor_macs\x18\x03 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\x10\x64\x18\x01\"\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x0cneighborMacs\x12\x38\n\x0eneighbor_names\x18\x04 \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x64\x18\x01\"\x05r\x03\x18\x80\x01R\rneighborNames\"Y\n\x10MachineDiskQuery\x12%\n\x05names\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12\x1e\n\x05sizes\x18\x02 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x05sizes\"\xd8\x01\n\x0fMachineBMCQuery\x12&\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x00R\x07\x61\x64\x64ress\x88\x01\x01\x12\"\n\x03mac\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01H\x01R\x03mac\x88\x01\x01\x12!\n\x04user\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x04user\x88\x01\x01\x12+\n\tinterface\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\tinterface\x88\x01\x01\x42\n\n\x08_addressB\x06\n\x04_macB\x07\n\x05_userB\x0c\n\n_interface\"\x88\x05\n\x0fMachineFRUQuery\x12=\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12=\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12*\n\tboard_mfg\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12\x30\n\x0c\x62oard_serial\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\x0b\x62oardSerial\x88\x01\x01\x12\x39\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12@\n\x14product_manufacturer\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x05R\x13productManufacturer\x88\x01\x01\x12=\n\x13product_part_number\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x34\n\x0eproduct_serial\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x0f\n\r_board_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"n\n\x14MachineHardwareQuery\x12\x1b\n\x06memory\x18\x01 \x01(\x04H\x00R\x06memory\x88\x01\x01\x12 \n\tcpu_cores\x18\x02 \x01(\rH\x01R\x08\x63puCores\x88\x01\x01\x42\t\n\x07_memoryB\x0c\n\n_cpu_cores\"\x98\x03\n\x12MachineIssuesQuery\x12\x44\n\rmachine_query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x0cmachineQuery\x12\x46\n\x04only\x18\x02 \x03(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x04only\x12\x46\n\x04omit\x18\x03 \x03(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x04omit\x12R\n\x08severity\x18\x04 \x01(\x0e\x32\'.metalstack.api.v2.MachineIssueSeverityB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x08severity\x88\x01\x01\x12K\n\x14last_error_threshold\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x12lastErrorThresholdB\x0b\n\t_severity\"f\n\rMachineIssues\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x37\n\x06issues\x18\x02 \x03(\x0b\x32\x1f.metalstack.api.v2.MachineIssueR\x06issues\"\x9b\x02\n\x0cMachineIssue\x12\x41\n\x04type\x18\x01 \x01(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12M\n\x08severity\x18\x02 \x01(\x0e\x32\'.metalstack.api.v2.MachineIssueSeverityB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08severity\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\x30\n\rreference_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01R\x0creferenceUrl\x12\x18\n\x07\x64\x65tails\x18\x05 \x01(\tR\x07\x64\x65tails*e\n\nIPProtocol\x12\x1b\n\x17IP_PROTOCOL_UNSPECIFIED\x10\x00\x12\x1c\n\x0fIP_PROTOCOL_TCP\x10\x01\x1a\x07\x82\xb2\x19\x03tcp\x12\x1c\n\x0fIP_PROTOCOL_UDP\x10\x02\x1a\x07\x82\xb2\x19\x03udp*\xad\x01\n\x0cMachineState\x12#\n\x19MACHINE_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12&\n\x15MACHINE_STATE_TAINTED\x10\x01\x1a\x0b\x82\xb2\x19\x07tainted\x12$\n\x14MACHINE_STATE_LOCKED\x10\x02\x1a\n\x82\xb2\x19\x06locked\x12*\n\x17MACHINE_STATE_AVAILABLE\x10\x03\x1a\r\x82\xb2\x19\tavailable*\xdf\x01\n\x1dMachineProvisioningEventState\x12\x36\n,MACHINE_PROVISIONING_EVENT_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12=\n*MACHINE_PROVISIONING_EVENT_STATE_CRASHLOOP\x10\x01\x1a\r\x82\xb2\x19\tcrashloop\x12G\n/MACHINE_PROVISIONING_EVENT_STATE_FAILED_RECLAIM\x10\x02\x1a\x12\x82\xb2\x19\x0e\x66\x61iled-reclaim*\x9f\x06\n\x1cMachineProvisioningEventType\x12/\n+MACHINE_PROVISIONING_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x34\n%MACHINE_PROVISIONING_EVENT_TYPE_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x41live\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_CRASHED\x10\x02\x1a\x0b\x82\xb2\x19\x07\x43rashed\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PXE_BOOTING\x10\x03\x1a\x0f\x82\xb2\x19\x0bPXE Booting\x12\x46\n.MACHINE_PROVISIONING_EVENT_TYPE_PLANNED_REBOOT\x10\x04\x1a\x12\x82\xb2\x19\x0ePlanned Reboot\x12<\n)MACHINE_PROVISIONING_EVENT_TYPE_PREPARING\x10\x05\x1a\r\x82\xb2\x19\tPreparing\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_REGISTERING\x10\x06\x1a\x0f\x82\xb2\x19\x0bRegistering\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_WAITING\x10\x07\x1a\x0b\x82\xb2\x19\x07Waiting\x12>\n*MACHINE_PROVISIONING_EVENT_TYPE_INSTALLING\x10\x08\x1a\x0e\x82\xb2\x19\nInstalling\x12N\n2MACHINE_PROVISIONING_EVENT_TYPE_BOOTING_NEW_KERNEL\x10\t\x1a\x16\x82\xb2\x19\x12\x42ooting New Kernel\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PHONED_HOME\x10\n\x1a\x0f\x82\xb2\x19\x0bPhoned Home\x12H\n/MACHINE_PROVISIONING_EVENT_TYPE_MACHINE_RECLAIM\x10\x0b\x1a\x13\x82\xb2\x19\x0fMachine Reclaim*\xba\x01\n\x11MachineLiveliness\x12(\n\x1eMACHINE_LIVELINESS_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\'\n\x18MACHINE_LIVELINESS_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x61live\x12%\n\x17MACHINE_LIVELINESS_DEAD\x10\x02\x1a\x08\x82\xb2\x19\x04\x64\x65\x61\x64\x12+\n\x1aMACHINE_LIVELINESS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknown*\xac\x01\n\x15MachineAllocationType\x12-\n#MACHINE_ALLOCATION_TYPE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\x30\n\x1fMACHINE_ALLOCATION_TYPE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12\x32\n MACHINE_ALLOCATION_TYPE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall*\xfe\x04\n\x11MachineBMCCommand\x12#\n\x1fMACHINE_BMC_COMMAND_UNSPECIFIED\x10\x00\x12\"\n\x16MACHINE_BMC_COMMAND_ON\x10\x01\x1a\x06\x82\xb2\x19\x02on\x12$\n\x17MACHINE_BMC_COMMAND_OFF\x10\x02\x1a\x07\x82\xb2\x19\x03off\x12(\n\x19MACHINE_BMC_COMMAND_RESET\x10\x03\x1a\t\x82\xb2\x19\x05reset\x12(\n\x19MACHINE_BMC_COMMAND_CYCLE\x10\x04\x1a\t\x82\xb2\x19\x05\x63ycle\x12\x36\n MACHINE_BMC_COMMAND_BOOT_TO_BIOS\x10\x05\x1a\x10\x82\xb2\x19\x0c\x62oot-to-bios\x12:\n\"MACHINE_BMC_COMMAND_BOOT_FROM_DISK\x10\x06\x1a\x12\x82\xb2\x19\x0e\x62oot-from-disk\x12\x38\n!MACHINE_BMC_COMMAND_BOOT_FROM_PXE\x10\x07\x1a\x11\x82\xb2\x19\rboot-from-pxe\x12<\n#MACHINE_BMC_COMMAND_IDENTIFY_LED_ON\x10\x08\x1a\x13\x82\xb2\x19\x0fidentify-led-on\x12>\n$MACHINE_BMC_COMMAND_IDENTIFY_LED_OFF\x10\t\x1a\x14\x82\xb2\x19\x10identify-led-off\x12<\n#MACHINE_BMC_COMMAND_MACHINE_DELETED\x10\n\x1a\x13\x82\xb2\x19\x0fmachine-deleted\x12<\n#MACHINE_BMC_COMMAND_MACHINE_CREATED\x10\x0b\x1a\x13\x82\xb2\x19\x0fmachine-created*\xf3\x06\n\x10MachineIssueType\x12\"\n\x1eMACHINE_ISSUE_TYPE_UNSPECIFIED\x10\x00\x12\x39\n!MACHINE_ISSUE_TYPE_ASN_UNIQUENESS\x10\x01\x1a\x12\x82\xb2\x19\x0e\x61sn-not-unique\x12?\n$MACHINE_ISSUE_TYPE_BMC_INFO_OUTDATED\x10\x02\x1a\x15\x82\xb2\x19\x11\x62mc-info-outdated\x12\x42\n&MACHINE_ISSUE_TYPE_BMC_NON_DISTINCT_IP\x10\x03\x1a\x16\x82\xb2\x19\x12\x62mc-no-distinct-ip\x12\x39\n!MACHINE_ISSUE_TYPE_BMC_WITHOUT_IP\x10\x04\x1a\x12\x82\xb2\x19\x0e\x62mc-without-ip\x12;\n\"MACHINE_ISSUE_TYPE_BMC_WITHOUT_MAC\x10\x05\x1a\x13\x82\xb2\x19\x0f\x62mc-without-mac\x12\x30\n\x1dMACHINE_ISSUE_TYPE_CRASH_LOOP\x10\x06\x1a\r\x82\xb2\x19\tcrashloop\x12I\n)MACHINE_ISSUE_TYPE_FAILED_MACHINE_RECLAIM\x10\x07\x1a\x1a\x82\xb2\x19\x16\x66\x61iled-machine-reclaim\x12=\n#MACHINE_ISSUE_TYPE_LAST_EVENT_ERROR\x10\x08\x1a\x14\x82\xb2\x19\x10last-event-error\x12;\n\"MACHINE_ISSUE_TYPE_LIVELINESS_DEAD\x10\t\x1a\x13\x82\xb2\x19\x0fliveliness-dead\x12M\n+MACHINE_ISSUE_TYPE_LIVELINESS_NOT_AVAILABLE\x10\n\x1a\x1c\x82\xb2\x19\x18liveliness-not-available\x12\x41\n%MACHINE_ISSUE_TYPE_LIVELINESS_UNKNOWN\x10\x0b\x1a\x16\x82\xb2\x19\x12liveliness-unknown\x12\x41\n%MACHINE_ISSUE_TYPE_NO_EVENT_CONTAINER\x10\x0c\x1a\x16\x82\xb2\x19\x12no-event-container\x12\x35\n\x1fMACHINE_ISSUE_TYPE_NO_PARTITION\x10\r\x1a\x10\x82\xb2\x19\x0cno-partition*\xcb\x01\n\x14MachineIssueSeverity\x12&\n\"MACHINE_ISSUE_SEVERITY_UNSPECIFIED\x10\x00\x12+\n\x1cMACHINE_ISSUE_SEVERITY_MINOR\x10\x01\x1a\t\x82\xb2\x19\x05minor\x12+\n\x1cMACHINE_ISSUE_SEVERITY_MAJOR\x10\x02\x1a\t\x82\xb2\x19\x05major\x12\x31\n\x1fMACHINE_ISSUE_SEVERITY_CRITICAL\x10\x03\x1a\x0c\x82\xb2\x19\x08\x63ritical2\xd1\x06\n\x0eMachineService\x12m\n\x03Get\x12+.metalstack.api.v2.MachineServiceGetRequest\x1a,.metalstack.api.v2.MachineServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.MachineServiceCreateRequest\x1a/.metalstack.api.v2.MachineServiceCreateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.MachineServiceUpdateRequest\x1a/.metalstack.api.v2.MachineServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12p\n\x04List\x12,.metalstack.api.v2.MachineServiceListRequest\x1a-.metalstack.api.v2.MachineServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x44\x65lete\x12..metalstack.api.v2.MachineServiceDeleteRequest\x1a/.metalstack.api.v2.MachineServiceDeleteResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x81\x01\n\nBMCCommand\x12\x32.metalstack.api.v2.MachineServiceBMCCommandRequest\x1a\x33.metalstack.api.v2.MachineServiceBMCCommandResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06GetBMC\x12..metalstack.api.v2.MachineServiceGetBMCRequest\x1a/.metalstack.api.v2.MachineServiceGetBMCResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cMachineProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -210,8 +210,6 @@ _globals['_MACHINESERVICEGETBMCREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_MACHINESERVICEGETBMCREQUEST'].fields_by_name['project']._loaded_options = None _globals['_MACHINESERVICEGETBMCREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_MACHINESERVICEGETBMCRESPONSE'].fields_by_name['uuid']._loaded_options = None - _globals['_MACHINESERVICEGETBMCRESPONSE'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_MACHINE'].fields_by_name['uuid']._loaded_options = None _globals['_MACHINE'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_MACHINE'].fields_by_name['rack']._loaded_options = None @@ -306,6 +304,18 @@ _globals['_MACHINECHASSISIDENTIFYLEDSTATE'].fields_by_name['value']._serialized_options = b'\272H\005r\003\030\200\001' _globals['_MACHINECHASSISIDENTIFYLEDSTATE'].fields_by_name['description']._loaded_options = None _globals['_MACHINECHASSISIDENTIFYLEDSTATE'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001' + _globals['_MACHINEBMCDETAILS'].fields_by_name['uuid']._loaded_options = None + _globals['_MACHINEBMCDETAILS'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_MACHINEBMCDETAILS'].fields_by_name['partition']._loaded_options = None + _globals['_MACHINEBMCDETAILS'].fields_by_name['partition']._serialized_options = b'\272H\005r\003\030\200\001' + _globals['_MACHINEBMCDETAILS'].fields_by_name['rack']._loaded_options = None + _globals['_MACHINEBMCDETAILS'].fields_by_name['rack']._serialized_options = b'\272H\005r\003\030\200\001' + _globals['_MACHINEBMCDETAILS'].fields_by_name['room']._loaded_options = None + _globals['_MACHINEBMCDETAILS'].fields_by_name['room']._serialized_options = b'\272H\005r\003\030\200\001' + _globals['_MACHINEBMCDETAILS'].fields_by_name['size']._loaded_options = None + _globals['_MACHINEBMCDETAILS'].fields_by_name['size']._serialized_options = b'\272H\005r\003\030\200\001' + _globals['_MACHINEBMCREPORT'].fields_by_name['uuid']._loaded_options = None + _globals['_MACHINEBMCREPORT'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_MACHINEBIOS'].fields_by_name['version']._loaded_options = None _globals['_MACHINEBIOS'].fields_by_name['version']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001' _globals['_MACHINEBIOS'].fields_by_name['vendor']._loaded_options = None @@ -446,24 +456,24 @@ _globals['_MACHINESERVICE'].methods_by_name['BMCCommand']._serialized_options = b'\312\363\030\002\001\002\340\363\030\001' _globals['_MACHINESERVICE'].methods_by_name['GetBMC']._loaded_options = None _globals['_MACHINESERVICE'].methods_by_name['GetBMC']._serialized_options = b'\312\363\030\002\001\002\340\363\030\001' - _globals['_IPPROTOCOL']._serialized_start=13859 - _globals['_IPPROTOCOL']._serialized_end=13960 - _globals['_MACHINESTATE']._serialized_start=13963 - _globals['_MACHINESTATE']._serialized_end=14136 - _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_start=14139 - _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_end=14362 - _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_start=14365 - _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_end=15164 - _globals['_MACHINELIVELINESS']._serialized_start=15167 - _globals['_MACHINELIVELINESS']._serialized_end=15353 - _globals['_MACHINEALLOCATIONTYPE']._serialized_start=15356 - _globals['_MACHINEALLOCATIONTYPE']._serialized_end=15528 - _globals['_MACHINEBMCCOMMAND']._serialized_start=15531 - _globals['_MACHINEBMCCOMMAND']._serialized_end=16169 - _globals['_MACHINEISSUETYPE']._serialized_start=16172 - _globals['_MACHINEISSUETYPE']._serialized_end=17055 - _globals['_MACHINEISSUESEVERITY']._serialized_start=17058 - _globals['_MACHINEISSUESEVERITY']._serialized_end=17261 + _globals['_IPPROTOCOL']._serialized_start=14125 + _globals['_IPPROTOCOL']._serialized_end=14226 + _globals['_MACHINESTATE']._serialized_start=14229 + _globals['_MACHINESTATE']._serialized_end=14402 + _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_start=14405 + _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_end=14628 + _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_start=14631 + _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_end=15430 + _globals['_MACHINELIVELINESS']._serialized_start=15433 + _globals['_MACHINELIVELINESS']._serialized_end=15619 + _globals['_MACHINEALLOCATIONTYPE']._serialized_start=15622 + _globals['_MACHINEALLOCATIONTYPE']._serialized_end=15794 + _globals['_MACHINEBMCCOMMAND']._serialized_start=15797 + _globals['_MACHINEBMCCOMMAND']._serialized_end=16435 + _globals['_MACHINEISSUETYPE']._serialized_start=16438 + _globals['_MACHINEISSUETYPE']._serialized_end=17321 + _globals['_MACHINEISSUESEVERITY']._serialized_start=17324 + _globals['_MACHINEISSUESEVERITY']._serialized_end=17527 _globals['_MACHINESERVICEGETREQUEST']._serialized_start=387 _globals['_MACHINESERVICEGETREQUEST']._serialized_end=479 _globals['_MACHINESERVICEGETRESPONSE']._serialized_start=481 @@ -493,77 +503,79 @@ _globals['_MACHINESERVICEGETBMCREQUEST']._serialized_start=2948 _globals['_MACHINESERVICEGETBMCREQUEST']._serialized_end=3043 _globals['_MACHINESERVICEGETBMCRESPONSE']._serialized_start=3045 - _globals['_MACHINESERVICEGETBMCRESPONSE']._serialized_end=3160 - _globals['_MACHINE']._serialized_start=3163 - _globals['_MACHINE']._serialized_end=3718 - _globals['_MACHINESTATUS']._serialized_start=3721 - _globals['_MACHINESTATUS']._serialized_end=4013 - _globals['_MACHINECONDITION']._serialized_start=4016 - _globals['_MACHINECONDITION']._serialized_end=4180 - _globals['_MACHINEALLOCATION']._serialized_start=4183 - _globals['_MACHINEALLOCATION']._serialized_end=5206 - _globals['_MACHINEALLOCATIONNETWORK']._serialized_start=5208 - _globals['_MACHINEALLOCATIONNETWORK']._serialized_end=5305 - _globals['_FIREWALLRULES']._serialized_start=5308 - _globals['_FIREWALLRULES']._serialized_end=5452 - _globals['_FIREWALLEGRESSRULE']._serialized_start=5455 - _globals['_FIREWALLEGRESSRULE']._serialized_end=5663 - _globals['_FIREWALLINGRESSRULE']._serialized_start=5666 - _globals['_FIREWALLINGRESSRULE']._serialized_end=5909 - _globals['_MACHINENETWORK']._serialized_start=5912 - _globals['_MACHINENETWORK']._serialized_end=6324 - _globals['_MACHINEHARDWARE']._serialized_start=6327 - _globals['_MACHINEHARDWARE']._serialized_end=6578 - _globals['_METALCPU']._serialized_start=6580 - _globals['_METALCPU']._serialized_end=6704 - _globals['_METALGPU']._serialized_start=6706 - _globals['_METALGPU']._serialized_end=6782 - _globals['_MACHINENIC']._serialized_start=6785 - _globals['_MACHINENIC']._serialized_end=7080 - _globals['_MACHINEBLOCKDEVICE']._serialized_start=7082 - _globals['_MACHINEBLOCKDEVICE']._serialized_end=7155 - _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_start=7157 - _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_end=7268 - _globals['_MACHINEBMCREPORT']._serialized_start=7271 - _globals['_MACHINEBMCREPORT']._serialized_end=7730 - _globals['_MACHINEBIOS']._serialized_start=7732 - _globals['_MACHINEBIOS']._serialized_end=7854 - _globals['_MACHINEBMC']._serialized_start=7857 - _globals['_MACHINEBMC']._serialized_end=8138 - _globals['_MACHINEFRU']._serialized_start=8141 - _globals['_MACHINEFRU']._serialized_end=8819 - _globals['_MACHINEPOWERMETRIC']._serialized_start=8822 - _globals['_MACHINEPOWERMETRIC']._serialized_end=9028 - _globals['_MACHINEPOWERSUPPLY']._serialized_start=9030 - _globals['_MACHINEPOWERSUPPLY']._serialized_end=9096 - _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_start=9099 - _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_end=9438 - _globals['_MACHINEPROVISIONINGEVENT']._serialized_start=9441 - _globals['_MACHINEPROVISIONINGEVENT']._serialized_end=9622 - _globals['_MACHINEVPN']._serialized_start=9625 - _globals['_MACHINEVPN']._serialized_end=9778 - _globals['_MACHINEQUERY']._serialized_start=9781 - _globals['_MACHINEQUERY']._serialized_end=10924 - _globals['_MACHINEALLOCATIONQUERY']._serialized_start=10927 - _globals['_MACHINEALLOCATIONQUERY']._serialized_end=11532 - _globals['_MACHINENETWORKQUERY']._serialized_start=11535 - _globals['_MACHINENETWORKQUERY']._serialized_end=11763 - _globals['_MACHINENICQUERY']._serialized_start=11766 - _globals['_MACHINENICQUERY']._serialized_end=11983 - _globals['_MACHINEDISKQUERY']._serialized_start=11985 - _globals['_MACHINEDISKQUERY']._serialized_end=12074 - _globals['_MACHINEBMCQUERY']._serialized_start=12077 - _globals['_MACHINEBMCQUERY']._serialized_end=12293 - _globals['_MACHINEFRUQUERY']._serialized_start=12296 - _globals['_MACHINEFRUQUERY']._serialized_end=12944 - _globals['_MACHINEHARDWAREQUERY']._serialized_start=12946 - _globals['_MACHINEHARDWAREQUERY']._serialized_end=13056 - _globals['_MACHINEISSUESQUERY']._serialized_start=13059 - _globals['_MACHINEISSUESQUERY']._serialized_end=13467 - _globals['_MACHINEISSUES']._serialized_start=13469 - _globals['_MACHINEISSUES']._serialized_end=13571 - _globals['_MACHINEISSUE']._serialized_start=13574 - _globals['_MACHINEISSUE']._serialized_end=13857 - _globals['_MACHINESERVICE']._serialized_start=17264 - _globals['_MACHINESERVICE']._serialized_end=18113 + _globals['_MACHINESERVICEGETBMCRESPONSE']._serialized_end=3146 + _globals['_MACHINE']._serialized_start=3149 + _globals['_MACHINE']._serialized_end=3704 + _globals['_MACHINESTATUS']._serialized_start=3707 + _globals['_MACHINESTATUS']._serialized_end=3999 + _globals['_MACHINECONDITION']._serialized_start=4002 + _globals['_MACHINECONDITION']._serialized_end=4166 + _globals['_MACHINEALLOCATION']._serialized_start=4169 + _globals['_MACHINEALLOCATION']._serialized_end=5192 + _globals['_MACHINEALLOCATIONNETWORK']._serialized_start=5194 + _globals['_MACHINEALLOCATIONNETWORK']._serialized_end=5291 + _globals['_FIREWALLRULES']._serialized_start=5294 + _globals['_FIREWALLRULES']._serialized_end=5438 + _globals['_FIREWALLEGRESSRULE']._serialized_start=5441 + _globals['_FIREWALLEGRESSRULE']._serialized_end=5649 + _globals['_FIREWALLINGRESSRULE']._serialized_start=5652 + _globals['_FIREWALLINGRESSRULE']._serialized_end=5895 + _globals['_MACHINENETWORK']._serialized_start=5898 + _globals['_MACHINENETWORK']._serialized_end=6310 + _globals['_MACHINEHARDWARE']._serialized_start=6313 + _globals['_MACHINEHARDWARE']._serialized_end=6564 + _globals['_METALCPU']._serialized_start=6566 + _globals['_METALCPU']._serialized_end=6690 + _globals['_METALGPU']._serialized_start=6692 + _globals['_METALGPU']._serialized_end=6768 + _globals['_MACHINENIC']._serialized_start=6771 + _globals['_MACHINENIC']._serialized_end=7066 + _globals['_MACHINEBLOCKDEVICE']._serialized_start=7068 + _globals['_MACHINEBLOCKDEVICE']._serialized_end=7141 + _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_start=7143 + _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_end=7254 + _globals['_MACHINEBMCDETAILS']._serialized_start=7257 + _globals['_MACHINEBMCDETAILS']._serialized_end=7504 + _globals['_MACHINEBMCREPORT']._serialized_start=7507 + _globals['_MACHINEBMCREPORT']._serialized_end=7996 + _globals['_MACHINEBIOS']._serialized_start=7998 + _globals['_MACHINEBIOS']._serialized_end=8120 + _globals['_MACHINEBMC']._serialized_start=8123 + _globals['_MACHINEBMC']._serialized_end=8404 + _globals['_MACHINEFRU']._serialized_start=8407 + _globals['_MACHINEFRU']._serialized_end=9085 + _globals['_MACHINEPOWERMETRIC']._serialized_start=9088 + _globals['_MACHINEPOWERMETRIC']._serialized_end=9294 + _globals['_MACHINEPOWERSUPPLY']._serialized_start=9296 + _globals['_MACHINEPOWERSUPPLY']._serialized_end=9362 + _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_start=9365 + _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_end=9704 + _globals['_MACHINEPROVISIONINGEVENT']._serialized_start=9707 + _globals['_MACHINEPROVISIONINGEVENT']._serialized_end=9888 + _globals['_MACHINEVPN']._serialized_start=9891 + _globals['_MACHINEVPN']._serialized_end=10044 + _globals['_MACHINEQUERY']._serialized_start=10047 + _globals['_MACHINEQUERY']._serialized_end=11190 + _globals['_MACHINEALLOCATIONQUERY']._serialized_start=11193 + _globals['_MACHINEALLOCATIONQUERY']._serialized_end=11798 + _globals['_MACHINENETWORKQUERY']._serialized_start=11801 + _globals['_MACHINENETWORKQUERY']._serialized_end=12029 + _globals['_MACHINENICQUERY']._serialized_start=12032 + _globals['_MACHINENICQUERY']._serialized_end=12249 + _globals['_MACHINEDISKQUERY']._serialized_start=12251 + _globals['_MACHINEDISKQUERY']._serialized_end=12340 + _globals['_MACHINEBMCQUERY']._serialized_start=12343 + _globals['_MACHINEBMCQUERY']._serialized_end=12559 + _globals['_MACHINEFRUQUERY']._serialized_start=12562 + _globals['_MACHINEFRUQUERY']._serialized_end=13210 + _globals['_MACHINEHARDWAREQUERY']._serialized_start=13212 + _globals['_MACHINEHARDWAREQUERY']._serialized_end=13322 + _globals['_MACHINEISSUESQUERY']._serialized_start=13325 + _globals['_MACHINEISSUESQUERY']._serialized_end=13733 + _globals['_MACHINEISSUES']._serialized_start=13735 + _globals['_MACHINEISSUES']._serialized_end=13837 + _globals['_MACHINEISSUE']._serialized_start=13840 + _globals['_MACHINEISSUE']._serialized_end=14123 + _globals['_MACHINESERVICE']._serialized_start=17530 + _globals['_MACHINESERVICE']._serialized_end=18379 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/api/v2/machine_pb2.pyi b/python/metalstack/api/v2/machine_pb2.pyi index cd21e1f4..071ae303 100644 --- a/python/metalstack/api/v2/machine_pb2.pyi +++ b/python/metalstack/api/v2/machine_pb2.pyi @@ -303,12 +303,10 @@ class MachineServiceGetBMCRequest(_message.Message): def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ...) -> None: ... class MachineServiceGetBMCResponse(_message.Message): - __slots__ = ("uuid", "bmc") - UUID_FIELD_NUMBER: _ClassVar[int] - BMC_FIELD_NUMBER: _ClassVar[int] - uuid: str - bmc: MachineBMCReport - def __init__(self, uuid: _Optional[str] = ..., bmc: _Optional[_Union[MachineBMCReport, _Mapping]] = ...) -> None: ... + __slots__ = ("bmc_details",) + BMC_DETAILS_FIELD_NUMBER: _ClassVar[int] + bmc_details: MachineBMCDetails + def __init__(self, bmc_details: _Optional[_Union[MachineBMCDetails, _Mapping]] = ...) -> None: ... class Machine(_message.Message): __slots__ = ("uuid", "meta", "partition", "rack", "room", "size", "hardware", "allocation", "status", "recent_provisioning_events") @@ -529,8 +527,25 @@ class MachineChassisIdentifyLEDState(_message.Message): description: str def __init__(self, value: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ... +class MachineBMCDetails(_message.Message): + __slots__ = ("uuid", "partition", "rack", "room", "size", "bmc_report") + UUID_FIELD_NUMBER: _ClassVar[int] + PARTITION_FIELD_NUMBER: _ClassVar[int] + RACK_FIELD_NUMBER: _ClassVar[int] + ROOM_FIELD_NUMBER: _ClassVar[int] + SIZE_FIELD_NUMBER: _ClassVar[int] + BMC_REPORT_FIELD_NUMBER: _ClassVar[int] + uuid: str + partition: str + rack: str + room: str + size: str + bmc_report: MachineBMCReport + def __init__(self, uuid: _Optional[str] = ..., partition: _Optional[str] = ..., rack: _Optional[str] = ..., room: _Optional[str] = ..., size: _Optional[str] = ..., bmc_report: _Optional[_Union[MachineBMCReport, _Mapping]] = ...) -> None: ... + class MachineBMCReport(_message.Message): - __slots__ = ("bmc", "bios", "fru", "power_metric", "power_supplies", "led_state", "updated_at") + __slots__ = ("uuid", "bmc", "bios", "fru", "power_metric", "power_supplies", "led_state", "updated_at") + UUID_FIELD_NUMBER: _ClassVar[int] BMC_FIELD_NUMBER: _ClassVar[int] BIOS_FIELD_NUMBER: _ClassVar[int] FRU_FIELD_NUMBER: _ClassVar[int] @@ -538,6 +553,7 @@ class MachineBMCReport(_message.Message): POWER_SUPPLIES_FIELD_NUMBER: _ClassVar[int] LED_STATE_FIELD_NUMBER: _ClassVar[int] UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + uuid: str bmc: MachineBMC bios: MachineBios fru: MachineFRU @@ -545,7 +561,7 @@ class MachineBMCReport(_message.Message): power_supplies: _containers.RepeatedCompositeFieldContainer[MachinePowerSupply] led_state: MachineChassisIdentifyLEDState updated_at: _timestamp_pb2.Timestamp - def __init__(self, bmc: _Optional[_Union[MachineBMC, _Mapping]] = ..., bios: _Optional[_Union[MachineBios, _Mapping]] = ..., fru: _Optional[_Union[MachineFRU, _Mapping]] = ..., power_metric: _Optional[_Union[MachinePowerMetric, _Mapping]] = ..., power_supplies: _Optional[_Iterable[_Union[MachinePowerSupply, _Mapping]]] = ..., led_state: _Optional[_Union[MachineChassisIdentifyLEDState, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, uuid: _Optional[str] = ..., bmc: _Optional[_Union[MachineBMC, _Mapping]] = ..., bios: _Optional[_Union[MachineBios, _Mapping]] = ..., fru: _Optional[_Union[MachineFRU, _Mapping]] = ..., power_metric: _Optional[_Union[MachinePowerMetric, _Mapping]] = ..., power_supplies: _Optional[_Iterable[_Union[MachinePowerSupply, _Mapping]]] = ..., led_state: _Optional[_Union[MachineChassisIdentifyLEDState, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class MachineBios(_message.Message): __slots__ = ("version", "vendor", "date") diff --git a/python/metalstack/infra/v2/bmc_pb2.py b/python/metalstack/infra/v2/bmc_pb2.py index 6be5d38d..5a2396ae 100644 --- a/python/metalstack/infra/v2/bmc_pb2.py +++ b/python/metalstack/infra/v2/bmc_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\x1dmetalstack/infra/v2/bmc.proto\x12\x13metalstack.infra.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\"\x90\x02\n\x14UpdateBMCInfoRequest\x12)\n\tpartition\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01R\tpartition\x12i\n\x0b\x62mc_reports\x18\x02 \x03(\x0b\x32\x39.metalstack.infra.v2.UpdateBMCInfoRequest.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\"m\n\x15UpdateBMCInfoResponse\x12)\n\x10updated_machines\x18\x01 \x03(\tR\x0fupdatedMachines\x12)\n\x10\x63reated_machines\x18\x02 \x03(\tR\x0f\x63reatedMachines\"E\n\x18WaitForBMCCommandRequest\x12)\n\tpartition\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01R\tpartition\"\xdf\x01\n\x19WaitForBMCCommandResponse\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x45\n\x0b\x62mc_command\x18\x02 \x01(\x0e\x32$.metalstack.api.v2.MachineBMCCommandR\nbmcCommand\x12>\n\x0bmachine_bmc\x18\x03 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineBMCR\nmachineBmc\x12\x1d\n\ncommand_id\x18\x04 \x01(\tR\tcommandId\"[\n\x15\x42MCCommandDoneRequest\x12\x1d\n\ncommand_id\x18\x01 \x01(\tR\tcommandId\x12\x19\n\x05\x65rror\x18\x02 \x01(\tH\x00R\x05\x65rror\x88\x01\x01\x42\x08\n\x06_error\"\x18\n\x16\x42MCCommandDoneResponse2\xf6\x02\n\nBMCService\x12q\n\rUpdateBMCInfo\x12).metalstack.infra.v2.UpdateBMCInfoRequest\x1a*.metalstack.infra.v2.UpdateBMCInfoResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x12\x7f\n\x11WaitForBMCCommand\x12-.metalstack.infra.v2.WaitForBMCCommandRequest\x1a..metalstack.infra.v2.WaitForBMCCommandResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x30\x01\x12t\n\x0e\x42MCCommandDone\x12*.metalstack.infra.v2.BMCCommandDoneRequest\x1a+.metalstack.infra.v2.BMCCommandDoneResponse\"\t\xe0\xf3\x18\x01\xea\xf3\x18\x01\x01\x42\xcc\x01\n\x17\x63om.metalstack.infra.v2B\x08\x42mcProtoP\x01Z9github.com/metal-stack/api/go/metalstack/infra/v2;infrav2\xa2\x02\x03MIX\xaa\x02\x13Metalstack.Infra.V2\xca\x02\x13Metalstack\\Infra\\V2\xe2\x02\x1fMetalstack\\Infra\\V2\\GPBMetadata\xea\x02\x15Metalstack::Infra::V2b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/infra/v2/bmc.proto\x12\x13metalstack.infra.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\"\x87\x01\n\x14UpdateBMCInfoRequest\x12)\n\tpartition\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01R\tpartition\x12\x44\n\x0b\x62mc_reports\x18\x02 \x03(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\nbmcReports\"m\n\x15UpdateBMCInfoResponse\x12)\n\x10updated_machines\x18\x01 \x03(\tR\x0fupdatedMachines\x12)\n\x10\x63reated_machines\x18\x02 \x03(\tR\x0f\x63reatedMachines\"E\n\x18WaitForBMCCommandRequest\x12)\n\tpartition\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01R\tpartition\"\xdf\x01\n\x19WaitForBMCCommandResponse\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x45\n\x0b\x62mc_command\x18\x02 \x01(\x0e\x32$.metalstack.api.v2.MachineBMCCommandR\nbmcCommand\x12>\n\x0bmachine_bmc\x18\x03 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineBMCR\nmachineBmc\x12\x1d\n\ncommand_id\x18\x04 \x01(\tR\tcommandId\"[\n\x15\x42MCCommandDoneRequest\x12\x1d\n\ncommand_id\x18\x01 \x01(\tR\tcommandId\x12\x19\n\x05\x65rror\x18\x02 \x01(\tH\x00R\x05\x65rror\x88\x01\x01\x42\x08\n\x06_error\"\x18\n\x16\x42MCCommandDoneResponse2\xf6\x02\n\nBMCService\x12q\n\rUpdateBMCInfo\x12).metalstack.infra.v2.UpdateBMCInfoRequest\x1a*.metalstack.infra.v2.UpdateBMCInfoResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x12\x7f\n\x11WaitForBMCCommand\x12-.metalstack.infra.v2.WaitForBMCCommandRequest\x1a..metalstack.infra.v2.WaitForBMCCommandResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x30\x01\x12t\n\x0e\x42MCCommandDone\x12*.metalstack.infra.v2.BMCCommandDoneRequest\x1a+.metalstack.infra.v2.BMCCommandDoneResponse\"\t\xe0\xf3\x18\x01\xea\xf3\x18\x01\x01\x42\xcc\x01\n\x17\x63om.metalstack.infra.v2B\x08\x42mcProtoP\x01Z9github.com/metal-stack/api/go/metalstack/infra/v2;infrav2\xa2\x02\x03MIX\xaa\x02\x13Metalstack.Infra.V2\xca\x02\x13Metalstack\\Infra\\V2\xe2\x02\x1fMetalstack\\Infra\\V2\\GPBMetadata\xea\x02\x15Metalstack::Infra::V2b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,12 +36,8 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\027com.metalstack.infra.v2B\010BmcProtoP\001Z9github.com/metal-stack/api/go/metalstack/infra/v2;infrav2\242\002\003MIX\252\002\023Metalstack.Infra.V2\312\002\023Metalstack\\Infra\\V2\342\002\037Metalstack\\Infra\\V2\\GPBMetadata\352\002\025Metalstack::Infra::V2' - _globals['_UPDATEBMCINFOREQUEST_BMCREPORTSENTRY']._loaded_options = None - _globals['_UPDATEBMCINFOREQUEST_BMCREPORTSENTRY']._serialized_options = b'8\001' _globals['_UPDATEBMCINFOREQUEST'].fields_by_name['partition']._loaded_options = None _globals['_UPDATEBMCINFOREQUEST'].fields_by_name['partition']._serialized_options = b'\272H\010r\006\320\263\256\261\002\001' - _globals['_UPDATEBMCINFOREQUEST'].fields_by_name['bmc_reports']._loaded_options = None - _globals['_UPDATEBMCINFOREQUEST'].fields_by_name['bmc_reports']._serialized_options = b'\272H\n\232\001\007\"\005r\003\260\001\001' _globals['_WAITFORBMCCOMMANDREQUEST'].fields_by_name['partition']._loaded_options = None _globals['_WAITFORBMCCOMMANDREQUEST'].fields_by_name['partition']._serialized_options = b'\272H\010r\006\320\263\256\261\002\001' _globals['_WAITFORBMCCOMMANDRESPONSE'].fields_by_name['uuid']._loaded_options = None @@ -53,19 +49,17 @@ _globals['_BMCSERVICE'].methods_by_name['BMCCommandDone']._loaded_options = None _globals['_BMCSERVICE'].methods_by_name['BMCCommandDone']._serialized_options = b'\340\363\030\001\352\363\030\001\001' _globals['_UPDATEBMCINFOREQUEST']._serialized_start=191 - _globals['_UPDATEBMCINFOREQUEST']._serialized_end=463 - _globals['_UPDATEBMCINFOREQUEST_BMCREPORTSENTRY']._serialized_start=365 - _globals['_UPDATEBMCINFOREQUEST_BMCREPORTSENTRY']._serialized_end=463 - _globals['_UPDATEBMCINFORESPONSE']._serialized_start=465 - _globals['_UPDATEBMCINFORESPONSE']._serialized_end=574 - _globals['_WAITFORBMCCOMMANDREQUEST']._serialized_start=576 - _globals['_WAITFORBMCCOMMANDREQUEST']._serialized_end=645 - _globals['_WAITFORBMCCOMMANDRESPONSE']._serialized_start=648 - _globals['_WAITFORBMCCOMMANDRESPONSE']._serialized_end=871 - _globals['_BMCCOMMANDDONEREQUEST']._serialized_start=873 - _globals['_BMCCOMMANDDONEREQUEST']._serialized_end=964 - _globals['_BMCCOMMANDDONERESPONSE']._serialized_start=966 - _globals['_BMCCOMMANDDONERESPONSE']._serialized_end=990 - _globals['_BMCSERVICE']._serialized_start=993 - _globals['_BMCSERVICE']._serialized_end=1367 + _globals['_UPDATEBMCINFOREQUEST']._serialized_end=326 + _globals['_UPDATEBMCINFORESPONSE']._serialized_start=328 + _globals['_UPDATEBMCINFORESPONSE']._serialized_end=437 + _globals['_WAITFORBMCCOMMANDREQUEST']._serialized_start=439 + _globals['_WAITFORBMCCOMMANDREQUEST']._serialized_end=508 + _globals['_WAITFORBMCCOMMANDRESPONSE']._serialized_start=511 + _globals['_WAITFORBMCCOMMANDRESPONSE']._serialized_end=734 + _globals['_BMCCOMMANDDONEREQUEST']._serialized_start=736 + _globals['_BMCCOMMANDDONEREQUEST']._serialized_end=827 + _globals['_BMCCOMMANDDONERESPONSE']._serialized_start=829 + _globals['_BMCCOMMANDDONERESPONSE']._serialized_end=853 + _globals['_BMCSERVICE']._serialized_start=856 + _globals['_BMCSERVICE']._serialized_end=1230 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/infra/v2/bmc_pb2.pyi b/python/metalstack/infra/v2/bmc_pb2.pyi index 25feae67..8c3c30db 100644 --- a/python/metalstack/infra/v2/bmc_pb2.pyi +++ b/python/metalstack/infra/v2/bmc_pb2.pyi @@ -12,18 +12,11 @@ DESCRIPTOR: _descriptor.FileDescriptor class UpdateBMCInfoRequest(_message.Message): __slots__ = ("partition", "bmc_reports") - class BmcReportsEntry(_message.Message): - __slots__ = ("key", "value") - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: _machine_pb2.MachineBMCReport - def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_machine_pb2.MachineBMCReport, _Mapping]] = ...) -> None: ... PARTITION_FIELD_NUMBER: _ClassVar[int] BMC_REPORTS_FIELD_NUMBER: _ClassVar[int] partition: str - bmc_reports: _containers.MessageMap[str, _machine_pb2.MachineBMCReport] - def __init__(self, partition: _Optional[str] = ..., bmc_reports: _Optional[_Mapping[str, _machine_pb2.MachineBMCReport]] = ...) -> None: ... + bmc_reports: _containers.RepeatedCompositeFieldContainer[_machine_pb2.MachineBMCReport] + def __init__(self, partition: _Optional[str] = ..., bmc_reports: _Optional[_Iterable[_Union[_machine_pb2.MachineBMCReport, _Mapping]]] = ...) -> None: ... class UpdateBMCInfoResponse(_message.Message): __slots__ = ("updated_machines", "created_machines")
    FieldTypeLabelDescription
    keystring

    value metalstack.api.v2.MachineBMCReport

    repeated

    BmcReports contains bmc details of a machine.