diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b5c8d5e8..0e04182f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v6 @@ -39,7 +39,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Check spelling uses: crate-ci/typos@master @@ -51,7 +51,7 @@ jobs: cache: false - name: Lint - uses: golangci/golangci-lint-action@v8 + uses: golangci/golangci-lint-action@v9 with: args: -D protogetter --timeout=5m @@ -60,7 +60,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Set up Python 3.13 uses: actions/setup-python@v6 diff --git a/.github/workflows/npm-publish.yaml b/.github/workflows/npm-publish.yaml index e8014c44..df7009c1 100644 --- a/.github/workflows/npm-publish.yaml +++ b/.github/workflows/npm-publish.yaml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: setup Node.js uses: actions/setup-node@v6 diff --git a/.github/workflows/release-drafter.yaml b/.github/workflows/release-drafter.yaml index 44f017a0..9d1e9b3c 100644 --- a/.github/workflows/release-drafter.yaml +++ b/.github/workflows/release-drafter.yaml @@ -10,6 +10,6 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@v6 + - uses: release-drafter/release-drafter@v7 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/doc/index.html b/doc/index.html index 2cc2b9ba..6410ab5c 100644 --- a/doc/index.html +++ b/doc/index.html @@ -8683,7 +8683,8 @@

NetworkType

NETWORK_TYPE_CHILD_SHARED indicates a child network of a project which allows the allocation of ips from different projects. Connectivity to external networks is not possible, as for normal child networks. These networks are usually used to provide connectivity to shared services which are created in child networks, e.g. storage. -With this approach the number of hops can be reduced to the bare minimum in order to increase availability and performance.

+With this approach the number of hops can be reduced to the bare minimum in order to increase availability and performance. +Only one child shared network per project is allowed.

@@ -10547,6 +10548,13 @@

MachineNetwork

ASN the autonomous system number for this network

+ + project + string + optional +

Project is the project uuid associated with this network

+ + @@ -10962,6 +10970,30 @@

MachineQuery

State this machine has

+ + waiting + bool + optional +

Waiting if set to true, only waiting machines are returned. +Only useful for admins.

+ + + + preallocated + bool + optional +

Preallocated if set to true, only machines which are preallocated are returned. +Only useful for admins.

+ + + + not_allocated + bool + optional +

NotAllocated if set to true, only machines which are not allocated are returned. +Only useful for admins.

+ + @@ -12033,7 +12065,7 @@

MachineState

MACHINE_STATE_AVAILABLE 3 -

MACHINE_STATE_LOCKED this machine is available for all

+

MACHINE_STATE_AVAILABLE this machine is available for all

diff --git a/go.mod b/go.mod index accf9b1c..5fc34ea2 100644 --- a/go.mod +++ b/go.mod @@ -28,8 +28,8 @@ require ( github.com/stretchr/objx v0.5.3 // indirect golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 // indirect golang.org/x/text v0.35.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260311181403-84a4fc48630c // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260311181403-84a4fc48630c // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260316180232-0b37fe3546d5 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260316180232-0b37fe3546d5 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index f46e2dd9..d6b0c5c1 100644 --- a/go.sum +++ b/go.sum @@ -55,10 +55,10 @@ golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 h1:jiDhWWeC7jfWqR9c/uplMOqJ0 golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90/go.mod h1:xE1HEv6b+1SCZ5/uscMRjUBKtIxworgEcEi+/n9NQDQ= golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= -google.golang.org/genproto/googleapis/api v0.0.0-20260311181403-84a4fc48630c h1:OyQPd6I3pN/9gDxz6L13kYGJgqkpdrAohJRBeXyxlgI= -google.golang.org/genproto/googleapis/api v0.0.0-20260311181403-84a4fc48630c/go.mod h1:X2gu9Qwng7Nn009s/r3RUxqkzQNqOrAy79bluY7ojIg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260311181403-84a4fc48630c h1:xgCzyF2LFIO/0X2UAoVRiXKU5Xg6VjToG4i2/ecSswk= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260311181403-84a4fc48630c/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/genproto/googleapis/api v0.0.0-20260316180232-0b37fe3546d5 h1:CogIeEXn4qWYzzQU0QqvYBM8yDF9cFYzDq9ojSpv0Js= +google.golang.org/genproto/googleapis/api v0.0.0-20260316180232-0b37fe3546d5/go.mod h1:EIQZ5bFCfRQDV4MhRle7+OgjNtZ6P1PiZBgAKuxXu/Y= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260316180232-0b37fe3546d5 h1:aJmi6DVGGIStN9Mobk/tZOOQUBbj0BPjZjjnOdoZKts= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260316180232-0b37fe3546d5/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/go/metalstack/api/v2/machine.pb.go b/go/metalstack/api/v2/machine.pb.go index 0b73d382..dbb9a9fb 100644 --- a/go/metalstack/api/v2/machine.pb.go +++ b/go/metalstack/api/v2/machine.pb.go @@ -86,7 +86,7 @@ const ( MachineState_MACHINE_STATE_RESERVED MachineState = 1 // MACHINE_STATE_LOCKED this machine is locked MachineState_MACHINE_STATE_LOCKED MachineState = 2 - // MACHINE_STATE_LOCKED this machine is available for all + // MACHINE_STATE_AVAILABLE this machine is available for all MachineState_MACHINE_STATE_AVAILABLE MachineState = 3 ) @@ -2215,7 +2215,9 @@ type MachineNetwork struct { // VRF the vrf id Vrf uint64 `protobuf:"varint,7,opt,name=vrf,proto3" json:"vrf,omitempty"` // ASN the autonomous system number for this network - Asn uint32 `protobuf:"varint,8,opt,name=asn,proto3" json:"asn,omitempty"` + Asn uint32 `protobuf:"varint,8,opt,name=asn,proto3" json:"asn,omitempty"` + // Project is the project uuid associated with this network + Project *string `protobuf:"bytes,9,opt,name=project,proto3,oneof" json:"project,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -2306,6 +2308,13 @@ func (x *MachineNetwork) GetAsn() uint32 { return 0 } +func (x *MachineNetwork) GetProject() string { + if x != nil && x.Project != nil { + return *x.Project + } + return "" +} + // MachineHardware contains hardware details type MachineHardware struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -3485,7 +3494,16 @@ type MachineQuery struct { // Hardware specific machine query Hardware *MachineHardwareQuery `protobuf:"bytes,13,opt,name=hardware,proto3,oneof" json:"hardware,omitempty"` // State this machine has - State *MachineState `protobuf:"varint,14,opt,name=state,proto3,enum=metalstack.api.v2.MachineState,oneof" json:"state,omitempty"` + State *MachineState `protobuf:"varint,14,opt,name=state,proto3,enum=metalstack.api.v2.MachineState,oneof" json:"state,omitempty"` + // Waiting if set to true, only waiting machines are returned. + // Only useful for admins. + Waiting *bool `protobuf:"varint,15,opt,name=waiting,proto3,oneof" json:"waiting,omitempty"` + // Preallocated if set to true, only machines which are preallocated are returned. + // Only useful for admins. + Preallocated *bool `protobuf:"varint,16,opt,name=preallocated,proto3,oneof" json:"preallocated,omitempty"` + // NotAllocated if set to true, only machines which are not allocated are returned. + // Only useful for admins. + NotAllocated *bool `protobuf:"varint,17,opt,name=not_allocated,json=notAllocated,proto3,oneof" json:"not_allocated,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -3618,6 +3636,27 @@ func (x *MachineQuery) GetState() MachineState { return MachineState_MACHINE_STATE_UNSPECIFIED } +func (x *MachineQuery) GetWaiting() bool { + if x != nil && x.Waiting != nil { + return *x.Waiting + } + return false +} + +func (x *MachineQuery) GetPreallocated() bool { + if x != nil && x.Preallocated != nil { + return *x.Preallocated + } + return false +} + +func (x *MachineQuery) GetNotAllocated() bool { + if x != nil && x.NotAllocated != nil { + return *x.NotAllocated + } + return false +} + // MachineAllocationQuery allocation specific query parameters type MachineAllocationQuery struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -4337,7 +4376,7 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" + "\x05ports\x18\x02 \x03(\rB\x0e\xbaH\v\x92\x01\b\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12\x1c\n" + "\x02to\x18\x03 \x03(\tB\f\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x02to\x12 \n" + "\x04from\x18\x04 \x03(\tB\f\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x04from\x121\n" + - "\acomment\x18\x05 \x01(\tB\x17\xbaH\x14\xd8\x01\x01r\x0f\x18d2\v^[a-z_ -]*$R\acomment\"\xe7\x02\n" + + "\acomment\x18\x05 \x01(\tB\x17\xbaH\x14\xd8\x01\x01r\x0f\x18d2\v^[a-z_ -]*$R\acomment\"\x9c\x03\n" + "\x0eMachineNetwork\x12\x18\n" + "\anetwork\x18\x01 \x01(\tR\anetwork\x12(\n" + "\bprefixes\x18\x02 \x03(\tB\f\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\bprefixes\x12?\n" + @@ -4346,7 +4385,10 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" + "\fnetwork_type\x18\x05 \x01(\x0e2\x1e.metalstack.api.v2.NetworkTypeB\b\xbaH\x05\x82\x01\x02\x10\x01R\vnetworkType\x12?\n" + "\bnat_type\x18\x06 \x01(\x0e2\x1a.metalstack.api.v2.NATTypeB\b\xbaH\x05\x82\x01\x02\x10\x01R\anatType\x12\x10\n" + "\x03vrf\x18\a \x01(\x04R\x03vrf\x12\x10\n" + - "\x03asn\x18\b \x01(\rR\x03asn\"\xfb\x01\n" + + "\x03asn\x18\b \x01(\rR\x03asn\x12'\n" + + "\aproject\x18\t \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01H\x00R\aproject\x88\x01\x01B\n" + + "\n" + + "\b_project\"\xfb\x01\n" + "\x0fMachineHardware\x12\x16\n" + "\x06memory\x18\x01 \x01(\x04R\x06memory\x12;\n" + "\x05disks\x18\x03 \x03(\v2%.metalstack.api.v2.MachineBlockDeviceR\x05disks\x12/\n" + @@ -4443,7 +4485,7 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" + "\x15control_plane_address\x18\x01 \x01(\tR\x13controlPlaneAddress\x12\x19\n" + "\bauth_key\x18\x02 \x01(\tR\aauthKey\x12\x1c\n" + "\tconnected\x18\x03 \x01(\bR\tconnected\x12\x1e\n" + - "\x03ips\x18\x05 \x03(\tB\f\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\xa4\a\n" + + "\x03ips\x18\x05 \x03(\tB\f\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\xc5\b\n" + "\fMachineQuery\x12!\n" + "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12$\n" + "\x04name\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12-\n" + @@ -4465,7 +4507,10 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" + "R\x03bmc\x88\x01\x01\x129\n" + "\x03fru\x18\f \x01(\v2\".metalstack.api.v2.MachineFRUQueryH\vR\x03fru\x88\x01\x01\x12H\n" + "\bhardware\x18\r \x01(\v2'.metalstack.api.v2.MachineHardwareQueryH\fR\bhardware\x88\x01\x01\x12:\n" + - "\x05state\x18\x0e \x01(\x0e2\x1f.metalstack.api.v2.MachineStateH\rR\x05state\x88\x01\x01B\a\n" + + "\x05state\x18\x0e \x01(\x0e2\x1f.metalstack.api.v2.MachineStateH\rR\x05state\x88\x01\x01\x12\x1d\n" + + "\awaiting\x18\x0f \x01(\bH\x0eR\awaiting\x88\x01\x01\x12'\n" + + "\fpreallocated\x18\x10 \x01(\bH\x0fR\fpreallocated\x88\x01\x01\x12(\n" + + "\rnot_allocated\x18\x11 \x01(\bH\x10R\fnotAllocated\x88\x01\x01B\a\n" + "\x05_uuidB\a\n" + "\x05_nameB\f\n" + "\n" + @@ -4481,7 +4526,11 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" + "\x04_bmcB\x06\n" + "\x04_fruB\v\n" + "\t_hardwareB\b\n" + - "\x06_state\"\xde\x04\n" + + "\x06_stateB\n" + + "\n" + + "\b_waitingB\x0f\n" + + "\r_preallocatedB\x10\n" + + "\x0e_not_allocated\"\xde\x04\n" + "\x16MachineAllocationQuery\x12!\n" + "\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12$\n" + "\x04name\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12'\n" + @@ -4815,6 +4864,7 @@ func file_metalstack_api_v2_machine_proto_init() { file_metalstack_api_v2_machine_proto_msgTypes[5].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[19].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[20].OneofWrappers = []any{} + file_metalstack_api_v2_machine_proto_msgTypes[24].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[41].OneofWrappers = []any{} diff --git a/go/metalstack/api/v2/network.pb.go b/go/metalstack/api/v2/network.pb.go index 5782c31c..7072c082 100644 --- a/go/metalstack/api/v2/network.pb.go +++ b/go/metalstack/api/v2/network.pb.go @@ -114,6 +114,7 @@ const ( // Connectivity to external networks is not possible, as for normal child networks. // These networks are usually used to provide connectivity to shared services which are created in child networks, e.g. storage. // With this approach the number of hops can be reduced to the bare minimum in order to increase availability and performance. + // Only one child shared network per project is allowed. NetworkType_NETWORK_TYPE_CHILD_SHARED NetworkType = 6 ) diff --git a/js/metalstack/api/v2/machine_pb.d.ts b/js/metalstack/api/v2/machine_pb.d.ts index 0a9d61de..64d179ae 100644 --- a/js/metalstack/api/v2/machine_pb.d.ts +++ b/js/metalstack/api/v2/machine_pb.d.ts @@ -911,6 +911,12 @@ export type MachineNetwork = Message<"metalstack.api.v2.MachineNetwork"> & { * @generated from field: uint32 asn = 8; */ asn: number; + /** + * Project is the project uuid associated with this network + * + * @generated from field: optional string project = 9; + */ + project?: string; }; /** * Describes the message metalstack.api.v2.MachineNetwork. @@ -1586,6 +1592,27 @@ export type MachineQuery = Message<"metalstack.api.v2.MachineQuery"> & { * @generated from field: optional metalstack.api.v2.MachineState state = 14; */ state?: MachineState; + /** + * Waiting if set to true, only waiting machines are returned. + * Only useful for admins. + * + * @generated from field: optional bool waiting = 15; + */ + waiting?: boolean; + /** + * Preallocated if set to true, only machines which are preallocated are returned. + * Only useful for admins. + * + * @generated from field: optional bool preallocated = 16; + */ + preallocated?: boolean; + /** + * NotAllocated if set to true, only machines which are not allocated are returned. + * Only useful for admins. + * + * @generated from field: optional bool not_allocated = 17; + */ + notAllocated?: boolean; }; /** * Describes the message metalstack.api.v2.MachineQuery. @@ -1940,7 +1967,7 @@ export declare enum MachineState { */ LOCKED = 2, /** - * MACHINE_STATE_LOCKED this machine is available for all + * MACHINE_STATE_AVAILABLE this machine is available for all * * @generated from enum value: MACHINE_STATE_AVAILABLE = 3; */ diff --git a/js/metalstack/api/v2/machine_pb.js b/js/metalstack/api/v2/machine_pb.js index d4701089..9b4fcfd6 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("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSL/BgobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIeCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBEhYKBHNpemUYByABKAlCCLpIBXIDGIABEhcKBWltYWdlGAggASgJQgi6SAVyAxiAARIeChFmaWxlc3lzdGVtX2xheW91dBgJIAEoCUgDiAEBEioKD3NzaF9wdWJsaWNfa2V5cxgKIAMoCUIRukgOkgELEDIiB3IFEAEYgEASIAoIdXNlcmRhdGEYCyABKAlCCbpIBnIEGICAAkgEiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI9CghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIzCgNpcHMYDiADKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQWxsb2NhdGlvbklwEiAKDnBsYWNlbWVudF90YWdzGA8gAygJQgi6SAWSAQIQQBI7CgtkbnNfc2VydmVycxgQIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYESADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgSIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgTIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQhQKEl9maWxlc3lzdGVtX2xheW91dEILCglfdXNlcmRhdGEiSAoMRmlyZXdhbGxTcGVjEjgKDmZpcmV3YWxsX3J1bGVzGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxSdWxlcyJLChxNYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIrACChtNYWNoaW5lU2VydmljZVVwZGF0ZVJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESGQoHcHJvamVjdBgDIAEoCUIIukgFcgOwAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSACIAQESNAoGbGFiZWxzGAUgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAGIAQESKgoPc3NoX3B1YmxpY19rZXlzGAYgAygJQhG6SA6SAQsQMiIHcgUQARiAQEIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiIgogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiUAobTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBImgKHE1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2USFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESMAoDYm1jGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydCKyAwoHTWFjaGluZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIvCglwYXJ0aXRpb24YAyABKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5QYXJ0aXRpb24SFgoEcmFjaxgEIAEoCUIIukgFcgMYgAESJQoEc2l6ZRgFIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLlNpemUSNAoIaGFyZHdhcmUYBiABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmUSOAoKYWxsb2NhdGlvbhgIIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uEjAKBnN0YXR1cxgJIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0dXMSVgoacmVjZW50X3Byb3Zpc2lvbmluZ19ldmVudHMYCiABKAsyMi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUmVjZW50UHJvdmlzaW9uaW5nRXZlbnRzIu8BCg1NYWNoaW5lU3RhdHVzEjYKCWNvbmRpdGlvbhgBIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDb25kaXRpb24SRAoJbGVkX3N0YXRlGAIgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEkIKCmxpdmVsaW5lc3MYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTGl2ZWxpbmVzc0IIukgFggECEAESHAoUbWV0YWxfaGFtbWVyX3ZlcnNpb24YBCABKAkiiAEKEE1hY2hpbmVDb25kaXRpb24SOAoFc3RhdGUYASABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAIgASgJQgu6SAhyBsizrrECARIYCgZpc3N1ZXIYAyABKAlCCLpIBXIDGIACIvcFChFNYWNoaW5lQWxsb2NhdGlvbhIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIZCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECARIgCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgESHAoKY3JlYXRlZF9ieRgFIAEoCUIIukgFcgMYgAESGQoHcHJvamVjdBgGIAEoCUIIukgFcgOwAQESJwoFaW1hZ2UYByABKAsyGC5tZXRhbHN0YWNrLmFwaS52Mi5JbWFnZRI+ChFmaWxlc3lzdGVtX2xheW91dBgIIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLkZpbGVzeXN0ZW1MYXlvdXQSMwoIbmV0d29ya3MYCSADKAsyIS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmV0d29yaxIZCghob3N0bmFtZRgKIAEoCUIHukgEcgJoARIqCg9zc2hfcHVibGljX2tleXMYCyADKAlCEbpIDpIBCxAyIgdyBRABGIBAEhsKCHVzZXJkYXRhGAwgASgJQgm6SAZyBBiAgAISSwoPYWxsb2NhdGlvbl90eXBlGA0gASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI4Cg5maXJld2FsbF9ydWxlcxgOIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMSOwoLZG5zX3NlcnZlcnMYDyADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5ETlNTZXJ2ZXJCCLpIBZIBAhADEjsKC250cF9zZXJ2ZXJzGBAgAygLMhwubWV0YWxzdGFjay5hcGkudjIuTlRQU2VydmVyQgi6SAWSAQIQChIqCgN2cG4YESABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOInAKGE1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIfChJub19hdXRvX2FjcXVpcmVfaXAYAiABKAhIAIgBAUIVChNfbm9fYXV0b19hY3F1aXJlX2lwIloKE01hY2hpbmVBbGxvY2F0aW9uSXASEwoCaXAYASABKAlCB7pIBHICcAESIAoJbmFtZXNwYWNlGAIgASgJQgi6SAVyA7ABAUgAiAEBQgwKCl9uYW1lc3BhY2UifwoNRmlyZXdhbGxSdWxlcxI1CgZlZ3Jlc3MYASADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbEVncmVzc1J1bGUSNwoHaW5ncmVzcxgCIAMoCzImLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsSW5ncmVzc1J1bGUisgEKEkZpcmV3YWxsRWdyZXNzUnVsZRI5Cghwcm90b2NvbBgBIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLklQUHJvdG9jb2xCCLpIBYIBAhABEh0KBXBvcnRzGAIgAygNQg66SAuSAQgiBioEGPz/AxIYCgJ0bxgDIAMoCUIMukgJkgEGuKSzsQIBEigKB2NvbW1lbnQYBCABKAlCF7pIFNgBAXIPGGQyC15bYS16XyAtXSokIs8BChNGaXJld2FsbEluZ3Jlc3NSdWxlEjkKCHByb3RvY29sGAEgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuSVBQcm90b2NvbEIIukgFggECEAESHQoFcG9ydHMYAiADKA1CDrpIC5IBCCIGKgQY/P8DEhgKAnRvGAMgAygJQgy6SAmSAQa4pLOxAgESGgoEZnJvbRgEIAMoCUIMukgJkgEGuKSzsQIBEigKB2NvbW1lbnQYBSABKAlCF7pIFNgBAXIPGGQyC15bYS16XyAtXSokIpoCCg5NYWNoaW5lTmV0d29yaxIPCgduZXR3b3JrGAEgASgJEh4KCHByZWZpeGVzGAIgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYAyADKAlCDLpICZIBBriks7ECARIZCgNpcHMYBCADKAlCDLpICZIBBsCks7ECARI+CgxuZXR3b3JrX3R5cGUYBSABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAESNgoIbmF0X3R5cGUYBiABKA4yGi5tZXRhbHN0YWNrLmFwaS52Mi5OQVRUeXBlQgi6SAWCAQIQARILCgN2cmYYByABKAQSCwoDYXNuGAggASgNItoBCg9NYWNoaW5lSGFyZHdhcmUSDgoGbWVtb3J5GAEgASgEEjQKBWRpc2tzGAMgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJsb2NrRGV2aWNlEikKBGNwdXMYBCADKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhbENQVRIpCgRncHVzGAUgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxHUFUSKwoEbmljcxgGIAMoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWMiXQoITWV0YWxDUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAISDQoFY29yZXMYAyABKA0SDwoHdGhyZWFkcxgEIAEoDSI9CghNZXRhbEdQVRIYCgZ2ZW5kb3IYASABKAlCCLpIBXIDGIACEhcKBW1vZGVsGAIgASgJQgi6SAVyAxiAAiLlAQoKTWFjaGluZU5pYxIYCgNtYWMYASABKAlCC7pICHIGuLOusQIBEhkKBG5hbWUYAiABKAlCC7pICHIGwLOusQIBEhwKCmlkZW50aWZpZXIYAyABKAlCCLpIBXIDGIABEhgKBnZlbmRvchgEIAEoCUIIukgFcgMYgAESFwoFbW9kZWwYBSABKAlCCLpIBXIDGIABEg0KBXNwZWVkGAYgASgEEjAKCW5laWdoYm9ycxgHIAMoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWMSEAoIaG9zdG5hbWUYCCABKAkiPQoSTWFjaGluZUJsb2NrRGV2aWNlEhkKBG5hbWUYASABKAlCC7pICHIGwLOusQIBEgwKBHNpemUYAiABKAQiWwoeTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEhcKBXZhbHVlGAEgASgJQgi6SAVyAxiAARIgCgtkZXNjcmlwdGlvbhgCIAEoCUILukgIcgbIs66xAgEiigMKEE1hY2hpbmVCTUNSZXBvcnQSKgoDYm1jGAEgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQxIsCgRiaW9zGAIgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJpb3MSKgoDZnJ1GAMgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVRI7Cgxwb3dlcl9tZXRyaWMYBCABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJNZXRyaWMSPQoOcG93ZXJfc3VwcGxpZXMYBSADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJTdXBwbHkSRAoJbGVkX3N0YXRlGAYgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImMKC01hY2hpbmVCaW9zEhwKB3ZlcnNpb24YASABKAlCC7pICHIGyLOusQIBEhsKBnZlbmRvchgCIAEoCUILukgIcgbIs66xAgESGQoEZGF0ZRgDIAEoCUILukgIcgbIs66xAgEi2wEKCk1hY2hpbmVCTUMSGQoHYWRkcmVzcxgBIAEoCUIIukgFcgOAAgESGAoDbWFjGAIgASgJQgu6SAhyBrizrrECARIZCgR1c2VyGAMgASgJQgu6SAhyBsizrrECARIdCghwYXNzd29yZBgEIAEoCUILukgIcgbIs66xAgESHgoJaW50ZXJmYWNlGAUgASgJQgu6SAhyBsizrrECARIcCgd2ZXJzaW9uGAcgASgJQgu6SAhyBsizrrECARIgCgtwb3dlcl9zdGF0ZRgIIAEoCUILukgIcgbIs66xAgEingQKCk1hY2hpbmVGUlUSLQoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUILukgIcgbIs66xAgFIAIgBARItChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCWJvYXJkX21mZxgDIAEoCUILukgIcgbIs66xAgFIAogBARIqChBib2FyZF9tZmdfc2VyaWFsGAQgASgJQgu6SAhyBsizrrECAUgDiAEBEisKEWJvYXJkX3BhcnRfbnVtYmVyGAUgASgJQgu6SAhyBsizrrECAUgEiAEBEi4KFHByb2R1Y3RfbWFudWZhY3R1cmVyGAYgASgJQgu6SAhyBsizrrECAUgFiAEBEi0KE3Byb2R1Y3RfcGFydF9udW1iZXIYByABKAlCC7pICHIGyLOusQIBSAaIAQESKAoOcHJvZHVjdF9zZXJpYWwYCCABKAlCC7pICHIGyLOusQIBSAeIAQFCFgoUX2NoYXNzaXNfcGFydF9udW1iZXJCFgoUX2NoYXNzaXNfcGFydF9zZXJpYWxCDAoKX2JvYXJkX21mZ0ITChFfYm9hcmRfbWZnX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCKFAQoSTWFjaGluZVBvd2VyTWV0cmljEh4KFmF2ZXJhZ2VfY29uc3VtZWRfd2F0dHMYASABKAISFwoPaW50ZXJ2YWxfaW5fbWluGAIgASgCEhoKEm1heF9jb25zdW1lZF93YXR0cxgDIAEoAhIaChJtaW5fY29uc3VtZWRfd2F0dHMYBCABKAIiMwoSTWFjaGluZVBvd2VyU3VwcGx5Eg4KBmhlYWx0aBgBIAEoCRINCgVzdGF0ZRgCIAEoCSKlAgofTWFjaGluZVJlY2VudFByb3Zpc2lvbmluZ0V2ZW50cxI7CgZldmVudHMYASADKAsyKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSMwoPbGFzdF9ldmVudF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJFChBsYXN0X2Vycm9yX2V2ZW50GAMgASgLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EkkKBXN0YXRlGAQgASgOMjAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGVCCLpIBYIBAhABIpUBChhNYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASPgoFZXZlbnQYAiABKA4yLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRUeXBlEg8KB21lc3NhZ2UYAyABKAkiawoKTWFjaGluZVZQThIdChVjb250cm9sX3BsYW5lX2FkZHJlc3MYASABKAkSEAoIYXV0aF9rZXkYAiABKAkSEQoJY29ubmVjdGVkGAMgASgIEhkKA2lwcxgFIAMoCUIMukgJkgEGwKSzsQIBIr4GCgxNYWNoaW5lUXVlcnkSGwoEdXVpZBgBIAEoCUIIukgFcgOwAQFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEiIKCXBhcnRpdGlvbhgDIAEoCUIKukgHcgUQAhiAAUgCiAEBEh0KBHNpemUYBCABKAlCCrpIB3IFEAIYgAFIA4gBARIdCgRyYWNrGAUgASgJQgq6SAdyBRACGIABSASIAQESLgoGbGFiZWxzGAYgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAWIAQESQgoKYWxsb2NhdGlvbhgHIAEoCzIpLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uUXVlcnlIBogBARI8CgduZXR3b3JrGAggASgLMiYubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5ldHdvcmtRdWVyeUgHiAEBEjQKA25pYxgJIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWNRdWVyeUgIiAEBEjYKBGRpc2sYCiABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lRGlza1F1ZXJ5SAmIAQESNAoDYm1jGAsgASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1F1ZXJ5SAqIAQESNAoDZnJ1GAwgASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVVF1ZXJ5SAuIAQESPgoIaGFyZHdhcmUYDSABKAsyJy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmVRdWVyeUgMiAEBEjMKBXN0YXRlGA4gASgOMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXRlSA2IAQFCBwoFX3V1aWRCBwoFX25hbWVCDAoKX3BhcnRpdGlvbkIHCgVfc2l6ZUIHCgVfcmFja0IJCgdfbGFiZWxzQg0KC19hbGxvY2F0aW9uQgoKCF9uZXR3b3JrQgYKBF9uaWNCBwoFX2Rpc2tCBgoEX2JtY0IGCgRfZnJ1QgsKCV9oYXJkd2FyZUIICgZfc3RhdGUiiQQKFk1hY2hpbmVBbGxvY2F0aW9uUXVlcnkSGwoEdXVpZBgBIAEoCUIIukgFcgOwAQFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEh4KB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBSAKIAQESHgoFaW1hZ2UYBCABKAlCCrpIB3IFEAIYgAFIA4gBARIqChFmaWxlc3lzdGVtX2xheW91dBgFIAEoCUIKukgHcgUQAhiAAUgEiAEBEiEKCGhvc3RuYW1lGAYgASgJQgq6SAdyBRACGIABSAWIAQESUAoPYWxsb2NhdGlvbl90eXBlGAcgASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQAUgGiAEBEi4KBmxhYmVscxgIIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gHiAEBEi8KA3ZwbhgJIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVWUE5ICIgBAUIHCgVfdXVpZEIHCgVfbmFtZUIKCghfcHJvamVjdEIICgZfaW1hZ2VCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV9ob3N0bmFtZUISChBfYWxsb2NhdGlvbl90eXBlQgkKB19sYWJlbHNCBgoEX3ZwbiKqAQoTTWFjaGluZU5ldHdvcmtRdWVyeRIQCghuZXR3b3JrcxgBIAMoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESDAoEdnJmcxgFIAMoBBIMCgRhc25zGAYgAygNIq8BCg9NYWNoaW5lTmljUXVlcnkSIgoEbWFjcxgBIAMoCUIUukgRkgEOEGQYASIIcga4s66xAgESIAoFbmFtZXMYAiADKAlCEbpIDpIBCxBkGAEiBXIDGIABEisKDW5laWdoYm9yX21hY3MYAyADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEikKDm5laWdoYm9yX25hbWVzGAQgAygJQhG6SA6SAQsQZBgBIgVyAxiAASJLChBNYWNoaW5lRGlza1F1ZXJ5Eh4KBW5hbWVzGAEgAygJQg+6SAySAQkQZCIFcgMYgAESFwoFc2l6ZXMYAiADKARCCLpIBZIBAhBkIrkBCg9NYWNoaW5lQk1DUXVlcnkSHQoHYWRkcmVzcxgBIAEoCUIHukgEcgJwAUgAiAEBEh0KA21hYxgCIAEoCUILukgIcga4s66xAgFIAYgBARIbCgR1c2VyGAMgASgJQgi6SAVyAxiAAUgCiAEBEiAKCWludGVyZmFjZRgEIAEoCUIIukgFcgMYgAFIA4gBAUIKCghfYWRkcmVzc0IGCgRfbWFjQgcKBV91c2VyQgwKCl9pbnRlcmZhY2UigwQKD01hY2hpbmVGUlVRdWVyeRIqChNjaGFzc2lzX3BhcnRfbnVtYmVyGAEgASgJQgi6SAVyAxiAAUgAiAEBEioKE2NoYXNzaXNfcGFydF9zZXJpYWwYAiABKAlCCLpIBXIDGIABSAGIAQESIAoJYm9hcmRfbWZnGAMgASgJQgi6SAVyAxiAAUgCiAEBEiMKDGJvYXJkX3NlcmlhbBgEIAEoCUIIukgFcgMYgAFIA4gBARIoChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUIIukgFcgMYgAFIBIgBARIrChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUIIukgFcgMYgAFIBYgBARIqChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgi6SAVyAxiAAUgGiAEBEiUKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgi6SAVyAxiAAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCDwoNX2JvYXJkX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCJcChRNYWNoaW5lSGFyZHdhcmVRdWVyeRITCgZtZW1vcnkYASABKARIAIgBARIWCgljcHVfY29yZXMYAiABKA1IAYgBAUIJCgdfbWVtb3J5QgwKCl9jcHVfY29yZXMqZQoKSVBQcm90b2NvbBIbChdJUF9QUk9UT0NPTF9VTlNQRUNJRklFRBAAEhwKD0lQX1BST1RPQ09MX1RDUBABGgeCshkDdGNwEhwKD0lQX1BST1RPQ09MX1VEUBACGgeCshkDdWRwKq8BCgxNYWNoaW5lU3RhdGUSIwoZTUFDSElORV9TVEFURV9VTlNQRUNJRklFRBAAGgSCshkAEigKFk1BQ0hJTkVfU1RBVEVfUkVTRVJWRUQQARoMgrIZCHJlc2VydmVkEiQKFE1BQ0hJTkVfU1RBVEVfTE9DS0VEEAIaCoKyGQZsb2NrZWQSKgoXTUFDSElORV9TVEFURV9BVkFJTEFCTEUQAxoNgrIZCWF2YWlsYWJsZSrfAQodTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGUSNgosTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABI9CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9DUkFTSExPT1AQARoNgrIZCWNyYXNobG9vcBJHCi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9GQUlMRURfUkVDTEFJTRACGhKCshkOZmFpbGVkLXJlY2xhaW0qnwYKHE1hY2hpbmVQcm92aXNpb25pbmdFdmVudFR5cGUSLworTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEjQKJU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQUxJVkUQARoJgrIZBUFsaXZlEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQ1JBU0hFRBACGguCshkHQ3Jhc2hlZBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BYRV9CT09USU5HEAMaD4KyGQtQWEUgQm9vdGluZxJGCi5NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BMQU5ORURfUkVCT09UEAQaEoKyGQ5QbGFubmVkIFJlYm9vdBI8CilNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BSRVBBUklORxAFGg2CshkJUHJlcGFyaW5nEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUkVHSVNURVJJTkcQBhoPgrIZC1JlZ2lzdGVyaW5nEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfV0FJVElORxAHGguCshkHV2FpdGluZxI+CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0lOU1RBTExJTkcQCBoOgrIZCkluc3RhbGxpbmcSTgoyTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9CT09USU5HX05FV19LRVJORUwQCRoWgrIZEkJvb3RpbmcgTmV3IEtlcm5lbBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BIT05FRF9IT01FEAoaD4KyGQtQaG9uZWQgSG9tZRJICi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX01BQ0hJTkVfUkVDTEFJTRALGhOCshkPTWFjaGluZSBSZWNsYWltKroBChFNYWNoaW5lTGl2ZWxpbmVzcxIoCh5NQUNISU5FX0xJVkVMSU5FU1NfVU5TUEVDSUZJRUQQABoEgrIZABInChhNQUNISU5FX0xJVkVMSU5FU1NfQUxJVkUQARoJgrIZBWFsaXZlEiUKF01BQ0hJTkVfTElWRUxJTkVTU19ERUFEEAIaCIKyGQRkZWFkEisKGk1BQ0hJTkVfTElWRUxJTkVTU19VTktOT1dOEAMaC4KyGQd1bmtub3duKqwBChVNYWNoaW5lQWxsb2NhdGlvblR5cGUSLQojTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABoEgrIZABIwCh9NQUNISU5FX0FMTE9DQVRJT05fVFlQRV9NQUNISU5FEAEaC4KyGQdtYWNoaW5lEjIKIE1BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX0ZJUkVXQUxMEAIaDIKyGQhmaXJld2FsbCr+BAoRTWFjaGluZUJNQ0NvbW1hbmQSIwofTUFDSElORV9CTUNfQ09NTUFORF9VTlNQRUNJRklFRBAAEiIKFk1BQ0hJTkVfQk1DX0NPTU1BTkRfT04QARoGgrIZAm9uEiQKF01BQ0hJTkVfQk1DX0NPTU1BTkRfT0ZGEAIaB4KyGQNvZmYSKAoZTUFDSElORV9CTUNfQ09NTUFORF9SRVNFVBADGgmCshkFcmVzZXQSKAoZTUFDSElORV9CTUNfQ09NTUFORF9DWUNMRRAEGgmCshkFY3ljbGUSNgogTUFDSElORV9CTUNfQ09NTUFORF9CT09UX1RPX0JJT1MQBRoQgrIZDGJvb3QtdG8tYmlvcxI6CiJNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9ESVNLEAYaEoKyGQ5ib290LWZyb20tZGlzaxI4CiFNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9QWEUQBxoRgrIZDWJvb3QtZnJvbS1weGUSPAojTUFDSElORV9CTUNfQ09NTUFORF9JREVOVElGWV9MRURfT04QCBoTgrIZD2lkZW50aWZ5LWxlZC1vbhI+CiRNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PRkYQCRoUgrIZEGlkZW50aWZ5LWxlZC1vZmYSPAojTUFDSElORV9CTUNfQ09NTUFORF9NQUNISU5FX0RFTEVURUQQChoTgrIZD21hY2hpbmUtZGVsZXRlZBI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfQ1JFQVRFRBALGhOCshkPbWFjaGluZS1jcmVhdGVkMrwGCg5NYWNoaW5lU2VydmljZRJtCgNHZXQSKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlc3BvbnNlIgvK8xgDAQID4PMYAhJxCgZDcmVhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlIgbK8xgCAQIScQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXNwb25zZSIGyvMYAgECEnAKBExpc3QSLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXF1ZXN0Gi0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnEKBkRlbGV0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiBsrzGAIBAhJ9CgpCTUNDb21tYW5kEjIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIgbK8xgCAQIScQoGR2V0Qk1DEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZSIGyvMYAgECQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDE1hY2hpbmVQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, 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("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSL/BgobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIeCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBEhYKBHNpemUYByABKAlCCLpIBXIDGIABEhcKBWltYWdlGAggASgJQgi6SAVyAxiAARIeChFmaWxlc3lzdGVtX2xheW91dBgJIAEoCUgDiAEBEioKD3NzaF9wdWJsaWNfa2V5cxgKIAMoCUIRukgOkgELEDIiB3IFEAEYgEASIAoIdXNlcmRhdGEYCyABKAlCCbpIBnIEGICAAkgEiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI9CghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIzCgNpcHMYDiADKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQWxsb2NhdGlvbklwEiAKDnBsYWNlbWVudF90YWdzGA8gAygJQgi6SAWSAQIQQBI7CgtkbnNfc2VydmVycxgQIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYESADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgSIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgTIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQhQKEl9maWxlc3lzdGVtX2xheW91dEILCglfdXNlcmRhdGEiSAoMRmlyZXdhbGxTcGVjEjgKDmZpcmV3YWxsX3J1bGVzGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxSdWxlcyJLChxNYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIrACChtNYWNoaW5lU2VydmljZVVwZGF0ZVJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESGQoHcHJvamVjdBgDIAEoCUIIukgFcgOwAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSACIAQESNAoGbGFiZWxzGAUgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAGIAQESKgoPc3NoX3B1YmxpY19rZXlzGAYgAygJQhG6SA6SAQsQMiIHcgUQARiAQEIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiIgogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiUAobTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBImgKHE1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2USFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESMAoDYm1jGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydCKyAwoHTWFjaGluZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIvCglwYXJ0aXRpb24YAyABKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5QYXJ0aXRpb24SFgoEcmFjaxgEIAEoCUIIukgFcgMYgAESJQoEc2l6ZRgFIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLlNpemUSNAoIaGFyZHdhcmUYBiABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmUSOAoKYWxsb2NhdGlvbhgIIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uEjAKBnN0YXR1cxgJIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0dXMSVgoacmVjZW50X3Byb3Zpc2lvbmluZ19ldmVudHMYCiABKAsyMi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUmVjZW50UHJvdmlzaW9uaW5nRXZlbnRzIu8BCg1NYWNoaW5lU3RhdHVzEjYKCWNvbmRpdGlvbhgBIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDb25kaXRpb24SRAoJbGVkX3N0YXRlGAIgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEkIKCmxpdmVsaW5lc3MYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTGl2ZWxpbmVzc0IIukgFggECEAESHAoUbWV0YWxfaGFtbWVyX3ZlcnNpb24YBCABKAkiiAEKEE1hY2hpbmVDb25kaXRpb24SOAoFc3RhdGUYASABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAIgASgJQgu6SAhyBsizrrECARIYCgZpc3N1ZXIYAyABKAlCCLpIBXIDGIACIvcFChFNYWNoaW5lQWxsb2NhdGlvbhIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIZCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECARIgCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgESHAoKY3JlYXRlZF9ieRgFIAEoCUIIukgFcgMYgAESGQoHcHJvamVjdBgGIAEoCUIIukgFcgOwAQESJwoFaW1hZ2UYByABKAsyGC5tZXRhbHN0YWNrLmFwaS52Mi5JbWFnZRI+ChFmaWxlc3lzdGVtX2xheW91dBgIIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLkZpbGVzeXN0ZW1MYXlvdXQSMwoIbmV0d29ya3MYCSADKAsyIS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmV0d29yaxIZCghob3N0bmFtZRgKIAEoCUIHukgEcgJoARIqCg9zc2hfcHVibGljX2tleXMYCyADKAlCEbpIDpIBCxAyIgdyBRABGIBAEhsKCHVzZXJkYXRhGAwgASgJQgm6SAZyBBiAgAISSwoPYWxsb2NhdGlvbl90eXBlGA0gASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI4Cg5maXJld2FsbF9ydWxlcxgOIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMSOwoLZG5zX3NlcnZlcnMYDyADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5ETlNTZXJ2ZXJCCLpIBZIBAhADEjsKC250cF9zZXJ2ZXJzGBAgAygLMhwubWV0YWxzdGFjay5hcGkudjIuTlRQU2VydmVyQgi6SAWSAQIQChIqCgN2cG4YESABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOInAKGE1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIfChJub19hdXRvX2FjcXVpcmVfaXAYAiABKAhIAIgBAUIVChNfbm9fYXV0b19hY3F1aXJlX2lwIloKE01hY2hpbmVBbGxvY2F0aW9uSXASEwoCaXAYASABKAlCB7pIBHICcAESIAoJbmFtZXNwYWNlGAIgASgJQgi6SAVyA7ABAUgAiAEBQgwKCl9uYW1lc3BhY2UifwoNRmlyZXdhbGxSdWxlcxI1CgZlZ3Jlc3MYASADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbEVncmVzc1J1bGUSNwoHaW5ncmVzcxgCIAMoCzImLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsSW5ncmVzc1J1bGUisgEKEkZpcmV3YWxsRWdyZXNzUnVsZRI5Cghwcm90b2NvbBgBIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLklQUHJvdG9jb2xCCLpIBYIBAhABEh0KBXBvcnRzGAIgAygNQg66SAuSAQgiBioEGPz/AxIYCgJ0bxgDIAMoCUIMukgJkgEGuKSzsQIBEigKB2NvbW1lbnQYBCABKAlCF7pIFNgBAXIPGGQyC15bYS16XyAtXSokIs8BChNGaXJld2FsbEluZ3Jlc3NSdWxlEjkKCHByb3RvY29sGAEgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuSVBQcm90b2NvbEIIukgFggECEAESHQoFcG9ydHMYAiADKA1CDrpIC5IBCCIGKgQY/P8DEhgKAnRvGAMgAygJQgy6SAmSAQa4pLOxAgESGgoEZnJvbRgEIAMoCUIMukgJkgEGuKSzsQIBEigKB2NvbW1lbnQYBSABKAlCF7pIFNgBAXIPGGQyC15bYS16XyAtXSokIsYCCg5NYWNoaW5lTmV0d29yaxIPCgduZXR3b3JrGAEgASgJEh4KCHByZWZpeGVzGAIgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYAyADKAlCDLpICZIBBriks7ECARIZCgNpcHMYBCADKAlCDLpICZIBBsCks7ECARI+CgxuZXR3b3JrX3R5cGUYBSABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAESNgoIbmF0X3R5cGUYBiABKA4yGi5tZXRhbHN0YWNrLmFwaS52Mi5OQVRUeXBlQgi6SAWCAQIQARILCgN2cmYYByABKAQSCwoDYXNuGAggASgNEh4KB3Byb2plY3QYCSABKAlCCLpIBXIDsAEBSACIAQFCCgoIX3Byb2plY3Qi2gEKD01hY2hpbmVIYXJkd2FyZRIOCgZtZW1vcnkYASABKAQSNAoFZGlza3MYAyADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQmxvY2tEZXZpY2USKQoEY3B1cxgEIAMoCzIbLm1ldGFsc3RhY2suYXBpLnYyLk1ldGFsQ1BVEikKBGdwdXMYBSADKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhbEdQVRIrCgRuaWNzGAYgAygLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5pYyJdCghNZXRhbENQVRIYCgZ2ZW5kb3IYASABKAlCCLpIBXIDGIACEhcKBW1vZGVsGAIgASgJQgi6SAVyAxiAAhINCgVjb3JlcxgDIAEoDRIPCgd0aHJlYWRzGAQgASgNIj0KCE1ldGFsR1BVEhgKBnZlbmRvchgBIAEoCUIIukgFcgMYgAISFwoFbW9kZWwYAiABKAlCCLpIBXIDGIACIuUBCgpNYWNoaW5lTmljEhgKA21hYxgBIAEoCUILukgIcga4s66xAgESGQoEbmFtZRgCIAEoCUILukgIcgbAs66xAgESHAoKaWRlbnRpZmllchgDIAEoCUIIukgFcgMYgAESGAoGdmVuZG9yGAQgASgJQgi6SAVyAxiAARIXCgVtb2RlbBgFIAEoCUIIukgFcgMYgAESDQoFc3BlZWQYBiABKAQSMAoJbmVpZ2hib3JzGAcgAygLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5pYxIQCghob3N0bmFtZRgIIAEoCSI9ChJNYWNoaW5lQmxvY2tEZXZpY2USGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESDAoEc2l6ZRgCIAEoBCJbCh5NYWNoaW5lQ2hhc3Npc0lkZW50aWZ5TEVEU3RhdGUSFwoFdmFsdWUYASABKAlCCLpIBXIDGIABEiAKC2Rlc2NyaXB0aW9uGAIgASgJQgu6SAhyBsizrrECASKKAwoQTWFjaGluZUJNQ1JlcG9ydBIqCgNibWMYASABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DEiwKBGJpb3MYAiABKAsyHi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQmlvcxIqCgNmcnUYAyABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lRlJVEjsKDHBvd2VyX21ldHJpYxgEIAEoCzIlLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQb3dlck1ldHJpYxI9Cg5wb3dlcl9zdXBwbGllcxgFIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQb3dlclN1cHBseRJECglsZWRfc3RhdGUYBiABKAsyMS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQ2hhc3Npc0lkZW50aWZ5TEVEU3RhdGUSLgoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiYwoLTWFjaGluZUJpb3MSHAoHdmVyc2lvbhgBIAEoCUILukgIcgbIs66xAgESGwoGdmVuZG9yGAIgASgJQgu6SAhyBsizrrECARIZCgRkYXRlGAMgASgJQgu6SAhyBsizrrECASLbAQoKTWFjaGluZUJNQxIZCgdhZGRyZXNzGAEgASgJQgi6SAVyA4ACARIYCgNtYWMYAiABKAlCC7pICHIGuLOusQIBEhkKBHVzZXIYAyABKAlCC7pICHIGyLOusQIBEh0KCHBhc3N3b3JkGAQgASgJQgu6SAhyBsizrrECARIeCglpbnRlcmZhY2UYBSABKAlCC7pICHIGyLOusQIBEhwKB3ZlcnNpb24YByABKAlCC7pICHIGyLOusQIBEiAKC3Bvd2VyX3N0YXRlGAggASgJQgu6SAhyBsizrrECASKeBAoKTWFjaGluZUZSVRItChNjaGFzc2lzX3BhcnRfbnVtYmVyGAEgASgJQgu6SAhyBsizrrECAUgAiAEBEi0KE2NoYXNzaXNfcGFydF9zZXJpYWwYAiABKAlCC7pICHIGyLOusQIBSAGIAQESIwoJYm9hcmRfbWZnGAMgASgJQgu6SAhyBsizrrECAUgCiAEBEioKEGJvYXJkX21mZ19zZXJpYWwYBCABKAlCC7pICHIGyLOusQIBSAOIAQESKwoRYm9hcmRfcGFydF9udW1iZXIYBSABKAlCC7pICHIGyLOusQIBSASIAQESLgoUcHJvZHVjdF9tYW51ZmFjdHVyZXIYBiABKAlCC7pICHIGyLOusQIBSAWIAQESLQoTcHJvZHVjdF9wYXJ0X251bWJlchgHIAEoCUILukgIcgbIs66xAgFIBogBARIoCg5wcm9kdWN0X3NlcmlhbBgIIAEoCUILukgIcgbIs66xAgFIB4gBAUIWChRfY2hhc3Npc19wYXJ0X251bWJlckIWChRfY2hhc3Npc19wYXJ0X3NlcmlhbEIMCgpfYm9hcmRfbWZnQhMKEV9ib2FyZF9tZmdfc2VyaWFsQhQKEl9ib2FyZF9wYXJ0X251bWJlckIXChVfcHJvZHVjdF9tYW51ZmFjdHVyZXJCFgoUX3Byb2R1Y3RfcGFydF9udW1iZXJCEQoPX3Byb2R1Y3Rfc2VyaWFsIoUBChJNYWNoaW5lUG93ZXJNZXRyaWMSHgoWYXZlcmFnZV9jb25zdW1lZF93YXR0cxgBIAEoAhIXCg9pbnRlcnZhbF9pbl9taW4YAiABKAISGgoSbWF4X2NvbnN1bWVkX3dhdHRzGAMgASgCEhoKEm1pbl9jb25zdW1lZF93YXR0cxgEIAEoAiIzChJNYWNoaW5lUG93ZXJTdXBwbHkSDgoGaGVhbHRoGAEgASgJEg0KBXN0YXRlGAIgASgJIqUCCh9NYWNoaW5lUmVjZW50UHJvdmlzaW9uaW5nRXZlbnRzEjsKBmV2ZW50cxgBIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudBIzCg9sYXN0X2V2ZW50X3RpbWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkUKEGxhc3RfZXJyb3JfZXZlbnQYAyABKAsyKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSSQoFc3RhdGUYBCABKA4yMC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRTdGF0ZUIIukgFggECEAEilQEKGE1hY2hpbmVQcm92aXNpb25pbmdFdmVudBIoCgR0aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI+CgVldmVudBgCIAEoDjIvLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudFR5cGUSDwoHbWVzc2FnZRgDIAEoCSJrCgpNYWNoaW5lVlBOEh0KFWNvbnRyb2xfcGxhbmVfYWRkcmVzcxgBIAEoCRIQCghhdXRoX2tleRgCIAEoCRIRCgljb25uZWN0ZWQYAyABKAgSGQoDaXBzGAUgAygJQgy6SAmSAQbApLOxAgEiugcKDE1hY2hpbmVRdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESIgoJcGFydGl0aW9uGAMgASgJQgq6SAdyBRACGIABSAKIAQESHQoEc2l6ZRgEIAEoCUIKukgHcgUQAhiAAUgDiAEBEh0KBHJhY2sYBSABKAlCCrpIB3IFEAIYgAFIBIgBARIuCgZsYWJlbHMYBiABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIBYgBARJCCgphbGxvY2F0aW9uGAcgASgLMikubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25RdWVyeUgGiAEBEjwKB25ldHdvcmsYCCABKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmV0d29ya1F1ZXJ5SAeIAQESNAoDbmljGAkgASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5pY1F1ZXJ5SAiIAQESNgoEZGlzaxgKIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVEaXNrUXVlcnlICYgBARI0CgNibWMYCyABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DUXVlcnlICogBARI0CgNmcnUYDCABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lRlJVUXVlcnlIC4gBARI+CghoYXJkd2FyZRgNIAEoCzInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVIYXJkd2FyZVF1ZXJ5SAyIAQESMwoFc3RhdGUYDiABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVIDYgBARIUCgd3YWl0aW5nGA8gASgISA6IAQESGQoMcHJlYWxsb2NhdGVkGBAgASgISA+IAQESGgoNbm90X2FsbG9jYXRlZBgRIAEoCEgQiAEBQgcKBV91dWlkQgcKBV9uYW1lQgwKCl9wYXJ0aXRpb25CBwoFX3NpemVCBwoFX3JhY2tCCQoHX2xhYmVsc0INCgtfYWxsb2NhdGlvbkIKCghfbmV0d29ya0IGCgRfbmljQgcKBV9kaXNrQgYKBF9ibWNCBgoEX2ZydUILCglfaGFyZHdhcmVCCAoGX3N0YXRlQgoKCF93YWl0aW5nQg8KDV9wcmVhbGxvY2F0ZWRCEAoOX25vdF9hbGxvY2F0ZWQiiQQKFk1hY2hpbmVBbGxvY2F0aW9uUXVlcnkSGwoEdXVpZBgBIAEoCUIIukgFcgOwAQFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEh4KB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBSAKIAQESHgoFaW1hZ2UYBCABKAlCCrpIB3IFEAIYgAFIA4gBARIqChFmaWxlc3lzdGVtX2xheW91dBgFIAEoCUIKukgHcgUQAhiAAUgEiAEBEiEKCGhvc3RuYW1lGAYgASgJQgq6SAdyBRACGIABSAWIAQESUAoPYWxsb2NhdGlvbl90eXBlGAcgASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQAUgGiAEBEi4KBmxhYmVscxgIIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gHiAEBEi8KA3ZwbhgJIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVWUE5ICIgBAUIHCgVfdXVpZEIHCgVfbmFtZUIKCghfcHJvamVjdEIICgZfaW1hZ2VCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV9ob3N0bmFtZUISChBfYWxsb2NhdGlvbl90eXBlQgkKB19sYWJlbHNCBgoEX3ZwbiKqAQoTTWFjaGluZU5ldHdvcmtRdWVyeRIQCghuZXR3b3JrcxgBIAMoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESDAoEdnJmcxgFIAMoBBIMCgRhc25zGAYgAygNIq8BCg9NYWNoaW5lTmljUXVlcnkSIgoEbWFjcxgBIAMoCUIUukgRkgEOEGQYASIIcga4s66xAgESIAoFbmFtZXMYAiADKAlCEbpIDpIBCxBkGAEiBXIDGIABEisKDW5laWdoYm9yX21hY3MYAyADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEikKDm5laWdoYm9yX25hbWVzGAQgAygJQhG6SA6SAQsQZBgBIgVyAxiAASJLChBNYWNoaW5lRGlza1F1ZXJ5Eh4KBW5hbWVzGAEgAygJQg+6SAySAQkQZCIFcgMYgAESFwoFc2l6ZXMYAiADKARCCLpIBZIBAhBkIrkBCg9NYWNoaW5lQk1DUXVlcnkSHQoHYWRkcmVzcxgBIAEoCUIHukgEcgJwAUgAiAEBEh0KA21hYxgCIAEoCUILukgIcga4s66xAgFIAYgBARIbCgR1c2VyGAMgASgJQgi6SAVyAxiAAUgCiAEBEiAKCWludGVyZmFjZRgEIAEoCUIIukgFcgMYgAFIA4gBAUIKCghfYWRkcmVzc0IGCgRfbWFjQgcKBV91c2VyQgwKCl9pbnRlcmZhY2UigwQKD01hY2hpbmVGUlVRdWVyeRIqChNjaGFzc2lzX3BhcnRfbnVtYmVyGAEgASgJQgi6SAVyAxiAAUgAiAEBEioKE2NoYXNzaXNfcGFydF9zZXJpYWwYAiABKAlCCLpIBXIDGIABSAGIAQESIAoJYm9hcmRfbWZnGAMgASgJQgi6SAVyAxiAAUgCiAEBEiMKDGJvYXJkX3NlcmlhbBgEIAEoCUIIukgFcgMYgAFIA4gBARIoChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUIIukgFcgMYgAFIBIgBARIrChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUIIukgFcgMYgAFIBYgBARIqChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgi6SAVyAxiAAUgGiAEBEiUKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgi6SAVyAxiAAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCDwoNX2JvYXJkX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCJcChRNYWNoaW5lSGFyZHdhcmVRdWVyeRITCgZtZW1vcnkYASABKARIAIgBARIWCgljcHVfY29yZXMYAiABKA1IAYgBAUIJCgdfbWVtb3J5QgwKCl9jcHVfY29yZXMqZQoKSVBQcm90b2NvbBIbChdJUF9QUk9UT0NPTF9VTlNQRUNJRklFRBAAEhwKD0lQX1BST1RPQ09MX1RDUBABGgeCshkDdGNwEhwKD0lQX1BST1RPQ09MX1VEUBACGgeCshkDdWRwKq8BCgxNYWNoaW5lU3RhdGUSIwoZTUFDSElORV9TVEFURV9VTlNQRUNJRklFRBAAGgSCshkAEigKFk1BQ0hJTkVfU1RBVEVfUkVTRVJWRUQQARoMgrIZCHJlc2VydmVkEiQKFE1BQ0hJTkVfU1RBVEVfTE9DS0VEEAIaCoKyGQZsb2NrZWQSKgoXTUFDSElORV9TVEFURV9BVkFJTEFCTEUQAxoNgrIZCWF2YWlsYWJsZSrfAQodTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGUSNgosTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABI9CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9DUkFTSExPT1AQARoNgrIZCWNyYXNobG9vcBJHCi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9GQUlMRURfUkVDTEFJTRACGhKCshkOZmFpbGVkLXJlY2xhaW0qnwYKHE1hY2hpbmVQcm92aXNpb25pbmdFdmVudFR5cGUSLworTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEjQKJU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQUxJVkUQARoJgrIZBUFsaXZlEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQ1JBU0hFRBACGguCshkHQ3Jhc2hlZBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BYRV9CT09USU5HEAMaD4KyGQtQWEUgQm9vdGluZxJGCi5NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BMQU5ORURfUkVCT09UEAQaEoKyGQ5QbGFubmVkIFJlYm9vdBI8CilNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BSRVBBUklORxAFGg2CshkJUHJlcGFyaW5nEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUkVHSVNURVJJTkcQBhoPgrIZC1JlZ2lzdGVyaW5nEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfV0FJVElORxAHGguCshkHV2FpdGluZxI+CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0lOU1RBTExJTkcQCBoOgrIZCkluc3RhbGxpbmcSTgoyTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9CT09USU5HX05FV19LRVJORUwQCRoWgrIZEkJvb3RpbmcgTmV3IEtlcm5lbBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BIT05FRF9IT01FEAoaD4KyGQtQaG9uZWQgSG9tZRJICi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX01BQ0hJTkVfUkVDTEFJTRALGhOCshkPTWFjaGluZSBSZWNsYWltKroBChFNYWNoaW5lTGl2ZWxpbmVzcxIoCh5NQUNISU5FX0xJVkVMSU5FU1NfVU5TUEVDSUZJRUQQABoEgrIZABInChhNQUNISU5FX0xJVkVMSU5FU1NfQUxJVkUQARoJgrIZBWFsaXZlEiUKF01BQ0hJTkVfTElWRUxJTkVTU19ERUFEEAIaCIKyGQRkZWFkEisKGk1BQ0hJTkVfTElWRUxJTkVTU19VTktOT1dOEAMaC4KyGQd1bmtub3duKqwBChVNYWNoaW5lQWxsb2NhdGlvblR5cGUSLQojTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABoEgrIZABIwCh9NQUNISU5FX0FMTE9DQVRJT05fVFlQRV9NQUNISU5FEAEaC4KyGQdtYWNoaW5lEjIKIE1BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX0ZJUkVXQUxMEAIaDIKyGQhmaXJld2FsbCr+BAoRTWFjaGluZUJNQ0NvbW1hbmQSIwofTUFDSElORV9CTUNfQ09NTUFORF9VTlNQRUNJRklFRBAAEiIKFk1BQ0hJTkVfQk1DX0NPTU1BTkRfT04QARoGgrIZAm9uEiQKF01BQ0hJTkVfQk1DX0NPTU1BTkRfT0ZGEAIaB4KyGQNvZmYSKAoZTUFDSElORV9CTUNfQ09NTUFORF9SRVNFVBADGgmCshkFcmVzZXQSKAoZTUFDSElORV9CTUNfQ09NTUFORF9DWUNMRRAEGgmCshkFY3ljbGUSNgogTUFDSElORV9CTUNfQ09NTUFORF9CT09UX1RPX0JJT1MQBRoQgrIZDGJvb3QtdG8tYmlvcxI6CiJNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9ESVNLEAYaEoKyGQ5ib290LWZyb20tZGlzaxI4CiFNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9QWEUQBxoRgrIZDWJvb3QtZnJvbS1weGUSPAojTUFDSElORV9CTUNfQ09NTUFORF9JREVOVElGWV9MRURfT04QCBoTgrIZD2lkZW50aWZ5LWxlZC1vbhI+CiRNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PRkYQCRoUgrIZEGlkZW50aWZ5LWxlZC1vZmYSPAojTUFDSElORV9CTUNfQ09NTUFORF9NQUNISU5FX0RFTEVURUQQChoTgrIZD21hY2hpbmUtZGVsZXRlZBI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfQ1JFQVRFRBALGhOCshkPbWFjaGluZS1jcmVhdGVkMrwGCg5NYWNoaW5lU2VydmljZRJtCgNHZXQSKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlc3BvbnNlIgvK8xgDAQID4PMYAhJxCgZDcmVhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlIgbK8xgCAQIScQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXNwb25zZSIGyvMYAgECEnAKBExpc3QSLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXF1ZXN0Gi0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnEKBkRlbGV0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiBsrzGAIBAhJ9CgpCTUNDb21tYW5kEjIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIgbK8xgCAQIScQoGR2V0Qk1DEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZSIGyvMYAgECQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDE1hY2hpbmVQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, 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. @@ -311,7 +311,7 @@ export var MachineState; */ MachineState[MachineState["LOCKED"] = 2] = "LOCKED"; /** - * MACHINE_STATE_LOCKED this machine is available for all + * MACHINE_STATE_AVAILABLE this machine is available for all * * @generated from enum value: MACHINE_STATE_AVAILABLE = 3; */ diff --git a/js/metalstack/api/v2/machine_pb.ts b/js/metalstack/api/v2/machine_pb.ts index a732fb97..c14d233c 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("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSL/BgobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIeCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBEhYKBHNpemUYByABKAlCCLpIBXIDGIABEhcKBWltYWdlGAggASgJQgi6SAVyAxiAARIeChFmaWxlc3lzdGVtX2xheW91dBgJIAEoCUgDiAEBEioKD3NzaF9wdWJsaWNfa2V5cxgKIAMoCUIRukgOkgELEDIiB3IFEAEYgEASIAoIdXNlcmRhdGEYCyABKAlCCbpIBnIEGICAAkgEiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI9CghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIzCgNpcHMYDiADKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQWxsb2NhdGlvbklwEiAKDnBsYWNlbWVudF90YWdzGA8gAygJQgi6SAWSAQIQQBI7CgtkbnNfc2VydmVycxgQIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYESADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgSIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgTIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQhQKEl9maWxlc3lzdGVtX2xheW91dEILCglfdXNlcmRhdGEiSAoMRmlyZXdhbGxTcGVjEjgKDmZpcmV3YWxsX3J1bGVzGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxSdWxlcyJLChxNYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIrACChtNYWNoaW5lU2VydmljZVVwZGF0ZVJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESGQoHcHJvamVjdBgDIAEoCUIIukgFcgOwAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSACIAQESNAoGbGFiZWxzGAUgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAGIAQESKgoPc3NoX3B1YmxpY19rZXlzGAYgAygJQhG6SA6SAQsQMiIHcgUQARiAQEIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiIgogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiUAobTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBImgKHE1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2USFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESMAoDYm1jGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydCKyAwoHTWFjaGluZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIvCglwYXJ0aXRpb24YAyABKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5QYXJ0aXRpb24SFgoEcmFjaxgEIAEoCUIIukgFcgMYgAESJQoEc2l6ZRgFIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLlNpemUSNAoIaGFyZHdhcmUYBiABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmUSOAoKYWxsb2NhdGlvbhgIIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uEjAKBnN0YXR1cxgJIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0dXMSVgoacmVjZW50X3Byb3Zpc2lvbmluZ19ldmVudHMYCiABKAsyMi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUmVjZW50UHJvdmlzaW9uaW5nRXZlbnRzIu8BCg1NYWNoaW5lU3RhdHVzEjYKCWNvbmRpdGlvbhgBIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDb25kaXRpb24SRAoJbGVkX3N0YXRlGAIgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEkIKCmxpdmVsaW5lc3MYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTGl2ZWxpbmVzc0IIukgFggECEAESHAoUbWV0YWxfaGFtbWVyX3ZlcnNpb24YBCABKAkiiAEKEE1hY2hpbmVDb25kaXRpb24SOAoFc3RhdGUYASABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAIgASgJQgu6SAhyBsizrrECARIYCgZpc3N1ZXIYAyABKAlCCLpIBXIDGIACIvcFChFNYWNoaW5lQWxsb2NhdGlvbhIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIZCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECARIgCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgESHAoKY3JlYXRlZF9ieRgFIAEoCUIIukgFcgMYgAESGQoHcHJvamVjdBgGIAEoCUIIukgFcgOwAQESJwoFaW1hZ2UYByABKAsyGC5tZXRhbHN0YWNrLmFwaS52Mi5JbWFnZRI+ChFmaWxlc3lzdGVtX2xheW91dBgIIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLkZpbGVzeXN0ZW1MYXlvdXQSMwoIbmV0d29ya3MYCSADKAsyIS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmV0d29yaxIZCghob3N0bmFtZRgKIAEoCUIHukgEcgJoARIqCg9zc2hfcHVibGljX2tleXMYCyADKAlCEbpIDpIBCxAyIgdyBRABGIBAEhsKCHVzZXJkYXRhGAwgASgJQgm6SAZyBBiAgAISSwoPYWxsb2NhdGlvbl90eXBlGA0gASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI4Cg5maXJld2FsbF9ydWxlcxgOIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMSOwoLZG5zX3NlcnZlcnMYDyADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5ETlNTZXJ2ZXJCCLpIBZIBAhADEjsKC250cF9zZXJ2ZXJzGBAgAygLMhwubWV0YWxzdGFjay5hcGkudjIuTlRQU2VydmVyQgi6SAWSAQIQChIqCgN2cG4YESABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOInAKGE1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIfChJub19hdXRvX2FjcXVpcmVfaXAYAiABKAhIAIgBAUIVChNfbm9fYXV0b19hY3F1aXJlX2lwIloKE01hY2hpbmVBbGxvY2F0aW9uSXASEwoCaXAYASABKAlCB7pIBHICcAESIAoJbmFtZXNwYWNlGAIgASgJQgi6SAVyA7ABAUgAiAEBQgwKCl9uYW1lc3BhY2UifwoNRmlyZXdhbGxSdWxlcxI1CgZlZ3Jlc3MYASADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbEVncmVzc1J1bGUSNwoHaW5ncmVzcxgCIAMoCzImLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsSW5ncmVzc1J1bGUisgEKEkZpcmV3YWxsRWdyZXNzUnVsZRI5Cghwcm90b2NvbBgBIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLklQUHJvdG9jb2xCCLpIBYIBAhABEh0KBXBvcnRzGAIgAygNQg66SAuSAQgiBioEGPz/AxIYCgJ0bxgDIAMoCUIMukgJkgEGuKSzsQIBEigKB2NvbW1lbnQYBCABKAlCF7pIFNgBAXIPGGQyC15bYS16XyAtXSokIs8BChNGaXJld2FsbEluZ3Jlc3NSdWxlEjkKCHByb3RvY29sGAEgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuSVBQcm90b2NvbEIIukgFggECEAESHQoFcG9ydHMYAiADKA1CDrpIC5IBCCIGKgQY/P8DEhgKAnRvGAMgAygJQgy6SAmSAQa4pLOxAgESGgoEZnJvbRgEIAMoCUIMukgJkgEGuKSzsQIBEigKB2NvbW1lbnQYBSABKAlCF7pIFNgBAXIPGGQyC15bYS16XyAtXSokIpoCCg5NYWNoaW5lTmV0d29yaxIPCgduZXR3b3JrGAEgASgJEh4KCHByZWZpeGVzGAIgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYAyADKAlCDLpICZIBBriks7ECARIZCgNpcHMYBCADKAlCDLpICZIBBsCks7ECARI+CgxuZXR3b3JrX3R5cGUYBSABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAESNgoIbmF0X3R5cGUYBiABKA4yGi5tZXRhbHN0YWNrLmFwaS52Mi5OQVRUeXBlQgi6SAWCAQIQARILCgN2cmYYByABKAQSCwoDYXNuGAggASgNItoBCg9NYWNoaW5lSGFyZHdhcmUSDgoGbWVtb3J5GAEgASgEEjQKBWRpc2tzGAMgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJsb2NrRGV2aWNlEikKBGNwdXMYBCADKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhbENQVRIpCgRncHVzGAUgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxHUFUSKwoEbmljcxgGIAMoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWMiXQoITWV0YWxDUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAISDQoFY29yZXMYAyABKA0SDwoHdGhyZWFkcxgEIAEoDSI9CghNZXRhbEdQVRIYCgZ2ZW5kb3IYASABKAlCCLpIBXIDGIACEhcKBW1vZGVsGAIgASgJQgi6SAVyAxiAAiLlAQoKTWFjaGluZU5pYxIYCgNtYWMYASABKAlCC7pICHIGuLOusQIBEhkKBG5hbWUYAiABKAlCC7pICHIGwLOusQIBEhwKCmlkZW50aWZpZXIYAyABKAlCCLpIBXIDGIABEhgKBnZlbmRvchgEIAEoCUIIukgFcgMYgAESFwoFbW9kZWwYBSABKAlCCLpIBXIDGIABEg0KBXNwZWVkGAYgASgEEjAKCW5laWdoYm9ycxgHIAMoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWMSEAoIaG9zdG5hbWUYCCABKAkiPQoSTWFjaGluZUJsb2NrRGV2aWNlEhkKBG5hbWUYASABKAlCC7pICHIGwLOusQIBEgwKBHNpemUYAiABKAQiWwoeTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEhcKBXZhbHVlGAEgASgJQgi6SAVyAxiAARIgCgtkZXNjcmlwdGlvbhgCIAEoCUILukgIcgbIs66xAgEiigMKEE1hY2hpbmVCTUNSZXBvcnQSKgoDYm1jGAEgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQxIsCgRiaW9zGAIgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJpb3MSKgoDZnJ1GAMgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVRI7Cgxwb3dlcl9tZXRyaWMYBCABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJNZXRyaWMSPQoOcG93ZXJfc3VwcGxpZXMYBSADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJTdXBwbHkSRAoJbGVkX3N0YXRlGAYgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImMKC01hY2hpbmVCaW9zEhwKB3ZlcnNpb24YASABKAlCC7pICHIGyLOusQIBEhsKBnZlbmRvchgCIAEoCUILukgIcgbIs66xAgESGQoEZGF0ZRgDIAEoCUILukgIcgbIs66xAgEi2wEKCk1hY2hpbmVCTUMSGQoHYWRkcmVzcxgBIAEoCUIIukgFcgOAAgESGAoDbWFjGAIgASgJQgu6SAhyBrizrrECARIZCgR1c2VyGAMgASgJQgu6SAhyBsizrrECARIdCghwYXNzd29yZBgEIAEoCUILukgIcgbIs66xAgESHgoJaW50ZXJmYWNlGAUgASgJQgu6SAhyBsizrrECARIcCgd2ZXJzaW9uGAcgASgJQgu6SAhyBsizrrECARIgCgtwb3dlcl9zdGF0ZRgIIAEoCUILukgIcgbIs66xAgEingQKCk1hY2hpbmVGUlUSLQoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUILukgIcgbIs66xAgFIAIgBARItChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCWJvYXJkX21mZxgDIAEoCUILukgIcgbIs66xAgFIAogBARIqChBib2FyZF9tZmdfc2VyaWFsGAQgASgJQgu6SAhyBsizrrECAUgDiAEBEisKEWJvYXJkX3BhcnRfbnVtYmVyGAUgASgJQgu6SAhyBsizrrECAUgEiAEBEi4KFHByb2R1Y3RfbWFudWZhY3R1cmVyGAYgASgJQgu6SAhyBsizrrECAUgFiAEBEi0KE3Byb2R1Y3RfcGFydF9udW1iZXIYByABKAlCC7pICHIGyLOusQIBSAaIAQESKAoOcHJvZHVjdF9zZXJpYWwYCCABKAlCC7pICHIGyLOusQIBSAeIAQFCFgoUX2NoYXNzaXNfcGFydF9udW1iZXJCFgoUX2NoYXNzaXNfcGFydF9zZXJpYWxCDAoKX2JvYXJkX21mZ0ITChFfYm9hcmRfbWZnX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCKFAQoSTWFjaGluZVBvd2VyTWV0cmljEh4KFmF2ZXJhZ2VfY29uc3VtZWRfd2F0dHMYASABKAISFwoPaW50ZXJ2YWxfaW5fbWluGAIgASgCEhoKEm1heF9jb25zdW1lZF93YXR0cxgDIAEoAhIaChJtaW5fY29uc3VtZWRfd2F0dHMYBCABKAIiMwoSTWFjaGluZVBvd2VyU3VwcGx5Eg4KBmhlYWx0aBgBIAEoCRINCgVzdGF0ZRgCIAEoCSKlAgofTWFjaGluZVJlY2VudFByb3Zpc2lvbmluZ0V2ZW50cxI7CgZldmVudHMYASADKAsyKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSMwoPbGFzdF9ldmVudF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJFChBsYXN0X2Vycm9yX2V2ZW50GAMgASgLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EkkKBXN0YXRlGAQgASgOMjAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGVCCLpIBYIBAhABIpUBChhNYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASPgoFZXZlbnQYAiABKA4yLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRUeXBlEg8KB21lc3NhZ2UYAyABKAkiawoKTWFjaGluZVZQThIdChVjb250cm9sX3BsYW5lX2FkZHJlc3MYASABKAkSEAoIYXV0aF9rZXkYAiABKAkSEQoJY29ubmVjdGVkGAMgASgIEhkKA2lwcxgFIAMoCUIMukgJkgEGwKSzsQIBIr4GCgxNYWNoaW5lUXVlcnkSGwoEdXVpZBgBIAEoCUIIukgFcgOwAQFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEiIKCXBhcnRpdGlvbhgDIAEoCUIKukgHcgUQAhiAAUgCiAEBEh0KBHNpemUYBCABKAlCCrpIB3IFEAIYgAFIA4gBARIdCgRyYWNrGAUgASgJQgq6SAdyBRACGIABSASIAQESLgoGbGFiZWxzGAYgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAWIAQESQgoKYWxsb2NhdGlvbhgHIAEoCzIpLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uUXVlcnlIBogBARI8CgduZXR3b3JrGAggASgLMiYubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5ldHdvcmtRdWVyeUgHiAEBEjQKA25pYxgJIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWNRdWVyeUgIiAEBEjYKBGRpc2sYCiABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lRGlza1F1ZXJ5SAmIAQESNAoDYm1jGAsgASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1F1ZXJ5SAqIAQESNAoDZnJ1GAwgASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVVF1ZXJ5SAuIAQESPgoIaGFyZHdhcmUYDSABKAsyJy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmVRdWVyeUgMiAEBEjMKBXN0YXRlGA4gASgOMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXRlSA2IAQFCBwoFX3V1aWRCBwoFX25hbWVCDAoKX3BhcnRpdGlvbkIHCgVfc2l6ZUIHCgVfcmFja0IJCgdfbGFiZWxzQg0KC19hbGxvY2F0aW9uQgoKCF9uZXR3b3JrQgYKBF9uaWNCBwoFX2Rpc2tCBgoEX2JtY0IGCgRfZnJ1QgsKCV9oYXJkd2FyZUIICgZfc3RhdGUiiQQKFk1hY2hpbmVBbGxvY2F0aW9uUXVlcnkSGwoEdXVpZBgBIAEoCUIIukgFcgOwAQFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEh4KB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBSAKIAQESHgoFaW1hZ2UYBCABKAlCCrpIB3IFEAIYgAFIA4gBARIqChFmaWxlc3lzdGVtX2xheW91dBgFIAEoCUIKukgHcgUQAhiAAUgEiAEBEiEKCGhvc3RuYW1lGAYgASgJQgq6SAdyBRACGIABSAWIAQESUAoPYWxsb2NhdGlvbl90eXBlGAcgASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQAUgGiAEBEi4KBmxhYmVscxgIIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gHiAEBEi8KA3ZwbhgJIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVWUE5ICIgBAUIHCgVfdXVpZEIHCgVfbmFtZUIKCghfcHJvamVjdEIICgZfaW1hZ2VCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV9ob3N0bmFtZUISChBfYWxsb2NhdGlvbl90eXBlQgkKB19sYWJlbHNCBgoEX3ZwbiKqAQoTTWFjaGluZU5ldHdvcmtRdWVyeRIQCghuZXR3b3JrcxgBIAMoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESDAoEdnJmcxgFIAMoBBIMCgRhc25zGAYgAygNIq8BCg9NYWNoaW5lTmljUXVlcnkSIgoEbWFjcxgBIAMoCUIUukgRkgEOEGQYASIIcga4s66xAgESIAoFbmFtZXMYAiADKAlCEbpIDpIBCxBkGAEiBXIDGIABEisKDW5laWdoYm9yX21hY3MYAyADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEikKDm5laWdoYm9yX25hbWVzGAQgAygJQhG6SA6SAQsQZBgBIgVyAxiAASJLChBNYWNoaW5lRGlza1F1ZXJ5Eh4KBW5hbWVzGAEgAygJQg+6SAySAQkQZCIFcgMYgAESFwoFc2l6ZXMYAiADKARCCLpIBZIBAhBkIrkBCg9NYWNoaW5lQk1DUXVlcnkSHQoHYWRkcmVzcxgBIAEoCUIHukgEcgJwAUgAiAEBEh0KA21hYxgCIAEoCUILukgIcga4s66xAgFIAYgBARIbCgR1c2VyGAMgASgJQgi6SAVyAxiAAUgCiAEBEiAKCWludGVyZmFjZRgEIAEoCUIIukgFcgMYgAFIA4gBAUIKCghfYWRkcmVzc0IGCgRfbWFjQgcKBV91c2VyQgwKCl9pbnRlcmZhY2UigwQKD01hY2hpbmVGUlVRdWVyeRIqChNjaGFzc2lzX3BhcnRfbnVtYmVyGAEgASgJQgi6SAVyAxiAAUgAiAEBEioKE2NoYXNzaXNfcGFydF9zZXJpYWwYAiABKAlCCLpIBXIDGIABSAGIAQESIAoJYm9hcmRfbWZnGAMgASgJQgi6SAVyAxiAAUgCiAEBEiMKDGJvYXJkX3NlcmlhbBgEIAEoCUIIukgFcgMYgAFIA4gBARIoChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUIIukgFcgMYgAFIBIgBARIrChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUIIukgFcgMYgAFIBYgBARIqChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgi6SAVyAxiAAUgGiAEBEiUKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgi6SAVyAxiAAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCDwoNX2JvYXJkX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCJcChRNYWNoaW5lSGFyZHdhcmVRdWVyeRITCgZtZW1vcnkYASABKARIAIgBARIWCgljcHVfY29yZXMYAiABKA1IAYgBAUIJCgdfbWVtb3J5QgwKCl9jcHVfY29yZXMqZQoKSVBQcm90b2NvbBIbChdJUF9QUk9UT0NPTF9VTlNQRUNJRklFRBAAEhwKD0lQX1BST1RPQ09MX1RDUBABGgeCshkDdGNwEhwKD0lQX1BST1RPQ09MX1VEUBACGgeCshkDdWRwKq8BCgxNYWNoaW5lU3RhdGUSIwoZTUFDSElORV9TVEFURV9VTlNQRUNJRklFRBAAGgSCshkAEigKFk1BQ0hJTkVfU1RBVEVfUkVTRVJWRUQQARoMgrIZCHJlc2VydmVkEiQKFE1BQ0hJTkVfU1RBVEVfTE9DS0VEEAIaCoKyGQZsb2NrZWQSKgoXTUFDSElORV9TVEFURV9BVkFJTEFCTEUQAxoNgrIZCWF2YWlsYWJsZSrfAQodTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGUSNgosTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABI9CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9DUkFTSExPT1AQARoNgrIZCWNyYXNobG9vcBJHCi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9GQUlMRURfUkVDTEFJTRACGhKCshkOZmFpbGVkLXJlY2xhaW0qnwYKHE1hY2hpbmVQcm92aXNpb25pbmdFdmVudFR5cGUSLworTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEjQKJU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQUxJVkUQARoJgrIZBUFsaXZlEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQ1JBU0hFRBACGguCshkHQ3Jhc2hlZBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BYRV9CT09USU5HEAMaD4KyGQtQWEUgQm9vdGluZxJGCi5NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BMQU5ORURfUkVCT09UEAQaEoKyGQ5QbGFubmVkIFJlYm9vdBI8CilNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BSRVBBUklORxAFGg2CshkJUHJlcGFyaW5nEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUkVHSVNURVJJTkcQBhoPgrIZC1JlZ2lzdGVyaW5nEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfV0FJVElORxAHGguCshkHV2FpdGluZxI+CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0lOU1RBTExJTkcQCBoOgrIZCkluc3RhbGxpbmcSTgoyTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9CT09USU5HX05FV19LRVJORUwQCRoWgrIZEkJvb3RpbmcgTmV3IEtlcm5lbBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BIT05FRF9IT01FEAoaD4KyGQtQaG9uZWQgSG9tZRJICi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX01BQ0hJTkVfUkVDTEFJTRALGhOCshkPTWFjaGluZSBSZWNsYWltKroBChFNYWNoaW5lTGl2ZWxpbmVzcxIoCh5NQUNISU5FX0xJVkVMSU5FU1NfVU5TUEVDSUZJRUQQABoEgrIZABInChhNQUNISU5FX0xJVkVMSU5FU1NfQUxJVkUQARoJgrIZBWFsaXZlEiUKF01BQ0hJTkVfTElWRUxJTkVTU19ERUFEEAIaCIKyGQRkZWFkEisKGk1BQ0hJTkVfTElWRUxJTkVTU19VTktOT1dOEAMaC4KyGQd1bmtub3duKqwBChVNYWNoaW5lQWxsb2NhdGlvblR5cGUSLQojTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABoEgrIZABIwCh9NQUNISU5FX0FMTE9DQVRJT05fVFlQRV9NQUNISU5FEAEaC4KyGQdtYWNoaW5lEjIKIE1BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX0ZJUkVXQUxMEAIaDIKyGQhmaXJld2FsbCr+BAoRTWFjaGluZUJNQ0NvbW1hbmQSIwofTUFDSElORV9CTUNfQ09NTUFORF9VTlNQRUNJRklFRBAAEiIKFk1BQ0hJTkVfQk1DX0NPTU1BTkRfT04QARoGgrIZAm9uEiQKF01BQ0hJTkVfQk1DX0NPTU1BTkRfT0ZGEAIaB4KyGQNvZmYSKAoZTUFDSElORV9CTUNfQ09NTUFORF9SRVNFVBADGgmCshkFcmVzZXQSKAoZTUFDSElORV9CTUNfQ09NTUFORF9DWUNMRRAEGgmCshkFY3ljbGUSNgogTUFDSElORV9CTUNfQ09NTUFORF9CT09UX1RPX0JJT1MQBRoQgrIZDGJvb3QtdG8tYmlvcxI6CiJNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9ESVNLEAYaEoKyGQ5ib290LWZyb20tZGlzaxI4CiFNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9QWEUQBxoRgrIZDWJvb3QtZnJvbS1weGUSPAojTUFDSElORV9CTUNfQ09NTUFORF9JREVOVElGWV9MRURfT04QCBoTgrIZD2lkZW50aWZ5LWxlZC1vbhI+CiRNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PRkYQCRoUgrIZEGlkZW50aWZ5LWxlZC1vZmYSPAojTUFDSElORV9CTUNfQ09NTUFORF9NQUNISU5FX0RFTEVURUQQChoTgrIZD21hY2hpbmUtZGVsZXRlZBI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfQ1JFQVRFRBALGhOCshkPbWFjaGluZS1jcmVhdGVkMrwGCg5NYWNoaW5lU2VydmljZRJtCgNHZXQSKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlc3BvbnNlIgvK8xgDAQID4PMYAhJxCgZDcmVhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlIgbK8xgCAQIScQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXNwb25zZSIGyvMYAgECEnAKBExpc3QSLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXF1ZXN0Gi0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnEKBkRlbGV0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiBsrzGAIBAhJ9CgpCTUNDb21tYW5kEjIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIgbK8xgCAQIScQoGR2V0Qk1DEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZSIGyvMYAgECQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDE1hY2hpbmVQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, 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("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSL/BgobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIeCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBEhYKBHNpemUYByABKAlCCLpIBXIDGIABEhcKBWltYWdlGAggASgJQgi6SAVyAxiAARIeChFmaWxlc3lzdGVtX2xheW91dBgJIAEoCUgDiAEBEioKD3NzaF9wdWJsaWNfa2V5cxgKIAMoCUIRukgOkgELEDIiB3IFEAEYgEASIAoIdXNlcmRhdGEYCyABKAlCCbpIBnIEGICAAkgEiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI9CghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIzCgNpcHMYDiADKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQWxsb2NhdGlvbklwEiAKDnBsYWNlbWVudF90YWdzGA8gAygJQgi6SAWSAQIQQBI7CgtkbnNfc2VydmVycxgQIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYESADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgSIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgTIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQhQKEl9maWxlc3lzdGVtX2xheW91dEILCglfdXNlcmRhdGEiSAoMRmlyZXdhbGxTcGVjEjgKDmZpcmV3YWxsX3J1bGVzGAEgASgLMiAubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxSdWxlcyJLChxNYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIrACChtNYWNoaW5lU2VydmljZVVwZGF0ZVJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESGQoHcHJvamVjdBgDIAEoCUIIukgFcgOwAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSACIAQESNAoGbGFiZWxzGAUgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAGIAQESKgoPc3NoX3B1YmxpY19rZXlzGAYgAygJQhG6SA6SAQsQMiIHcgUQARiAQEIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiIgogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2UiUAobTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBImgKHE1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2USFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESMAoDYm1jGAIgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1JlcG9ydCKyAwoHTWFjaGluZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIvCglwYXJ0aXRpb24YAyABKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5QYXJ0aXRpb24SFgoEcmFjaxgEIAEoCUIIukgFcgMYgAESJQoEc2l6ZRgFIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLlNpemUSNAoIaGFyZHdhcmUYBiABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmUSOAoKYWxsb2NhdGlvbhgIIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uEjAKBnN0YXR1cxgJIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0dXMSVgoacmVjZW50X3Byb3Zpc2lvbmluZ19ldmVudHMYCiABKAsyMi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUmVjZW50UHJvdmlzaW9uaW5nRXZlbnRzIu8BCg1NYWNoaW5lU3RhdHVzEjYKCWNvbmRpdGlvbhgBIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDb25kaXRpb24SRAoJbGVkX3N0YXRlGAIgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEkIKCmxpdmVsaW5lc3MYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTGl2ZWxpbmVzc0IIukgFggECEAESHAoUbWV0YWxfaGFtbWVyX3ZlcnNpb24YBCABKAkiiAEKEE1hY2hpbmVDb25kaXRpb24SOAoFc3RhdGUYASABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAIgASgJQgu6SAhyBsizrrECARIYCgZpc3N1ZXIYAyABKAlCCLpIBXIDGIACIvcFChFNYWNoaW5lQWxsb2NhdGlvbhIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIlCgRtZXRhGAIgASgLMhcubWV0YWxzdGFjay5hcGkudjIuTWV0YRIZCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECARIgCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgESHAoKY3JlYXRlZF9ieRgFIAEoCUIIukgFcgMYgAESGQoHcHJvamVjdBgGIAEoCUIIukgFcgOwAQESJwoFaW1hZ2UYByABKAsyGC5tZXRhbHN0YWNrLmFwaS52Mi5JbWFnZRI+ChFmaWxlc3lzdGVtX2xheW91dBgIIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLkZpbGVzeXN0ZW1MYXlvdXQSMwoIbmV0d29ya3MYCSADKAsyIS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmV0d29yaxIZCghob3N0bmFtZRgKIAEoCUIHukgEcgJoARIqCg9zc2hfcHVibGljX2tleXMYCyADKAlCEbpIDpIBCxAyIgdyBRABGIBAEhsKCHVzZXJkYXRhGAwgASgJQgm6SAZyBBiAgAISSwoPYWxsb2NhdGlvbl90eXBlGA0gASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI4Cg5maXJld2FsbF9ydWxlcxgOIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMSOwoLZG5zX3NlcnZlcnMYDyADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5ETlNTZXJ2ZXJCCLpIBZIBAhADEjsKC250cF9zZXJ2ZXJzGBAgAygLMhwubWV0YWxzdGFjay5hcGkudjIuTlRQU2VydmVyQgi6SAWSAQIQChIqCgN2cG4YESABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOInAKGE1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIfChJub19hdXRvX2FjcXVpcmVfaXAYAiABKAhIAIgBAUIVChNfbm9fYXV0b19hY3F1aXJlX2lwIloKE01hY2hpbmVBbGxvY2F0aW9uSXASEwoCaXAYASABKAlCB7pIBHICcAESIAoJbmFtZXNwYWNlGAIgASgJQgi6SAVyA7ABAUgAiAEBQgwKCl9uYW1lc3BhY2UifwoNRmlyZXdhbGxSdWxlcxI1CgZlZ3Jlc3MYASADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbEVncmVzc1J1bGUSNwoHaW5ncmVzcxgCIAMoCzImLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsSW5ncmVzc1J1bGUisgEKEkZpcmV3YWxsRWdyZXNzUnVsZRI5Cghwcm90b2NvbBgBIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLklQUHJvdG9jb2xCCLpIBYIBAhABEh0KBXBvcnRzGAIgAygNQg66SAuSAQgiBioEGPz/AxIYCgJ0bxgDIAMoCUIMukgJkgEGuKSzsQIBEigKB2NvbW1lbnQYBCABKAlCF7pIFNgBAXIPGGQyC15bYS16XyAtXSokIs8BChNGaXJld2FsbEluZ3Jlc3NSdWxlEjkKCHByb3RvY29sGAEgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuSVBQcm90b2NvbEIIukgFggECEAESHQoFcG9ydHMYAiADKA1CDrpIC5IBCCIGKgQY/P8DEhgKAnRvGAMgAygJQgy6SAmSAQa4pLOxAgESGgoEZnJvbRgEIAMoCUIMukgJkgEGuKSzsQIBEigKB2NvbW1lbnQYBSABKAlCF7pIFNgBAXIPGGQyC15bYS16XyAtXSokIsYCCg5NYWNoaW5lTmV0d29yaxIPCgduZXR3b3JrGAEgASgJEh4KCHByZWZpeGVzGAIgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYAyADKAlCDLpICZIBBriks7ECARIZCgNpcHMYBCADKAlCDLpICZIBBsCks7ECARI+CgxuZXR3b3JrX3R5cGUYBSABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAESNgoIbmF0X3R5cGUYBiABKA4yGi5tZXRhbHN0YWNrLmFwaS52Mi5OQVRUeXBlQgi6SAWCAQIQARILCgN2cmYYByABKAQSCwoDYXNuGAggASgNEh4KB3Byb2plY3QYCSABKAlCCLpIBXIDsAEBSACIAQFCCgoIX3Byb2plY3Qi2gEKD01hY2hpbmVIYXJkd2FyZRIOCgZtZW1vcnkYASABKAQSNAoFZGlza3MYAyADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQmxvY2tEZXZpY2USKQoEY3B1cxgEIAMoCzIbLm1ldGFsc3RhY2suYXBpLnYyLk1ldGFsQ1BVEikKBGdwdXMYBSADKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhbEdQVRIrCgRuaWNzGAYgAygLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5pYyJdCghNZXRhbENQVRIYCgZ2ZW5kb3IYASABKAlCCLpIBXIDGIACEhcKBW1vZGVsGAIgASgJQgi6SAVyAxiAAhINCgVjb3JlcxgDIAEoDRIPCgd0aHJlYWRzGAQgASgNIj0KCE1ldGFsR1BVEhgKBnZlbmRvchgBIAEoCUIIukgFcgMYgAISFwoFbW9kZWwYAiABKAlCCLpIBXIDGIACIuUBCgpNYWNoaW5lTmljEhgKA21hYxgBIAEoCUILukgIcga4s66xAgESGQoEbmFtZRgCIAEoCUILukgIcgbAs66xAgESHAoKaWRlbnRpZmllchgDIAEoCUIIukgFcgMYgAESGAoGdmVuZG9yGAQgASgJQgi6SAVyAxiAARIXCgVtb2RlbBgFIAEoCUIIukgFcgMYgAESDQoFc3BlZWQYBiABKAQSMAoJbmVpZ2hib3JzGAcgAygLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5pYxIQCghob3N0bmFtZRgIIAEoCSI9ChJNYWNoaW5lQmxvY2tEZXZpY2USGQoEbmFtZRgBIAEoCUILukgIcgbAs66xAgESDAoEc2l6ZRgCIAEoBCJbCh5NYWNoaW5lQ2hhc3Npc0lkZW50aWZ5TEVEU3RhdGUSFwoFdmFsdWUYASABKAlCCLpIBXIDGIABEiAKC2Rlc2NyaXB0aW9uGAIgASgJQgu6SAhyBsizrrECASKKAwoQTWFjaGluZUJNQ1JlcG9ydBIqCgNibWMYASABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DEiwKBGJpb3MYAiABKAsyHi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQmlvcxIqCgNmcnUYAyABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lRlJVEjsKDHBvd2VyX21ldHJpYxgEIAEoCzIlLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQb3dlck1ldHJpYxI9Cg5wb3dlcl9zdXBwbGllcxgFIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQb3dlclN1cHBseRJECglsZWRfc3RhdGUYBiABKAsyMS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQ2hhc3Npc0lkZW50aWZ5TEVEU3RhdGUSLgoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiYwoLTWFjaGluZUJpb3MSHAoHdmVyc2lvbhgBIAEoCUILukgIcgbIs66xAgESGwoGdmVuZG9yGAIgASgJQgu6SAhyBsizrrECARIZCgRkYXRlGAMgASgJQgu6SAhyBsizrrECASLbAQoKTWFjaGluZUJNQxIZCgdhZGRyZXNzGAEgASgJQgi6SAVyA4ACARIYCgNtYWMYAiABKAlCC7pICHIGuLOusQIBEhkKBHVzZXIYAyABKAlCC7pICHIGyLOusQIBEh0KCHBhc3N3b3JkGAQgASgJQgu6SAhyBsizrrECARIeCglpbnRlcmZhY2UYBSABKAlCC7pICHIGyLOusQIBEhwKB3ZlcnNpb24YByABKAlCC7pICHIGyLOusQIBEiAKC3Bvd2VyX3N0YXRlGAggASgJQgu6SAhyBsizrrECASKeBAoKTWFjaGluZUZSVRItChNjaGFzc2lzX3BhcnRfbnVtYmVyGAEgASgJQgu6SAhyBsizrrECAUgAiAEBEi0KE2NoYXNzaXNfcGFydF9zZXJpYWwYAiABKAlCC7pICHIGyLOusQIBSAGIAQESIwoJYm9hcmRfbWZnGAMgASgJQgu6SAhyBsizrrECAUgCiAEBEioKEGJvYXJkX21mZ19zZXJpYWwYBCABKAlCC7pICHIGyLOusQIBSAOIAQESKwoRYm9hcmRfcGFydF9udW1iZXIYBSABKAlCC7pICHIGyLOusQIBSASIAQESLgoUcHJvZHVjdF9tYW51ZmFjdHVyZXIYBiABKAlCC7pICHIGyLOusQIBSAWIAQESLQoTcHJvZHVjdF9wYXJ0X251bWJlchgHIAEoCUILukgIcgbIs66xAgFIBogBARIoCg5wcm9kdWN0X3NlcmlhbBgIIAEoCUILukgIcgbIs66xAgFIB4gBAUIWChRfY2hhc3Npc19wYXJ0X251bWJlckIWChRfY2hhc3Npc19wYXJ0X3NlcmlhbEIMCgpfYm9hcmRfbWZnQhMKEV9ib2FyZF9tZmdfc2VyaWFsQhQKEl9ib2FyZF9wYXJ0X251bWJlckIXChVfcHJvZHVjdF9tYW51ZmFjdHVyZXJCFgoUX3Byb2R1Y3RfcGFydF9udW1iZXJCEQoPX3Byb2R1Y3Rfc2VyaWFsIoUBChJNYWNoaW5lUG93ZXJNZXRyaWMSHgoWYXZlcmFnZV9jb25zdW1lZF93YXR0cxgBIAEoAhIXCg9pbnRlcnZhbF9pbl9taW4YAiABKAISGgoSbWF4X2NvbnN1bWVkX3dhdHRzGAMgASgCEhoKEm1pbl9jb25zdW1lZF93YXR0cxgEIAEoAiIzChJNYWNoaW5lUG93ZXJTdXBwbHkSDgoGaGVhbHRoGAEgASgJEg0KBXN0YXRlGAIgASgJIqUCCh9NYWNoaW5lUmVjZW50UHJvdmlzaW9uaW5nRXZlbnRzEjsKBmV2ZW50cxgBIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudBIzCg9sYXN0X2V2ZW50X3RpbWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkUKEGxhc3RfZXJyb3JfZXZlbnQYAyABKAsyKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSSQoFc3RhdGUYBCABKA4yMC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRTdGF0ZUIIukgFggECEAEilQEKGE1hY2hpbmVQcm92aXNpb25pbmdFdmVudBIoCgR0aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI+CgVldmVudBgCIAEoDjIvLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudFR5cGUSDwoHbWVzc2FnZRgDIAEoCSJrCgpNYWNoaW5lVlBOEh0KFWNvbnRyb2xfcGxhbmVfYWRkcmVzcxgBIAEoCRIQCghhdXRoX2tleRgCIAEoCRIRCgljb25uZWN0ZWQYAyABKAgSGQoDaXBzGAUgAygJQgy6SAmSAQbApLOxAgEiugcKDE1hY2hpbmVRdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESIgoJcGFydGl0aW9uGAMgASgJQgq6SAdyBRACGIABSAKIAQESHQoEc2l6ZRgEIAEoCUIKukgHcgUQAhiAAUgDiAEBEh0KBHJhY2sYBSABKAlCCrpIB3IFEAIYgAFIBIgBARIuCgZsYWJlbHMYBiABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIBYgBARJCCgphbGxvY2F0aW9uGAcgASgLMikubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25RdWVyeUgGiAEBEjwKB25ldHdvcmsYCCABKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmV0d29ya1F1ZXJ5SAeIAQESNAoDbmljGAkgASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5pY1F1ZXJ5SAiIAQESNgoEZGlzaxgKIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVEaXNrUXVlcnlICYgBARI0CgNibWMYCyABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DUXVlcnlICogBARI0CgNmcnUYDCABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lRlJVUXVlcnlIC4gBARI+CghoYXJkd2FyZRgNIAEoCzInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVIYXJkd2FyZVF1ZXJ5SAyIAQESMwoFc3RhdGUYDiABKA4yHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU3RhdGVIDYgBARIUCgd3YWl0aW5nGA8gASgISA6IAQESGQoMcHJlYWxsb2NhdGVkGBAgASgISA+IAQESGgoNbm90X2FsbG9jYXRlZBgRIAEoCEgQiAEBQgcKBV91dWlkQgcKBV9uYW1lQgwKCl9wYXJ0aXRpb25CBwoFX3NpemVCBwoFX3JhY2tCCQoHX2xhYmVsc0INCgtfYWxsb2NhdGlvbkIKCghfbmV0d29ya0IGCgRfbmljQgcKBV9kaXNrQgYKBF9ibWNCBgoEX2ZydUILCglfaGFyZHdhcmVCCAoGX3N0YXRlQgoKCF93YWl0aW5nQg8KDV9wcmVhbGxvY2F0ZWRCEAoOX25vdF9hbGxvY2F0ZWQiiQQKFk1hY2hpbmVBbGxvY2F0aW9uUXVlcnkSGwoEdXVpZBgBIAEoCUIIukgFcgOwAQFIAIgBARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEh4KB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBSAKIAQESHgoFaW1hZ2UYBCABKAlCCrpIB3IFEAIYgAFIA4gBARIqChFmaWxlc3lzdGVtX2xheW91dBgFIAEoCUIKukgHcgUQAhiAAUgEiAEBEiEKCGhvc3RuYW1lGAYgASgJQgq6SAdyBRACGIABSAWIAQESUAoPYWxsb2NhdGlvbl90eXBlGAcgASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQAUgGiAEBEi4KBmxhYmVscxgIIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gHiAEBEi8KA3ZwbhgJIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVWUE5ICIgBAUIHCgVfdXVpZEIHCgVfbmFtZUIKCghfcHJvamVjdEIICgZfaW1hZ2VCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV9ob3N0bmFtZUISChBfYWxsb2NhdGlvbl90eXBlQgkKB19sYWJlbHNCBgoEX3ZwbiKqAQoTTWFjaGluZU5ldHdvcmtRdWVyeRIQCghuZXR3b3JrcxgBIAMoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESDAoEdnJmcxgFIAMoBBIMCgRhc25zGAYgAygNIq8BCg9NYWNoaW5lTmljUXVlcnkSIgoEbWFjcxgBIAMoCUIUukgRkgEOEGQYASIIcga4s66xAgESIAoFbmFtZXMYAiADKAlCEbpIDpIBCxBkGAEiBXIDGIABEisKDW5laWdoYm9yX21hY3MYAyADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEikKDm5laWdoYm9yX25hbWVzGAQgAygJQhG6SA6SAQsQZBgBIgVyAxiAASJLChBNYWNoaW5lRGlza1F1ZXJ5Eh4KBW5hbWVzGAEgAygJQg+6SAySAQkQZCIFcgMYgAESFwoFc2l6ZXMYAiADKARCCLpIBZIBAhBkIrkBCg9NYWNoaW5lQk1DUXVlcnkSHQoHYWRkcmVzcxgBIAEoCUIHukgEcgJwAUgAiAEBEh0KA21hYxgCIAEoCUILukgIcga4s66xAgFIAYgBARIbCgR1c2VyGAMgASgJQgi6SAVyAxiAAUgCiAEBEiAKCWludGVyZmFjZRgEIAEoCUIIukgFcgMYgAFIA4gBAUIKCghfYWRkcmVzc0IGCgRfbWFjQgcKBV91c2VyQgwKCl9pbnRlcmZhY2UigwQKD01hY2hpbmVGUlVRdWVyeRIqChNjaGFzc2lzX3BhcnRfbnVtYmVyGAEgASgJQgi6SAVyAxiAAUgAiAEBEioKE2NoYXNzaXNfcGFydF9zZXJpYWwYAiABKAlCCLpIBXIDGIABSAGIAQESIAoJYm9hcmRfbWZnGAMgASgJQgi6SAVyAxiAAUgCiAEBEiMKDGJvYXJkX3NlcmlhbBgEIAEoCUIIukgFcgMYgAFIA4gBARIoChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUIIukgFcgMYgAFIBIgBARIrChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUIIukgFcgMYgAFIBYgBARIqChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgi6SAVyAxiAAUgGiAEBEiUKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgi6SAVyAxiAAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCDwoNX2JvYXJkX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCJcChRNYWNoaW5lSGFyZHdhcmVRdWVyeRITCgZtZW1vcnkYASABKARIAIgBARIWCgljcHVfY29yZXMYAiABKA1IAYgBAUIJCgdfbWVtb3J5QgwKCl9jcHVfY29yZXMqZQoKSVBQcm90b2NvbBIbChdJUF9QUk9UT0NPTF9VTlNQRUNJRklFRBAAEhwKD0lQX1BST1RPQ09MX1RDUBABGgeCshkDdGNwEhwKD0lQX1BST1RPQ09MX1VEUBACGgeCshkDdWRwKq8BCgxNYWNoaW5lU3RhdGUSIwoZTUFDSElORV9TVEFURV9VTlNQRUNJRklFRBAAGgSCshkAEigKFk1BQ0hJTkVfU1RBVEVfUkVTRVJWRUQQARoMgrIZCHJlc2VydmVkEiQKFE1BQ0hJTkVfU1RBVEVfTE9DS0VEEAIaCoKyGQZsb2NrZWQSKgoXTUFDSElORV9TVEFURV9BVkFJTEFCTEUQAxoNgrIZCWF2YWlsYWJsZSrfAQodTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGUSNgosTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABI9CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9DUkFTSExPT1AQARoNgrIZCWNyYXNobG9vcBJHCi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9GQUlMRURfUkVDTEFJTRACGhKCshkOZmFpbGVkLXJlY2xhaW0qnwYKHE1hY2hpbmVQcm92aXNpb25pbmdFdmVudFR5cGUSLworTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEjQKJU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQUxJVkUQARoJgrIZBUFsaXZlEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQ1JBU0hFRBACGguCshkHQ3Jhc2hlZBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BYRV9CT09USU5HEAMaD4KyGQtQWEUgQm9vdGluZxJGCi5NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BMQU5ORURfUkVCT09UEAQaEoKyGQ5QbGFubmVkIFJlYm9vdBI8CilNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BSRVBBUklORxAFGg2CshkJUHJlcGFyaW5nEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUkVHSVNURVJJTkcQBhoPgrIZC1JlZ2lzdGVyaW5nEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfV0FJVElORxAHGguCshkHV2FpdGluZxI+CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0lOU1RBTExJTkcQCBoOgrIZCkluc3RhbGxpbmcSTgoyTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9CT09USU5HX05FV19LRVJORUwQCRoWgrIZEkJvb3RpbmcgTmV3IEtlcm5lbBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BIT05FRF9IT01FEAoaD4KyGQtQaG9uZWQgSG9tZRJICi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX01BQ0hJTkVfUkVDTEFJTRALGhOCshkPTWFjaGluZSBSZWNsYWltKroBChFNYWNoaW5lTGl2ZWxpbmVzcxIoCh5NQUNISU5FX0xJVkVMSU5FU1NfVU5TUEVDSUZJRUQQABoEgrIZABInChhNQUNISU5FX0xJVkVMSU5FU1NfQUxJVkUQARoJgrIZBWFsaXZlEiUKF01BQ0hJTkVfTElWRUxJTkVTU19ERUFEEAIaCIKyGQRkZWFkEisKGk1BQ0hJTkVfTElWRUxJTkVTU19VTktOT1dOEAMaC4KyGQd1bmtub3duKqwBChVNYWNoaW5lQWxsb2NhdGlvblR5cGUSLQojTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABoEgrIZABIwCh9NQUNISU5FX0FMTE9DQVRJT05fVFlQRV9NQUNISU5FEAEaC4KyGQdtYWNoaW5lEjIKIE1BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX0ZJUkVXQUxMEAIaDIKyGQhmaXJld2FsbCr+BAoRTWFjaGluZUJNQ0NvbW1hbmQSIwofTUFDSElORV9CTUNfQ09NTUFORF9VTlNQRUNJRklFRBAAEiIKFk1BQ0hJTkVfQk1DX0NPTU1BTkRfT04QARoGgrIZAm9uEiQKF01BQ0hJTkVfQk1DX0NPTU1BTkRfT0ZGEAIaB4KyGQNvZmYSKAoZTUFDSElORV9CTUNfQ09NTUFORF9SRVNFVBADGgmCshkFcmVzZXQSKAoZTUFDSElORV9CTUNfQ09NTUFORF9DWUNMRRAEGgmCshkFY3ljbGUSNgogTUFDSElORV9CTUNfQ09NTUFORF9CT09UX1RPX0JJT1MQBRoQgrIZDGJvb3QtdG8tYmlvcxI6CiJNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9ESVNLEAYaEoKyGQ5ib290LWZyb20tZGlzaxI4CiFNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9QWEUQBxoRgrIZDWJvb3QtZnJvbS1weGUSPAojTUFDSElORV9CTUNfQ09NTUFORF9JREVOVElGWV9MRURfT04QCBoTgrIZD2lkZW50aWZ5LWxlZC1vbhI+CiRNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PRkYQCRoUgrIZEGlkZW50aWZ5LWxlZC1vZmYSPAojTUFDSElORV9CTUNfQ09NTUFORF9NQUNISU5FX0RFTEVURUQQChoTgrIZD21hY2hpbmUtZGVsZXRlZBI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfQ1JFQVRFRBALGhOCshkPbWFjaGluZS1jcmVhdGVkMrwGCg5NYWNoaW5lU2VydmljZRJtCgNHZXQSKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlc3BvbnNlIgvK8xgDAQID4PMYAhJxCgZDcmVhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlIgbK8xgCAQIScQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXNwb25zZSIGyvMYAgECEnAKBExpc3QSLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXF1ZXN0Gi0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnEKBkRlbGV0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiBsrzGAIBAhJ9CgpCTUNDb21tYW5kEjIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIgbK8xgCAQIScQoGR2V0Qk1DEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZSIGyvMYAgECQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDE1hY2hpbmVQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, 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 @@ -1077,6 +1077,13 @@ export type MachineNetwork = Message<"metalstack.api.v2.MachineNetwork"> & { * @generated from field: uint32 asn = 8; */ asn: number; + + /** + * Project is the project uuid associated with this network + * + * @generated from field: optional string project = 9; + */ + project?: string; }; /** @@ -1863,6 +1870,30 @@ export type MachineQuery = Message<"metalstack.api.v2.MachineQuery"> & { * @generated from field: optional metalstack.api.v2.MachineState state = 14; */ state?: MachineState; + + /** + * Waiting if set to true, only waiting machines are returned. + * Only useful for admins. + * + * @generated from field: optional bool waiting = 15; + */ + waiting?: boolean; + + /** + * Preallocated if set to true, only machines which are preallocated are returned. + * Only useful for admins. + * + * @generated from field: optional bool preallocated = 16; + */ + preallocated?: boolean; + + /** + * NotAllocated if set to true, only machines which are not allocated are returned. + * Only useful for admins. + * + * @generated from field: optional bool not_allocated = 17; + */ + notAllocated?: boolean; }; /** @@ -2277,7 +2308,7 @@ export enum MachineState { LOCKED = 2, /** - * MACHINE_STATE_LOCKED this machine is available for all + * MACHINE_STATE_AVAILABLE this machine is available for all * * @generated from enum value: MACHINE_STATE_AVAILABLE = 3; */ diff --git a/js/metalstack/api/v2/network_pb.d.ts b/js/metalstack/api/v2/network_pb.d.ts index 493eddf1..428953d9 100644 --- a/js/metalstack/api/v2/network_pb.d.ts +++ b/js/metalstack/api/v2/network_pb.d.ts @@ -707,6 +707,7 @@ export declare enum NetworkType { * Connectivity to external networks is not possible, as for normal child networks. * These networks are usually used to provide connectivity to shared services which are created in child networks, e.g. storage. * With this approach the number of hops can be reduced to the bare minimum in order to increase availability and performance. + * Only one child shared network per project is allowed. * * @generated from enum value: NETWORK_TYPE_CHILD_SHARED = 6; */ diff --git a/js/metalstack/api/v2/network_pb.js b/js/metalstack/api/v2/network_pb.js index b113d2c4..ee544835 100644 --- a/js/metalstack/api/v2/network_pb.js +++ b/js/metalstack/api/v2/network_pb.js @@ -191,6 +191,7 @@ export var NetworkType; * Connectivity to external networks is not possible, as for normal child networks. * These networks are usually used to provide connectivity to shared services which are created in child networks, e.g. storage. * With this approach the number of hops can be reduced to the bare minimum in order to increase availability and performance. + * Only one child shared network per project is allowed. * * @generated from enum value: NETWORK_TYPE_CHILD_SHARED = 6; */ diff --git a/js/metalstack/api/v2/network_pb.ts b/js/metalstack/api/v2/network_pb.ts index 5399ca75..9cdcbb4e 100644 --- a/js/metalstack/api/v2/network_pb.ts +++ b/js/metalstack/api/v2/network_pb.ts @@ -830,6 +830,7 @@ export enum NetworkType { * Connectivity to external networks is not possible, as for normal child networks. * These networks are usually used to provide connectivity to shared services which are created in child networks, e.g. storage. * With this approach the number of hops can be reduced to the bare minimum in order to increase availability and performance. + * Only one child shared network per project is allowed. * * @generated from enum value: NETWORK_TYPE_CHILD_SHARED = 6; */ diff --git a/proto/buf.gen.yaml b/proto/buf.gen.yaml index 2b8d31db..6ae3abce 100644 --- a/proto/buf.gen.yaml +++ b/proto/buf.gen.yaml @@ -20,9 +20,9 @@ plugins: out: ../go opt: paths=source_relative,simple # python - - remote: buf.build/protocolbuffers/python:v33.5 + - remote: buf.build/protocolbuffers/python:v34.0 out: ../python - - remote: buf.build/protocolbuffers/pyi:v33.5 + - remote: buf.build/protocolbuffers/pyi:v34.0 out: ../python - remote: buf.build/connectrpc/python:v0.8.1 out: ../python diff --git a/proto/metalstack/api/v2/machine.proto b/proto/metalstack/api/v2/machine.proto index d29c6465..5eaf63d7 100644 --- a/proto/metalstack/api/v2/machine.proto +++ b/proto/metalstack/api/v2/machine.proto @@ -438,6 +438,8 @@ message MachineNetwork { uint64 vrf = 7; // ASN the autonomous system number for this network uint32 asn = 8; + // Project is the project uuid associated with this network + optional string project = 9 [(buf.validate.field).string.uuid = true]; } // MachineHardware contains hardware details @@ -510,7 +512,7 @@ enum MachineState { MACHINE_STATE_RESERVED = 1 [(enum_string_value) = "reserved"]; // MACHINE_STATE_LOCKED this machine is locked MACHINE_STATE_LOCKED = 2 [(enum_string_value) = "locked"]; - // MACHINE_STATE_LOCKED this machine is available for all + // MACHINE_STATE_AVAILABLE this machine is available for all MACHINE_STATE_AVAILABLE = 3 [(enum_string_value) = "available"]; } @@ -778,6 +780,15 @@ message MachineQuery { optional MachineHardwareQuery hardware = 13; // State this machine has optional MachineState state = 14; + // Waiting if set to true, only waiting machines are returned. + // Only useful for admins. + optional bool waiting = 15; + // Preallocated if set to true, only machines which are preallocated are returned. + // Only useful for admins. + optional bool preallocated = 16; + // NotAllocated if set to true, only machines which are not allocated are returned. + // Only useful for admins. + optional bool not_allocated = 17; } // MachineAllocationQuery allocation specific query parameters diff --git a/proto/metalstack/api/v2/network.proto b/proto/metalstack/api/v2/network.proto index 2a575816..c8765230 100644 --- a/proto/metalstack/api/v2/network.proto +++ b/proto/metalstack/api/v2/network.proto @@ -313,6 +313,7 @@ enum NetworkType { // Connectivity to external networks is not possible, as for normal child networks. // These networks are usually used to provide connectivity to shared services which are created in child networks, e.g. storage. // With this approach the number of hops can be reduced to the bare minimum in order to increase availability and performance. + // Only one child shared network per project is allowed. NETWORK_TYPE_CHILD_SHARED = 6 [(enum_string_value) = "child-shared"]; } diff --git a/python/metalstack/admin/v2/audit_pb2.py b/python/metalstack/admin/v2/audit_pb2.py index 0d6a773e..116ec0fb 100644 --- a/python/metalstack/admin/v2/audit_pb2.py +++ b/python/metalstack/admin/v2/audit_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/audit.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/audit.proto' ) diff --git a/python/metalstack/admin/v2/component_pb2.py b/python/metalstack/admin/v2/component_pb2.py index dbed0eea..237e9d28 100644 --- a/python/metalstack/admin/v2/component_pb2.py +++ b/python/metalstack/admin/v2/component_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/component.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/component.proto' ) diff --git a/python/metalstack/admin/v2/filesystem_pb2.py b/python/metalstack/admin/v2/filesystem_pb2.py index 1d73fd4d..6fb214cf 100644 --- a/python/metalstack/admin/v2/filesystem_pb2.py +++ b/python/metalstack/admin/v2/filesystem_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/filesystem.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/filesystem.proto' ) diff --git a/python/metalstack/admin/v2/image_pb2.py b/python/metalstack/admin/v2/image_pb2.py index fba751c4..3d0e4380 100644 --- a/python/metalstack/admin/v2/image_pb2.py +++ b/python/metalstack/admin/v2/image_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/image.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/image.proto' ) diff --git a/python/metalstack/admin/v2/ip_pb2.py b/python/metalstack/admin/v2/ip_pb2.py index 93a95767..7264022d 100644 --- a/python/metalstack/admin/v2/ip_pb2.py +++ b/python/metalstack/admin/v2/ip_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/ip.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/ip.proto' ) diff --git a/python/metalstack/admin/v2/machine_pb2.py b/python/metalstack/admin/v2/machine_pb2.py index b6e0c8a7..0cd311c5 100644 --- a/python/metalstack/admin/v2/machine_pb2.py +++ b/python/metalstack/admin/v2/machine_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/machine.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/machine.proto' ) diff --git a/python/metalstack/admin/v2/network_pb2.py b/python/metalstack/admin/v2/network_pb2.py index cef86413..c72b9cfb 100644 --- a/python/metalstack/admin/v2/network_pb2.py +++ b/python/metalstack/admin/v2/network_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/network.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/network.proto' ) diff --git a/python/metalstack/admin/v2/partition_pb2.py b/python/metalstack/admin/v2/partition_pb2.py index dbeb3102..e71efce7 100644 --- a/python/metalstack/admin/v2/partition_pb2.py +++ b/python/metalstack/admin/v2/partition_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/partition.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/partition.proto' ) diff --git a/python/metalstack/admin/v2/project_pb2.py b/python/metalstack/admin/v2/project_pb2.py index 40b406a4..bbc3bccd 100644 --- a/python/metalstack/admin/v2/project_pb2.py +++ b/python/metalstack/admin/v2/project_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/project.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/project.proto' ) diff --git a/python/metalstack/admin/v2/size_imageconstraint_pb2.py b/python/metalstack/admin/v2/size_imageconstraint_pb2.py index 5ba89e12..65d98845 100644 --- a/python/metalstack/admin/v2/size_imageconstraint_pb2.py +++ b/python/metalstack/admin/v2/size_imageconstraint_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/size_imageconstraint.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/size_imageconstraint.proto' ) diff --git a/python/metalstack/admin/v2/size_pb2.py b/python/metalstack/admin/v2/size_pb2.py index 8b63d472..155b0082 100644 --- a/python/metalstack/admin/v2/size_pb2.py +++ b/python/metalstack/admin/v2/size_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/size.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/size.proto' ) diff --git a/python/metalstack/admin/v2/size_reservation_pb2.py b/python/metalstack/admin/v2/size_reservation_pb2.py index ad31ec40..e7bb1df3 100644 --- a/python/metalstack/admin/v2/size_reservation_pb2.py +++ b/python/metalstack/admin/v2/size_reservation_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/size_reservation.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/size_reservation.proto' ) diff --git a/python/metalstack/admin/v2/switch_pb2.py b/python/metalstack/admin/v2/switch_pb2.py index 00e4f301..1455919d 100644 --- a/python/metalstack/admin/v2/switch_pb2.py +++ b/python/metalstack/admin/v2/switch_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/switch.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/switch.proto' ) diff --git a/python/metalstack/admin/v2/task_pb2.py b/python/metalstack/admin/v2/task_pb2.py index 1b6d8e35..be1a8474 100644 --- a/python/metalstack/admin/v2/task_pb2.py +++ b/python/metalstack/admin/v2/task_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/task.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/task.proto' ) diff --git a/python/metalstack/admin/v2/tenant_pb2.py b/python/metalstack/admin/v2/tenant_pb2.py index 53b0751f..c08b95f5 100644 --- a/python/metalstack/admin/v2/tenant_pb2.py +++ b/python/metalstack/admin/v2/tenant_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/tenant.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/tenant.proto' ) diff --git a/python/metalstack/admin/v2/token_pb2.py b/python/metalstack/admin/v2/token_pb2.py index 4f6ded1d..a0acc0ba 100644 --- a/python/metalstack/admin/v2/token_pb2.py +++ b/python/metalstack/admin/v2/token_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/token.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/token.proto' ) diff --git a/python/metalstack/admin/v2/vpn_pb2.py b/python/metalstack/admin/v2/vpn_pb2.py index fdc1e785..59a12eff 100644 --- a/python/metalstack/admin/v2/vpn_pb2.py +++ b/python/metalstack/admin/v2/vpn_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/admin/v2/vpn.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/admin/v2/vpn.proto' ) diff --git a/python/metalstack/api/v2/audit_pb2.py b/python/metalstack/api/v2/audit_pb2.py index 217d9fdf..a59aabbe 100644 --- a/python/metalstack/api/v2/audit_pb2.py +++ b/python/metalstack/api/v2/audit_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/audit.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/audit.proto' ) diff --git a/python/metalstack/api/v2/common_pb2.py b/python/metalstack/api/v2/common_pb2.py index 7368534c..a02f16e0 100644 --- a/python/metalstack/api/v2/common_pb2.py +++ b/python/metalstack/api/v2/common_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/common.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/common.proto' ) diff --git a/python/metalstack/api/v2/component_pb2.py b/python/metalstack/api/v2/component_pb2.py index ce31e358..a346a2dc 100644 --- a/python/metalstack/api/v2/component_pb2.py +++ b/python/metalstack/api/v2/component_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/component.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/component.proto' ) diff --git a/python/metalstack/api/v2/filesystem_pb2.py b/python/metalstack/api/v2/filesystem_pb2.py index de0b3a10..f1d8c8b7 100644 --- a/python/metalstack/api/v2/filesystem_pb2.py +++ b/python/metalstack/api/v2/filesystem_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/filesystem.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/filesystem.proto' ) diff --git a/python/metalstack/api/v2/health_pb2.py b/python/metalstack/api/v2/health_pb2.py index 30a4be94..69268a74 100644 --- a/python/metalstack/api/v2/health_pb2.py +++ b/python/metalstack/api/v2/health_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/health.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/health.proto' ) diff --git a/python/metalstack/api/v2/image_pb2.py b/python/metalstack/api/v2/image_pb2.py index 211d7701..13f0545b 100644 --- a/python/metalstack/api/v2/image_pb2.py +++ b/python/metalstack/api/v2/image_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/image.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/image.proto' ) diff --git a/python/metalstack/api/v2/ip_pb2.py b/python/metalstack/api/v2/ip_pb2.py index a9e437ca..9daa41a1 100644 --- a/python/metalstack/api/v2/ip_pb2.py +++ b/python/metalstack/api/v2/ip_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/ip.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/ip.proto' ) diff --git a/python/metalstack/api/v2/machine_pb2.py b/python/metalstack/api/v2/machine_pb2.py index bc8d79b8..20bd1040 100644 --- a/python/metalstack/api/v2/machine_pb2.py +++ b/python/metalstack/api/v2/machine_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/machine.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/machine.proto' ) @@ -33,7 +33,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\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\"\xca\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\x01R\tpartition\x12\x1c\n\x04size\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04size\x12\x1e\n\x05image\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05image\x12\x30\n\x11\x66ilesystem_layout\x18\t \x01(\tH\x03R\x10\x66ilesystemLayout\x88\x01\x01\x12\x39\n\x0fssh_public_keys\x18\n \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12*\n\x08userdata\x18\x0b \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02H\x04R\x08userdata\x88\x01\x01\x12\x31\n\x06labels\x18\x0c \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12G\n\x08networks\x18\r \x03(\x0b\x32+.metalstack.api.v2.MachineAllocationNetworkR\x08networks\x12\x38\n\x03ips\x18\x0e \x03(\x0b\x32&.metalstack.api.v2.MachineAllocationIpR\x03ips\x12/\n\x0eplacement_tags\x18\x0f \x03(\tB\x08\xbaH\x05\x92\x01\x02\x10@R\rplacementTags\x12G\n\x0b\x64ns_servers\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\ndnsServers\x12G\n\x0bntp_servers\x18\x11 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\nntpServers\x12[\n\x0f\x61llocation_type\x18\x12 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12\x44\n\rfirewall_spec\x18\x13 \x01(\x0b\x32\x1f.metalstack.api.v2.FirewallSpecR\x0c\x66irewallSpecB\x07\n\x05_uuidB\x0e\n\x0c_descriptionB\x0b\n\t_hostnameB\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\"\xef\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\x39\n\x0fssh_public_keys\x18\x06 \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\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\"\x8d\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+\n\x04size\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\x12>\n\x08hardware\x18\x06 \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\"\xac\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\x39\n\x0fssh_public_keys\x18\x0b \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12%\n\x08userdata\x18\x0c \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02R\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\"\x8a\x01\n\x18MachineAllocationNetwork\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x30\n\x12no_auto_acquire_ip\x18\x02 \x01(\x08H\x00R\x0fnoAutoAcquireIp\x88\x01\x01\x42\x15\n\x13_no_auto_acquire_ip\"i\n\x13MachineAllocationIp\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\x12+\n\tnamespace\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\tnamespace\x88\x01\x01\x42\x0c\n\n_namespace\"\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\"\xe7\x02\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\"\xfb\x01\n\x0fMachineHardware\x12\x16\n\x06memory\x18\x01 \x01(\x04R\x06memory\x12;\n\x05\x64isks\x18\x03 \x03(\x0b\x32%.metalstack.api.v2.MachineBlockDeviceR\x05\x64isks\x12/\n\x04\x63pus\x18\x04 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalCPUR\x04\x63pus\x12/\n\x04gpus\x18\x05 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalGPUR\x04gpus\x12\x31\n\x04nics\x18\x06 \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\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x07version\x12,\n\x0bpower_state\x18\x08 \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\"\xab\x01\n\x18MachineProvisioningEvent\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x45\n\x05\x65vent\x18\x02 \x01(\x0e\x32/.metalstack.api.v2.MachineProvisioningEventTypeR\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\x05 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\xa4\x07\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\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12#\n\x04size\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04size\x88\x01\x01\x12#\n\x04rack\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x04rack\x88\x01\x01\x12\x36\n\x06labels\x18\x06 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x05R\x06labels\x88\x01\x01\x12N\n\nallocation\x18\x07 \x01(\x0b\x32).metalstack.api.v2.MachineAllocationQueryH\x06R\nallocation\x88\x01\x01\x12\x45\n\x07network\x18\x08 \x01(\x0b\x32&.metalstack.api.v2.MachineNetworkQueryH\x07R\x07network\x88\x01\x01\x12\x39\n\x03nic\x18\t \x01(\x0b\x32\".metalstack.api.v2.MachineNicQueryH\x08R\x03nic\x88\x01\x01\x12<\n\x04\x64isk\x18\n \x01(\x0b\x32#.metalstack.api.v2.MachineDiskQueryH\tR\x04\x64isk\x88\x01\x01\x12\x39\n\x03\x62mc\x18\x0b \x01(\x0b\x32\".metalstack.api.v2.MachineBMCQueryH\nR\x03\x62mc\x88\x01\x01\x12\x39\n\x03\x66ru\x18\x0c \x01(\x0b\x32\".metalstack.api.v2.MachineFRUQueryH\x0bR\x03\x66ru\x88\x01\x01\x12H\n\x08hardware\x18\r \x01(\x0b\x32\'.metalstack.api.v2.MachineHardwareQueryH\x0cR\x08hardware\x88\x01\x01\x12:\n\x05state\x18\x0e \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateH\rR\x05state\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x07\n\x05_rackB\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_state\"\xde\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\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x05image\x88\x01\x01\x12<\n\x11\x66ilesystem_layout\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x10\x66ilesystemLayout\x88\x01\x01\x12+\n\x08hostname\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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*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*\xaf\x01\n\x0cMachineState\x12#\n\x19MACHINE_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12(\n\x16MACHINE_STATE_RESERVED\x10\x01\x1a\x0c\x82\xb2\x19\x08reserved\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-created2\xbc\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\x12q\n\x06\x43reate\x12..metalstack.api.v2.MachineServiceCreateRequest\x1a/.metalstack.api.v2.MachineServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.MachineServiceUpdateRequest\x1a/.metalstack.api.v2.MachineServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\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\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.MachineServiceDeleteRequest\x1a/.metalstack.api.v2.MachineServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12}\n\nBMCCommand\x12\x32.metalstack.api.v2.MachineServiceBMCCommandRequest\x1a\x33.metalstack.api.v2.MachineServiceBMCCommandResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06GetBMC\x12..metalstack.api.v2.MachineServiceGetBMCRequest\x1a/.metalstack.api.v2.MachineServiceGetBMCResponse\"\x06\xca\xf3\x18\x02\x01\x02\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\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\"\xca\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\x01R\tpartition\x12\x1c\n\x04size\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04size\x12\x1e\n\x05image\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05image\x12\x30\n\x11\x66ilesystem_layout\x18\t \x01(\tH\x03R\x10\x66ilesystemLayout\x88\x01\x01\x12\x39\n\x0fssh_public_keys\x18\n \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12*\n\x08userdata\x18\x0b \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02H\x04R\x08userdata\x88\x01\x01\x12\x31\n\x06labels\x18\x0c \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12G\n\x08networks\x18\r \x03(\x0b\x32+.metalstack.api.v2.MachineAllocationNetworkR\x08networks\x12\x38\n\x03ips\x18\x0e \x03(\x0b\x32&.metalstack.api.v2.MachineAllocationIpR\x03ips\x12/\n\x0eplacement_tags\x18\x0f \x03(\tB\x08\xbaH\x05\x92\x01\x02\x10@R\rplacementTags\x12G\n\x0b\x64ns_servers\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\ndnsServers\x12G\n\x0bntp_servers\x18\x11 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\nntpServers\x12[\n\x0f\x61llocation_type\x18\x12 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12\x44\n\rfirewall_spec\x18\x13 \x01(\x0b\x32\x1f.metalstack.api.v2.FirewallSpecR\x0c\x66irewallSpecB\x07\n\x05_uuidB\x0e\n\x0c_descriptionB\x0b\n\t_hostnameB\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\"\xef\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\x39\n\x0fssh_public_keys\x18\x06 \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\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\"\x8d\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+\n\x04size\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\x12>\n\x08hardware\x18\x06 \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\"\xac\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\x39\n\x0fssh_public_keys\x18\x0b \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12%\n\x08userdata\x18\x0c \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02R\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\"\x8a\x01\n\x18MachineAllocationNetwork\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x30\n\x12no_auto_acquire_ip\x18\x02 \x01(\x08H\x00R\x0fnoAutoAcquireIp\x88\x01\x01\x42\x15\n\x13_no_auto_acquire_ip\"i\n\x13MachineAllocationIp\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\x12+\n\tnamespace\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\tnamespace\x88\x01\x01\x42\x0c\n\n_namespace\"\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\x03 \x03(\x0b\x32%.metalstack.api.v2.MachineBlockDeviceR\x05\x64isks\x12/\n\x04\x63pus\x18\x04 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalCPUR\x04\x63pus\x12/\n\x04gpus\x18\x05 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalGPUR\x04gpus\x12\x31\n\x04nics\x18\x06 \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\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x07version\x12,\n\x0bpower_state\x18\x08 \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\"\xab\x01\n\x18MachineProvisioningEvent\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x45\n\x05\x65vent\x18\x02 \x01(\x0e\x32/.metalstack.api.v2.MachineProvisioningEventTypeR\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\x05 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\xc5\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\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12#\n\x04size\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04size\x88\x01\x01\x12#\n\x04rack\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x04rack\x88\x01\x01\x12\x36\n\x06labels\x18\x06 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x05R\x06labels\x88\x01\x01\x12N\n\nallocation\x18\x07 \x01(\x0b\x32).metalstack.api.v2.MachineAllocationQueryH\x06R\nallocation\x88\x01\x01\x12\x45\n\x07network\x18\x08 \x01(\x0b\x32&.metalstack.api.v2.MachineNetworkQueryH\x07R\x07network\x88\x01\x01\x12\x39\n\x03nic\x18\t \x01(\x0b\x32\".metalstack.api.v2.MachineNicQueryH\x08R\x03nic\x88\x01\x01\x12<\n\x04\x64isk\x18\n \x01(\x0b\x32#.metalstack.api.v2.MachineDiskQueryH\tR\x04\x64isk\x88\x01\x01\x12\x39\n\x03\x62mc\x18\x0b \x01(\x0b\x32\".metalstack.api.v2.MachineBMCQueryH\nR\x03\x62mc\x88\x01\x01\x12\x39\n\x03\x66ru\x18\x0c \x01(\x0b\x32\".metalstack.api.v2.MachineFRUQueryH\x0bR\x03\x66ru\x88\x01\x01\x12H\n\x08hardware\x18\r \x01(\x0b\x32\'.metalstack.api.v2.MachineHardwareQueryH\x0cR\x08hardware\x88\x01\x01\x12:\n\x05state\x18\x0e \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateH\rR\x05state\x88\x01\x01\x12\x1d\n\x07waiting\x18\x0f \x01(\x08H\x0eR\x07waiting\x88\x01\x01\x12\'\n\x0cpreallocated\x18\x10 \x01(\x08H\x0fR\x0cpreallocated\x88\x01\x01\x12(\n\rnot_allocated\x18\x11 \x01(\x08H\x10R\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\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\"\xde\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\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x05image\x88\x01\x01\x12<\n\x11\x66ilesystem_layout\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x10\x66ilesystemLayout\x88\x01\x01\x12+\n\x08hostname\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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*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*\xaf\x01\n\x0cMachineState\x12#\n\x19MACHINE_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12(\n\x16MACHINE_STATE_RESERVED\x10\x01\x1a\x0c\x82\xb2\x19\x08reserved\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-created2\xbc\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\x12q\n\x06\x43reate\x12..metalstack.api.v2.MachineServiceCreateRequest\x1a/.metalstack.api.v2.MachineServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.MachineServiceUpdateRequest\x1a/.metalstack.api.v2.MachineServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\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\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.MachineServiceDeleteRequest\x1a/.metalstack.api.v2.MachineServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12}\n\nBMCCommand\x12\x32.metalstack.api.v2.MachineServiceBMCCommandRequest\x1a\x33.metalstack.api.v2.MachineServiceBMCCommandResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06GetBMC\x12..metalstack.api.v2.MachineServiceGetBMCRequest\x1a/.metalstack.api.v2.MachineServiceGetBMCResponse\"\x06\xca\xf3\x18\x02\x01\x02\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) @@ -245,6 +245,8 @@ _globals['_MACHINENETWORK'].fields_by_name['network_type']._serialized_options = b'\272H\005\202\001\002\020\001' _globals['_MACHINENETWORK'].fields_by_name['nat_type']._loaded_options = None _globals['_MACHINENETWORK'].fields_by_name['nat_type']._serialized_options = b'\272H\005\202\001\002\020\001' + _globals['_MACHINENETWORK'].fields_by_name['project']._loaded_options = None + _globals['_MACHINENETWORK'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001' _globals['_METALCPU'].fields_by_name['vendor']._loaded_options = None _globals['_METALCPU'].fields_by_name['vendor']._serialized_options = b'\272H\005r\003\030\200\002' _globals['_METALCPU'].fields_by_name['model']._loaded_options = None @@ -389,20 +391,20 @@ _globals['_MACHINESERVICE'].methods_by_name['BMCCommand']._serialized_options = b'\312\363\030\002\001\002' _globals['_MACHINESERVICE'].methods_by_name['GetBMC']._loaded_options = None _globals['_MACHINESERVICE'].methods_by_name['GetBMC']._serialized_options = b'\312\363\030\002\001\002' - _globals['_IPPROTOCOL']._serialized_start=12738 - _globals['_IPPROTOCOL']._serialized_end=12839 - _globals['_MACHINESTATE']._serialized_start=12842 - _globals['_MACHINESTATE']._serialized_end=13017 - _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_start=13020 - _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_end=13243 - _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_start=13246 - _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_end=14045 - _globals['_MACHINELIVELINESS']._serialized_start=14048 - _globals['_MACHINELIVELINESS']._serialized_end=14234 - _globals['_MACHINEALLOCATIONTYPE']._serialized_start=14237 - _globals['_MACHINEALLOCATIONTYPE']._serialized_end=14409 - _globals['_MACHINEBMCCOMMAND']._serialized_start=14412 - _globals['_MACHINEBMCCOMMAND']._serialized_end=15050 + _globals['_IPPROTOCOL']._serialized_start=12952 + _globals['_IPPROTOCOL']._serialized_end=13053 + _globals['_MACHINESTATE']._serialized_start=13056 + _globals['_MACHINESTATE']._serialized_end=13231 + _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_start=13234 + _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_end=13457 + _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_start=13460 + _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_end=14259 + _globals['_MACHINELIVELINESS']._serialized_start=14262 + _globals['_MACHINELIVELINESS']._serialized_end=14448 + _globals['_MACHINEALLOCATIONTYPE']._serialized_start=14451 + _globals['_MACHINEALLOCATIONTYPE']._serialized_end=14623 + _globals['_MACHINEBMCCOMMAND']._serialized_start=14626 + _globals['_MACHINEBMCCOMMAND']._serialized_end=15264 _globals['_MACHINESERVICEGETREQUEST']._serialized_start=355 _globals['_MACHINESERVICEGETREQUEST']._serialized_end=447 _globals['_MACHINESERVICEGETRESPONSE']._serialized_start=449 @@ -452,53 +454,53 @@ _globals['_FIREWALLINGRESSRULE']._serialized_start=5619 _globals['_FIREWALLINGRESSRULE']._serialized_end=5862 _globals['_MACHINENETWORK']._serialized_start=5865 - _globals['_MACHINENETWORK']._serialized_end=6224 - _globals['_MACHINEHARDWARE']._serialized_start=6227 - _globals['_MACHINEHARDWARE']._serialized_end=6478 - _globals['_METALCPU']._serialized_start=6480 - _globals['_METALCPU']._serialized_end=6604 - _globals['_METALGPU']._serialized_start=6606 - _globals['_METALGPU']._serialized_end=6682 - _globals['_MACHINENIC']._serialized_start=6685 - _globals['_MACHINENIC']._serialized_end=6980 - _globals['_MACHINEBLOCKDEVICE']._serialized_start=6982 - _globals['_MACHINEBLOCKDEVICE']._serialized_end=7055 - _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_start=7057 - _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_end=7168 - _globals['_MACHINEBMCREPORT']._serialized_start=7171 - _globals['_MACHINEBMCREPORT']._serialized_end=7630 - _globals['_MACHINEBIOS']._serialized_start=7632 - _globals['_MACHINEBIOS']._serialized_end=7754 - _globals['_MACHINEBMC']._serialized_start=7757 - _globals['_MACHINEBMC']._serialized_end=8038 - _globals['_MACHINEFRU']._serialized_start=8041 - _globals['_MACHINEFRU']._serialized_end=8719 - _globals['_MACHINEPOWERMETRIC']._serialized_start=8722 - _globals['_MACHINEPOWERMETRIC']._serialized_end=8928 - _globals['_MACHINEPOWERSUPPLY']._serialized_start=8930 - _globals['_MACHINEPOWERSUPPLY']._serialized_end=8996 - _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_start=8999 - _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_end=9338 - _globals['_MACHINEPROVISIONINGEVENT']._serialized_start=9341 - _globals['_MACHINEPROVISIONINGEVENT']._serialized_end=9512 - _globals['_MACHINEVPN']._serialized_start=9515 - _globals['_MACHINEVPN']._serialized_end=9668 - _globals['_MACHINEQUERY']._serialized_start=9671 - _globals['_MACHINEQUERY']._serialized_end=10603 - _globals['_MACHINEALLOCATIONQUERY']._serialized_start=10606 - _globals['_MACHINEALLOCATIONQUERY']._serialized_end=11212 - _globals['_MACHINENETWORKQUERY']._serialized_start=11215 - _globals['_MACHINENETWORKQUERY']._serialized_end=11443 - _globals['_MACHINENICQUERY']._serialized_start=11446 - _globals['_MACHINENICQUERY']._serialized_end=11663 - _globals['_MACHINEDISKQUERY']._serialized_start=11665 - _globals['_MACHINEDISKQUERY']._serialized_end=11754 - _globals['_MACHINEBMCQUERY']._serialized_start=11757 - _globals['_MACHINEBMCQUERY']._serialized_end=11973 - _globals['_MACHINEFRUQUERY']._serialized_start=11976 - _globals['_MACHINEFRUQUERY']._serialized_end=12624 - _globals['_MACHINEHARDWAREQUERY']._serialized_start=12626 - _globals['_MACHINEHARDWAREQUERY']._serialized_end=12736 - _globals['_MACHINESERVICE']._serialized_start=15053 - _globals['_MACHINESERVICE']._serialized_end=15881 + _globals['_MACHINENETWORK']._serialized_end=6277 + _globals['_MACHINEHARDWARE']._serialized_start=6280 + _globals['_MACHINEHARDWARE']._serialized_end=6531 + _globals['_METALCPU']._serialized_start=6533 + _globals['_METALCPU']._serialized_end=6657 + _globals['_METALGPU']._serialized_start=6659 + _globals['_METALGPU']._serialized_end=6735 + _globals['_MACHINENIC']._serialized_start=6738 + _globals['_MACHINENIC']._serialized_end=7033 + _globals['_MACHINEBLOCKDEVICE']._serialized_start=7035 + _globals['_MACHINEBLOCKDEVICE']._serialized_end=7108 + _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_start=7110 + _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_end=7221 + _globals['_MACHINEBMCREPORT']._serialized_start=7224 + _globals['_MACHINEBMCREPORT']._serialized_end=7683 + _globals['_MACHINEBIOS']._serialized_start=7685 + _globals['_MACHINEBIOS']._serialized_end=7807 + _globals['_MACHINEBMC']._serialized_start=7810 + _globals['_MACHINEBMC']._serialized_end=8091 + _globals['_MACHINEFRU']._serialized_start=8094 + _globals['_MACHINEFRU']._serialized_end=8772 + _globals['_MACHINEPOWERMETRIC']._serialized_start=8775 + _globals['_MACHINEPOWERMETRIC']._serialized_end=8981 + _globals['_MACHINEPOWERSUPPLY']._serialized_start=8983 + _globals['_MACHINEPOWERSUPPLY']._serialized_end=9049 + _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_start=9052 + _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_end=9391 + _globals['_MACHINEPROVISIONINGEVENT']._serialized_start=9394 + _globals['_MACHINEPROVISIONINGEVENT']._serialized_end=9565 + _globals['_MACHINEVPN']._serialized_start=9568 + _globals['_MACHINEVPN']._serialized_end=9721 + _globals['_MACHINEQUERY']._serialized_start=9724 + _globals['_MACHINEQUERY']._serialized_end=10817 + _globals['_MACHINEALLOCATIONQUERY']._serialized_start=10820 + _globals['_MACHINEALLOCATIONQUERY']._serialized_end=11426 + _globals['_MACHINENETWORKQUERY']._serialized_start=11429 + _globals['_MACHINENETWORKQUERY']._serialized_end=11657 + _globals['_MACHINENICQUERY']._serialized_start=11660 + _globals['_MACHINENICQUERY']._serialized_end=11877 + _globals['_MACHINEDISKQUERY']._serialized_start=11879 + _globals['_MACHINEDISKQUERY']._serialized_end=11968 + _globals['_MACHINEBMCQUERY']._serialized_start=11971 + _globals['_MACHINEBMCQUERY']._serialized_end=12187 + _globals['_MACHINEFRUQUERY']._serialized_start=12190 + _globals['_MACHINEFRUQUERY']._serialized_end=12838 + _globals['_MACHINEHARDWAREQUERY']._serialized_start=12840 + _globals['_MACHINEHARDWAREQUERY']._serialized_end=12950 + _globals['_MACHINESERVICE']._serialized_start=15267 + _globals['_MACHINESERVICE']._serialized_end=16095 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/api/v2/machine_pb2.pyi b/python/metalstack/api/v2/machine_pb2.pyi index 1600aaea..fa415c44 100644 --- a/python/metalstack/api/v2/machine_pb2.pyi +++ b/python/metalstack/api/v2/machine_pb2.pyi @@ -401,7 +401,7 @@ class FirewallIngressRule(_message.Message): def __init__(self, protocol: _Optional[_Union[IPProtocol, str]] = ..., ports: _Optional[_Iterable[int]] = ..., to: _Optional[_Iterable[str]] = ..., comment: _Optional[str] = ..., **kwargs) -> None: ... class MachineNetwork(_message.Message): - __slots__ = ("network", "prefixes", "destination_prefixes", "ips", "network_type", "nat_type", "vrf", "asn") + __slots__ = ("network", "prefixes", "destination_prefixes", "ips", "network_type", "nat_type", "vrf", "asn", "project") NETWORK_FIELD_NUMBER: _ClassVar[int] PREFIXES_FIELD_NUMBER: _ClassVar[int] DESTINATION_PREFIXES_FIELD_NUMBER: _ClassVar[int] @@ -410,6 +410,7 @@ class MachineNetwork(_message.Message): NAT_TYPE_FIELD_NUMBER: _ClassVar[int] VRF_FIELD_NUMBER: _ClassVar[int] ASN_FIELD_NUMBER: _ClassVar[int] + PROJECT_FIELD_NUMBER: _ClassVar[int] network: str prefixes: _containers.RepeatedScalarFieldContainer[str] destination_prefixes: _containers.RepeatedScalarFieldContainer[str] @@ -418,7 +419,8 @@ class MachineNetwork(_message.Message): nat_type: _network_pb2.NATType vrf: int asn: int - def __init__(self, network: _Optional[str] = ..., prefixes: _Optional[_Iterable[str]] = ..., destination_prefixes: _Optional[_Iterable[str]] = ..., ips: _Optional[_Iterable[str]] = ..., network_type: _Optional[_Union[_network_pb2.NetworkType, str]] = ..., nat_type: _Optional[_Union[_network_pb2.NATType, str]] = ..., vrf: _Optional[int] = ..., asn: _Optional[int] = ...) -> None: ... + project: str + def __init__(self, network: _Optional[str] = ..., prefixes: _Optional[_Iterable[str]] = ..., destination_prefixes: _Optional[_Iterable[str]] = ..., ips: _Optional[_Iterable[str]] = ..., network_type: _Optional[_Union[_network_pb2.NetworkType, str]] = ..., nat_type: _Optional[_Union[_network_pb2.NATType, str]] = ..., vrf: _Optional[int] = ..., asn: _Optional[int] = ..., project: _Optional[str] = ...) -> None: ... class MachineHardware(_message.Message): __slots__ = ("memory", "disks", "cpus", "gpus", "nics") @@ -611,7 +613,7 @@ class MachineVPN(_message.Message): def __init__(self, control_plane_address: _Optional[str] = ..., auth_key: _Optional[str] = ..., connected: _Optional[bool] = ..., ips: _Optional[_Iterable[str]] = ...) -> None: ... class MachineQuery(_message.Message): - __slots__ = ("uuid", "name", "partition", "size", "rack", "labels", "allocation", "network", "nic", "disk", "bmc", "fru", "hardware", "state") + __slots__ = ("uuid", "name", "partition", "size", "rack", "labels", "allocation", "network", "nic", "disk", "bmc", "fru", "hardware", "state", "waiting", "preallocated", "not_allocated") UUID_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] PARTITION_FIELD_NUMBER: _ClassVar[int] @@ -626,6 +628,9 @@ class MachineQuery(_message.Message): FRU_FIELD_NUMBER: _ClassVar[int] HARDWARE_FIELD_NUMBER: _ClassVar[int] STATE_FIELD_NUMBER: _ClassVar[int] + WAITING_FIELD_NUMBER: _ClassVar[int] + PREALLOCATED_FIELD_NUMBER: _ClassVar[int] + NOT_ALLOCATED_FIELD_NUMBER: _ClassVar[int] uuid: str name: str partition: str @@ -640,7 +645,10 @@ class MachineQuery(_message.Message): fru: MachineFRUQuery hardware: MachineHardwareQuery state: MachineState - def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., partition: _Optional[str] = ..., size: _Optional[str] = ..., rack: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., allocation: _Optional[_Union[MachineAllocationQuery, _Mapping]] = ..., network: _Optional[_Union[MachineNetworkQuery, _Mapping]] = ..., nic: _Optional[_Union[MachineNicQuery, _Mapping]] = ..., disk: _Optional[_Union[MachineDiskQuery, _Mapping]] = ..., bmc: _Optional[_Union[MachineBMCQuery, _Mapping]] = ..., fru: _Optional[_Union[MachineFRUQuery, _Mapping]] = ..., hardware: _Optional[_Union[MachineHardwareQuery, _Mapping]] = ..., state: _Optional[_Union[MachineState, str]] = ...) -> None: ... + waiting: bool + preallocated: bool + not_allocated: bool + def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., partition: _Optional[str] = ..., size: _Optional[str] = ..., rack: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., allocation: _Optional[_Union[MachineAllocationQuery, _Mapping]] = ..., network: _Optional[_Union[MachineNetworkQuery, _Mapping]] = ..., nic: _Optional[_Union[MachineNicQuery, _Mapping]] = ..., disk: _Optional[_Union[MachineDiskQuery, _Mapping]] = ..., bmc: _Optional[_Union[MachineBMCQuery, _Mapping]] = ..., fru: _Optional[_Union[MachineFRUQuery, _Mapping]] = ..., hardware: _Optional[_Union[MachineHardwareQuery, _Mapping]] = ..., state: _Optional[_Union[MachineState, str]] = ..., waiting: _Optional[bool] = ..., preallocated: _Optional[bool] = ..., not_allocated: _Optional[bool] = ...) -> None: ... class MachineAllocationQuery(_message.Message): __slots__ = ("uuid", "name", "project", "image", "filesystem_layout", "hostname", "allocation_type", "labels", "vpn") diff --git a/python/metalstack/api/v2/method_pb2.py b/python/metalstack/api/v2/method_pb2.py index 659963d2..2e09e787 100644 --- a/python/metalstack/api/v2/method_pb2.py +++ b/python/metalstack/api/v2/method_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/method.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/method.proto' ) diff --git a/python/metalstack/api/v2/network_pb2.py b/python/metalstack/api/v2/network_pb2.py index 848c5b2d..153685b9 100644 --- a/python/metalstack/api/v2/network_pb2.py +++ b/python/metalstack/api/v2/network_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/network.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/network.proto' ) diff --git a/python/metalstack/api/v2/partition_pb2.py b/python/metalstack/api/v2/partition_pb2.py index 71d9afa3..274071ba 100644 --- a/python/metalstack/api/v2/partition_pb2.py +++ b/python/metalstack/api/v2/partition_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/partition.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/partition.proto' ) diff --git a/python/metalstack/api/v2/predefined_rules_pb2.py b/python/metalstack/api/v2/predefined_rules_pb2.py index e6353d15..021902f5 100644 --- a/python/metalstack/api/v2/predefined_rules_pb2.py +++ b/python/metalstack/api/v2/predefined_rules_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/predefined_rules.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/predefined_rules.proto' ) diff --git a/python/metalstack/api/v2/project_pb2.py b/python/metalstack/api/v2/project_pb2.py index bc05bc33..0f83512d 100644 --- a/python/metalstack/api/v2/project_pb2.py +++ b/python/metalstack/api/v2/project_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/project.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/project.proto' ) diff --git a/python/metalstack/api/v2/size_imageconstraint_pb2.py b/python/metalstack/api/v2/size_imageconstraint_pb2.py index 59e5a429..abf679db 100644 --- a/python/metalstack/api/v2/size_imageconstraint_pb2.py +++ b/python/metalstack/api/v2/size_imageconstraint_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/size_imageconstraint.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/size_imageconstraint.proto' ) diff --git a/python/metalstack/api/v2/size_pb2.py b/python/metalstack/api/v2/size_pb2.py index 554d99aa..67634bad 100644 --- a/python/metalstack/api/v2/size_pb2.py +++ b/python/metalstack/api/v2/size_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/size.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/size.proto' ) diff --git a/python/metalstack/api/v2/size_reservation_pb2.py b/python/metalstack/api/v2/size_reservation_pb2.py index 7bfd2a17..ab77b308 100644 --- a/python/metalstack/api/v2/size_reservation_pb2.py +++ b/python/metalstack/api/v2/size_reservation_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/size_reservation.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/size_reservation.proto' ) diff --git a/python/metalstack/api/v2/switch_pb2.py b/python/metalstack/api/v2/switch_pb2.py index 9354f8f5..14b1f17a 100644 --- a/python/metalstack/api/v2/switch_pb2.py +++ b/python/metalstack/api/v2/switch_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/switch.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/switch.proto' ) diff --git a/python/metalstack/api/v2/tenant_pb2.py b/python/metalstack/api/v2/tenant_pb2.py index c652f2d8..969dd146 100644 --- a/python/metalstack/api/v2/tenant_pb2.py +++ b/python/metalstack/api/v2/tenant_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/tenant.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/tenant.proto' ) diff --git a/python/metalstack/api/v2/token_pb2.py b/python/metalstack/api/v2/token_pb2.py index 54fa3e25..7df656d9 100644 --- a/python/metalstack/api/v2/token_pb2.py +++ b/python/metalstack/api/v2/token_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/token.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/token.proto' ) diff --git a/python/metalstack/api/v2/user_pb2.py b/python/metalstack/api/v2/user_pb2.py index cf9225a3..b51e2944 100644 --- a/python/metalstack/api/v2/user_pb2.py +++ b/python/metalstack/api/v2/user_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/user.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/user.proto' ) diff --git a/python/metalstack/api/v2/version_pb2.py b/python/metalstack/api/v2/version_pb2.py index e24a16fb..e36ca7c6 100644 --- a/python/metalstack/api/v2/version_pb2.py +++ b/python/metalstack/api/v2/version_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/version.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/version.proto' ) diff --git a/python/metalstack/api/v2/vpn_pb2.py b/python/metalstack/api/v2/vpn_pb2.py index 34606f99..7594e543 100644 --- a/python/metalstack/api/v2/vpn_pb2.py +++ b/python/metalstack/api/v2/vpn_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/api/v2/vpn.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/api/v2/vpn.proto' ) diff --git a/python/metalstack/infra/v2/bmc_pb2.py b/python/metalstack/infra/v2/bmc_pb2.py index 72c14d61..47e338d7 100644 --- a/python/metalstack/infra/v2/bmc_pb2.py +++ b/python/metalstack/infra/v2/bmc_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/infra/v2/bmc.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/infra/v2/bmc.proto' ) diff --git a/python/metalstack/infra/v2/boot_pb2.py b/python/metalstack/infra/v2/boot_pb2.py index 671deb0d..b1e7e520 100644 --- a/python/metalstack/infra/v2/boot_pb2.py +++ b/python/metalstack/infra/v2/boot_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/infra/v2/boot.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/infra/v2/boot.proto' ) diff --git a/python/metalstack/infra/v2/component_pb2.py b/python/metalstack/infra/v2/component_pb2.py index a964c3c7..c10a4629 100644 --- a/python/metalstack/infra/v2/component_pb2.py +++ b/python/metalstack/infra/v2/component_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/infra/v2/component.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/infra/v2/component.proto' ) diff --git a/python/metalstack/infra/v2/event_pb2.py b/python/metalstack/infra/v2/event_pb2.py index 31246ae9..3d2ed374 100644 --- a/python/metalstack/infra/v2/event_pb2.py +++ b/python/metalstack/infra/v2/event_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/infra/v2/event.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/infra/v2/event.proto' ) diff --git a/python/metalstack/infra/v2/switch_pb2.py b/python/metalstack/infra/v2/switch_pb2.py index 89e251af..5d8113f3 100644 --- a/python/metalstack/infra/v2/switch_pb2.py +++ b/python/metalstack/infra/v2/switch_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: metalstack/infra/v2/switch.proto -# Protobuf Python Version: 6.33.5 +# Protobuf Python Version: 7.34.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -11,9 +11,9 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, - 6, - 33, - 5, + 7, + 34, + 0, '', 'metalstack/infra/v2/switch.proto' )