From 0673379443b36eac08c24e7d54d990bd222ca43b Mon Sep 17 00:00:00 2001 From: Stefan Majer Date: Thu, 3 Sep 2026 13:52:15 +0200 Subject: [PATCH 1/2] Update deps --- go.mod | 12 +++++------ go.sum | 20 +++++++++---------- js/buf/validate/validate_pb.d.ts | 12 +++++------ js/buf/validate/validate_pb.ts | 16 +++++++-------- js/metalstack/admin/v2/audit_pb.js | 2 +- js/metalstack/admin/v2/audit_pb.ts | 2 +- js/metalstack/admin/v2/component_pb.js | 2 +- js/metalstack/admin/v2/component_pb.ts | 2 +- js/metalstack/admin/v2/filesystem_pb.js | 2 +- js/metalstack/admin/v2/filesystem_pb.ts | 2 +- js/metalstack/admin/v2/image_pb.js | 2 +- js/metalstack/admin/v2/image_pb.ts | 2 +- js/metalstack/admin/v2/ip_pb.js | 2 +- js/metalstack/admin/v2/ip_pb.ts | 2 +- js/metalstack/admin/v2/machine_pb.js | 2 +- js/metalstack/admin/v2/machine_pb.ts | 2 +- js/metalstack/admin/v2/network_pb.js | 2 +- js/metalstack/admin/v2/network_pb.ts | 2 +- js/metalstack/admin/v2/partition_pb.js | 2 +- js/metalstack/admin/v2/partition_pb.ts | 2 +- js/metalstack/admin/v2/project_pb.js | 2 +- js/metalstack/admin/v2/project_pb.ts | 2 +- .../admin/v2/size_imageconstraint_pb.js | 2 +- .../admin/v2/size_imageconstraint_pb.ts | 2 +- js/metalstack/admin/v2/size_pb.js | 2 +- js/metalstack/admin/v2/size_pb.ts | 2 +- js/metalstack/admin/v2/size_reservation_pb.js | 2 +- js/metalstack/admin/v2/size_reservation_pb.ts | 2 +- js/metalstack/admin/v2/switch_pb.js | 2 +- js/metalstack/admin/v2/switch_pb.ts | 2 +- js/metalstack/admin/v2/task_pb.js | 2 +- js/metalstack/admin/v2/task_pb.ts | 2 +- js/metalstack/admin/v2/tenant_pb.js | 2 +- js/metalstack/admin/v2/tenant_pb.ts | 2 +- js/metalstack/admin/v2/token_pb.js | 2 +- js/metalstack/admin/v2/token_pb.ts | 2 +- js/metalstack/admin/v2/vpn_pb.js | 2 +- js/metalstack/admin/v2/vpn_pb.ts | 2 +- js/metalstack/api/v2/audit_pb.js | 2 +- js/metalstack/api/v2/audit_pb.ts | 2 +- js/metalstack/api/v2/common_pb.js | 2 +- js/metalstack/api/v2/common_pb.ts | 2 +- js/metalstack/api/v2/component_pb.js | 2 +- js/metalstack/api/v2/component_pb.ts | 2 +- js/metalstack/api/v2/filesystem_pb.js | 2 +- js/metalstack/api/v2/filesystem_pb.ts | 2 +- js/metalstack/api/v2/health_pb.js | 2 +- js/metalstack/api/v2/health_pb.ts | 2 +- js/metalstack/api/v2/image_pb.js | 2 +- js/metalstack/api/v2/image_pb.ts | 2 +- js/metalstack/api/v2/ip_pb.js | 2 +- js/metalstack/api/v2/ip_pb.ts | 2 +- js/metalstack/api/v2/machine_pb.js | 2 +- js/metalstack/api/v2/machine_pb.ts | 2 +- js/metalstack/api/v2/method_pb.js | 2 +- js/metalstack/api/v2/method_pb.ts | 2 +- js/metalstack/api/v2/network_pb.js | 2 +- js/metalstack/api/v2/network_pb.ts | 2 +- js/metalstack/api/v2/partition_pb.js | 2 +- js/metalstack/api/v2/partition_pb.ts | 2 +- js/metalstack/api/v2/predefined_rules_pb.js | 2 +- js/metalstack/api/v2/predefined_rules_pb.ts | 2 +- js/metalstack/api/v2/project_pb.js | 2 +- js/metalstack/api/v2/project_pb.ts | 2 +- .../api/v2/size_imageconstraint_pb.js | 2 +- .../api/v2/size_imageconstraint_pb.ts | 2 +- js/metalstack/api/v2/size_pb.js | 2 +- js/metalstack/api/v2/size_pb.ts | 2 +- js/metalstack/api/v2/size_reservation_pb.js | 2 +- js/metalstack/api/v2/size_reservation_pb.ts | 2 +- js/metalstack/api/v2/switch_pb.js | 2 +- js/metalstack/api/v2/switch_pb.ts | 2 +- js/metalstack/api/v2/tenant_pb.js | 2 +- js/metalstack/api/v2/tenant_pb.ts | 2 +- js/metalstack/api/v2/token_pb.js | 2 +- js/metalstack/api/v2/token_pb.ts | 2 +- js/metalstack/api/v2/user_pb.js | 2 +- js/metalstack/api/v2/user_pb.ts | 2 +- js/metalstack/api/v2/version_pb.js | 2 +- js/metalstack/api/v2/version_pb.ts | 2 +- js/metalstack/api/v2/vpn_pb.js | 2 +- js/metalstack/api/v2/vpn_pb.ts | 2 +- js/metalstack/infra/v2/bmc_pb.js | 2 +- js/metalstack/infra/v2/bmc_pb.ts | 2 +- js/metalstack/infra/v2/boot_pb.js | 2 +- js/metalstack/infra/v2/boot_pb.ts | 2 +- js/metalstack/infra/v2/component_pb.js | 2 +- js/metalstack/infra/v2/component_pb.ts | 2 +- js/metalstack/infra/v2/event_pb.js | 2 +- js/metalstack/infra/v2/event_pb.ts | 2 +- js/metalstack/infra/v2/switch_pb.js | 2 +- js/metalstack/infra/v2/switch_pb.ts | 2 +- proto/buf.gen.yaml | 6 +++--- proto/buf.lock | 4 ++-- python/buf/validate/validate_pb2.py | 4 ++-- python/metalstack/admin/v2/audit_pb2.py | 4 ++-- python/metalstack/admin/v2/component_pb2.py | 4 ++-- python/metalstack/admin/v2/filesystem_pb2.py | 4 ++-- python/metalstack/admin/v2/image_pb2.py | 4 ++-- python/metalstack/admin/v2/ip_pb2.py | 4 ++-- python/metalstack/admin/v2/machine_pb2.py | 4 ++-- python/metalstack/admin/v2/network_pb2.py | 4 ++-- python/metalstack/admin/v2/partition_pb2.py | 4 ++-- python/metalstack/admin/v2/project_pb2.py | 4 ++-- .../admin/v2/size_imageconstraint_pb2.py | 4 ++-- python/metalstack/admin/v2/size_pb2.py | 4 ++-- .../admin/v2/size_reservation_pb2.py | 4 ++-- python/metalstack/admin/v2/switch_pb2.py | 4 ++-- python/metalstack/admin/v2/task_pb2.py | 4 ++-- python/metalstack/admin/v2/tenant_pb2.py | 4 ++-- python/metalstack/admin/v2/token_pb2.py | 4 ++-- python/metalstack/admin/v2/vpn_pb2.py | 4 ++-- python/metalstack/api/v2/audit_pb2.py | 4 ++-- python/metalstack/api/v2/common_pb2.py | 4 ++-- python/metalstack/api/v2/component_pb2.py | 4 ++-- python/metalstack/api/v2/filesystem_pb2.py | 4 ++-- python/metalstack/api/v2/health_pb2.py | 4 ++-- python/metalstack/api/v2/image_pb2.py | 4 ++-- python/metalstack/api/v2/ip_pb2.py | 4 ++-- python/metalstack/api/v2/machine_pb2.py | 4 ++-- python/metalstack/api/v2/method_pb2.py | 4 ++-- python/metalstack/api/v2/network_pb2.py | 4 ++-- python/metalstack/api/v2/partition_pb2.py | 4 ++-- .../metalstack/api/v2/predefined_rules_pb2.py | 4 ++-- python/metalstack/api/v2/project_pb2.py | 4 ++-- .../api/v2/size_imageconstraint_pb2.py | 4 ++-- python/metalstack/api/v2/size_pb2.py | 4 ++-- .../metalstack/api/v2/size_reservation_pb2.py | 4 ++-- python/metalstack/api/v2/switch_pb2.py | 4 ++-- python/metalstack/api/v2/tenant_pb2.py | 4 ++-- python/metalstack/api/v2/token_pb2.py | 4 ++-- python/metalstack/api/v2/user_pb2.py | 4 ++-- python/metalstack/api/v2/version_pb2.py | 4 ++-- python/metalstack/api/v2/vpn_pb2.py | 4 ++-- python/metalstack/infra/v2/bmc_pb2.py | 4 ++-- python/metalstack/infra/v2/boot_pb2.py | 4 ++-- python/metalstack/infra/v2/component_pb2.py | 4 ++-- python/metalstack/infra/v2/event_pb2.py | 4 ++-- python/metalstack/infra/v2/switch_pb2.py | 4 ++-- 139 files changed, 213 insertions(+), 213 deletions(-) diff --git a/go.mod b/go.mod index 898d8aef..27a5ad28 100644 --- a/go.mod +++ b/go.mod @@ -1,10 +1,10 @@ module github.com/metal-stack/api -go 1.26.0 +go 1.27 require ( buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.12-20260825204119-511051f7f437.1 - buf.build/go/protovalidate v1.3.0 + buf.build/go/protovalidate v1.4.0 connectrpc.com/connect v1.20.0 github.com/bufbuild/protocompile v0.14.1 github.com/go-task/slim-sprig/v3 v3.0.0 @@ -18,15 +18,15 @@ require ( ) require ( + cel.dev/cel-go v0.32.0 // indirect cel.dev/expr v0.25.3 // indirect github.com/antlr4-go/antlr/v4 v4.13.1 // indirect - github.com/google/cel-go v0.31.0 // indirect - github.com/klauspost/compress v1.19.2 // indirect + github.com/klauspost/compress v1.20.0 // indirect github.com/minio/minlz v1.2.0 // indirect go.yaml.in/yaml/v3 v3.0.5 // indirect golang.org/x/exp v0.0.0-20260824195058-e88cd73687aa // indirect golang.org/x/sys v0.47.0 // indirect golang.org/x/text v0.41.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260825221802-da73d73af1c5 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260825221802-da73d73af1c5 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260831171406-18b4a7587f8a // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260831171406-18b4a7587f8a // indirect ) diff --git a/go.sum b/go.sum index 4f0937c3..18a8f414 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,9 @@ buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.12-20260825204119-511051f7f437.1 h1:Slv0uGxx219srASyiaI5C9cDlyG8kNDcXpTSYcuAeE4= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.12-20260825204119-511051f7f437.1/go.mod h1:TCt1lluMFnctISJXvkIQ4x3ABrPuUKCWKyjKdkJNBpw= -buf.build/go/protovalidate v1.3.0 h1:8ITcnZGkAHx6TyhZvro+iET/AyqU8gEWQJK2WsT62ms= -buf.build/go/protovalidate v1.3.0/go.mod h1:82s5g+rFRj1CZPiLv6OTA31jBu2fpq7mLXHwa9mZfEs= +buf.build/go/protovalidate v1.4.0 h1:UjLrYbt5VX7+TMOs2+pG5FhZhIG1mSfK4EIopbb4LcM= +buf.build/go/protovalidate v1.4.0/go.mod h1:8vJfzNT6NIG2qm3uFsJDXMlRmG+bQJzbcIn1Aa0vPGs= +cel.dev/cel-go v0.32.0 h1:irvpFKr5EuGPyxeME03ERh0rii1TX+BDAnB9eL3IvNk= +cel.dev/cel-go v0.32.0/go.mod h1:DnVip7tpJSsgZymwfT+m1tnEVy3ivAjSMXPx12YrMkU= cel.dev/expr v0.25.3 h1:A2jO8jwOugrrovveCWfj0KEZOfqiLgAcwjpHPhzIGw0= cel.dev/expr v0.25.3/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= connectrpc.com/connect v1.20.0 h1:6TNDAB+WeNd2uolWNlYczB5E0KNNaVMNUEx8JEUsPmQ= @@ -18,14 +20,12 @@ github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63Y github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/google/cel-go v0.31.0 h1:H0bhpFTqOvmHrBGrWKp7ZlhBm5Hh8PYUEXnwxT1LL7A= -github.com/google/cel-go v0.31.0/go.mod h1:X0bD6iVNR8pkROSOoHVdgTkzmRcosof7WQqCD6wcMc8= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/klauspost/compress v1.19.2 h1:hMRETovs/pu/dVWN7zIT1PGG8t509MwT6bO7XSi26R8= -github.com/klauspost/compress v1.19.2/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= +github.com/klauspost/compress v1.20.0 h1:a3C1ke2ohxFymNlb2HWAHjDeKCI90scRskErZkR0ezA= +github.com/klauspost/compress v1.20.0/go.mod h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI= github.com/klauspost/connect-compress/v2 v2.1.1 h1:ycZNp4rWOZBodVE2Ls5AzK4aHkyK+GteEfzRZgKNs+c= github.com/klauspost/connect-compress/v2 v2.1.1/go.mod h1:9oilsPHJMzGKkjafSBk9J7iVo4mO+dw0G0KSdVpnlVE= github.com/minio/minlz v1.2.0 h1:6IOBuiHg04QxvbFfgFLT/9sMaO/UhL7S+ApW1mK8q5A= @@ -44,10 +44,10 @@ golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8= golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M= -google.golang.org/genproto/googleapis/api v0.0.0-20260825221802-da73d73af1c5 h1:izFU9hz7aeLI/Mi1J0991ae+xcwRLr7hTqWnB/9aIIU= -google.golang.org/genproto/googleapis/api v0.0.0-20260825221802-da73d73af1c5/go.mod h1:3LhxRw4YYkf+ylAfgaY9JlVLFKhokkCV8duhLLe7+t0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260825221802-da73d73af1c5 h1:1VUiZAXyC+zmiFYi+WLtBzr68Cj8wOofHjjrA/kkizc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260825221802-da73d73af1c5/go.mod h1:DjtHYE8FKJLivXcBEjGwndXfIC23G0VpXiXKqG179uA= +google.golang.org/genproto/googleapis/api v0.0.0-20260831171406-18b4a7587f8a h1:i3TAXhpKc7TUP1VAPiBBrv45kamjoizCC3rOC0cAbOs= +google.golang.org/genproto/googleapis/api v0.0.0-20260831171406-18b4a7587f8a/go.mod h1:CvYJHpbzPlT0fb/PsgtAamdwru/GVxUsomFdXTpOTI8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260831171406-18b4a7587f8a h1:3Dnd1cDaZlB68lziofO+bJXpjOy8UfRv8Unt+yH8tQ4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260831171406-18b4a7587f8a/go.mod h1:DjtHYE8FKJLivXcBEjGwndXfIC23G0VpXiXKqG179uA= google.golang.org/grpc v1.83.2 h1:EManeRomTObA0BU7I8vXgg/78uE5MJ9M8B39EX2WscU= google.golang.org/grpc v1.83.2/go.mod h1:YPI1hK3kDked6iHvgX3tR0y+nX/qpMFKhPgFsokw1S8= google.golang.org/protobuf v1.36.12 h1:pJOKDDOyeXErUroCihFAd5LQuwXBSpVnKGrj5o/fwxc= diff --git a/js/buf/validate/validate_pb.d.ts b/js/buf/validate/validate_pb.d.ts index 8b4d2efb..910c2fde 100644 --- a/js/buf/validate/validate_pb.d.ts +++ b/js/buf/validate/validate_pb.d.ts @@ -9,7 +9,7 @@ export declare const file_buf_validate_validate: GenFile; * `Rule` represents a validation rule written in the Common Expression * Language (CEL) syntax. Each Rule includes a unique identifier, an * optional error message, and the CEL expression to evaluate. For more - * information, [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + * information, [see our documentation](https://protovalidate.com/schemas/custom-rules/). * * ```proto * message Foo { @@ -71,7 +71,7 @@ export type MessageRules = Message<"buf.validate.MessageRules"> & { * simpler syntax when defining CEL Rules where `id` and `message` derived from the `expression`. `id` will * be same as the `expression`. * - * For more information, [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + * For more information, [see our documentation](https://protovalidate.com/schemas/custom-rules/). * * ```proto * message MyMessage { @@ -89,7 +89,7 @@ export type MessageRules = Message<"buf.validate.MessageRules"> & { /** * `cel` is a repeated field of type Rule. Each Rule specifies a validation rule to be applied to this message. * These rules are written in Common Expression Language (CEL) syntax. For more information, - * [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + * [see our documentation](https://protovalidate.com/schemas/custom-rules/). * * * ```proto @@ -225,7 +225,7 @@ export type FieldRules = Message<"buf.validate.FieldRules"> & { * simpler syntax when defining CEL Rules where `id` and `message` derived from the `expression`. `id` will * be same as the `expression`. * - * For more information, [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + * For more information, [see our documentation](https://protovalidate.com/schemas/custom-rules/). * * ```proto * message MyMessage { @@ -240,7 +240,7 @@ export type FieldRules = Message<"buf.validate.FieldRules"> & { /** * `cel` is a repeated field used to represent a textual expression * in the Common Expression Language (CEL) syntax. For more information, - * [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + * [see our documentation](https://protovalidate.com/schemas/custom-rules/). * * ```proto * message MyMessage { @@ -495,7 +495,7 @@ export type PredefinedRules = Message<"buf.validate.PredefinedRules"> & { /** * `cel` is a repeated field used to represent a textual expression * in the Common Expression Language (CEL) syntax. For more information, - * [see our documentation](https://buf.build/docs/protovalidate/schemas/predefined-rules/). + * [see our documentation](https://protovalidate.com/schemas/predefined-rules/). * * ```proto * message MyMessage { diff --git a/js/buf/validate/validate_pb.ts b/js/buf/validate/validate_pb.ts index 641c80e6..fa726a2f 100644 --- a/js/buf/validate/validate_pb.ts +++ b/js/buf/validate/validate_pb.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file buf/validate/validate.proto (package buf.validate, syntax proto2) /* eslint-disable */ @@ -42,7 +42,7 @@ // [Go](https://github.com/bufbuild/protovalidate-go), // [JavaScript/TypeScript](https://github.com/bufbuild/protovalidate-es), // [Java](https://github.com/bufbuild/protovalidate-java), -// [Python](https://github.com/bufbuild/protovalidate-python), +// [Python](https://github.com/bufbuild/protovalidate-py), // or [C++](https://github.com/bufbuild/protovalidate-cc). import type { GenEnum, GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; @@ -61,7 +61,7 @@ export const file_buf_validate_validate: GenFile = /*@__PURE__*/ * `Rule` represents a validation rule written in the Common Expression * Language (CEL) syntax. Each Rule includes a unique identifier, an * optional error message, and the CEL expression to evaluate. For more - * information, [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + * information, [see our documentation](https://protovalidate.com/schemas/custom-rules/). * * ```proto * message Foo { @@ -128,7 +128,7 @@ export type MessageRules = Message<"buf.validate.MessageRules"> & { * simpler syntax when defining CEL Rules where `id` and `message` derived from the `expression`. `id` will * be same as the `expression`. * - * For more information, [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + * For more information, [see our documentation](https://protovalidate.com/schemas/custom-rules/). * * ```proto * message MyMessage { @@ -147,7 +147,7 @@ export type MessageRules = Message<"buf.validate.MessageRules"> & { /** * `cel` is a repeated field of type Rule. Each Rule specifies a validation rule to be applied to this message. * These rules are written in Common Expression Language (CEL) syntax. For more information, - * [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + * [see our documentation](https://protovalidate.com/schemas/custom-rules/). * * * ```proto @@ -294,7 +294,7 @@ export type FieldRules = Message<"buf.validate.FieldRules"> & { * simpler syntax when defining CEL Rules where `id` and `message` derived from the `expression`. `id` will * be same as the `expression`. * - * For more information, [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + * For more information, [see our documentation](https://protovalidate.com/schemas/custom-rules/). * * ```proto * message MyMessage { @@ -310,7 +310,7 @@ export type FieldRules = Message<"buf.validate.FieldRules"> & { /** * `cel` is a repeated field used to represent a textual expression * in the Common Expression Language (CEL) syntax. For more information, - * [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + * [see our documentation](https://protovalidate.com/schemas/custom-rules/). * * ```proto * message MyMessage { @@ -568,7 +568,7 @@ export type PredefinedRules = Message<"buf.validate.PredefinedRules"> & { /** * `cel` is a repeated field used to represent a textual expression * in the Common Expression Language (CEL) syntax. For more information, - * [see our documentation](https://buf.build/docs/protovalidate/schemas/predefined-rules/). + * [see our documentation](https://protovalidate.com/schemas/predefined-rules/). * * ```proto * message MyMessage { diff --git a/js/metalstack/admin/v2/audit_pb.js b/js/metalstack/admin/v2/audit_pb.js index 03de8736..c9e91546 100644 --- a/js/metalstack/admin/v2/audit_pb.js +++ b/js/metalstack/admin/v2/audit_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/audit.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/audit_pb.ts b/js/metalstack/admin/v2/audit_pb.ts index 626feff0..1f042517 100644 --- a/js/metalstack/admin/v2/audit_pb.ts +++ b/js/metalstack/admin/v2/audit_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/audit.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/component_pb.js b/js/metalstack/admin/v2/component_pb.js index 432d58d0..0464335e 100644 --- a/js/metalstack/admin/v2/component_pb.js +++ b/js/metalstack/admin/v2/component_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/component.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/component_pb.ts b/js/metalstack/admin/v2/component_pb.ts index 8dc35dd7..c40c982b 100644 --- a/js/metalstack/admin/v2/component_pb.ts +++ b/js/metalstack/admin/v2/component_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/component.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/filesystem_pb.js b/js/metalstack/admin/v2/filesystem_pb.js index 0fac9c3c..5a287c85 100644 --- a/js/metalstack/admin/v2/filesystem_pb.js +++ b/js/metalstack/admin/v2/filesystem_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/filesystem.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/filesystem_pb.ts b/js/metalstack/admin/v2/filesystem_pb.ts index caef7736..2b63c9f9 100644 --- a/js/metalstack/admin/v2/filesystem_pb.ts +++ b/js/metalstack/admin/v2/filesystem_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/filesystem.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/image_pb.js b/js/metalstack/admin/v2/image_pb.js index cfaa178f..d93843ba 100644 --- a/js/metalstack/admin/v2/image_pb.js +++ b/js/metalstack/admin/v2/image_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/image.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/image_pb.ts b/js/metalstack/admin/v2/image_pb.ts index 7639865c..16813c73 100644 --- a/js/metalstack/admin/v2/image_pb.ts +++ b/js/metalstack/admin/v2/image_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/image.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/ip_pb.js b/js/metalstack/admin/v2/ip_pb.js index 7d09ffc1..918b1be3 100644 --- a/js/metalstack/admin/v2/ip_pb.js +++ b/js/metalstack/admin/v2/ip_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/ip.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/ip_pb.ts b/js/metalstack/admin/v2/ip_pb.ts index 0ac709fa..8feb0286 100644 --- a/js/metalstack/admin/v2/ip_pb.ts +++ b/js/metalstack/admin/v2/ip_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/ip.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/machine_pb.js b/js/metalstack/admin/v2/machine_pb.js index cf8c0539..da4dc168 100644 --- a/js/metalstack/admin/v2/machine_pb.js +++ b/js/metalstack/admin/v2/machine_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/machine.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/machine_pb.ts b/js/metalstack/admin/v2/machine_pb.ts index 557bac81..47271fc4 100644 --- a/js/metalstack/admin/v2/machine_pb.ts +++ b/js/metalstack/admin/v2/machine_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/machine.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/network_pb.js b/js/metalstack/admin/v2/network_pb.js index c2d64f4a..c23310bd 100644 --- a/js/metalstack/admin/v2/network_pb.js +++ b/js/metalstack/admin/v2/network_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/network.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/network_pb.ts b/js/metalstack/admin/v2/network_pb.ts index c0e747e6..53b816ed 100644 --- a/js/metalstack/admin/v2/network_pb.ts +++ b/js/metalstack/admin/v2/network_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/network.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/partition_pb.js b/js/metalstack/admin/v2/partition_pb.js index 8c66094b..7b1347bd 100644 --- a/js/metalstack/admin/v2/partition_pb.js +++ b/js/metalstack/admin/v2/partition_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/partition.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/partition_pb.ts b/js/metalstack/admin/v2/partition_pb.ts index c8c0317c..f796f935 100644 --- a/js/metalstack/admin/v2/partition_pb.ts +++ b/js/metalstack/admin/v2/partition_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/partition.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/project_pb.js b/js/metalstack/admin/v2/project_pb.js index 06c77820..93d57d0b 100644 --- a/js/metalstack/admin/v2/project_pb.js +++ b/js/metalstack/admin/v2/project_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/project.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/project_pb.ts b/js/metalstack/admin/v2/project_pb.ts index 74ba6af0..591b3a13 100644 --- a/js/metalstack/admin/v2/project_pb.ts +++ b/js/metalstack/admin/v2/project_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/project.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/size_imageconstraint_pb.js b/js/metalstack/admin/v2/size_imageconstraint_pb.js index e19ed395..c5000adf 100644 --- a/js/metalstack/admin/v2/size_imageconstraint_pb.js +++ b/js/metalstack/admin/v2/size_imageconstraint_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/size_imageconstraint.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/size_imageconstraint_pb.ts b/js/metalstack/admin/v2/size_imageconstraint_pb.ts index 7aca6411..0923e381 100644 --- a/js/metalstack/admin/v2/size_imageconstraint_pb.ts +++ b/js/metalstack/admin/v2/size_imageconstraint_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/size_imageconstraint.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/size_pb.js b/js/metalstack/admin/v2/size_pb.js index ef58043d..bc4a5270 100644 --- a/js/metalstack/admin/v2/size_pb.js +++ b/js/metalstack/admin/v2/size_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/size.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/size_pb.ts b/js/metalstack/admin/v2/size_pb.ts index c8d9c68a..aecbc126 100644 --- a/js/metalstack/admin/v2/size_pb.ts +++ b/js/metalstack/admin/v2/size_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/size.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/size_reservation_pb.js b/js/metalstack/admin/v2/size_reservation_pb.js index 348dbfb1..b3b89069 100644 --- a/js/metalstack/admin/v2/size_reservation_pb.js +++ b/js/metalstack/admin/v2/size_reservation_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/size_reservation.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/size_reservation_pb.ts b/js/metalstack/admin/v2/size_reservation_pb.ts index f24e8987..5c8517ba 100644 --- a/js/metalstack/admin/v2/size_reservation_pb.ts +++ b/js/metalstack/admin/v2/size_reservation_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/size_reservation.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/switch_pb.js b/js/metalstack/admin/v2/switch_pb.js index 4634e4f4..142370b6 100644 --- a/js/metalstack/admin/v2/switch_pb.js +++ b/js/metalstack/admin/v2/switch_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/switch.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/switch_pb.ts b/js/metalstack/admin/v2/switch_pb.ts index fe85ffdf..4948faa9 100644 --- a/js/metalstack/admin/v2/switch_pb.ts +++ b/js/metalstack/admin/v2/switch_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/switch.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/task_pb.js b/js/metalstack/admin/v2/task_pb.js index 4569731f..f01e9bc2 100644 --- a/js/metalstack/admin/v2/task_pb.js +++ b/js/metalstack/admin/v2/task_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/task.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/task_pb.ts b/js/metalstack/admin/v2/task_pb.ts index 65ae5753..9a04971b 100644 --- a/js/metalstack/admin/v2/task_pb.ts +++ b/js/metalstack/admin/v2/task_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/task.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/tenant_pb.js b/js/metalstack/admin/v2/tenant_pb.js index 7f7d9f7b..2590df81 100644 --- a/js/metalstack/admin/v2/tenant_pb.js +++ b/js/metalstack/admin/v2/tenant_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/tenant.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/tenant_pb.ts b/js/metalstack/admin/v2/tenant_pb.ts index 2fcb29b0..ce08a058 100644 --- a/js/metalstack/admin/v2/tenant_pb.ts +++ b/js/metalstack/admin/v2/tenant_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/tenant.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/token_pb.js b/js/metalstack/admin/v2/token_pb.js index 1270e31e..076bf756 100644 --- a/js/metalstack/admin/v2/token_pb.js +++ b/js/metalstack/admin/v2/token_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/token.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/token_pb.ts b/js/metalstack/admin/v2/token_pb.ts index 45aca58d..83b21623 100644 --- a/js/metalstack/admin/v2/token_pb.ts +++ b/js/metalstack/admin/v2/token_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/token.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/admin/v2/vpn_pb.js b/js/metalstack/admin/v2/vpn_pb.js index e418a5c7..72c9d9f6 100644 --- a/js/metalstack/admin/v2/vpn_pb.js +++ b/js/metalstack/admin/v2/vpn_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/vpn.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/admin/v2/vpn_pb.ts b/js/metalstack/admin/v2/vpn_pb.ts index 114ff7df..2d62a566 100644 --- a/js/metalstack/admin/v2/vpn_pb.ts +++ b/js/metalstack/admin/v2/vpn_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/admin/v2/vpn.proto (package metalstack.admin.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/audit_pb.js b/js/metalstack/api/v2/audit_pb.js index 9aa955e3..60b36974 100644 --- a/js/metalstack/api/v2/audit_pb.js +++ b/js/metalstack/api/v2/audit_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/audit.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/audit_pb.ts b/js/metalstack/api/v2/audit_pb.ts index 88ff724e..7653c268 100644 --- a/js/metalstack/api/v2/audit_pb.ts +++ b/js/metalstack/api/v2/audit_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/audit.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/common_pb.js b/js/metalstack/api/v2/common_pb.js index 31969083..afcf19ff 100644 --- a/js/metalstack/api/v2/common_pb.js +++ b/js/metalstack/api/v2/common_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/common.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, extDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/common_pb.ts b/js/metalstack/api/v2/common_pb.ts index c88dea7b..288a08e8 100644 --- a/js/metalstack/api/v2/common_pb.ts +++ b/js/metalstack/api/v2/common_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/common.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/component_pb.js b/js/metalstack/api/v2/component_pb.js index 28df322a..530412cd 100644 --- a/js/metalstack/api/v2/component_pb.js +++ b/js/metalstack/api/v2/component_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/component.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/component_pb.ts b/js/metalstack/api/v2/component_pb.ts index 59740cd7..bff7ae97 100644 --- a/js/metalstack/api/v2/component_pb.ts +++ b/js/metalstack/api/v2/component_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/component.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/filesystem_pb.js b/js/metalstack/api/v2/filesystem_pb.js index c52cf18e..5b0d72aa 100644 --- a/js/metalstack/api/v2/filesystem_pb.js +++ b/js/metalstack/api/v2/filesystem_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/filesystem.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/filesystem_pb.ts b/js/metalstack/api/v2/filesystem_pb.ts index 55f3d1fd..ee8d5dc0 100644 --- a/js/metalstack/api/v2/filesystem_pb.ts +++ b/js/metalstack/api/v2/filesystem_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/filesystem.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/health_pb.js b/js/metalstack/api/v2/health_pb.js index 489904d5..d16f210c 100644 --- a/js/metalstack/api/v2/health_pb.js +++ b/js/metalstack/api/v2/health_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/health.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/health_pb.ts b/js/metalstack/api/v2/health_pb.ts index 9f0e01f3..8335d90d 100644 --- a/js/metalstack/api/v2/health_pb.ts +++ b/js/metalstack/api/v2/health_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/health.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/image_pb.js b/js/metalstack/api/v2/image_pb.js index 254ce7d9..50e5b332 100644 --- a/js/metalstack/api/v2/image_pb.js +++ b/js/metalstack/api/v2/image_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/image.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/image_pb.ts b/js/metalstack/api/v2/image_pb.ts index f54017c7..cd7b582c 100644 --- a/js/metalstack/api/v2/image_pb.ts +++ b/js/metalstack/api/v2/image_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/image.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/ip_pb.js b/js/metalstack/api/v2/ip_pb.js index aadb1095..6841f190 100644 --- a/js/metalstack/api/v2/ip_pb.js +++ b/js/metalstack/api/v2/ip_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/ip.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/ip_pb.ts b/js/metalstack/api/v2/ip_pb.ts index 7172d8d3..488514c3 100644 --- a/js/metalstack/api/v2/ip_pb.ts +++ b/js/metalstack/api/v2/ip_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/ip.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/machine_pb.js b/js/metalstack/api/v2/machine_pb.js index fb5524c1..b1574288 100644 --- a/js/metalstack/api/v2/machine_pb.js +++ b/js/metalstack/api/v2/machine_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/machine.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/machine_pb.ts b/js/metalstack/api/v2/machine_pb.ts index d423dc9d..381e4756 100644 --- a/js/metalstack/api/v2/machine_pb.ts +++ b/js/metalstack/api/v2/machine_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/machine.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/method_pb.js b/js/metalstack/api/v2/method_pb.js index a404f858..02033d7f 100644 --- a/js/metalstack/api/v2/method_pb.js +++ b/js/metalstack/api/v2/method_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/method.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/method_pb.ts b/js/metalstack/api/v2/method_pb.ts index 5edd69df..95376198 100644 --- a/js/metalstack/api/v2/method_pb.ts +++ b/js/metalstack/api/v2/method_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/method.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/network_pb.js b/js/metalstack/api/v2/network_pb.js index 370cc131..655a4824 100644 --- a/js/metalstack/api/v2/network_pb.js +++ b/js/metalstack/api/v2/network_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/network.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/network_pb.ts b/js/metalstack/api/v2/network_pb.ts index 6cb29371..e7e10ae9 100644 --- a/js/metalstack/api/v2/network_pb.ts +++ b/js/metalstack/api/v2/network_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/network.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/partition_pb.js b/js/metalstack/api/v2/partition_pb.js index 03bf3a8d..d64c3540 100644 --- a/js/metalstack/api/v2/partition_pb.js +++ b/js/metalstack/api/v2/partition_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/partition.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/partition_pb.ts b/js/metalstack/api/v2/partition_pb.ts index 2ccc6730..a4f33fbc 100644 --- a/js/metalstack/api/v2/partition_pb.ts +++ b/js/metalstack/api/v2/partition_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/partition.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/predefined_rules_pb.js b/js/metalstack/api/v2/predefined_rules_pb.js index f61e91f6..af216e0e 100644 --- a/js/metalstack/api/v2/predefined_rules_pb.js +++ b/js/metalstack/api/v2/predefined_rules_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/predefined_rules.proto (package metalstack.api.v2, syntax proto2) /* eslint-disable */ import { extDesc, fileDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/predefined_rules_pb.ts b/js/metalstack/api/v2/predefined_rules_pb.ts index c9fa8549..28aa7599 100644 --- a/js/metalstack/api/v2/predefined_rules_pb.ts +++ b/js/metalstack/api/v2/predefined_rules_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/predefined_rules.proto (package metalstack.api.v2, syntax proto2) /* eslint-disable */ diff --git a/js/metalstack/api/v2/project_pb.js b/js/metalstack/api/v2/project_pb.js index 2f64d9c0..64caf325 100644 --- a/js/metalstack/api/v2/project_pb.js +++ b/js/metalstack/api/v2/project_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/project.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/project_pb.ts b/js/metalstack/api/v2/project_pb.ts index c2f45483..2a5d5daf 100644 --- a/js/metalstack/api/v2/project_pb.ts +++ b/js/metalstack/api/v2/project_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/project.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/size_imageconstraint_pb.js b/js/metalstack/api/v2/size_imageconstraint_pb.js index 5105ac0d..0849e642 100644 --- a/js/metalstack/api/v2/size_imageconstraint_pb.js +++ b/js/metalstack/api/v2/size_imageconstraint_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/size_imageconstraint.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/size_imageconstraint_pb.ts b/js/metalstack/api/v2/size_imageconstraint_pb.ts index d2d41b3f..d447b677 100644 --- a/js/metalstack/api/v2/size_imageconstraint_pb.ts +++ b/js/metalstack/api/v2/size_imageconstraint_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/size_imageconstraint.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/size_pb.js b/js/metalstack/api/v2/size_pb.js index d21c23cf..70eacc39 100644 --- a/js/metalstack/api/v2/size_pb.js +++ b/js/metalstack/api/v2/size_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/size.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/size_pb.ts b/js/metalstack/api/v2/size_pb.ts index 4c166b9d..878f7740 100644 --- a/js/metalstack/api/v2/size_pb.ts +++ b/js/metalstack/api/v2/size_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/size.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/size_reservation_pb.js b/js/metalstack/api/v2/size_reservation_pb.js index 834404e6..abdf88ef 100644 --- a/js/metalstack/api/v2/size_reservation_pb.js +++ b/js/metalstack/api/v2/size_reservation_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/size_reservation.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/size_reservation_pb.ts b/js/metalstack/api/v2/size_reservation_pb.ts index c86c4caa..cd9fa4ec 100644 --- a/js/metalstack/api/v2/size_reservation_pb.ts +++ b/js/metalstack/api/v2/size_reservation_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/size_reservation.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/switch_pb.js b/js/metalstack/api/v2/switch_pb.js index 56db191a..ae76fb8c 100644 --- a/js/metalstack/api/v2/switch_pb.js +++ b/js/metalstack/api/v2/switch_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/switch.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/switch_pb.ts b/js/metalstack/api/v2/switch_pb.ts index 9a1cadf3..e821ad27 100644 --- a/js/metalstack/api/v2/switch_pb.ts +++ b/js/metalstack/api/v2/switch_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/switch.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/tenant_pb.js b/js/metalstack/api/v2/tenant_pb.js index 55e969ad..9eb270b6 100644 --- a/js/metalstack/api/v2/tenant_pb.js +++ b/js/metalstack/api/v2/tenant_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/tenant.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/tenant_pb.ts b/js/metalstack/api/v2/tenant_pb.ts index dfdaa8af..e327cdbc 100644 --- a/js/metalstack/api/v2/tenant_pb.ts +++ b/js/metalstack/api/v2/tenant_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/tenant.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/token_pb.js b/js/metalstack/api/v2/token_pb.js index bb380d4a..582a0bc9 100644 --- a/js/metalstack/api/v2/token_pb.js +++ b/js/metalstack/api/v2/token_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/token.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/token_pb.ts b/js/metalstack/api/v2/token_pb.ts index f921fae5..3ac5d0f7 100644 --- a/js/metalstack/api/v2/token_pb.ts +++ b/js/metalstack/api/v2/token_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/token.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/user_pb.js b/js/metalstack/api/v2/user_pb.js index 43fdb6ba..1d2dcca1 100644 --- a/js/metalstack/api/v2/user_pb.js +++ b/js/metalstack/api/v2/user_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/user.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/user_pb.ts b/js/metalstack/api/v2/user_pb.ts index 3f79cdd6..8a6f058f 100644 --- a/js/metalstack/api/v2/user_pb.ts +++ b/js/metalstack/api/v2/user_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/user.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/version_pb.js b/js/metalstack/api/v2/version_pb.js index c9b8f231..f47345fd 100644 --- a/js/metalstack/api/v2/version_pb.js +++ b/js/metalstack/api/v2/version_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/version.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/version_pb.ts b/js/metalstack/api/v2/version_pb.ts index ec83a702..90cbda37 100644 --- a/js/metalstack/api/v2/version_pb.ts +++ b/js/metalstack/api/v2/version_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/version.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/api/v2/vpn_pb.js b/js/metalstack/api/v2/vpn_pb.js index 53effe5b..7842b8fa 100644 --- a/js/metalstack/api/v2/vpn_pb.js +++ b/js/metalstack/api/v2/vpn_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/vpn.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/api/v2/vpn_pb.ts b/js/metalstack/api/v2/vpn_pb.ts index a56cc427..82f6d091 100644 --- a/js/metalstack/api/v2/vpn_pb.ts +++ b/js/metalstack/api/v2/vpn_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/api/v2/vpn.proto (package metalstack.api.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/infra/v2/bmc_pb.js b/js/metalstack/infra/v2/bmc_pb.js index e72a8872..15bf449b 100644 --- a/js/metalstack/infra/v2/bmc_pb.js +++ b/js/metalstack/infra/v2/bmc_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/infra/v2/bmc.proto (package metalstack.infra.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/infra/v2/bmc_pb.ts b/js/metalstack/infra/v2/bmc_pb.ts index 06a66061..9c482918 100644 --- a/js/metalstack/infra/v2/bmc_pb.ts +++ b/js/metalstack/infra/v2/bmc_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/infra/v2/bmc.proto (package metalstack.infra.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/infra/v2/boot_pb.js b/js/metalstack/infra/v2/boot_pb.js index 7a31932b..d9827645 100644 --- a/js/metalstack/infra/v2/boot_pb.js +++ b/js/metalstack/infra/v2/boot_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/infra/v2/boot.proto (package metalstack.infra.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/infra/v2/boot_pb.ts b/js/metalstack/infra/v2/boot_pb.ts index 4506e262..08b1c60e 100644 --- a/js/metalstack/infra/v2/boot_pb.ts +++ b/js/metalstack/infra/v2/boot_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/infra/v2/boot.proto (package metalstack.infra.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/infra/v2/component_pb.js b/js/metalstack/infra/v2/component_pb.js index c83040c8..ec844cbd 100644 --- a/js/metalstack/infra/v2/component_pb.js +++ b/js/metalstack/infra/v2/component_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/infra/v2/component.proto (package metalstack.infra.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/infra/v2/component_pb.ts b/js/metalstack/infra/v2/component_pb.ts index 884cf2e5..b39e214b 100644 --- a/js/metalstack/infra/v2/component_pb.ts +++ b/js/metalstack/infra/v2/component_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/infra/v2/component.proto (package metalstack.infra.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/infra/v2/event_pb.js b/js/metalstack/infra/v2/event_pb.js index 1774543f..dceebc5f 100644 --- a/js/metalstack/infra/v2/event_pb.js +++ b/js/metalstack/infra/v2/event_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/infra/v2/event.proto (package metalstack.infra.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/infra/v2/event_pb.ts b/js/metalstack/infra/v2/event_pb.ts index 366d112e..ce12e45f 100644 --- a/js/metalstack/infra/v2/event_pb.ts +++ b/js/metalstack/infra/v2/event_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/infra/v2/event.proto (package metalstack.infra.v2, syntax proto3) /* eslint-disable */ diff --git a/js/metalstack/infra/v2/switch_pb.js b/js/metalstack/infra/v2/switch_pb.js index 593954ab..582c3eff 100644 --- a/js/metalstack/infra/v2/switch_pb.js +++ b/js/metalstack/infra/v2/switch_pb.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/infra/v2/switch.proto (package metalstack.infra.v2, syntax proto3) /* eslint-disable */ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; diff --git a/js/metalstack/infra/v2/switch_pb.ts b/js/metalstack/infra/v2/switch_pb.ts index 5c8b824e..5f325834 100644 --- a/js/metalstack/infra/v2/switch_pb.ts +++ b/js/metalstack/infra/v2/switch_pb.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-es v2.14.0 with parameter "target=ts" +// @generated by protoc-gen-es v2.14.1 with parameter "target=ts" // @generated from file metalstack/infra/v2/switch.proto (package metalstack.infra.v2, syntax proto3) /* eslint-disable */ diff --git a/proto/buf.gen.yaml b/proto/buf.gen.yaml index 31431956..30502aa3 100644 --- a/proto/buf.gen.yaml +++ b/proto/buf.gen.yaml @@ -20,15 +20,15 @@ plugins: out: ../go opt: paths=source_relative,simple # python - - remote: buf.build/protocolbuffers/python:v36.0 + - remote: buf.build/protocolbuffers/python:v36.1 out: ../python include_imports: True - - remote: buf.build/protocolbuffers/pyi:v36.0 + - remote: buf.build/protocolbuffers/pyi:v36.1 out: ../python - remote: buf.build/connectrpc/python:v0.10.1 out: ../python # js - - remote: buf.build/bufbuild/es:v2.14.0 + - remote: buf.build/bufbuild/es:v2.14.1 include_imports: true out: ../js opt: target=ts diff --git a/proto/buf.lock b/proto/buf.lock index 7b474667..eca92dc8 100644 --- a/proto/buf.lock +++ b/proto/buf.lock @@ -2,5 +2,5 @@ version: v2 deps: - name: buf.build/bufbuild/protovalidate - commit: 435963d1631043e694e56e6bcc3c79c3 - digest: b5:f4ea07ad2dd94bd7243562f9908b9fb104feef8076040c89d9f7c1dedc074de4d4ce2b997686ef4400f3eccb765a7cfc20ed4acdd70b9a3699351245c61dba97 + commit: 511051f7f4374c3ca873b53ae68a9288 + digest: b5:a4a2d4d808a25984cced60769c822c5d496ef0b740f56ac0c9e6b97aaa25b86a9332a00ffd74e0cd202be29e91bd3edfb0bf2ba4dacfe48ff2d8217f9986e3c8 diff --git a/python/buf/validate/validate_pb2.py b/python/buf/validate/validate_pb2.py index 5a262b36..f4353e37 100644 --- a/python/buf/validate/validate_pb2.py +++ b/python/buf/validate/validate_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: buf/validate/validate.proto -# Protobuf Python Version: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'buf/validate/validate.proto' ) diff --git a/python/metalstack/admin/v2/audit_pb2.py b/python/metalstack/admin/v2/audit_pb2.py index 76f979cd..91c1f0e1 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/audit.proto' ) diff --git a/python/metalstack/admin/v2/component_pb2.py b/python/metalstack/admin/v2/component_pb2.py index dc782b00..7bb9f75e 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/component.proto' ) diff --git a/python/metalstack/admin/v2/filesystem_pb2.py b/python/metalstack/admin/v2/filesystem_pb2.py index dde90598..27e78b50 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/filesystem.proto' ) diff --git a/python/metalstack/admin/v2/image_pb2.py b/python/metalstack/admin/v2/image_pb2.py index 040b3206..31efebe4 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/image.proto' ) diff --git a/python/metalstack/admin/v2/ip_pb2.py b/python/metalstack/admin/v2/ip_pb2.py index b4c52b44..ed890348 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/ip.proto' ) diff --git a/python/metalstack/admin/v2/machine_pb2.py b/python/metalstack/admin/v2/machine_pb2.py index 8f5a5483..a7b651a2 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/machine.proto' ) diff --git a/python/metalstack/admin/v2/network_pb2.py b/python/metalstack/admin/v2/network_pb2.py index b3dcfa1a..26ce531d 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/network.proto' ) diff --git a/python/metalstack/admin/v2/partition_pb2.py b/python/metalstack/admin/v2/partition_pb2.py index 833f8b46..5c54e097 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/partition.proto' ) diff --git a/python/metalstack/admin/v2/project_pb2.py b/python/metalstack/admin/v2/project_pb2.py index 725fe454..5fcc5c18 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', '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 ec60ba03..bc39a68d 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', '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 9901cd21..39417f8b 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', '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 fa543f7d..f92a266a 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', '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 f5da3f80..36f51994 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/switch.proto' ) diff --git a/python/metalstack/admin/v2/task_pb2.py b/python/metalstack/admin/v2/task_pb2.py index b578b7da..3cc67593 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/task.proto' ) diff --git a/python/metalstack/admin/v2/tenant_pb2.py b/python/metalstack/admin/v2/tenant_pb2.py index 15abe4d9..16d5a779 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/tenant.proto' ) diff --git a/python/metalstack/admin/v2/token_pb2.py b/python/metalstack/admin/v2/token_pb2.py index 126ab5a4..ae369e4e 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/token.proto' ) diff --git a/python/metalstack/admin/v2/vpn_pb2.py b/python/metalstack/admin/v2/vpn_pb2.py index 683ea17b..1e318cfd 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/admin/v2/vpn.proto' ) diff --git a/python/metalstack/api/v2/audit_pb2.py b/python/metalstack/api/v2/audit_pb2.py index 9da80591..8839f825 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/audit.proto' ) diff --git a/python/metalstack/api/v2/common_pb2.py b/python/metalstack/api/v2/common_pb2.py index b93c25b8..d8f09a99 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/common.proto' ) diff --git a/python/metalstack/api/v2/component_pb2.py b/python/metalstack/api/v2/component_pb2.py index cf9a7170..5da00c0a 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/component.proto' ) diff --git a/python/metalstack/api/v2/filesystem_pb2.py b/python/metalstack/api/v2/filesystem_pb2.py index a88b8250..c1841fc4 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/filesystem.proto' ) diff --git a/python/metalstack/api/v2/health_pb2.py b/python/metalstack/api/v2/health_pb2.py index dfa2b805..3d5bb501 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/health.proto' ) diff --git a/python/metalstack/api/v2/image_pb2.py b/python/metalstack/api/v2/image_pb2.py index 2ab98c8c..8296d4a9 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/image.proto' ) diff --git a/python/metalstack/api/v2/ip_pb2.py b/python/metalstack/api/v2/ip_pb2.py index 40373862..5083261c 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/ip.proto' ) diff --git a/python/metalstack/api/v2/machine_pb2.py b/python/metalstack/api/v2/machine_pb2.py index 3c0f8483..348c9ef7 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/machine.proto' ) diff --git a/python/metalstack/api/v2/method_pb2.py b/python/metalstack/api/v2/method_pb2.py index 80863f4b..bc4b5ca1 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/method.proto' ) diff --git a/python/metalstack/api/v2/network_pb2.py b/python/metalstack/api/v2/network_pb2.py index c601e049..598ae26e 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/network.proto' ) diff --git a/python/metalstack/api/v2/partition_pb2.py b/python/metalstack/api/v2/partition_pb2.py index dfb50c84..609b8db8 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', '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 d345b572..45ea6c91 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', '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 28e3adcb..618b4ecb 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', '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 ddc45e62..2353fb55 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', '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 92da1790..c805b76f 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', '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 2c22d4c5..6059da65 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', '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 01f7e882..d690c3e8 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/switch.proto' ) diff --git a/python/metalstack/api/v2/tenant_pb2.py b/python/metalstack/api/v2/tenant_pb2.py index a02f29cb..abe73ae6 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/tenant.proto' ) diff --git a/python/metalstack/api/v2/token_pb2.py b/python/metalstack/api/v2/token_pb2.py index a4ef4d66..4d709a87 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/token.proto' ) diff --git a/python/metalstack/api/v2/user_pb2.py b/python/metalstack/api/v2/user_pb2.py index 3ea1f144..d9556014 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/user.proto' ) diff --git a/python/metalstack/api/v2/version_pb2.py b/python/metalstack/api/v2/version_pb2.py index c8d1f9e7..2cf1e30b 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/version.proto' ) diff --git a/python/metalstack/api/v2/vpn_pb2.py b/python/metalstack/api/v2/vpn_pb2.py index 5b861541..70575874 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/api/v2/vpn.proto' ) diff --git a/python/metalstack/infra/v2/bmc_pb2.py b/python/metalstack/infra/v2/bmc_pb2.py index 5a98293f..54126fda 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/infra/v2/bmc.proto' ) diff --git a/python/metalstack/infra/v2/boot_pb2.py b/python/metalstack/infra/v2/boot_pb2.py index 3298a250..0b03a88e 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/infra/v2/boot.proto' ) diff --git a/python/metalstack/infra/v2/component_pb2.py b/python/metalstack/infra/v2/component_pb2.py index 77e5823c..e68f651c 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/infra/v2/component.proto' ) diff --git a/python/metalstack/infra/v2/event_pb2.py b/python/metalstack/infra/v2/event_pb2.py index 03329caf..80e22276 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/infra/v2/event.proto' ) diff --git a/python/metalstack/infra/v2/switch_pb2.py b/python/metalstack/infra/v2/switch_pb2.py index 2b28371b..74cf5922 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: 7.36.0 +# Protobuf Python Version: 7.36.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -13,7 +13,7 @@ _runtime_version.Domain.PUBLIC, 7, 36, - 0, + 1, '', 'metalstack/infra/v2/switch.proto' ) From d54d8bd121ec7555ae14dbb5d90e12586d5badc2 Mon Sep 17 00:00:00 2001 From: Stefan Majer Date: Wed, 21 Oct 2026 16:50:49 +0200 Subject: [PATCH 2/2] Reintroduce Nic.Mac and drop recursion on Nics --- doc/index.html | 68 ++-- go/metalstack/api/v2/machine.pb.go | 413 +++++++++++++---------- js/metalstack/api/v2/machine_pb.d.ts | 38 ++- js/metalstack/api/v2/machine_pb.js | 53 +-- js/metalstack/api/v2/machine_pb.ts | 91 +++-- proto/Makefile | 2 +- proto/metalstack/api/v2/machine.proto | 15 +- python/metalstack/api/v2/machine_pb2.py | 144 ++++---- python/metalstack/api/v2/machine_pb2.pyi | 14 +- 9 files changed, 514 insertions(+), 324 deletions(-) diff --git a/doc/index.html b/doc/index.html index a877622d..db4702ef 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1437,6 +1437,10 @@

Table of Contents

MMetalGPU +
  • + MNeighborNic +
  • +
  • EIPProtocol @@ -11543,7 +11547,7 @@

    MachineNic

    mac string -

    Deprecated. Mac the macaddress of this interface.

    +

    Mac the macaddress of this interface.

    @@ -11583,7 +11587,7 @@

    MachineNic

    neighbors - MachineNic + NeighborNic repeated

    Neighbors the neighbors visible to this network interface.

    @@ -11599,27 +11603,6 @@

    MachineNic

    - - -

    Fields with deprecated option

    - - - - - - - - - - - - - - - -
    NameOption
    mac

    true

    - - @@ -12686,6 +12669,45 @@

    MetalGPU

    +

    NeighborNic

    +

    NeighborNic contains details of a network interface of the neighbor.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    namestring

    Name of this interface.

    identifierstringoptional

    Identifier the unique identifier of this network interface. +This could either be a macaddress or alias of the interface, e.g. Eth1/1 on some switches.

    hostnamestring

    Hostname the nic belongs to.

    + + + + +

    IPProtocol

    diff --git a/go/metalstack/api/v2/machine.pb.go b/go/metalstack/api/v2/machine.pb.go index aef93a36..cafd905b 100644 --- a/go/metalstack/api/v2/machine.pb.go +++ b/go/metalstack/api/v2/machine.pb.go @@ -2650,8 +2650,6 @@ func (x *MetalGPU) GetModel() string { type MachineNic struct { state protoimpl.MessageState `protogen:"open.v1"` // Mac the macaddress of this interface. - // - // Deprecated: Marked as deprecated in metalstack/api/v2/machine.proto. Mac string `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty"` // Name of this interface. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` @@ -2664,7 +2662,7 @@ type MachineNic struct { // Speed in bits/second of this network card. Speed uint64 `protobuf:"varint,6,opt,name=speed,proto3" json:"speed,omitempty"` // Neighbors the neighbors visible to this network interface. - Neighbors []*MachineNic `protobuf:"bytes,7,rep,name=neighbors,proto3" json:"neighbors,omitempty"` + Neighbors []*NeighborNic `protobuf:"bytes,7,rep,name=neighbors,proto3" json:"neighbors,omitempty"` // Hostname the nic belongs to. Hostname string `protobuf:"bytes,8,opt,name=hostname,proto3" json:"hostname,omitempty"` unknownFields protoimpl.UnknownFields @@ -2701,7 +2699,6 @@ func (*MachineNic) Descriptor() ([]byte, []int) { return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{27} } -// Deprecated: Marked as deprecated in metalstack/api/v2/machine.proto. func (x *MachineNic) GetMac() string { if x != nil { return x.Mac @@ -2744,7 +2741,7 @@ func (x *MachineNic) GetSpeed() uint64 { return 0 } -func (x *MachineNic) GetNeighbors() []*MachineNic { +func (x *MachineNic) GetNeighbors() []*NeighborNic { if x != nil { return x.Neighbors } @@ -2758,6 +2755,71 @@ func (x *MachineNic) GetHostname() string { return "" } +// NeighborNic contains details of a network interface of the neighbor. +type NeighborNic struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Name of this interface. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Identifier the unique identifier of this network interface. + // This could either be a macaddress or alias of the interface, e.g. Eth1/1 on some switches. + Identifier *string `protobuf:"bytes,2,opt,name=identifier,proto3,oneof" json:"identifier,omitempty"` + // Hostname the nic belongs to. + Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NeighborNic) Reset() { + *x = NeighborNic{} + mi := &file_metalstack_api_v2_machine_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NeighborNic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NeighborNic) ProtoMessage() {} + +func (x *NeighborNic) ProtoReflect() protoreflect.Message { + mi := &file_metalstack_api_v2_machine_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NeighborNic.ProtoReflect.Descriptor instead. +func (*NeighborNic) Descriptor() ([]byte, []int) { + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{28} +} + +func (x *NeighborNic) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NeighborNic) GetIdentifier() string { + if x != nil && x.Identifier != nil { + return *x.Identifier + } + return "" +} + +func (x *NeighborNic) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + // MachineBlockDevice contains details of a block device of this machine. type MachineBlockDevice struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -2771,7 +2833,7 @@ type MachineBlockDevice struct { func (x *MachineBlockDevice) Reset() { *x = MachineBlockDevice{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[28] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2783,7 +2845,7 @@ func (x *MachineBlockDevice) String() string { func (*MachineBlockDevice) ProtoMessage() {} func (x *MachineBlockDevice) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[28] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2796,7 +2858,7 @@ func (x *MachineBlockDevice) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineBlockDevice.ProtoReflect.Descriptor instead. func (*MachineBlockDevice) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{28} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{29} } func (x *MachineBlockDevice) GetName() string { @@ -2826,7 +2888,7 @@ type MachineChassisIdentifyLEDState struct { func (x *MachineChassisIdentifyLEDState) Reset() { *x = MachineChassisIdentifyLEDState{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[29] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2838,7 +2900,7 @@ func (x *MachineChassisIdentifyLEDState) String() string { func (*MachineChassisIdentifyLEDState) ProtoMessage() {} func (x *MachineChassisIdentifyLEDState) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[29] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2851,7 +2913,7 @@ func (x *MachineChassisIdentifyLEDState) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineChassisIdentifyLEDState.ProtoReflect.Descriptor instead. func (*MachineChassisIdentifyLEDState) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{29} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{30} } func (x *MachineChassisIdentifyLEDState) GetValue() string { @@ -2889,7 +2951,7 @@ type MachineBMCDetails struct { func (x *MachineBMCDetails) Reset() { *x = MachineBMCDetails{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[30] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2901,7 +2963,7 @@ func (x *MachineBMCDetails) String() string { func (*MachineBMCDetails) ProtoMessage() {} func (x *MachineBMCDetails) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[30] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2914,7 +2976,7 @@ func (x *MachineBMCDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineBMCDetails.ProtoReflect.Descriptor instead. func (*MachineBMCDetails) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{30} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{31} } func (x *MachineBMCDetails) GetUuid() string { @@ -2984,7 +3046,7 @@ type MachineBMCReport struct { func (x *MachineBMCReport) Reset() { *x = MachineBMCReport{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[31] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2996,7 +3058,7 @@ func (x *MachineBMCReport) String() string { func (*MachineBMCReport) ProtoMessage() {} func (x *MachineBMCReport) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[31] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3009,7 +3071,7 @@ func (x *MachineBMCReport) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineBMCReport.ProtoReflect.Descriptor instead. func (*MachineBMCReport) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{31} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{32} } func (x *MachineBMCReport) GetUuid() string { @@ -3083,7 +3145,7 @@ type MachineBios struct { func (x *MachineBios) Reset() { *x = MachineBios{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[32] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3095,7 +3157,7 @@ func (x *MachineBios) String() string { func (*MachineBios) ProtoMessage() {} func (x *MachineBios) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[32] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3108,7 +3170,7 @@ func (x *MachineBios) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineBios.ProtoReflect.Descriptor instead. func (*MachineBios) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{32} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{33} } func (x *MachineBios) GetVersion() string { @@ -3155,7 +3217,7 @@ type MachineBMC struct { func (x *MachineBMC) Reset() { *x = MachineBMC{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[33] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3167,7 +3229,7 @@ func (x *MachineBMC) String() string { func (*MachineBMC) ProtoMessage() {} func (x *MachineBMC) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[33] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3180,7 +3242,7 @@ func (x *MachineBMC) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineBMC.ProtoReflect.Descriptor instead. func (*MachineBMC) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{33} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{34} } func (x *MachineBMC) GetAddress() string { @@ -3257,7 +3319,7 @@ type MachineFRU struct { func (x *MachineFRU) Reset() { *x = MachineFRU{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[34] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3269,7 +3331,7 @@ func (x *MachineFRU) String() string { func (*MachineFRU) ProtoMessage() {} func (x *MachineFRU) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[34] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3282,7 +3344,7 @@ func (x *MachineFRU) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineFRU.ProtoReflect.Descriptor instead. func (*MachineFRU) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{34} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{35} } func (x *MachineFRU) GetChassisPartNumber() string { @@ -3359,7 +3421,7 @@ type MachinePowerMetric struct { func (x *MachinePowerMetric) Reset() { *x = MachinePowerMetric{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[35] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3371,7 +3433,7 @@ func (x *MachinePowerMetric) String() string { func (*MachinePowerMetric) ProtoMessage() {} func (x *MachinePowerMetric) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[35] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3384,7 +3446,7 @@ func (x *MachinePowerMetric) ProtoReflect() protoreflect.Message { // Deprecated: Use MachinePowerMetric.ProtoReflect.Descriptor instead. func (*MachinePowerMetric) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{35} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{36} } func (x *MachinePowerMetric) GetAverageConsumedWatts() float32 { @@ -3428,7 +3490,7 @@ type MachinePowerSupply struct { func (x *MachinePowerSupply) Reset() { *x = MachinePowerSupply{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[36] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3440,7 +3502,7 @@ func (x *MachinePowerSupply) String() string { func (*MachinePowerSupply) ProtoMessage() {} func (x *MachinePowerSupply) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[36] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3453,7 +3515,7 @@ func (x *MachinePowerSupply) ProtoReflect() protoreflect.Message { // Deprecated: Use MachinePowerSupply.ProtoReflect.Descriptor instead. func (*MachinePowerSupply) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{36} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{37} } func (x *MachinePowerSupply) GetHealth() string { @@ -3487,7 +3549,7 @@ type MachineRecentProvisioningEvents struct { func (x *MachineRecentProvisioningEvents) Reset() { *x = MachineRecentProvisioningEvents{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[37] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3499,7 +3561,7 @@ func (x *MachineRecentProvisioningEvents) String() string { func (*MachineRecentProvisioningEvents) ProtoMessage() {} func (x *MachineRecentProvisioningEvents) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[37] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3512,7 +3574,7 @@ func (x *MachineRecentProvisioningEvents) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineRecentProvisioningEvents.ProtoReflect.Descriptor instead. func (*MachineRecentProvisioningEvents) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{37} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{38} } func (x *MachineRecentProvisioningEvents) GetEvents() []*MachineProvisioningEvent { @@ -3558,7 +3620,7 @@ type MachineProvisioningEvent struct { func (x *MachineProvisioningEvent) Reset() { *x = MachineProvisioningEvent{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[38] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3570,7 +3632,7 @@ func (x *MachineProvisioningEvent) String() string { func (*MachineProvisioningEvent) ProtoMessage() {} func (x *MachineProvisioningEvent) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[38] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3583,7 +3645,7 @@ func (x *MachineProvisioningEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineProvisioningEvent.ProtoReflect.Descriptor instead. func (*MachineProvisioningEvent) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{38} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{39} } func (x *MachineProvisioningEvent) GetTime() *timestamppb.Timestamp { @@ -3624,7 +3686,7 @@ type MachineVPN struct { func (x *MachineVPN) Reset() { *x = MachineVPN{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[39] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3636,7 +3698,7 @@ func (x *MachineVPN) String() string { func (*MachineVPN) ProtoMessage() {} func (x *MachineVPN) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[39] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3649,7 +3711,7 @@ func (x *MachineVPN) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineVPN.ProtoReflect.Descriptor instead. func (*MachineVPN) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{39} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{40} } func (x *MachineVPN) GetControlPlaneAddress() string { @@ -3728,7 +3790,7 @@ type MachineQuery struct { func (x *MachineQuery) Reset() { *x = MachineQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[40] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3740,7 +3802,7 @@ func (x *MachineQuery) String() string { func (*MachineQuery) ProtoMessage() {} func (x *MachineQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[40] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3753,7 +3815,7 @@ func (x *MachineQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineQuery.ProtoReflect.Descriptor instead. func (*MachineQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{40} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{41} } func (x *MachineQuery) GetUuid() string { @@ -3909,7 +3971,7 @@ type MachineAllocationQuery struct { func (x *MachineAllocationQuery) Reset() { *x = MachineAllocationQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[41] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3921,7 +3983,7 @@ func (x *MachineAllocationQuery) String() string { func (*MachineAllocationQuery) ProtoMessage() {} func (x *MachineAllocationQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[41] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3934,7 +3996,7 @@ func (x *MachineAllocationQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineAllocationQuery.ProtoReflect.Descriptor instead. func (*MachineAllocationQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{41} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{42} } func (x *MachineAllocationQuery) GetUuid() string { @@ -4021,7 +4083,7 @@ type MachineNetworkQuery struct { func (x *MachineNetworkQuery) Reset() { *x = MachineNetworkQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[42] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4033,7 +4095,7 @@ func (x *MachineNetworkQuery) String() string { func (*MachineNetworkQuery) ProtoMessage() {} func (x *MachineNetworkQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[42] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4046,7 +4108,7 @@ func (x *MachineNetworkQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineNetworkQuery.ProtoReflect.Descriptor instead. func (*MachineNetworkQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{42} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{43} } func (x *MachineNetworkQuery) GetNetworks() []string { @@ -4108,7 +4170,7 @@ type MachineNicQuery struct { func (x *MachineNicQuery) Reset() { *x = MachineNicQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[43] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4120,7 +4182,7 @@ func (x *MachineNicQuery) String() string { func (*MachineNicQuery) ProtoMessage() {} func (x *MachineNicQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[43] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4133,7 +4195,7 @@ func (x *MachineNicQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineNicQuery.ProtoReflect.Descriptor instead. func (*MachineNicQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{43} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{44} } func (x *MachineNicQuery) GetMacs() []string { @@ -4177,7 +4239,7 @@ type MachineDiskQuery struct { func (x *MachineDiskQuery) Reset() { *x = MachineDiskQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[44] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4189,7 +4251,7 @@ func (x *MachineDiskQuery) String() string { func (*MachineDiskQuery) ProtoMessage() {} func (x *MachineDiskQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[44] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4202,7 +4264,7 @@ func (x *MachineDiskQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineDiskQuery.ProtoReflect.Descriptor instead. func (*MachineDiskQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{44} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{45} } func (x *MachineDiskQuery) GetNames() []string { @@ -4236,7 +4298,7 @@ type MachineBMCQuery struct { func (x *MachineBMCQuery) Reset() { *x = MachineBMCQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[45] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4248,7 +4310,7 @@ func (x *MachineBMCQuery) String() string { func (*MachineBMCQuery) ProtoMessage() {} func (x *MachineBMCQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[45] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4261,7 +4323,7 @@ func (x *MachineBMCQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineBMCQuery.ProtoReflect.Descriptor instead. func (*MachineBMCQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{45} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{46} } func (x *MachineBMCQuery) GetAddress() string { @@ -4317,7 +4379,7 @@ type MachineFRUQuery struct { func (x *MachineFRUQuery) Reset() { *x = MachineFRUQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[46] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4329,7 +4391,7 @@ func (x *MachineFRUQuery) String() string { func (*MachineFRUQuery) ProtoMessage() {} func (x *MachineFRUQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[46] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4342,7 +4404,7 @@ func (x *MachineFRUQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineFRUQuery.ProtoReflect.Descriptor instead. func (*MachineFRUQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{46} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{47} } func (x *MachineFRUQuery) GetChassisPartNumber() string { @@ -4414,7 +4476,7 @@ type MachineHardwareQuery struct { func (x *MachineHardwareQuery) Reset() { *x = MachineHardwareQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[47] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4426,7 +4488,7 @@ func (x *MachineHardwareQuery) String() string { func (*MachineHardwareQuery) ProtoMessage() {} func (x *MachineHardwareQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[47] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4439,7 +4501,7 @@ func (x *MachineHardwareQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineHardwareQuery.ProtoReflect.Descriptor instead. func (*MachineHardwareQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{47} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{48} } func (x *MachineHardwareQuery) GetMemory() uint64 { @@ -4475,7 +4537,7 @@ type MachineIssuesQuery struct { func (x *MachineIssuesQuery) Reset() { *x = MachineIssuesQuery{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[48] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4487,7 +4549,7 @@ func (x *MachineIssuesQuery) String() string { func (*MachineIssuesQuery) ProtoMessage() {} func (x *MachineIssuesQuery) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[48] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4500,7 +4562,7 @@ func (x *MachineIssuesQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineIssuesQuery.ProtoReflect.Descriptor instead. func (*MachineIssuesQuery) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{48} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{49} } func (x *MachineIssuesQuery) GetMachineQuery() *MachineQuery { @@ -4551,7 +4613,7 @@ type MachineIssues struct { func (x *MachineIssues) Reset() { *x = MachineIssues{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[49] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4563,7 +4625,7 @@ func (x *MachineIssues) String() string { func (*MachineIssues) ProtoMessage() {} func (x *MachineIssues) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[49] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4576,7 +4638,7 @@ func (x *MachineIssues) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineIssues.ProtoReflect.Descriptor instead. func (*MachineIssues) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{49} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{50} } func (x *MachineIssues) GetUuid() string { @@ -4612,7 +4674,7 @@ type MachineIssue struct { func (x *MachineIssue) Reset() { *x = MachineIssue{} - mi := &file_metalstack_api_v2_machine_proto_msgTypes[50] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4624,7 +4686,7 @@ func (x *MachineIssue) String() string { func (*MachineIssue) ProtoMessage() {} func (x *MachineIssue) ProtoReflect() protoreflect.Message { - mi := &file_metalstack_api_v2_machine_proto_msgTypes[50] + mi := &file_metalstack_api_v2_machine_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4637,7 +4699,7 @@ func (x *MachineIssue) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineIssue.ProtoReflect.Descriptor instead. func (*MachineIssue) Descriptor() ([]byte, []int) { - return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{50} + return file_metalstack_api_v2_machine_proto_rawDescGZIP(), []int{51} } func (x *MachineIssue) GetType() MachineIssueType { @@ -4846,19 +4908,26 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" + "\athreads\x18\x04 \x01(\rR\athreads\"L\n" + "\bMetalGPU\x12 \n" + "\x06vendor\x18\x01 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n" + - "\x05model\x18\x02 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x02R\x05model\"\x9e\x02\n" + + "\x05model\x18\x02 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x02R\x05model\"\xa8\x02\n" + "\n" + - "MachineNic\x12\x14\n" + - "\x03mac\x18\x01 \x01(\tB\x02\x18\x01R\x03mac\x12\x1f\n" + + "MachineNic\x12\x1d\n" + + "\x03mac\x18\x01 \x01(\tB\v\xbaH\br\x06\xb8\xb3\xae\xb1\x02\x01R\x03mac\x12\x1f\n" + "\x04name\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12(\n" + "\n" + "identifier\x18\x03 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x01R\n" + "identifier\x12 \n" + "\x06vendor\x18\x04 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x01R\x06vendor\x12\x1e\n" + "\x05model\x18\x05 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x01R\x05model\x12\x14\n" + - "\x05speed\x18\x06 \x01(\x04R\x05speed\x12;\n" + - "\tneighbors\x18\a \x03(\v2\x1d.metalstack.api.v2.MachineNicR\tneighbors\x12\x1a\n" + - "\bhostname\x18\b \x01(\tR\bhostname\"I\n" + + "\x05speed\x18\x06 \x01(\x04R\x05speed\x12<\n" + + "\tneighbors\x18\a \x03(\v2\x1e.metalstack.api.v2.NeighborNicR\tneighbors\x12\x1a\n" + + "\bhostname\x18\b \x01(\tR\bhostname\"\x88\x01\n" + + "\vNeighborNic\x12\x1f\n" + + "\x04name\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n" + + "\n" + + "identifier\x18\x02 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x01H\x00R\n" + + "identifier\x88\x01\x01\x12\x1a\n" + + "\bhostname\x18\x03 \x01(\tR\bhostnameB\r\n" + + "\v_identifier\"I\n" + "\x12MachineBlockDevice\x12\x1f\n" + "\x04name\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x12\n" + "\x04size\x18\x02 \x01(\x04R\x04size\"o\n" + @@ -5174,7 +5243,7 @@ func file_metalstack_api_v2_machine_proto_rawDescGZIP() []byte { } var file_metalstack_api_v2_machine_proto_enumTypes = make([]protoimpl.EnumInfo, 9) -var file_metalstack_api_v2_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 51) +var file_metalstack_api_v2_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 52) var file_metalstack_api_v2_machine_proto_goTypes = []any{ (IPProtocol)(0), // 0: metalstack.api.v2.IPProtocol (MachineState)(0), // 1: metalstack.api.v2.MachineState @@ -5213,127 +5282,128 @@ var file_metalstack_api_v2_machine_proto_goTypes = []any{ (*MetalCPU)(nil), // 34: metalstack.api.v2.MetalCPU (*MetalGPU)(nil), // 35: metalstack.api.v2.MetalGPU (*MachineNic)(nil), // 36: metalstack.api.v2.MachineNic - (*MachineBlockDevice)(nil), // 37: metalstack.api.v2.MachineBlockDevice - (*MachineChassisIdentifyLEDState)(nil), // 38: metalstack.api.v2.MachineChassisIdentifyLEDState - (*MachineBMCDetails)(nil), // 39: metalstack.api.v2.MachineBMCDetails - (*MachineBMCReport)(nil), // 40: metalstack.api.v2.MachineBMCReport - (*MachineBios)(nil), // 41: metalstack.api.v2.MachineBios - (*MachineBMC)(nil), // 42: metalstack.api.v2.MachineBMC - (*MachineFRU)(nil), // 43: metalstack.api.v2.MachineFRU - (*MachinePowerMetric)(nil), // 44: metalstack.api.v2.MachinePowerMetric - (*MachinePowerSupply)(nil), // 45: metalstack.api.v2.MachinePowerSupply - (*MachineRecentProvisioningEvents)(nil), // 46: metalstack.api.v2.MachineRecentProvisioningEvents - (*MachineProvisioningEvent)(nil), // 47: metalstack.api.v2.MachineProvisioningEvent - (*MachineVPN)(nil), // 48: metalstack.api.v2.MachineVPN - (*MachineQuery)(nil), // 49: metalstack.api.v2.MachineQuery - (*MachineAllocationQuery)(nil), // 50: metalstack.api.v2.MachineAllocationQuery - (*MachineNetworkQuery)(nil), // 51: metalstack.api.v2.MachineNetworkQuery - (*MachineNicQuery)(nil), // 52: metalstack.api.v2.MachineNicQuery - (*MachineDiskQuery)(nil), // 53: metalstack.api.v2.MachineDiskQuery - (*MachineBMCQuery)(nil), // 54: metalstack.api.v2.MachineBMCQuery - (*MachineFRUQuery)(nil), // 55: metalstack.api.v2.MachineFRUQuery - (*MachineHardwareQuery)(nil), // 56: metalstack.api.v2.MachineHardwareQuery - (*MachineIssuesQuery)(nil), // 57: metalstack.api.v2.MachineIssuesQuery - (*MachineIssues)(nil), // 58: metalstack.api.v2.MachineIssues - (*MachineIssue)(nil), // 59: metalstack.api.v2.MachineIssue - (*Labels)(nil), // 60: metalstack.api.v2.Labels - (*DNSServer)(nil), // 61: metalstack.api.v2.DNSServer - (*NTPServer)(nil), // 62: metalstack.api.v2.NTPServer - (*UpdateMeta)(nil), // 63: metalstack.api.v2.UpdateMeta - (*UpdateLabels)(nil), // 64: metalstack.api.v2.UpdateLabels - (*Meta)(nil), // 65: metalstack.api.v2.Meta - (*Partition)(nil), // 66: metalstack.api.v2.Partition - (*Size)(nil), // 67: metalstack.api.v2.Size - (*Image)(nil), // 68: metalstack.api.v2.Image - (*FilesystemLayout)(nil), // 69: metalstack.api.v2.FilesystemLayout - (NetworkType)(0), // 70: metalstack.api.v2.NetworkType - (NATType)(0), // 71: metalstack.api.v2.NATType - (*timestamppb.Timestamp)(nil), // 72: google.protobuf.Timestamp - (*durationpb.Duration)(nil), // 73: google.protobuf.Duration + (*NeighborNic)(nil), // 37: metalstack.api.v2.NeighborNic + (*MachineBlockDevice)(nil), // 38: metalstack.api.v2.MachineBlockDevice + (*MachineChassisIdentifyLEDState)(nil), // 39: metalstack.api.v2.MachineChassisIdentifyLEDState + (*MachineBMCDetails)(nil), // 40: metalstack.api.v2.MachineBMCDetails + (*MachineBMCReport)(nil), // 41: metalstack.api.v2.MachineBMCReport + (*MachineBios)(nil), // 42: metalstack.api.v2.MachineBios + (*MachineBMC)(nil), // 43: metalstack.api.v2.MachineBMC + (*MachineFRU)(nil), // 44: metalstack.api.v2.MachineFRU + (*MachinePowerMetric)(nil), // 45: metalstack.api.v2.MachinePowerMetric + (*MachinePowerSupply)(nil), // 46: metalstack.api.v2.MachinePowerSupply + (*MachineRecentProvisioningEvents)(nil), // 47: metalstack.api.v2.MachineRecentProvisioningEvents + (*MachineProvisioningEvent)(nil), // 48: metalstack.api.v2.MachineProvisioningEvent + (*MachineVPN)(nil), // 49: metalstack.api.v2.MachineVPN + (*MachineQuery)(nil), // 50: metalstack.api.v2.MachineQuery + (*MachineAllocationQuery)(nil), // 51: metalstack.api.v2.MachineAllocationQuery + (*MachineNetworkQuery)(nil), // 52: metalstack.api.v2.MachineNetworkQuery + (*MachineNicQuery)(nil), // 53: metalstack.api.v2.MachineNicQuery + (*MachineDiskQuery)(nil), // 54: metalstack.api.v2.MachineDiskQuery + (*MachineBMCQuery)(nil), // 55: metalstack.api.v2.MachineBMCQuery + (*MachineFRUQuery)(nil), // 56: metalstack.api.v2.MachineFRUQuery + (*MachineHardwareQuery)(nil), // 57: metalstack.api.v2.MachineHardwareQuery + (*MachineIssuesQuery)(nil), // 58: metalstack.api.v2.MachineIssuesQuery + (*MachineIssues)(nil), // 59: metalstack.api.v2.MachineIssues + (*MachineIssue)(nil), // 60: metalstack.api.v2.MachineIssue + (*Labels)(nil), // 61: metalstack.api.v2.Labels + (*DNSServer)(nil), // 62: metalstack.api.v2.DNSServer + (*NTPServer)(nil), // 63: metalstack.api.v2.NTPServer + (*UpdateMeta)(nil), // 64: metalstack.api.v2.UpdateMeta + (*UpdateLabels)(nil), // 65: metalstack.api.v2.UpdateLabels + (*Meta)(nil), // 66: metalstack.api.v2.Meta + (*Partition)(nil), // 67: metalstack.api.v2.Partition + (*Size)(nil), // 68: metalstack.api.v2.Size + (*Image)(nil), // 69: metalstack.api.v2.Image + (*FilesystemLayout)(nil), // 70: metalstack.api.v2.FilesystemLayout + (NetworkType)(0), // 71: metalstack.api.v2.NetworkType + (NATType)(0), // 72: metalstack.api.v2.NATType + (*timestamppb.Timestamp)(nil), // 73: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 74: google.protobuf.Duration } var file_metalstack_api_v2_machine_proto_depIdxs = []int32{ 24, // 0: metalstack.api.v2.MachineServiceGetResponse.machine:type_name -> metalstack.api.v2.Machine - 60, // 1: metalstack.api.v2.MachineServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels + 61, // 1: metalstack.api.v2.MachineServiceCreateRequest.labels:type_name -> metalstack.api.v2.Labels 28, // 2: metalstack.api.v2.MachineServiceCreateRequest.networks:type_name -> metalstack.api.v2.MachineAllocationNetwork - 60, // 3: metalstack.api.v2.MachineServiceCreateRequest.placement_labels:type_name -> metalstack.api.v2.Labels - 61, // 4: metalstack.api.v2.MachineServiceCreateRequest.dns_servers:type_name -> metalstack.api.v2.DNSServer - 62, // 5: metalstack.api.v2.MachineServiceCreateRequest.ntp_servers:type_name -> metalstack.api.v2.NTPServer + 61, // 3: metalstack.api.v2.MachineServiceCreateRequest.placement_labels:type_name -> metalstack.api.v2.Labels + 62, // 4: metalstack.api.v2.MachineServiceCreateRequest.dns_servers:type_name -> metalstack.api.v2.DNSServer + 63, // 5: metalstack.api.v2.MachineServiceCreateRequest.ntp_servers:type_name -> metalstack.api.v2.NTPServer 5, // 6: metalstack.api.v2.MachineServiceCreateRequest.allocation_type:type_name -> metalstack.api.v2.MachineAllocationType 12, // 7: metalstack.api.v2.MachineServiceCreateRequest.firewall_spec:type_name -> metalstack.api.v2.FirewallSpec 29, // 8: metalstack.api.v2.FirewallSpec.firewall_rules:type_name -> metalstack.api.v2.FirewallRules 24, // 9: metalstack.api.v2.MachineServiceCreateResponse.machine:type_name -> metalstack.api.v2.Machine - 63, // 10: metalstack.api.v2.MachineServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta - 64, // 11: metalstack.api.v2.MachineServiceUpdateRequest.labels:type_name -> metalstack.api.v2.UpdateLabels + 64, // 10: metalstack.api.v2.MachineServiceUpdateRequest.update_meta:type_name -> metalstack.api.v2.UpdateMeta + 65, // 11: metalstack.api.v2.MachineServiceUpdateRequest.labels:type_name -> metalstack.api.v2.UpdateLabels 24, // 12: metalstack.api.v2.MachineServiceUpdateResponse.machine:type_name -> metalstack.api.v2.Machine - 49, // 13: metalstack.api.v2.MachineServiceListRequest.query:type_name -> metalstack.api.v2.MachineQuery + 50, // 13: metalstack.api.v2.MachineServiceListRequest.query:type_name -> metalstack.api.v2.MachineQuery 24, // 14: metalstack.api.v2.MachineServiceListResponse.machines:type_name -> metalstack.api.v2.Machine 24, // 15: metalstack.api.v2.MachineServiceDeleteResponse.machine:type_name -> metalstack.api.v2.Machine 6, // 16: metalstack.api.v2.MachineServiceBMCCommandRequest.command:type_name -> metalstack.api.v2.MachineBMCCommand - 39, // 17: metalstack.api.v2.MachineServiceGetBMCResponse.bmc_details:type_name -> metalstack.api.v2.MachineBMCDetails - 65, // 18: metalstack.api.v2.Machine.meta:type_name -> metalstack.api.v2.Meta - 66, // 19: metalstack.api.v2.Machine.partition:type_name -> metalstack.api.v2.Partition - 67, // 20: metalstack.api.v2.Machine.size:type_name -> metalstack.api.v2.Size + 40, // 17: metalstack.api.v2.MachineServiceGetBMCResponse.bmc_details:type_name -> metalstack.api.v2.MachineBMCDetails + 66, // 18: metalstack.api.v2.Machine.meta:type_name -> metalstack.api.v2.Meta + 67, // 19: metalstack.api.v2.Machine.partition:type_name -> metalstack.api.v2.Partition + 68, // 20: metalstack.api.v2.Machine.size:type_name -> metalstack.api.v2.Size 33, // 21: metalstack.api.v2.Machine.hardware:type_name -> metalstack.api.v2.MachineHardware 27, // 22: metalstack.api.v2.Machine.allocation:type_name -> metalstack.api.v2.MachineAllocation 25, // 23: metalstack.api.v2.Machine.status:type_name -> metalstack.api.v2.MachineStatus - 46, // 24: metalstack.api.v2.Machine.recent_provisioning_events:type_name -> metalstack.api.v2.MachineRecentProvisioningEvents + 47, // 24: metalstack.api.v2.Machine.recent_provisioning_events:type_name -> metalstack.api.v2.MachineRecentProvisioningEvents 26, // 25: metalstack.api.v2.MachineStatus.condition:type_name -> metalstack.api.v2.MachineCondition - 38, // 26: metalstack.api.v2.MachineStatus.led_state:type_name -> metalstack.api.v2.MachineChassisIdentifyLEDState + 39, // 26: metalstack.api.v2.MachineStatus.led_state:type_name -> metalstack.api.v2.MachineChassisIdentifyLEDState 4, // 27: metalstack.api.v2.MachineStatus.liveliness:type_name -> metalstack.api.v2.MachineLiveliness 1, // 28: metalstack.api.v2.MachineCondition.state:type_name -> metalstack.api.v2.MachineState - 65, // 29: metalstack.api.v2.MachineAllocation.meta:type_name -> metalstack.api.v2.Meta - 68, // 30: metalstack.api.v2.MachineAllocation.image:type_name -> metalstack.api.v2.Image - 69, // 31: metalstack.api.v2.MachineAllocation.filesystem_layout:type_name -> metalstack.api.v2.FilesystemLayout + 66, // 29: metalstack.api.v2.MachineAllocation.meta:type_name -> metalstack.api.v2.Meta + 69, // 30: metalstack.api.v2.MachineAllocation.image:type_name -> metalstack.api.v2.Image + 70, // 31: metalstack.api.v2.MachineAllocation.filesystem_layout:type_name -> metalstack.api.v2.FilesystemLayout 32, // 32: metalstack.api.v2.MachineAllocation.networks:type_name -> metalstack.api.v2.MachineNetwork 5, // 33: metalstack.api.v2.MachineAllocation.allocation_type:type_name -> metalstack.api.v2.MachineAllocationType 29, // 34: metalstack.api.v2.MachineAllocation.firewall_rules:type_name -> metalstack.api.v2.FirewallRules - 61, // 35: metalstack.api.v2.MachineAllocation.dns_servers:type_name -> metalstack.api.v2.DNSServer - 62, // 36: metalstack.api.v2.MachineAllocation.ntp_servers:type_name -> metalstack.api.v2.NTPServer - 48, // 37: metalstack.api.v2.MachineAllocation.vpn:type_name -> metalstack.api.v2.MachineVPN - 60, // 38: metalstack.api.v2.MachineAllocation.placement_labels:type_name -> metalstack.api.v2.Labels + 62, // 35: metalstack.api.v2.MachineAllocation.dns_servers:type_name -> metalstack.api.v2.DNSServer + 63, // 36: metalstack.api.v2.MachineAllocation.ntp_servers:type_name -> metalstack.api.v2.NTPServer + 49, // 37: metalstack.api.v2.MachineAllocation.vpn:type_name -> metalstack.api.v2.MachineVPN + 61, // 38: metalstack.api.v2.MachineAllocation.placement_labels:type_name -> metalstack.api.v2.Labels 30, // 39: metalstack.api.v2.FirewallRules.egress:type_name -> metalstack.api.v2.FirewallEgressRule 31, // 40: metalstack.api.v2.FirewallRules.ingress:type_name -> metalstack.api.v2.FirewallIngressRule 0, // 41: metalstack.api.v2.FirewallEgressRule.protocol:type_name -> metalstack.api.v2.IPProtocol 0, // 42: metalstack.api.v2.FirewallIngressRule.protocol:type_name -> metalstack.api.v2.IPProtocol - 70, // 43: metalstack.api.v2.MachineNetwork.network_type:type_name -> metalstack.api.v2.NetworkType - 71, // 44: metalstack.api.v2.MachineNetwork.nat_type:type_name -> metalstack.api.v2.NATType - 37, // 45: metalstack.api.v2.MachineHardware.disks:type_name -> metalstack.api.v2.MachineBlockDevice + 71, // 43: metalstack.api.v2.MachineNetwork.network_type:type_name -> metalstack.api.v2.NetworkType + 72, // 44: metalstack.api.v2.MachineNetwork.nat_type:type_name -> metalstack.api.v2.NATType + 38, // 45: metalstack.api.v2.MachineHardware.disks:type_name -> metalstack.api.v2.MachineBlockDevice 34, // 46: metalstack.api.v2.MachineHardware.cpus:type_name -> metalstack.api.v2.MetalCPU 35, // 47: metalstack.api.v2.MachineHardware.gpus:type_name -> metalstack.api.v2.MetalGPU 36, // 48: metalstack.api.v2.MachineHardware.nics:type_name -> metalstack.api.v2.MachineNic - 36, // 49: metalstack.api.v2.MachineNic.neighbors:type_name -> metalstack.api.v2.MachineNic - 40, // 50: metalstack.api.v2.MachineBMCDetails.bmc_report:type_name -> metalstack.api.v2.MachineBMCReport - 42, // 51: metalstack.api.v2.MachineBMCReport.bmc:type_name -> metalstack.api.v2.MachineBMC - 41, // 52: metalstack.api.v2.MachineBMCReport.bios:type_name -> metalstack.api.v2.MachineBios - 43, // 53: metalstack.api.v2.MachineBMCReport.fru:type_name -> metalstack.api.v2.MachineFRU - 44, // 54: metalstack.api.v2.MachineBMCReport.power_metric:type_name -> metalstack.api.v2.MachinePowerMetric - 45, // 55: metalstack.api.v2.MachineBMCReport.power_supplies:type_name -> metalstack.api.v2.MachinePowerSupply - 38, // 56: metalstack.api.v2.MachineBMCReport.led_state:type_name -> metalstack.api.v2.MachineChassisIdentifyLEDState - 72, // 57: metalstack.api.v2.MachineBMCReport.updated_at:type_name -> google.protobuf.Timestamp - 47, // 58: metalstack.api.v2.MachineRecentProvisioningEvents.events:type_name -> metalstack.api.v2.MachineProvisioningEvent - 72, // 59: metalstack.api.v2.MachineRecentProvisioningEvents.last_event_time:type_name -> google.protobuf.Timestamp - 47, // 60: metalstack.api.v2.MachineRecentProvisioningEvents.last_error_event:type_name -> metalstack.api.v2.MachineProvisioningEvent + 37, // 49: metalstack.api.v2.MachineNic.neighbors:type_name -> metalstack.api.v2.NeighborNic + 41, // 50: metalstack.api.v2.MachineBMCDetails.bmc_report:type_name -> metalstack.api.v2.MachineBMCReport + 43, // 51: metalstack.api.v2.MachineBMCReport.bmc:type_name -> metalstack.api.v2.MachineBMC + 42, // 52: metalstack.api.v2.MachineBMCReport.bios:type_name -> metalstack.api.v2.MachineBios + 44, // 53: metalstack.api.v2.MachineBMCReport.fru:type_name -> metalstack.api.v2.MachineFRU + 45, // 54: metalstack.api.v2.MachineBMCReport.power_metric:type_name -> metalstack.api.v2.MachinePowerMetric + 46, // 55: metalstack.api.v2.MachineBMCReport.power_supplies:type_name -> metalstack.api.v2.MachinePowerSupply + 39, // 56: metalstack.api.v2.MachineBMCReport.led_state:type_name -> metalstack.api.v2.MachineChassisIdentifyLEDState + 73, // 57: metalstack.api.v2.MachineBMCReport.updated_at:type_name -> google.protobuf.Timestamp + 48, // 58: metalstack.api.v2.MachineRecentProvisioningEvents.events:type_name -> metalstack.api.v2.MachineProvisioningEvent + 73, // 59: metalstack.api.v2.MachineRecentProvisioningEvents.last_event_time:type_name -> google.protobuf.Timestamp + 48, // 60: metalstack.api.v2.MachineRecentProvisioningEvents.last_error_event:type_name -> metalstack.api.v2.MachineProvisioningEvent 2, // 61: metalstack.api.v2.MachineRecentProvisioningEvents.state:type_name -> metalstack.api.v2.MachineProvisioningEventState - 72, // 62: metalstack.api.v2.MachineProvisioningEvent.time:type_name -> google.protobuf.Timestamp + 73, // 62: metalstack.api.v2.MachineProvisioningEvent.time:type_name -> google.protobuf.Timestamp 3, // 63: metalstack.api.v2.MachineProvisioningEvent.event:type_name -> metalstack.api.v2.MachineProvisioningEventType - 60, // 64: metalstack.api.v2.MachineQuery.labels:type_name -> metalstack.api.v2.Labels - 50, // 65: metalstack.api.v2.MachineQuery.allocation:type_name -> metalstack.api.v2.MachineAllocationQuery - 51, // 66: metalstack.api.v2.MachineQuery.network:type_name -> metalstack.api.v2.MachineNetworkQuery - 52, // 67: metalstack.api.v2.MachineQuery.nic:type_name -> metalstack.api.v2.MachineNicQuery - 53, // 68: metalstack.api.v2.MachineQuery.disk:type_name -> metalstack.api.v2.MachineDiskQuery - 54, // 69: metalstack.api.v2.MachineQuery.bmc:type_name -> metalstack.api.v2.MachineBMCQuery - 55, // 70: metalstack.api.v2.MachineQuery.fru:type_name -> metalstack.api.v2.MachineFRUQuery - 56, // 71: metalstack.api.v2.MachineQuery.hardware:type_name -> metalstack.api.v2.MachineHardwareQuery + 61, // 64: metalstack.api.v2.MachineQuery.labels:type_name -> metalstack.api.v2.Labels + 51, // 65: metalstack.api.v2.MachineQuery.allocation:type_name -> metalstack.api.v2.MachineAllocationQuery + 52, // 66: metalstack.api.v2.MachineQuery.network:type_name -> metalstack.api.v2.MachineNetworkQuery + 53, // 67: metalstack.api.v2.MachineQuery.nic:type_name -> metalstack.api.v2.MachineNicQuery + 54, // 68: metalstack.api.v2.MachineQuery.disk:type_name -> metalstack.api.v2.MachineDiskQuery + 55, // 69: metalstack.api.v2.MachineQuery.bmc:type_name -> metalstack.api.v2.MachineBMCQuery + 56, // 70: metalstack.api.v2.MachineQuery.fru:type_name -> metalstack.api.v2.MachineFRUQuery + 57, // 71: metalstack.api.v2.MachineQuery.hardware:type_name -> metalstack.api.v2.MachineHardwareQuery 1, // 72: metalstack.api.v2.MachineQuery.state:type_name -> metalstack.api.v2.MachineState 5, // 73: metalstack.api.v2.MachineAllocationQuery.allocation_type:type_name -> metalstack.api.v2.MachineAllocationType - 60, // 74: metalstack.api.v2.MachineAllocationQuery.labels:type_name -> metalstack.api.v2.Labels - 48, // 75: metalstack.api.v2.MachineAllocationQuery.vpn:type_name -> metalstack.api.v2.MachineVPN - 49, // 76: metalstack.api.v2.MachineIssuesQuery.machine_query:type_name -> metalstack.api.v2.MachineQuery + 61, // 74: metalstack.api.v2.MachineAllocationQuery.labels:type_name -> metalstack.api.v2.Labels + 49, // 75: metalstack.api.v2.MachineAllocationQuery.vpn:type_name -> metalstack.api.v2.MachineVPN + 50, // 76: metalstack.api.v2.MachineIssuesQuery.machine_query:type_name -> metalstack.api.v2.MachineQuery 7, // 77: metalstack.api.v2.MachineIssuesQuery.only:type_name -> metalstack.api.v2.MachineIssueType 7, // 78: metalstack.api.v2.MachineIssuesQuery.omit:type_name -> metalstack.api.v2.MachineIssueType 8, // 79: metalstack.api.v2.MachineIssuesQuery.severity:type_name -> metalstack.api.v2.MachineIssueSeverity - 73, // 80: metalstack.api.v2.MachineIssuesQuery.last_error_threshold:type_name -> google.protobuf.Duration - 59, // 81: metalstack.api.v2.MachineIssues.issues:type_name -> metalstack.api.v2.MachineIssue + 74, // 80: metalstack.api.v2.MachineIssuesQuery.last_error_threshold:type_name -> google.protobuf.Duration + 60, // 81: metalstack.api.v2.MachineIssues.issues:type_name -> metalstack.api.v2.MachineIssue 7, // 82: metalstack.api.v2.MachineIssue.type:type_name -> metalstack.api.v2.MachineIssueType 8, // 83: metalstack.api.v2.MachineIssue.severity:type_name -> metalstack.api.v2.MachineIssueSeverity 9, // 84: metalstack.api.v2.MachineService.Get:input_type -> metalstack.api.v2.MachineServiceGetRequest @@ -5372,20 +5442,21 @@ func file_metalstack_api_v2_machine_proto_init() { file_metalstack_api_v2_machine_proto_msgTypes[2].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[5].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[23].OneofWrappers = []any{} - file_metalstack_api_v2_machine_proto_msgTypes[34].OneofWrappers = []any{} - file_metalstack_api_v2_machine_proto_msgTypes[40].OneofWrappers = []any{} + file_metalstack_api_v2_machine_proto_msgTypes[28].OneofWrappers = []any{} + file_metalstack_api_v2_machine_proto_msgTypes[35].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[41].OneofWrappers = []any{} - file_metalstack_api_v2_machine_proto_msgTypes[45].OneofWrappers = []any{} + file_metalstack_api_v2_machine_proto_msgTypes[42].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[46].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[47].OneofWrappers = []any{} file_metalstack_api_v2_machine_proto_msgTypes[48].OneofWrappers = []any{} + file_metalstack_api_v2_machine_proto_msgTypes[49].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_metalstack_api_v2_machine_proto_rawDesc), len(file_metalstack_api_v2_machine_proto_rawDesc)), NumEnums: 9, - NumMessages: 51, + NumMessages: 52, NumExtensions: 0, NumServices: 1, }, diff --git a/js/metalstack/api/v2/machine_pb.d.ts b/js/metalstack/api/v2/machine_pb.d.ts index bd1d55f7..cd57ae6d 100644 --- a/js/metalstack/api/v2/machine_pb.d.ts +++ b/js/metalstack/api/v2/machine_pb.d.ts @@ -1029,8 +1029,7 @@ export type MachineNic = Message<"metalstack.api.v2.MachineNic"> & { /** * Mac the macaddress of this interface. * - * @generated from field: string mac = 1 [deprecated = true]; - * @deprecated + * @generated from field: string mac = 1; */ mac: string; /** @@ -1066,9 +1065,9 @@ export type MachineNic = Message<"metalstack.api.v2.MachineNic"> & { /** * Neighbors the neighbors visible to this network interface. * - * @generated from field: repeated metalstack.api.v2.MachineNic neighbors = 7; + * @generated from field: repeated metalstack.api.v2.NeighborNic neighbors = 7; */ - neighbors: MachineNic[]; + neighbors: NeighborNic[]; /** * Hostname the nic belongs to. * @@ -1081,6 +1080,37 @@ export type MachineNic = Message<"metalstack.api.v2.MachineNic"> & { * Use `create(MachineNicSchema)` to create a new message. */ export declare const MachineNicSchema: GenMessage; +/** + * NeighborNic contains details of a network interface of the neighbor. + * + * @generated from message metalstack.api.v2.NeighborNic + */ +export type NeighborNic = Message<"metalstack.api.v2.NeighborNic"> & { + /** + * Name of this interface. + * + * @generated from field: string name = 1; + */ + name: string; + /** + * Identifier the unique identifier of this network interface. + * This could either be a macaddress or alias of the interface, e.g. Eth1/1 on some switches. + * + * @generated from field: optional string identifier = 2; + */ + identifier?: string | undefined; + /** + * Hostname the nic belongs to. + * + * @generated from field: string hostname = 3; + */ + hostname: string; +}; +/** + * Describes the message metalstack.api.v2.NeighborNic. + * Use `create(NeighborNicSchema)` to create a new message. + */ +export declare const NeighborNicSchema: GenMessage; /** * MachineBlockDevice contains details of a block device of this machine. * diff --git a/js/metalstack/api/v2/machine_pb.js b/js/metalstack/api/v2/machine_pb.js index a1d3d146..06337985 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("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSKuBwobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIjCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBSAOIAQESHgoEc2l6ZRgHIAEoCUILukgIcgbAs66xAgFIBIgBARIaCgVpbWFnZRgIIAEoCUILukgIcgbAs66xAgESKwoRZmlsZXN5c3RlbV9sYXlvdXQYCSABKAlCC7pICHIGwLOusQIBSAWIAQESMQoPc3NoX3B1YmxpY19rZXlzGAogAygJQhi6SBWSARLQpLOxAgEQMiIIcgaItK6xAgESLAoIdXNlcmRhdGEYCyABKAlCFbpIEnIQ8LOusQIBsLSusQIBGICAAkgGiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxJHCghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29ya0IIukgFkgECCAESMwoQcGxhY2VtZW50X2xhYmVscxgOIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI7CgtkbnNfc2VydmVycxgPIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYECADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgRIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgSIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQgwKCl9wYXJ0aXRpb25CBwoFX3NpemVCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV91c2VyZGF0YSJICgxGaXJld2FsbFNwZWMSOAoOZmlyZXdhbGxfcnVsZXMYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzIksKHE1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUitwIKG01hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIZCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAIgBARI0CgZsYWJlbHMYBSABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIAYgBARIxCg9zc2hfcHVibGljX2tleXMYBiADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECAUIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiMwogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2USDwoHdGFza19pZBgBIAEoCSJQChtNYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiWQocTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZRI5CgtibWNfZGV0YWlscxgGIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNEZXRhaWxzIsoDCgdNYWNoaW5lEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEi8KCXBhcnRpdGlvbhgDIAEoCzIcLm1ldGFsc3RhY2suYXBpLnYyLlBhcnRpdGlvbhIWCgRyYWNrGAQgASgJQgi6SAVyAxiAARIWCgRyb29tGAUgASgJQgi6SAVyAxiAARIlCgRzaXplGAYgASgLMhcubWV0YWxzdGFjay5hcGkudjIuU2l6ZRI0CghoYXJkd2FyZRgHIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVIYXJkd2FyZRI4CgphbGxvY2F0aW9uGAggASgLMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb24SMAoGc3RhdHVzGAkgASgLMiAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXR1cxJWChpyZWNlbnRfcHJvdmlzaW9uaW5nX2V2ZW50cxgKIAEoCzIyLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMi7wEKDU1hY2hpbmVTdGF0dXMSNgoJY29uZGl0aW9uGAEgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNvbmRpdGlvbhJECglsZWRfc3RhdGUYAiABKAsyMS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQ2hhc3Npc0lkZW50aWZ5TEVEU3RhdGUSQgoKbGl2ZWxpbmVzcxgDIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVMaXZlbGluZXNzQgi6SAWCAQIQARIcChRtZXRhbF9oYW1tZXJfdmVyc2lvbhgEIAEoCSKIAQoQTWFjaGluZUNvbmRpdGlvbhI4CgVzdGF0ZRgBIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBEhgKBmlzc3VlchgDIAEoCUIIukgFcgMYgAIiuQYKEU1hY2hpbmVBbGxvY2F0aW9uEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIcCgpjcmVhdGVkX2J5GAUgASgJQgi6SAVyAxiAARIZCgdwcm9qZWN0GAYgASgJQgi6SAVyA7ABARInCgVpbWFnZRgHIAEoCzIYLm1ldGFsc3RhY2suYXBpLnYyLkltYWdlEj4KEWZpbGVzeXN0ZW1fbGF5b3V0GAggASgLMiMubWV0YWxzdGFjay5hcGkudjIuRmlsZXN5c3RlbUxheW91dBIzCghuZXR3b3JrcxgJIAMoCzIhLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrEhkKCGhvc3RuYW1lGAogASgJQge6SARyAmgBEjEKD3NzaF9wdWJsaWNfa2V5cxgLIAMoCUIYukgVkgES0KSzsQIBEDIiCHIGiLSusQIBEiEKCHVzZXJkYXRhGAwgASgJQg+6SAxyCvCzrrECARiAgAISSwoPYWxsb2NhdGlvbl90eXBlGA0gASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI4Cg5maXJld2FsbF9ydWxlcxgOIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMSOwoLZG5zX3NlcnZlcnMYDyADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5ETlNTZXJ2ZXJCCLpIBZIBAhADEjsKC250cF9zZXJ2ZXJzGBAgAygLMhwubWV0YWxzdGFjay5hcGkudjIuTlRQU2VydmVyQgi6SAWSAQIQChIqCgN2cG4YESABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOEjMKEHBsYWNlbWVudF9sYWJlbHMYEiABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMiUwoYTWFjaGluZUFsbG9jYXRpb25OZXR3b3JrEhwKB25ldHdvcmsYASABKAlCC7pICHIGwLOusQIBEhkKA2lwcxgCIAMoCUIMukgJkgEGwKSzsQIBIn8KDUZpcmV3YWxsUnVsZXMSNQoGZWdyZXNzGAEgAygLMiUubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxFZ3Jlc3NSdWxlEjcKB2luZ3Jlc3MYAiADKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbEluZ3Jlc3NSdWxlIrIBChJGaXJld2FsbEVncmVzc1J1bGUSOQoIcHJvdG9jb2wYASABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5JUFByb3RvY29sQgi6SAWCAQIQARIdCgVwb3J0cxgCIAMoDUIOukgLkgEIIgYqBBj8/wMSGAoCdG8YAyADKAlCDLpICZIBBriks7ECARIoCgdjb21tZW50GAQgASgJQhe6SBTYAQFyDxhkMgteW2Etel8gLV0qJCLPAQoTRmlyZXdhbGxJbmdyZXNzUnVsZRI5Cghwcm90b2NvbBgBIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLklQUHJvdG9jb2xCCLpIBYIBAhABEh0KBXBvcnRzGAIgAygNQg66SAuSAQgiBioEGPz/AxIYCgJ0bxgDIAMoCUIMukgJkgEGuKSzsQIBEhoKBGZyb20YBCADKAlCDLpICZIBBriks7ECARIoCgdjb21tZW50GAUgASgJQhe6SBTYAQFyDxhkMgteW2Etel8gLV0qJCLGAgoOTWFjaGluZU5ldHdvcmsSDwoHbmV0d29yaxgBIAEoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESPgoMbmV0d29ya190eXBlGAUgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1R5cGVCCLpIBYIBAhABEjYKCG5hdF90eXBlGAYgASgOMhoubWV0YWxzdGFjay5hcGkudjIuTkFUVHlwZUIIukgFggECEAESCwoDdnJmGAcgASgEEgsKA2FzbhgIIAEoDRIeCgdwcm9qZWN0GAkgASgJQgi6SAVyA7ABAUgAiAEBQgoKCF9wcm9qZWN0ItoBCg9NYWNoaW5lSGFyZHdhcmUSDgoGbWVtb3J5GAEgASgEEjQKBWRpc2tzGAIgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJsb2NrRGV2aWNlEikKBGNwdXMYAyADKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhbENQVRIpCgRncHVzGAQgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxHUFUSKwoEbmljcxgFIAMoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWMiXQoITWV0YWxDUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAISDQoFY29yZXMYAyABKA0SDwoHdGhyZWFkcxgEIAEoDSI9CghNZXRhbEdQVRIYCgZ2ZW5kb3IYASABKAlCCLpIBXIDGIACEhcKBW1vZGVsGAIgASgJQgi6SAVyAxiAAiLcAQoKTWFjaGluZU5pYxIPCgNtYWMYASABKAlCAhgBEhkKBG5hbWUYAiABKAlCC7pICHIGwLOusQIBEhwKCmlkZW50aWZpZXIYAyABKAlCCLpIBXIDGIABEhgKBnZlbmRvchgEIAEoCUIIukgFcgMYgAESFwoFbW9kZWwYBSABKAlCCLpIBXIDGIABEg0KBXNwZWVkGAYgASgEEjAKCW5laWdoYm9ycxgHIAMoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWMSEAoIaG9zdG5hbWUYCCABKAkiPQoSTWFjaGluZUJsb2NrRGV2aWNlEhkKBG5hbWUYASABKAlCC7pICHIGwLOusQIBEgwKBHNpemUYAiABKAQiWwoeTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEhcKBXZhbHVlGAEgASgJQgi6SAVyAxiAARIgCgtkZXNjcmlwdGlvbhgCIAEoCUILukgIcgbIs66xAgEiyQEKEU1hY2hpbmVCTUNEZXRhaWxzEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhsKCXBhcnRpdGlvbhgCIAEoCUIIukgFcgMYgAESFgoEcmFjaxgDIAEoCUIIukgFcgMYgAESFgoEcm9vbRgEIAEoCUIIukgFcgMYgAESFgoEc2l6ZRgFIAEoCUIIukgFcgMYgAESNwoKYm1jX3JlcG9ydBgGIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNSZXBvcnQiogMKEE1hY2hpbmVCTUNSZXBvcnQSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESKgoDYm1jGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQxIsCgRiaW9zGAMgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJpb3MSKgoDZnJ1GAQgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVRI7Cgxwb3dlcl9tZXRyaWMYBSABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJNZXRyaWMSPQoOcG93ZXJfc3VwcGxpZXMYBiADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJTdXBwbHkSRAoJbGVkX3N0YXRlGAcgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImMKC01hY2hpbmVCaW9zEhwKB3ZlcnNpb24YASABKAlCC7pICHIGyLOusQIBEhsKBnZlbmRvchgCIAEoCUILukgIcgbIs66xAgESGQoEZGF0ZRgDIAEoCUILukgIcgbIs66xAgEi2wEKCk1hY2hpbmVCTUMSGQoHYWRkcmVzcxgBIAEoCUIIukgFcgOAAgESGAoDbWFjGAIgASgJQgu6SAhyBrizrrECARIZCgR1c2VyGAMgASgJQgu6SAhyBsizrrECARIdCghwYXNzd29yZBgEIAEoCUILukgIcgbIs66xAgESHgoJaW50ZXJmYWNlGAUgASgJQgu6SAhyBsizrrECARIcCgd2ZXJzaW9uGAYgASgJQgu6SAhyBsizrrECARIgCgtwb3dlcl9zdGF0ZRgHIAEoCUILukgIcgbIs66xAgEingQKCk1hY2hpbmVGUlUSLQoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUILukgIcgbIs66xAgFIAIgBARItChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCWJvYXJkX21mZxgDIAEoCUILukgIcgbIs66xAgFIAogBARIqChBib2FyZF9tZmdfc2VyaWFsGAQgASgJQgu6SAhyBsizrrECAUgDiAEBEisKEWJvYXJkX3BhcnRfbnVtYmVyGAUgASgJQgu6SAhyBsizrrECAUgEiAEBEi4KFHByb2R1Y3RfbWFudWZhY3R1cmVyGAYgASgJQgu6SAhyBsizrrECAUgFiAEBEi0KE3Byb2R1Y3RfcGFydF9udW1iZXIYByABKAlCC7pICHIGyLOusQIBSAaIAQESKAoOcHJvZHVjdF9zZXJpYWwYCCABKAlCC7pICHIGyLOusQIBSAeIAQFCFgoUX2NoYXNzaXNfcGFydF9udW1iZXJCFgoUX2NoYXNzaXNfcGFydF9zZXJpYWxCDAoKX2JvYXJkX21mZ0ITChFfYm9hcmRfbWZnX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCKFAQoSTWFjaGluZVBvd2VyTWV0cmljEh4KFmF2ZXJhZ2VfY29uc3VtZWRfd2F0dHMYASABKAISFwoPaW50ZXJ2YWxfaW5fbWluGAIgASgCEhoKEm1heF9jb25zdW1lZF93YXR0cxgDIAEoAhIaChJtaW5fY29uc3VtZWRfd2F0dHMYBCABKAIiMwoSTWFjaGluZVBvd2VyU3VwcGx5Eg4KBmhlYWx0aBgBIAEoCRINCgVzdGF0ZRgCIAEoCSKlAgofTWFjaGluZVJlY2VudFByb3Zpc2lvbmluZ0V2ZW50cxI7CgZldmVudHMYASADKAsyKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSMwoPbGFzdF9ldmVudF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJFChBsYXN0X2Vycm9yX2V2ZW50GAMgASgLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EkkKBXN0YXRlGAQgASgOMjAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGVCCLpIBYIBAhABIp8BChhNYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASSAoFZXZlbnQYAiABKA4yLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRUeXBlQgi6SAWCAQIQARIPCgdtZXNzYWdlGAMgASgJImsKCk1hY2hpbmVWUE4SHQoVY29udHJvbF9wbGFuZV9hZGRyZXNzGAEgASgJEhAKCGF1dGhfa2V5GAIgASgJEhEKCWNvbm5lY3RlZBgDIAEoCBIZCgNpcHMYBCADKAlCDLpICZIBBsCks7ECASLmBwoMTWFjaGluZVF1ZXJ5EhsKBHV1aWQYASABKAlCCLpIBXIDsAEBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIjCglwYXJ0aXRpb24YAyABKAlCC7pICHIG0LOusQIBSAKIAQESHgoEc2l6ZRgEIAEoCUILukgIcgbAs66xAgFIA4gBARIeCgRyYWNrGAUgASgJQgu6SAhyBsCzrrECAUgEiAEBEh4KBHJvb20YBiABKAlCC7pICHIGwLOusQIBSAWIAQESLgoGbGFiZWxzGAcgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAaIAQESQgoKYWxsb2NhdGlvbhgIIAEoCzIpLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uUXVlcnlIB4gBARI8CgduZXR3b3JrGAkgASgLMiYubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5ldHdvcmtRdWVyeUgIiAEBEjQKA25pYxgKIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWNRdWVyeUgJiAEBEjYKBGRpc2sYCyABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lRGlza1F1ZXJ5SAqIAQESNAoDYm1jGAwgASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1F1ZXJ5SAuIAQESNAoDZnJ1GA0gASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVVF1ZXJ5SAyIAQESPgoIaGFyZHdhcmUYDiABKAsyJy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmVRdWVyeUgNiAEBEjMKBXN0YXRlGA8gASgOMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXRlSA6IAQESFAoHd2FpdGluZxgQIAEoCEgPiAEBEhkKDHByZWFsbG9jYXRlZBgRIAEoCEgQiAEBEhoKDW5vdF9hbGxvY2F0ZWQYEiABKAhIEYgBAUIHCgVfdXVpZEIHCgVfbmFtZUIMCgpfcGFydGl0aW9uQgcKBV9zaXplQgcKBV9yYWNrQgcKBV9yb29tQgkKB19sYWJlbHNCDQoLX2FsbG9jYXRpb25CCgoIX25ldHdvcmtCBgoEX25pY0IHCgVfZGlza0IGCgRfYm1jQgYKBF9mcnVCCwoJX2hhcmR3YXJlQggKBl9zdGF0ZUIKCghfd2FpdGluZ0IPCg1fcHJlYWxsb2NhdGVkQhAKDl9ub3RfYWxsb2NhdGVkIogEChZNYWNoaW5lQWxsb2NhdGlvblF1ZXJ5EhsKBHV1aWQYASABKAlCCLpIBXIDsAEBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIeCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABAUgCiAEBEh8KBWltYWdlGAQgASgJQgu6SAhyBsCzrrECAUgDiAEBEisKEWZpbGVzeXN0ZW1fbGF5b3V0GAUgASgJQgu6SAhyBsCzrrECAUgEiAEBEh4KCGhvc3RuYW1lGAYgASgJQge6SARyAmgBSAWIAQESUAoPYWxsb2NhdGlvbl90eXBlGAcgASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQAUgGiAEBEi4KBmxhYmVscxgIIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gHiAEBEi8KA3ZwbhgJIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVWUE5ICIgBAUIHCgVfdXVpZEIHCgVfbmFtZUIKCghfcHJvamVjdEIICgZfaW1hZ2VCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV9ob3N0bmFtZUISChBfYWxsb2NhdGlvbl90eXBlQgkKB19sYWJlbHNCBgoEX3ZwbiKqAQoTTWFjaGluZU5ldHdvcmtRdWVyeRIQCghuZXR3b3JrcxgBIAMoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESDAoEdnJmcxgFIAMoBBIMCgRhc25zGAYgAygNIq8BCg9NYWNoaW5lTmljUXVlcnkSIgoEbWFjcxgBIAMoCUIUukgRkgEOEGQYASIIcga4s66xAgESIAoFbmFtZXMYAiADKAlCEbpIDpIBCxBkGAEiBXIDGIABEisKDW5laWdoYm9yX21hY3MYAyADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEikKDm5laWdoYm9yX25hbWVzGAQgAygJQhG6SA6SAQsQZBgBIgVyAxiAASJLChBNYWNoaW5lRGlza1F1ZXJ5Eh4KBW5hbWVzGAEgAygJQg+6SAySAQkQZCIFcgMYgAESFwoFc2l6ZXMYAiADKARCCLpIBZIBAhBkIrkBCg9NYWNoaW5lQk1DUXVlcnkSHQoHYWRkcmVzcxgBIAEoCUIHukgEcgJwAUgAiAEBEh0KA21hYxgCIAEoCUILukgIcga4s66xAgFIAYgBARIbCgR1c2VyGAMgASgJQgi6SAVyAxiAAUgCiAEBEiAKCWludGVyZmFjZRgEIAEoCUIIukgFcgMYgAFIA4gBAUIKCghfYWRkcmVzc0IGCgRfbWFjQgcKBV91c2VyQgwKCl9pbnRlcmZhY2UigwQKD01hY2hpbmVGUlVRdWVyeRIqChNjaGFzc2lzX3BhcnRfbnVtYmVyGAEgASgJQgi6SAVyAxiAAUgAiAEBEioKE2NoYXNzaXNfcGFydF9zZXJpYWwYAiABKAlCCLpIBXIDGIABSAGIAQESIAoJYm9hcmRfbWZnGAMgASgJQgi6SAVyAxiAAUgCiAEBEiMKDGJvYXJkX3NlcmlhbBgEIAEoCUIIukgFcgMYgAFIA4gBARIoChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUIIukgFcgMYgAFIBIgBARIrChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUIIukgFcgMYgAFIBYgBARIqChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgi6SAVyAxiAAUgGiAEBEiUKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgi6SAVyAxiAAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCDwoNX2JvYXJkX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCJcChRNYWNoaW5lSGFyZHdhcmVRdWVyeRITCgZtZW1vcnkYASABKARIAIgBARIWCgljcHVfY29yZXMYAiABKA1IAYgBAUIJCgdfbWVtb3J5QgwKCl9jcHVfY29yZXMi4AIKEk1hY2hpbmVJc3N1ZXNRdWVyeRI2Cg1tYWNoaW5lX3F1ZXJ5GAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVF1ZXJ5EkAKBG9ubHkYAiADKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQg26SAqSAQciBYIBAhABEkAKBG9taXQYAyADKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQg26SAqSAQciBYIBAhABEkgKCHNldmVyaXR5GAQgASgOMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlU2V2ZXJpdHlCCLpIBYIBAhABSACIAQESNwoUbGFzdF9lcnJvcl90aHJlc2hvbGQYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CCwoJX3NldmVyaXR5IlgKDU1hY2hpbmVJc3N1ZXMSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESLwoGaXNzdWVzGAIgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlIucBCgxNYWNoaW5lSXNzdWUSOwoEdHlwZRgBIAEoDjIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVR5cGVCCLpIBYIBAhABEkMKCHNldmVyaXR5GAIgASgOMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlU2V2ZXJpdHlCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECARIiCg1yZWZlcmVuY2VfdXJsGAQgASgJQgu6SAhyBuCzrrECARIPCgdkZXRhaWxzGAUgASgJKmUKCklQUHJvdG9jb2wSGwoXSVBfUFJPVE9DT0xfVU5TUEVDSUZJRUQQABIcCg9JUF9QUk9UT0NPTF9UQ1AQARoHgrIZA3RjcBIcCg9JUF9QUk9UT0NPTF9VRFAQAhoHgrIZA3VkcCqtAQoMTWFjaGluZVN0YXRlEiMKGU1BQ0hJTkVfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABImChVNQUNISU5FX1NUQVRFX1RBSU5URUQQARoLgrIZB3RhaW50ZWQSJAoUTUFDSElORV9TVEFURV9MT0NLRUQQAhoKgrIZBmxvY2tlZBIqChdNQUNISU5FX1NUQVRFX0FWQUlMQUJMRRADGg2CshkJYXZhaWxhYmxlKt8BCh1NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRTdGF0ZRI2CixNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9VTlNQRUNJRklFRBAAGgSCshkAEj0KKk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1NUQVRFX0NSQVNITE9PUBABGg2CshkJY3Jhc2hsb29wEkcKL01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1NUQVRFX0ZBSUxFRF9SRUNMQUlNEAIaEoKyGQ5mYWlsZWQtcmVjbGFpbSqfBgocTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50VHlwZRIvCitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASNAolTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9BTElWRRABGgmCshkFQWxpdmUSOAonTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9DUkFTSEVEEAIaC4KyGQdDcmFzaGVkEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUFhFX0JPT1RJTkcQAxoPgrIZC1BYRSBCb290aW5nEkYKLk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUExBTk5FRF9SRUJPT1QQBBoSgrIZDlBsYW5uZWQgUmVib290EjwKKU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUFJFUEFSSU5HEAUaDYKyGQlQcmVwYXJpbmcSQAorTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9SRUdJU1RFUklORxAGGg+CshkLUmVnaXN0ZXJpbmcSOAonTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9XQUlUSU5HEAcaC4KyGQdXYWl0aW5nEj4KKk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfSU5TVEFMTElORxAIGg6CshkKSW5zdGFsbGluZxJOCjJNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0JPT1RJTkdfTkVXX0tFUk5FTBAJGhaCshkSQm9vdGluZyBOZXcgS2VybmVsEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUEhPTkVEX0hPTUUQChoPgrIZC1Bob25lZCBIb21lEkgKL01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfTUFDSElORV9SRUNMQUlNEAsaE4KyGQ9NYWNoaW5lIFJlY2xhaW0qugEKEU1hY2hpbmVMaXZlbGluZXNzEigKHk1BQ0hJTkVfTElWRUxJTkVTU19VTlNQRUNJRklFRBAAGgSCshkAEicKGE1BQ0hJTkVfTElWRUxJTkVTU19BTElWRRABGgmCshkFYWxpdmUSJQoXTUFDSElORV9MSVZFTElORVNTX0RFQUQQAhoIgrIZBGRlYWQSKwoaTUFDSElORV9MSVZFTElORVNTX1VOS05PV04QAxoLgrIZB3Vua25vd24qrAEKFU1hY2hpbmVBbGxvY2F0aW9uVHlwZRItCiNNQUNISU5FX0FMTE9DQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAGgSCshkAEjAKH01BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX01BQ0hJTkUQARoLgrIZB21hY2hpbmUSMgogTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfRklSRVdBTEwQAhoMgrIZCGZpcmV3YWxsKv4EChFNYWNoaW5lQk1DQ29tbWFuZBIjCh9NQUNISU5FX0JNQ19DT01NQU5EX1VOU1BFQ0lGSUVEEAASIgoWTUFDSElORV9CTUNfQ09NTUFORF9PThABGgaCshkCb24SJAoXTUFDSElORV9CTUNfQ09NTUFORF9PRkYQAhoHgrIZA29mZhIoChlNQUNISU5FX0JNQ19DT01NQU5EX1JFU0VUEAMaCYKyGQVyZXNldBIoChlNQUNISU5FX0JNQ19DT01NQU5EX0NZQ0xFEAQaCYKyGQVjeWNsZRI2CiBNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfVE9fQklPUxAFGhCCshkMYm9vdC10by1iaW9zEjoKIk1BQ0hJTkVfQk1DX0NPTU1BTkRfQk9PVF9GUk9NX0RJU0sQBhoSgrIZDmJvb3QtZnJvbS1kaXNrEjgKIU1BQ0hJTkVfQk1DX0NPTU1BTkRfQk9PVF9GUk9NX1BYRRAHGhGCshkNYm9vdC1mcm9tLXB4ZRI8CiNNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PThAIGhOCshkPaWRlbnRpZnktbGVkLW9uEj4KJE1BQ0hJTkVfQk1DX0NPTU1BTkRfSURFTlRJRllfTEVEX09GRhAJGhSCshkQaWRlbnRpZnktbGVkLW9mZhI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfREVMRVRFRBAKGhOCshkPbWFjaGluZS1kZWxldGVkEjwKI01BQ0hJTkVfQk1DX0NPTU1BTkRfTUFDSElORV9DUkVBVEVEEAsaE4KyGQ9tYWNoaW5lLWNyZWF0ZWQq8wYKEE1hY2hpbmVJc3N1ZVR5cGUSIgoeTUFDSElORV9JU1NVRV9UWVBFX1VOU1BFQ0lGSUVEEAASOQohTUFDSElORV9JU1NVRV9UWVBFX0FTTl9VTklRVUVORVNTEAEaEoKyGQ5hc24tbm90LXVuaXF1ZRI/CiRNQUNISU5FX0lTU1VFX1RZUEVfQk1DX0lORk9fT1VUREFURUQQAhoVgrIZEWJtYy1pbmZvLW91dGRhdGVkEkIKJk1BQ0hJTkVfSVNTVUVfVFlQRV9CTUNfTk9OX0RJU1RJTkNUX0lQEAMaFoKyGRJibWMtbm8tZGlzdGluY3QtaXASOQohTUFDSElORV9JU1NVRV9UWVBFX0JNQ19XSVRIT1VUX0lQEAQaEoKyGQ5ibWMtd2l0aG91dC1pcBI7CiJNQUNISU5FX0lTU1VFX1RZUEVfQk1DX1dJVEhPVVRfTUFDEAUaE4KyGQ9ibWMtd2l0aG91dC1tYWMSMAodTUFDSElORV9JU1NVRV9UWVBFX0NSQVNIX0xPT1AQBhoNgrIZCWNyYXNobG9vcBJJCilNQUNISU5FX0lTU1VFX1RZUEVfRkFJTEVEX01BQ0hJTkVfUkVDTEFJTRAHGhqCshkWZmFpbGVkLW1hY2hpbmUtcmVjbGFpbRI9CiNNQUNISU5FX0lTU1VFX1RZUEVfTEFTVF9FVkVOVF9FUlJPUhAIGhSCshkQbGFzdC1ldmVudC1lcnJvchI7CiJNQUNISU5FX0lTU1VFX1RZUEVfTElWRUxJTkVTU19ERUFEEAkaE4KyGQ9saXZlbGluZXNzLWRlYWQSTQorTUFDSElORV9JU1NVRV9UWVBFX0xJVkVMSU5FU1NfTk9UX0FWQUlMQUJMRRAKGhyCshkYbGl2ZWxpbmVzcy1ub3QtYXZhaWxhYmxlEkEKJU1BQ0hJTkVfSVNTVUVfVFlQRV9MSVZFTElORVNTX1VOS05PV04QCxoWgrIZEmxpdmVsaW5lc3MtdW5rbm93bhJBCiVNQUNISU5FX0lTU1VFX1RZUEVfTk9fRVZFTlRfQ09OVEFJTkVSEAwaFoKyGRJuby1ldmVudC1jb250YWluZXISNQofTUFDSElORV9JU1NVRV9UWVBFX05PX1BBUlRJVElPThANGhCCshkMbm8tcGFydGl0aW9uKssBChRNYWNoaW5lSXNzdWVTZXZlcml0eRImCiJNQUNISU5FX0lTU1VFX1NFVkVSSVRZX1VOU1BFQ0lGSUVEEAASKwocTUFDSElORV9JU1NVRV9TRVZFUklUWV9NSU5PUhABGgmCshkFbWlub3ISKwocTUFDSElORV9JU1NVRV9TRVZFUklUWV9NQUpPUhACGgmCshkFbWFqb3ISMQofTUFDSElORV9JU1NVRV9TRVZFUklUWV9DUklUSUNBTBADGgyCshkIY3JpdGljYWwy0QYKDk1hY2hpbmVTZXJ2aWNlEm0KA0dldBIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnUKBkNyZWF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJwCgRMaXN0EiwubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBotLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZEZWxldGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEoEBCgpCTUNDb21tYW5kEjIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBkdldEJNQxIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2UiCsrzGAIBAuDzGAFCwgEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIMTWFjaGluZVByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_duration, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_filesystem, file_metalstack_api_v2_image, file_metalstack_api_v2_network, file_metalstack_api_v2_partition, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_size]); +export const file_metalstack_api_v2_machine = /*@__PURE__*/ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSKuBwobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIjCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBSAOIAQESHgoEc2l6ZRgHIAEoCUILukgIcgbAs66xAgFIBIgBARIaCgVpbWFnZRgIIAEoCUILukgIcgbAs66xAgESKwoRZmlsZXN5c3RlbV9sYXlvdXQYCSABKAlCC7pICHIGwLOusQIBSAWIAQESMQoPc3NoX3B1YmxpY19rZXlzGAogAygJQhi6SBWSARLQpLOxAgEQMiIIcgaItK6xAgESLAoIdXNlcmRhdGEYCyABKAlCFbpIEnIQ8LOusQIBsLSusQIBGICAAkgGiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxJHCghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29ya0IIukgFkgECCAESMwoQcGxhY2VtZW50X2xhYmVscxgOIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI7CgtkbnNfc2VydmVycxgPIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYECADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgRIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgSIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQgwKCl9wYXJ0aXRpb25CBwoFX3NpemVCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV91c2VyZGF0YSJICgxGaXJld2FsbFNwZWMSOAoOZmlyZXdhbGxfcnVsZXMYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzIksKHE1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUitwIKG01hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIZCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAIgBARI0CgZsYWJlbHMYBSABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIAYgBARIxCg9zc2hfcHVibGljX2tleXMYBiADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECAUIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiMwogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2USDwoHdGFza19pZBgBIAEoCSJQChtNYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiWQocTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZRI5CgtibWNfZGV0YWlscxgGIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNEZXRhaWxzIsoDCgdNYWNoaW5lEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEi8KCXBhcnRpdGlvbhgDIAEoCzIcLm1ldGFsc3RhY2suYXBpLnYyLlBhcnRpdGlvbhIWCgRyYWNrGAQgASgJQgi6SAVyAxiAARIWCgRyb29tGAUgASgJQgi6SAVyAxiAARIlCgRzaXplGAYgASgLMhcubWV0YWxzdGFjay5hcGkudjIuU2l6ZRI0CghoYXJkd2FyZRgHIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVIYXJkd2FyZRI4CgphbGxvY2F0aW9uGAggASgLMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb24SMAoGc3RhdHVzGAkgASgLMiAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXR1cxJWChpyZWNlbnRfcHJvdmlzaW9uaW5nX2V2ZW50cxgKIAEoCzIyLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMi7wEKDU1hY2hpbmVTdGF0dXMSNgoJY29uZGl0aW9uGAEgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNvbmRpdGlvbhJECglsZWRfc3RhdGUYAiABKAsyMS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQ2hhc3Npc0lkZW50aWZ5TEVEU3RhdGUSQgoKbGl2ZWxpbmVzcxgDIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVMaXZlbGluZXNzQgi6SAWCAQIQARIcChRtZXRhbF9oYW1tZXJfdmVyc2lvbhgEIAEoCSKIAQoQTWFjaGluZUNvbmRpdGlvbhI4CgVzdGF0ZRgBIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBEhgKBmlzc3VlchgDIAEoCUIIukgFcgMYgAIiuQYKEU1hY2hpbmVBbGxvY2F0aW9uEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIcCgpjcmVhdGVkX2J5GAUgASgJQgi6SAVyAxiAARIZCgdwcm9qZWN0GAYgASgJQgi6SAVyA7ABARInCgVpbWFnZRgHIAEoCzIYLm1ldGFsc3RhY2suYXBpLnYyLkltYWdlEj4KEWZpbGVzeXN0ZW1fbGF5b3V0GAggASgLMiMubWV0YWxzdGFjay5hcGkudjIuRmlsZXN5c3RlbUxheW91dBIzCghuZXR3b3JrcxgJIAMoCzIhLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrEhkKCGhvc3RuYW1lGAogASgJQge6SARyAmgBEjEKD3NzaF9wdWJsaWNfa2V5cxgLIAMoCUIYukgVkgES0KSzsQIBEDIiCHIGiLSusQIBEiEKCHVzZXJkYXRhGAwgASgJQg+6SAxyCvCzrrECARiAgAISSwoPYWxsb2NhdGlvbl90eXBlGA0gASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI4Cg5maXJld2FsbF9ydWxlcxgOIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMSOwoLZG5zX3NlcnZlcnMYDyADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5ETlNTZXJ2ZXJCCLpIBZIBAhADEjsKC250cF9zZXJ2ZXJzGBAgAygLMhwubWV0YWxzdGFjay5hcGkudjIuTlRQU2VydmVyQgi6SAWSAQIQChIqCgN2cG4YESABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOEjMKEHBsYWNlbWVudF9sYWJlbHMYEiABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMiUwoYTWFjaGluZUFsbG9jYXRpb25OZXR3b3JrEhwKB25ldHdvcmsYASABKAlCC7pICHIGwLOusQIBEhkKA2lwcxgCIAMoCUIMukgJkgEGwKSzsQIBIn8KDUZpcmV3YWxsUnVsZXMSNQoGZWdyZXNzGAEgAygLMiUubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxFZ3Jlc3NSdWxlEjcKB2luZ3Jlc3MYAiADKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbEluZ3Jlc3NSdWxlIrIBChJGaXJld2FsbEVncmVzc1J1bGUSOQoIcHJvdG9jb2wYASABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5JUFByb3RvY29sQgi6SAWCAQIQARIdCgVwb3J0cxgCIAMoDUIOukgLkgEIIgYqBBj8/wMSGAoCdG8YAyADKAlCDLpICZIBBriks7ECARIoCgdjb21tZW50GAQgASgJQhe6SBTYAQFyDxhkMgteW2Etel8gLV0qJCLPAQoTRmlyZXdhbGxJbmdyZXNzUnVsZRI5Cghwcm90b2NvbBgBIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLklQUHJvdG9jb2xCCLpIBYIBAhABEh0KBXBvcnRzGAIgAygNQg66SAuSAQgiBioEGPz/AxIYCgJ0bxgDIAMoCUIMukgJkgEGuKSzsQIBEhoKBGZyb20YBCADKAlCDLpICZIBBriks7ECARIoCgdjb21tZW50GAUgASgJQhe6SBTYAQFyDxhkMgteW2Etel8gLV0qJCLGAgoOTWFjaGluZU5ldHdvcmsSDwoHbmV0d29yaxgBIAEoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESPgoMbmV0d29ya190eXBlGAUgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1R5cGVCCLpIBYIBAhABEjYKCG5hdF90eXBlGAYgASgOMhoubWV0YWxzdGFjay5hcGkudjIuTkFUVHlwZUIIukgFggECEAESCwoDdnJmGAcgASgEEgsKA2FzbhgIIAEoDRIeCgdwcm9qZWN0GAkgASgJQgi6SAVyA7ABAUgAiAEBQgoKCF9wcm9qZWN0ItoBCg9NYWNoaW5lSGFyZHdhcmUSDgoGbWVtb3J5GAEgASgEEjQKBWRpc2tzGAIgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJsb2NrRGV2aWNlEikKBGNwdXMYAyADKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhbENQVRIpCgRncHVzGAQgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxHUFUSKwoEbmljcxgFIAMoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWMiXQoITWV0YWxDUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAISDQoFY29yZXMYAyABKA0SDwoHdGhyZWFkcxgEIAEoDSI9CghNZXRhbEdQVRIYCgZ2ZW5kb3IYASABKAlCCLpIBXIDGIACEhcKBW1vZGVsGAIgASgJQgi6SAVyAxiAAiLmAQoKTWFjaGluZU5pYxIYCgNtYWMYASABKAlCC7pICHIGuLOusQIBEhkKBG5hbWUYAiABKAlCC7pICHIGwLOusQIBEhwKCmlkZW50aWZpZXIYAyABKAlCCLpIBXIDGIABEhgKBnZlbmRvchgEIAEoCUIIukgFcgMYgAESFwoFbW9kZWwYBSABKAlCCLpIBXIDGIABEg0KBXNwZWVkGAYgASgEEjEKCW5laWdoYm9ycxgHIAMoCzIeLm1ldGFsc3RhY2suYXBpLnYyLk5laWdoYm9yTmljEhAKCGhvc3RuYW1lGAggASgJImwKC05laWdoYm9yTmljEhkKBG5hbWUYASABKAlCC7pICHIGwLOusQIBEiEKCmlkZW50aWZpZXIYAiABKAlCCLpIBXIDGIABSACIAQESEAoIaG9zdG5hbWUYAyABKAlCDQoLX2lkZW50aWZpZXIiPQoSTWFjaGluZUJsb2NrRGV2aWNlEhkKBG5hbWUYASABKAlCC7pICHIGwLOusQIBEgwKBHNpemUYAiABKAQiWwoeTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEhcKBXZhbHVlGAEgASgJQgi6SAVyAxiAARIgCgtkZXNjcmlwdGlvbhgCIAEoCUILukgIcgbIs66xAgEiyQEKEU1hY2hpbmVCTUNEZXRhaWxzEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhsKCXBhcnRpdGlvbhgCIAEoCUIIukgFcgMYgAESFgoEcmFjaxgDIAEoCUIIukgFcgMYgAESFgoEcm9vbRgEIAEoCUIIukgFcgMYgAESFgoEc2l6ZRgFIAEoCUIIukgFcgMYgAESNwoKYm1jX3JlcG9ydBgGIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNSZXBvcnQiogMKEE1hY2hpbmVCTUNSZXBvcnQSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESKgoDYm1jGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQxIsCgRiaW9zGAMgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJpb3MSKgoDZnJ1GAQgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVRI7Cgxwb3dlcl9tZXRyaWMYBSABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJNZXRyaWMSPQoOcG93ZXJfc3VwcGxpZXMYBiADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJTdXBwbHkSRAoJbGVkX3N0YXRlGAcgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImMKC01hY2hpbmVCaW9zEhwKB3ZlcnNpb24YASABKAlCC7pICHIGyLOusQIBEhsKBnZlbmRvchgCIAEoCUILukgIcgbIs66xAgESGQoEZGF0ZRgDIAEoCUILukgIcgbIs66xAgEi2wEKCk1hY2hpbmVCTUMSGQoHYWRkcmVzcxgBIAEoCUIIukgFcgOAAgESGAoDbWFjGAIgASgJQgu6SAhyBrizrrECARIZCgR1c2VyGAMgASgJQgu6SAhyBsizrrECARIdCghwYXNzd29yZBgEIAEoCUILukgIcgbIs66xAgESHgoJaW50ZXJmYWNlGAUgASgJQgu6SAhyBsizrrECARIcCgd2ZXJzaW9uGAYgASgJQgu6SAhyBsizrrECARIgCgtwb3dlcl9zdGF0ZRgHIAEoCUILukgIcgbIs66xAgEingQKCk1hY2hpbmVGUlUSLQoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUILukgIcgbIs66xAgFIAIgBARItChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCWJvYXJkX21mZxgDIAEoCUILukgIcgbIs66xAgFIAogBARIqChBib2FyZF9tZmdfc2VyaWFsGAQgASgJQgu6SAhyBsizrrECAUgDiAEBEisKEWJvYXJkX3BhcnRfbnVtYmVyGAUgASgJQgu6SAhyBsizrrECAUgEiAEBEi4KFHByb2R1Y3RfbWFudWZhY3R1cmVyGAYgASgJQgu6SAhyBsizrrECAUgFiAEBEi0KE3Byb2R1Y3RfcGFydF9udW1iZXIYByABKAlCC7pICHIGyLOusQIBSAaIAQESKAoOcHJvZHVjdF9zZXJpYWwYCCABKAlCC7pICHIGyLOusQIBSAeIAQFCFgoUX2NoYXNzaXNfcGFydF9udW1iZXJCFgoUX2NoYXNzaXNfcGFydF9zZXJpYWxCDAoKX2JvYXJkX21mZ0ITChFfYm9hcmRfbWZnX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCKFAQoSTWFjaGluZVBvd2VyTWV0cmljEh4KFmF2ZXJhZ2VfY29uc3VtZWRfd2F0dHMYASABKAISFwoPaW50ZXJ2YWxfaW5fbWluGAIgASgCEhoKEm1heF9jb25zdW1lZF93YXR0cxgDIAEoAhIaChJtaW5fY29uc3VtZWRfd2F0dHMYBCABKAIiMwoSTWFjaGluZVBvd2VyU3VwcGx5Eg4KBmhlYWx0aBgBIAEoCRINCgVzdGF0ZRgCIAEoCSKlAgofTWFjaGluZVJlY2VudFByb3Zpc2lvbmluZ0V2ZW50cxI7CgZldmVudHMYASADKAsyKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSMwoPbGFzdF9ldmVudF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJFChBsYXN0X2Vycm9yX2V2ZW50GAMgASgLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EkkKBXN0YXRlGAQgASgOMjAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGVCCLpIBYIBAhABIp8BChhNYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASSAoFZXZlbnQYAiABKA4yLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRUeXBlQgi6SAWCAQIQARIPCgdtZXNzYWdlGAMgASgJImsKCk1hY2hpbmVWUE4SHQoVY29udHJvbF9wbGFuZV9hZGRyZXNzGAEgASgJEhAKCGF1dGhfa2V5GAIgASgJEhEKCWNvbm5lY3RlZBgDIAEoCBIZCgNpcHMYBCADKAlCDLpICZIBBsCks7ECASLmBwoMTWFjaGluZVF1ZXJ5EhsKBHV1aWQYASABKAlCCLpIBXIDsAEBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIjCglwYXJ0aXRpb24YAyABKAlCC7pICHIG0LOusQIBSAKIAQESHgoEc2l6ZRgEIAEoCUILukgIcgbAs66xAgFIA4gBARIeCgRyYWNrGAUgASgJQgu6SAhyBsCzrrECAUgEiAEBEh4KBHJvb20YBiABKAlCC7pICHIGwLOusQIBSAWIAQESLgoGbGFiZWxzGAcgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAaIAQESQgoKYWxsb2NhdGlvbhgIIAEoCzIpLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uUXVlcnlIB4gBARI8CgduZXR3b3JrGAkgASgLMiYubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5ldHdvcmtRdWVyeUgIiAEBEjQKA25pYxgKIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWNRdWVyeUgJiAEBEjYKBGRpc2sYCyABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lRGlza1F1ZXJ5SAqIAQESNAoDYm1jGAwgASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1F1ZXJ5SAuIAQESNAoDZnJ1GA0gASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVVF1ZXJ5SAyIAQESPgoIaGFyZHdhcmUYDiABKAsyJy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmVRdWVyeUgNiAEBEjMKBXN0YXRlGA8gASgOMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXRlSA6IAQESFAoHd2FpdGluZxgQIAEoCEgPiAEBEhkKDHByZWFsbG9jYXRlZBgRIAEoCEgQiAEBEhoKDW5vdF9hbGxvY2F0ZWQYEiABKAhIEYgBAUIHCgVfdXVpZEIHCgVfbmFtZUIMCgpfcGFydGl0aW9uQgcKBV9zaXplQgcKBV9yYWNrQgcKBV9yb29tQgkKB19sYWJlbHNCDQoLX2FsbG9jYXRpb25CCgoIX25ldHdvcmtCBgoEX25pY0IHCgVfZGlza0IGCgRfYm1jQgYKBF9mcnVCCwoJX2hhcmR3YXJlQggKBl9zdGF0ZUIKCghfd2FpdGluZ0IPCg1fcHJlYWxsb2NhdGVkQhAKDl9ub3RfYWxsb2NhdGVkIogEChZNYWNoaW5lQWxsb2NhdGlvblF1ZXJ5EhsKBHV1aWQYASABKAlCCLpIBXIDsAEBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIeCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABAUgCiAEBEh8KBWltYWdlGAQgASgJQgu6SAhyBsCzrrECAUgDiAEBEisKEWZpbGVzeXN0ZW1fbGF5b3V0GAUgASgJQgu6SAhyBsCzrrECAUgEiAEBEh4KCGhvc3RuYW1lGAYgASgJQge6SARyAmgBSAWIAQESUAoPYWxsb2NhdGlvbl90eXBlGAcgASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQAUgGiAEBEi4KBmxhYmVscxgIIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gHiAEBEi8KA3ZwbhgJIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVWUE5ICIgBAUIHCgVfdXVpZEIHCgVfbmFtZUIKCghfcHJvamVjdEIICgZfaW1hZ2VCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV9ob3N0bmFtZUISChBfYWxsb2NhdGlvbl90eXBlQgkKB19sYWJlbHNCBgoEX3ZwbiKqAQoTTWFjaGluZU5ldHdvcmtRdWVyeRIQCghuZXR3b3JrcxgBIAMoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESDAoEdnJmcxgFIAMoBBIMCgRhc25zGAYgAygNIq8BCg9NYWNoaW5lTmljUXVlcnkSIgoEbWFjcxgBIAMoCUIUukgRkgEOEGQYASIIcga4s66xAgESIAoFbmFtZXMYAiADKAlCEbpIDpIBCxBkGAEiBXIDGIABEisKDW5laWdoYm9yX21hY3MYAyADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEikKDm5laWdoYm9yX25hbWVzGAQgAygJQhG6SA6SAQsQZBgBIgVyAxiAASJLChBNYWNoaW5lRGlza1F1ZXJ5Eh4KBW5hbWVzGAEgAygJQg+6SAySAQkQZCIFcgMYgAESFwoFc2l6ZXMYAiADKARCCLpIBZIBAhBkIrkBCg9NYWNoaW5lQk1DUXVlcnkSHQoHYWRkcmVzcxgBIAEoCUIHukgEcgJwAUgAiAEBEh0KA21hYxgCIAEoCUILukgIcga4s66xAgFIAYgBARIbCgR1c2VyGAMgASgJQgi6SAVyAxiAAUgCiAEBEiAKCWludGVyZmFjZRgEIAEoCUIIukgFcgMYgAFIA4gBAUIKCghfYWRkcmVzc0IGCgRfbWFjQgcKBV91c2VyQgwKCl9pbnRlcmZhY2UigwQKD01hY2hpbmVGUlVRdWVyeRIqChNjaGFzc2lzX3BhcnRfbnVtYmVyGAEgASgJQgi6SAVyAxiAAUgAiAEBEioKE2NoYXNzaXNfcGFydF9zZXJpYWwYAiABKAlCCLpIBXIDGIABSAGIAQESIAoJYm9hcmRfbWZnGAMgASgJQgi6SAVyAxiAAUgCiAEBEiMKDGJvYXJkX3NlcmlhbBgEIAEoCUIIukgFcgMYgAFIA4gBARIoChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUIIukgFcgMYgAFIBIgBARIrChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUIIukgFcgMYgAFIBYgBARIqChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgi6SAVyAxiAAUgGiAEBEiUKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgi6SAVyAxiAAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCDwoNX2JvYXJkX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCJcChRNYWNoaW5lSGFyZHdhcmVRdWVyeRITCgZtZW1vcnkYASABKARIAIgBARIWCgljcHVfY29yZXMYAiABKA1IAYgBAUIJCgdfbWVtb3J5QgwKCl9jcHVfY29yZXMi4AIKEk1hY2hpbmVJc3N1ZXNRdWVyeRI2Cg1tYWNoaW5lX3F1ZXJ5GAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVF1ZXJ5EkAKBG9ubHkYAiADKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQg26SAqSAQciBYIBAhABEkAKBG9taXQYAyADKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQg26SAqSAQciBYIBAhABEkgKCHNldmVyaXR5GAQgASgOMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlU2V2ZXJpdHlCCLpIBYIBAhABSACIAQESNwoUbGFzdF9lcnJvcl90aHJlc2hvbGQYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CCwoJX3NldmVyaXR5IlgKDU1hY2hpbmVJc3N1ZXMSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESLwoGaXNzdWVzGAIgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlIucBCgxNYWNoaW5lSXNzdWUSOwoEdHlwZRgBIAEoDjIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVR5cGVCCLpIBYIBAhABEkMKCHNldmVyaXR5GAIgASgOMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlU2V2ZXJpdHlCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECARIiCg1yZWZlcmVuY2VfdXJsGAQgASgJQgu6SAhyBuCzrrECARIPCgdkZXRhaWxzGAUgASgJKmUKCklQUHJvdG9jb2wSGwoXSVBfUFJPVE9DT0xfVU5TUEVDSUZJRUQQABIcCg9JUF9QUk9UT0NPTF9UQ1AQARoHgrIZA3RjcBIcCg9JUF9QUk9UT0NPTF9VRFAQAhoHgrIZA3VkcCqtAQoMTWFjaGluZVN0YXRlEiMKGU1BQ0hJTkVfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABImChVNQUNISU5FX1NUQVRFX1RBSU5URUQQARoLgrIZB3RhaW50ZWQSJAoUTUFDSElORV9TVEFURV9MT0NLRUQQAhoKgrIZBmxvY2tlZBIqChdNQUNISU5FX1NUQVRFX0FWQUlMQUJMRRADGg2CshkJYXZhaWxhYmxlKt8BCh1NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRTdGF0ZRI2CixNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9VTlNQRUNJRklFRBAAGgSCshkAEj0KKk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1NUQVRFX0NSQVNITE9PUBABGg2CshkJY3Jhc2hsb29wEkcKL01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1NUQVRFX0ZBSUxFRF9SRUNMQUlNEAIaEoKyGQ5mYWlsZWQtcmVjbGFpbSqfBgocTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50VHlwZRIvCitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASNAolTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9BTElWRRABGgmCshkFQWxpdmUSOAonTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9DUkFTSEVEEAIaC4KyGQdDcmFzaGVkEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUFhFX0JPT1RJTkcQAxoPgrIZC1BYRSBCb290aW5nEkYKLk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUExBTk5FRF9SRUJPT1QQBBoSgrIZDlBsYW5uZWQgUmVib290EjwKKU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUFJFUEFSSU5HEAUaDYKyGQlQcmVwYXJpbmcSQAorTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9SRUdJU1RFUklORxAGGg+CshkLUmVnaXN0ZXJpbmcSOAonTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9XQUlUSU5HEAcaC4KyGQdXYWl0aW5nEj4KKk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfSU5TVEFMTElORxAIGg6CshkKSW5zdGFsbGluZxJOCjJNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0JPT1RJTkdfTkVXX0tFUk5FTBAJGhaCshkSQm9vdGluZyBOZXcgS2VybmVsEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUEhPTkVEX0hPTUUQChoPgrIZC1Bob25lZCBIb21lEkgKL01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfTUFDSElORV9SRUNMQUlNEAsaE4KyGQ9NYWNoaW5lIFJlY2xhaW0qugEKEU1hY2hpbmVMaXZlbGluZXNzEigKHk1BQ0hJTkVfTElWRUxJTkVTU19VTlNQRUNJRklFRBAAGgSCshkAEicKGE1BQ0hJTkVfTElWRUxJTkVTU19BTElWRRABGgmCshkFYWxpdmUSJQoXTUFDSElORV9MSVZFTElORVNTX0RFQUQQAhoIgrIZBGRlYWQSKwoaTUFDSElORV9MSVZFTElORVNTX1VOS05PV04QAxoLgrIZB3Vua25vd24qrAEKFU1hY2hpbmVBbGxvY2F0aW9uVHlwZRItCiNNQUNISU5FX0FMTE9DQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAGgSCshkAEjAKH01BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX01BQ0hJTkUQARoLgrIZB21hY2hpbmUSMgogTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfRklSRVdBTEwQAhoMgrIZCGZpcmV3YWxsKv4EChFNYWNoaW5lQk1DQ29tbWFuZBIjCh9NQUNISU5FX0JNQ19DT01NQU5EX1VOU1BFQ0lGSUVEEAASIgoWTUFDSElORV9CTUNfQ09NTUFORF9PThABGgaCshkCb24SJAoXTUFDSElORV9CTUNfQ09NTUFORF9PRkYQAhoHgrIZA29mZhIoChlNQUNISU5FX0JNQ19DT01NQU5EX1JFU0VUEAMaCYKyGQVyZXNldBIoChlNQUNISU5FX0JNQ19DT01NQU5EX0NZQ0xFEAQaCYKyGQVjeWNsZRI2CiBNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfVE9fQklPUxAFGhCCshkMYm9vdC10by1iaW9zEjoKIk1BQ0hJTkVfQk1DX0NPTU1BTkRfQk9PVF9GUk9NX0RJU0sQBhoSgrIZDmJvb3QtZnJvbS1kaXNrEjgKIU1BQ0hJTkVfQk1DX0NPTU1BTkRfQk9PVF9GUk9NX1BYRRAHGhGCshkNYm9vdC1mcm9tLXB4ZRI8CiNNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PThAIGhOCshkPaWRlbnRpZnktbGVkLW9uEj4KJE1BQ0hJTkVfQk1DX0NPTU1BTkRfSURFTlRJRllfTEVEX09GRhAJGhSCshkQaWRlbnRpZnktbGVkLW9mZhI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfREVMRVRFRBAKGhOCshkPbWFjaGluZS1kZWxldGVkEjwKI01BQ0hJTkVfQk1DX0NPTU1BTkRfTUFDSElORV9DUkVBVEVEEAsaE4KyGQ9tYWNoaW5lLWNyZWF0ZWQq8wYKEE1hY2hpbmVJc3N1ZVR5cGUSIgoeTUFDSElORV9JU1NVRV9UWVBFX1VOU1BFQ0lGSUVEEAASOQohTUFDSElORV9JU1NVRV9UWVBFX0FTTl9VTklRVUVORVNTEAEaEoKyGQ5hc24tbm90LXVuaXF1ZRI/CiRNQUNISU5FX0lTU1VFX1RZUEVfQk1DX0lORk9fT1VUREFURUQQAhoVgrIZEWJtYy1pbmZvLW91dGRhdGVkEkIKJk1BQ0hJTkVfSVNTVUVfVFlQRV9CTUNfTk9OX0RJU1RJTkNUX0lQEAMaFoKyGRJibWMtbm8tZGlzdGluY3QtaXASOQohTUFDSElORV9JU1NVRV9UWVBFX0JNQ19XSVRIT1VUX0lQEAQaEoKyGQ5ibWMtd2l0aG91dC1pcBI7CiJNQUNISU5FX0lTU1VFX1RZUEVfQk1DX1dJVEhPVVRfTUFDEAUaE4KyGQ9ibWMtd2l0aG91dC1tYWMSMAodTUFDSElORV9JU1NVRV9UWVBFX0NSQVNIX0xPT1AQBhoNgrIZCWNyYXNobG9vcBJJCilNQUNISU5FX0lTU1VFX1RZUEVfRkFJTEVEX01BQ0hJTkVfUkVDTEFJTRAHGhqCshkWZmFpbGVkLW1hY2hpbmUtcmVjbGFpbRI9CiNNQUNISU5FX0lTU1VFX1RZUEVfTEFTVF9FVkVOVF9FUlJPUhAIGhSCshkQbGFzdC1ldmVudC1lcnJvchI7CiJNQUNISU5FX0lTU1VFX1RZUEVfTElWRUxJTkVTU19ERUFEEAkaE4KyGQ9saXZlbGluZXNzLWRlYWQSTQorTUFDSElORV9JU1NVRV9UWVBFX0xJVkVMSU5FU1NfTk9UX0FWQUlMQUJMRRAKGhyCshkYbGl2ZWxpbmVzcy1ub3QtYXZhaWxhYmxlEkEKJU1BQ0hJTkVfSVNTVUVfVFlQRV9MSVZFTElORVNTX1VOS05PV04QCxoWgrIZEmxpdmVsaW5lc3MtdW5rbm93bhJBCiVNQUNISU5FX0lTU1VFX1RZUEVfTk9fRVZFTlRfQ09OVEFJTkVSEAwaFoKyGRJuby1ldmVudC1jb250YWluZXISNQofTUFDSElORV9JU1NVRV9UWVBFX05PX1BBUlRJVElPThANGhCCshkMbm8tcGFydGl0aW9uKssBChRNYWNoaW5lSXNzdWVTZXZlcml0eRImCiJNQUNISU5FX0lTU1VFX1NFVkVSSVRZX1VOU1BFQ0lGSUVEEAASKwocTUFDSElORV9JU1NVRV9TRVZFUklUWV9NSU5PUhABGgmCshkFbWlub3ISKwocTUFDSElORV9JU1NVRV9TRVZFUklUWV9NQUpPUhACGgmCshkFbWFqb3ISMQofTUFDSElORV9JU1NVRV9TRVZFUklUWV9DUklUSUNBTBADGgyCshkIY3JpdGljYWwy0QYKDk1hY2hpbmVTZXJ2aWNlEm0KA0dldBIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnUKBkNyZWF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJwCgRMaXN0EiwubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBotLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZEZWxldGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEoEBCgpCTUNDb21tYW5kEjIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBkdldEJNQxIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2UiCsrzGAIBAuDzGAFCwgEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIMTWFjaGluZVByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_duration, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_filesystem, file_metalstack_api_v2_image, file_metalstack_api_v2_network, file_metalstack_api_v2_partition, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_size]); /** * Describes the message metalstack.api.v2.MachineServiceGetRequest. * Use `create(MachineServiceGetRequestSchema)` to create a new message. @@ -155,121 +155,126 @@ export const MetalGPUSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_m * Use `create(MachineNicSchema)` to create a new message. */ export const MachineNicSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 27); +/** + * Describes the message metalstack.api.v2.NeighborNic. + * Use `create(NeighborNicSchema)` to create a new message. + */ +export const NeighborNicSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 28); /** * Describes the message metalstack.api.v2.MachineBlockDevice. * Use `create(MachineBlockDeviceSchema)` to create a new message. */ -export const MachineBlockDeviceSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 28); +export const MachineBlockDeviceSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 29); /** * Describes the message metalstack.api.v2.MachineChassisIdentifyLEDState. * Use `create(MachineChassisIdentifyLEDStateSchema)` to create a new message. */ -export const MachineChassisIdentifyLEDStateSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 29); +export const MachineChassisIdentifyLEDStateSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 30); /** * Describes the message metalstack.api.v2.MachineBMCDetails. * Use `create(MachineBMCDetailsSchema)` to create a new message. */ -export const MachineBMCDetailsSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 30); +export const MachineBMCDetailsSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 31); /** * Describes the message metalstack.api.v2.MachineBMCReport. * Use `create(MachineBMCReportSchema)` to create a new message. */ -export const MachineBMCReportSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 31); +export const MachineBMCReportSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 32); /** * Describes the message metalstack.api.v2.MachineBios. * Use `create(MachineBiosSchema)` to create a new message. */ -export const MachineBiosSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 32); +export const MachineBiosSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 33); /** * Describes the message metalstack.api.v2.MachineBMC. * Use `create(MachineBMCSchema)` to create a new message. */ -export const MachineBMCSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 33); +export const MachineBMCSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 34); /** * Describes the message metalstack.api.v2.MachineFRU. * Use `create(MachineFRUSchema)` to create a new message. */ -export const MachineFRUSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 34); +export const MachineFRUSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 35); /** * Describes the message metalstack.api.v2.MachinePowerMetric. * Use `create(MachinePowerMetricSchema)` to create a new message. */ -export const MachinePowerMetricSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 35); +export const MachinePowerMetricSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 36); /** * Describes the message metalstack.api.v2.MachinePowerSupply. * Use `create(MachinePowerSupplySchema)` to create a new message. */ -export const MachinePowerSupplySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 36); +export const MachinePowerSupplySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 37); /** * Describes the message metalstack.api.v2.MachineRecentProvisioningEvents. * Use `create(MachineRecentProvisioningEventsSchema)` to create a new message. */ -export const MachineRecentProvisioningEventsSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 37); +export const MachineRecentProvisioningEventsSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 38); /** * Describes the message metalstack.api.v2.MachineProvisioningEvent. * Use `create(MachineProvisioningEventSchema)` to create a new message. */ -export const MachineProvisioningEventSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 38); +export const MachineProvisioningEventSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 39); /** * Describes the message metalstack.api.v2.MachineVPN. * Use `create(MachineVPNSchema)` to create a new message. */ -export const MachineVPNSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 39); +export const MachineVPNSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 40); /** * Describes the message metalstack.api.v2.MachineQuery. * Use `create(MachineQuerySchema)` to create a new message. */ -export const MachineQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 40); +export const MachineQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 41); /** * Describes the message metalstack.api.v2.MachineAllocationQuery. * Use `create(MachineAllocationQuerySchema)` to create a new message. */ -export const MachineAllocationQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 41); +export const MachineAllocationQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 42); /** * Describes the message metalstack.api.v2.MachineNetworkQuery. * Use `create(MachineNetworkQuerySchema)` to create a new message. */ -export const MachineNetworkQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 42); +export const MachineNetworkQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 43); /** * Describes the message metalstack.api.v2.MachineNicQuery. * Use `create(MachineNicQuerySchema)` to create a new message. */ -export const MachineNicQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 43); +export const MachineNicQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 44); /** * Describes the message metalstack.api.v2.MachineDiskQuery. * Use `create(MachineDiskQuerySchema)` to create a new message. */ -export const MachineDiskQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 44); +export const MachineDiskQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 45); /** * Describes the message metalstack.api.v2.MachineBMCQuery. * Use `create(MachineBMCQuerySchema)` to create a new message. */ -export const MachineBMCQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 45); +export const MachineBMCQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 46); /** * Describes the message metalstack.api.v2.MachineFRUQuery. * Use `create(MachineFRUQuerySchema)` to create a new message. */ -export const MachineFRUQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 46); +export const MachineFRUQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 47); /** * Describes the message metalstack.api.v2.MachineHardwareQuery. * Use `create(MachineHardwareQuerySchema)` to create a new message. */ -export const MachineHardwareQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 47); +export const MachineHardwareQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 48); /** * Describes the message metalstack.api.v2.MachineIssuesQuery. * Use `create(MachineIssuesQuerySchema)` to create a new message. */ -export const MachineIssuesQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 48); +export const MachineIssuesQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 49); /** * Describes the message metalstack.api.v2.MachineIssues. * Use `create(MachineIssuesSchema)` to create a new message. */ -export const MachineIssuesSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 49); +export const MachineIssuesSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 50); /** * Describes the message metalstack.api.v2.MachineIssue. * Use `create(MachineIssueSchema)` to create a new message. */ -export const MachineIssueSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 50); +export const MachineIssueSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 51); /** * IPProtocol defines tcp|udp. * diff --git a/js/metalstack/api/v2/machine_pb.ts b/js/metalstack/api/v2/machine_pb.ts index e0f25b79..2e092520 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("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSKuBwobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIjCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBSAOIAQESHgoEc2l6ZRgHIAEoCUILukgIcgbAs66xAgFIBIgBARIaCgVpbWFnZRgIIAEoCUILukgIcgbAs66xAgESKwoRZmlsZXN5c3RlbV9sYXlvdXQYCSABKAlCC7pICHIGwLOusQIBSAWIAQESMQoPc3NoX3B1YmxpY19rZXlzGAogAygJQhi6SBWSARLQpLOxAgEQMiIIcgaItK6xAgESLAoIdXNlcmRhdGEYCyABKAlCFbpIEnIQ8LOusQIBsLSusQIBGICAAkgGiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxJHCghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29ya0IIukgFkgECCAESMwoQcGxhY2VtZW50X2xhYmVscxgOIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI7CgtkbnNfc2VydmVycxgPIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYECADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgRIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgSIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQgwKCl9wYXJ0aXRpb25CBwoFX3NpemVCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV91c2VyZGF0YSJICgxGaXJld2FsbFNwZWMSOAoOZmlyZXdhbGxfcnVsZXMYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzIksKHE1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUitwIKG01hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIZCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAIgBARI0CgZsYWJlbHMYBSABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIAYgBARIxCg9zc2hfcHVibGljX2tleXMYBiADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECAUIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiMwogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2USDwoHdGFza19pZBgBIAEoCSJQChtNYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiWQocTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZRI5CgtibWNfZGV0YWlscxgGIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNEZXRhaWxzIsoDCgdNYWNoaW5lEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEi8KCXBhcnRpdGlvbhgDIAEoCzIcLm1ldGFsc3RhY2suYXBpLnYyLlBhcnRpdGlvbhIWCgRyYWNrGAQgASgJQgi6SAVyAxiAARIWCgRyb29tGAUgASgJQgi6SAVyAxiAARIlCgRzaXplGAYgASgLMhcubWV0YWxzdGFjay5hcGkudjIuU2l6ZRI0CghoYXJkd2FyZRgHIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVIYXJkd2FyZRI4CgphbGxvY2F0aW9uGAggASgLMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb24SMAoGc3RhdHVzGAkgASgLMiAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXR1cxJWChpyZWNlbnRfcHJvdmlzaW9uaW5nX2V2ZW50cxgKIAEoCzIyLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMi7wEKDU1hY2hpbmVTdGF0dXMSNgoJY29uZGl0aW9uGAEgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNvbmRpdGlvbhJECglsZWRfc3RhdGUYAiABKAsyMS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQ2hhc3Npc0lkZW50aWZ5TEVEU3RhdGUSQgoKbGl2ZWxpbmVzcxgDIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVMaXZlbGluZXNzQgi6SAWCAQIQARIcChRtZXRhbF9oYW1tZXJfdmVyc2lvbhgEIAEoCSKIAQoQTWFjaGluZUNvbmRpdGlvbhI4CgVzdGF0ZRgBIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBEhgKBmlzc3VlchgDIAEoCUIIukgFcgMYgAIiuQYKEU1hY2hpbmVBbGxvY2F0aW9uEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIcCgpjcmVhdGVkX2J5GAUgASgJQgi6SAVyAxiAARIZCgdwcm9qZWN0GAYgASgJQgi6SAVyA7ABARInCgVpbWFnZRgHIAEoCzIYLm1ldGFsc3RhY2suYXBpLnYyLkltYWdlEj4KEWZpbGVzeXN0ZW1fbGF5b3V0GAggASgLMiMubWV0YWxzdGFjay5hcGkudjIuRmlsZXN5c3RlbUxheW91dBIzCghuZXR3b3JrcxgJIAMoCzIhLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrEhkKCGhvc3RuYW1lGAogASgJQge6SARyAmgBEjEKD3NzaF9wdWJsaWNfa2V5cxgLIAMoCUIYukgVkgES0KSzsQIBEDIiCHIGiLSusQIBEiEKCHVzZXJkYXRhGAwgASgJQg+6SAxyCvCzrrECARiAgAISSwoPYWxsb2NhdGlvbl90eXBlGA0gASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI4Cg5maXJld2FsbF9ydWxlcxgOIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMSOwoLZG5zX3NlcnZlcnMYDyADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5ETlNTZXJ2ZXJCCLpIBZIBAhADEjsKC250cF9zZXJ2ZXJzGBAgAygLMhwubWV0YWxzdGFjay5hcGkudjIuTlRQU2VydmVyQgi6SAWSAQIQChIqCgN2cG4YESABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOEjMKEHBsYWNlbWVudF9sYWJlbHMYEiABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMiUwoYTWFjaGluZUFsbG9jYXRpb25OZXR3b3JrEhwKB25ldHdvcmsYASABKAlCC7pICHIGwLOusQIBEhkKA2lwcxgCIAMoCUIMukgJkgEGwKSzsQIBIn8KDUZpcmV3YWxsUnVsZXMSNQoGZWdyZXNzGAEgAygLMiUubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxFZ3Jlc3NSdWxlEjcKB2luZ3Jlc3MYAiADKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbEluZ3Jlc3NSdWxlIrIBChJGaXJld2FsbEVncmVzc1J1bGUSOQoIcHJvdG9jb2wYASABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5JUFByb3RvY29sQgi6SAWCAQIQARIdCgVwb3J0cxgCIAMoDUIOukgLkgEIIgYqBBj8/wMSGAoCdG8YAyADKAlCDLpICZIBBriks7ECARIoCgdjb21tZW50GAQgASgJQhe6SBTYAQFyDxhkMgteW2Etel8gLV0qJCLPAQoTRmlyZXdhbGxJbmdyZXNzUnVsZRI5Cghwcm90b2NvbBgBIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLklQUHJvdG9jb2xCCLpIBYIBAhABEh0KBXBvcnRzGAIgAygNQg66SAuSAQgiBioEGPz/AxIYCgJ0bxgDIAMoCUIMukgJkgEGuKSzsQIBEhoKBGZyb20YBCADKAlCDLpICZIBBriks7ECARIoCgdjb21tZW50GAUgASgJQhe6SBTYAQFyDxhkMgteW2Etel8gLV0qJCLGAgoOTWFjaGluZU5ldHdvcmsSDwoHbmV0d29yaxgBIAEoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESPgoMbmV0d29ya190eXBlGAUgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1R5cGVCCLpIBYIBAhABEjYKCG5hdF90eXBlGAYgASgOMhoubWV0YWxzdGFjay5hcGkudjIuTkFUVHlwZUIIukgFggECEAESCwoDdnJmGAcgASgEEgsKA2FzbhgIIAEoDRIeCgdwcm9qZWN0GAkgASgJQgi6SAVyA7ABAUgAiAEBQgoKCF9wcm9qZWN0ItoBCg9NYWNoaW5lSGFyZHdhcmUSDgoGbWVtb3J5GAEgASgEEjQKBWRpc2tzGAIgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJsb2NrRGV2aWNlEikKBGNwdXMYAyADKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhbENQVRIpCgRncHVzGAQgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxHUFUSKwoEbmljcxgFIAMoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWMiXQoITWV0YWxDUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAISDQoFY29yZXMYAyABKA0SDwoHdGhyZWFkcxgEIAEoDSI9CghNZXRhbEdQVRIYCgZ2ZW5kb3IYASABKAlCCLpIBXIDGIACEhcKBW1vZGVsGAIgASgJQgi6SAVyAxiAAiLcAQoKTWFjaGluZU5pYxIPCgNtYWMYASABKAlCAhgBEhkKBG5hbWUYAiABKAlCC7pICHIGwLOusQIBEhwKCmlkZW50aWZpZXIYAyABKAlCCLpIBXIDGIABEhgKBnZlbmRvchgEIAEoCUIIukgFcgMYgAESFwoFbW9kZWwYBSABKAlCCLpIBXIDGIABEg0KBXNwZWVkGAYgASgEEjAKCW5laWdoYm9ycxgHIAMoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWMSEAoIaG9zdG5hbWUYCCABKAkiPQoSTWFjaGluZUJsb2NrRGV2aWNlEhkKBG5hbWUYASABKAlCC7pICHIGwLOusQIBEgwKBHNpemUYAiABKAQiWwoeTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEhcKBXZhbHVlGAEgASgJQgi6SAVyAxiAARIgCgtkZXNjcmlwdGlvbhgCIAEoCUILukgIcgbIs66xAgEiyQEKEU1hY2hpbmVCTUNEZXRhaWxzEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhsKCXBhcnRpdGlvbhgCIAEoCUIIukgFcgMYgAESFgoEcmFjaxgDIAEoCUIIukgFcgMYgAESFgoEcm9vbRgEIAEoCUIIukgFcgMYgAESFgoEc2l6ZRgFIAEoCUIIukgFcgMYgAESNwoKYm1jX3JlcG9ydBgGIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNSZXBvcnQiogMKEE1hY2hpbmVCTUNSZXBvcnQSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESKgoDYm1jGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQxIsCgRiaW9zGAMgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJpb3MSKgoDZnJ1GAQgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVRI7Cgxwb3dlcl9tZXRyaWMYBSABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJNZXRyaWMSPQoOcG93ZXJfc3VwcGxpZXMYBiADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJTdXBwbHkSRAoJbGVkX3N0YXRlGAcgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImMKC01hY2hpbmVCaW9zEhwKB3ZlcnNpb24YASABKAlCC7pICHIGyLOusQIBEhsKBnZlbmRvchgCIAEoCUILukgIcgbIs66xAgESGQoEZGF0ZRgDIAEoCUILukgIcgbIs66xAgEi2wEKCk1hY2hpbmVCTUMSGQoHYWRkcmVzcxgBIAEoCUIIukgFcgOAAgESGAoDbWFjGAIgASgJQgu6SAhyBrizrrECARIZCgR1c2VyGAMgASgJQgu6SAhyBsizrrECARIdCghwYXNzd29yZBgEIAEoCUILukgIcgbIs66xAgESHgoJaW50ZXJmYWNlGAUgASgJQgu6SAhyBsizrrECARIcCgd2ZXJzaW9uGAYgASgJQgu6SAhyBsizrrECARIgCgtwb3dlcl9zdGF0ZRgHIAEoCUILukgIcgbIs66xAgEingQKCk1hY2hpbmVGUlUSLQoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUILukgIcgbIs66xAgFIAIgBARItChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCWJvYXJkX21mZxgDIAEoCUILukgIcgbIs66xAgFIAogBARIqChBib2FyZF9tZmdfc2VyaWFsGAQgASgJQgu6SAhyBsizrrECAUgDiAEBEisKEWJvYXJkX3BhcnRfbnVtYmVyGAUgASgJQgu6SAhyBsizrrECAUgEiAEBEi4KFHByb2R1Y3RfbWFudWZhY3R1cmVyGAYgASgJQgu6SAhyBsizrrECAUgFiAEBEi0KE3Byb2R1Y3RfcGFydF9udW1iZXIYByABKAlCC7pICHIGyLOusQIBSAaIAQESKAoOcHJvZHVjdF9zZXJpYWwYCCABKAlCC7pICHIGyLOusQIBSAeIAQFCFgoUX2NoYXNzaXNfcGFydF9udW1iZXJCFgoUX2NoYXNzaXNfcGFydF9zZXJpYWxCDAoKX2JvYXJkX21mZ0ITChFfYm9hcmRfbWZnX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCKFAQoSTWFjaGluZVBvd2VyTWV0cmljEh4KFmF2ZXJhZ2VfY29uc3VtZWRfd2F0dHMYASABKAISFwoPaW50ZXJ2YWxfaW5fbWluGAIgASgCEhoKEm1heF9jb25zdW1lZF93YXR0cxgDIAEoAhIaChJtaW5fY29uc3VtZWRfd2F0dHMYBCABKAIiMwoSTWFjaGluZVBvd2VyU3VwcGx5Eg4KBmhlYWx0aBgBIAEoCRINCgVzdGF0ZRgCIAEoCSKlAgofTWFjaGluZVJlY2VudFByb3Zpc2lvbmluZ0V2ZW50cxI7CgZldmVudHMYASADKAsyKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSMwoPbGFzdF9ldmVudF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJFChBsYXN0X2Vycm9yX2V2ZW50GAMgASgLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EkkKBXN0YXRlGAQgASgOMjAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGVCCLpIBYIBAhABIp8BChhNYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASSAoFZXZlbnQYAiABKA4yLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRUeXBlQgi6SAWCAQIQARIPCgdtZXNzYWdlGAMgASgJImsKCk1hY2hpbmVWUE4SHQoVY29udHJvbF9wbGFuZV9hZGRyZXNzGAEgASgJEhAKCGF1dGhfa2V5GAIgASgJEhEKCWNvbm5lY3RlZBgDIAEoCBIZCgNpcHMYBCADKAlCDLpICZIBBsCks7ECASLmBwoMTWFjaGluZVF1ZXJ5EhsKBHV1aWQYASABKAlCCLpIBXIDsAEBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIjCglwYXJ0aXRpb24YAyABKAlCC7pICHIG0LOusQIBSAKIAQESHgoEc2l6ZRgEIAEoCUILukgIcgbAs66xAgFIA4gBARIeCgRyYWNrGAUgASgJQgu6SAhyBsCzrrECAUgEiAEBEh4KBHJvb20YBiABKAlCC7pICHIGwLOusQIBSAWIAQESLgoGbGFiZWxzGAcgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAaIAQESQgoKYWxsb2NhdGlvbhgIIAEoCzIpLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uUXVlcnlIB4gBARI8CgduZXR3b3JrGAkgASgLMiYubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5ldHdvcmtRdWVyeUgIiAEBEjQKA25pYxgKIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWNRdWVyeUgJiAEBEjYKBGRpc2sYCyABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lRGlza1F1ZXJ5SAqIAQESNAoDYm1jGAwgASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1F1ZXJ5SAuIAQESNAoDZnJ1GA0gASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVVF1ZXJ5SAyIAQESPgoIaGFyZHdhcmUYDiABKAsyJy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmVRdWVyeUgNiAEBEjMKBXN0YXRlGA8gASgOMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXRlSA6IAQESFAoHd2FpdGluZxgQIAEoCEgPiAEBEhkKDHByZWFsbG9jYXRlZBgRIAEoCEgQiAEBEhoKDW5vdF9hbGxvY2F0ZWQYEiABKAhIEYgBAUIHCgVfdXVpZEIHCgVfbmFtZUIMCgpfcGFydGl0aW9uQgcKBV9zaXplQgcKBV9yYWNrQgcKBV9yb29tQgkKB19sYWJlbHNCDQoLX2FsbG9jYXRpb25CCgoIX25ldHdvcmtCBgoEX25pY0IHCgVfZGlza0IGCgRfYm1jQgYKBF9mcnVCCwoJX2hhcmR3YXJlQggKBl9zdGF0ZUIKCghfd2FpdGluZ0IPCg1fcHJlYWxsb2NhdGVkQhAKDl9ub3RfYWxsb2NhdGVkIogEChZNYWNoaW5lQWxsb2NhdGlvblF1ZXJ5EhsKBHV1aWQYASABKAlCCLpIBXIDsAEBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIeCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABAUgCiAEBEh8KBWltYWdlGAQgASgJQgu6SAhyBsCzrrECAUgDiAEBEisKEWZpbGVzeXN0ZW1fbGF5b3V0GAUgASgJQgu6SAhyBsCzrrECAUgEiAEBEh4KCGhvc3RuYW1lGAYgASgJQge6SARyAmgBSAWIAQESUAoPYWxsb2NhdGlvbl90eXBlGAcgASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQAUgGiAEBEi4KBmxhYmVscxgIIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gHiAEBEi8KA3ZwbhgJIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVWUE5ICIgBAUIHCgVfdXVpZEIHCgVfbmFtZUIKCghfcHJvamVjdEIICgZfaW1hZ2VCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV9ob3N0bmFtZUISChBfYWxsb2NhdGlvbl90eXBlQgkKB19sYWJlbHNCBgoEX3ZwbiKqAQoTTWFjaGluZU5ldHdvcmtRdWVyeRIQCghuZXR3b3JrcxgBIAMoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESDAoEdnJmcxgFIAMoBBIMCgRhc25zGAYgAygNIq8BCg9NYWNoaW5lTmljUXVlcnkSIgoEbWFjcxgBIAMoCUIUukgRkgEOEGQYASIIcga4s66xAgESIAoFbmFtZXMYAiADKAlCEbpIDpIBCxBkGAEiBXIDGIABEisKDW5laWdoYm9yX21hY3MYAyADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEikKDm5laWdoYm9yX25hbWVzGAQgAygJQhG6SA6SAQsQZBgBIgVyAxiAASJLChBNYWNoaW5lRGlza1F1ZXJ5Eh4KBW5hbWVzGAEgAygJQg+6SAySAQkQZCIFcgMYgAESFwoFc2l6ZXMYAiADKARCCLpIBZIBAhBkIrkBCg9NYWNoaW5lQk1DUXVlcnkSHQoHYWRkcmVzcxgBIAEoCUIHukgEcgJwAUgAiAEBEh0KA21hYxgCIAEoCUILukgIcga4s66xAgFIAYgBARIbCgR1c2VyGAMgASgJQgi6SAVyAxiAAUgCiAEBEiAKCWludGVyZmFjZRgEIAEoCUIIukgFcgMYgAFIA4gBAUIKCghfYWRkcmVzc0IGCgRfbWFjQgcKBV91c2VyQgwKCl9pbnRlcmZhY2UigwQKD01hY2hpbmVGUlVRdWVyeRIqChNjaGFzc2lzX3BhcnRfbnVtYmVyGAEgASgJQgi6SAVyAxiAAUgAiAEBEioKE2NoYXNzaXNfcGFydF9zZXJpYWwYAiABKAlCCLpIBXIDGIABSAGIAQESIAoJYm9hcmRfbWZnGAMgASgJQgi6SAVyAxiAAUgCiAEBEiMKDGJvYXJkX3NlcmlhbBgEIAEoCUIIukgFcgMYgAFIA4gBARIoChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUIIukgFcgMYgAFIBIgBARIrChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUIIukgFcgMYgAFIBYgBARIqChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgi6SAVyAxiAAUgGiAEBEiUKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgi6SAVyAxiAAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCDwoNX2JvYXJkX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCJcChRNYWNoaW5lSGFyZHdhcmVRdWVyeRITCgZtZW1vcnkYASABKARIAIgBARIWCgljcHVfY29yZXMYAiABKA1IAYgBAUIJCgdfbWVtb3J5QgwKCl9jcHVfY29yZXMi4AIKEk1hY2hpbmVJc3N1ZXNRdWVyeRI2Cg1tYWNoaW5lX3F1ZXJ5GAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVF1ZXJ5EkAKBG9ubHkYAiADKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQg26SAqSAQciBYIBAhABEkAKBG9taXQYAyADKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQg26SAqSAQciBYIBAhABEkgKCHNldmVyaXR5GAQgASgOMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlU2V2ZXJpdHlCCLpIBYIBAhABSACIAQESNwoUbGFzdF9lcnJvcl90aHJlc2hvbGQYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CCwoJX3NldmVyaXR5IlgKDU1hY2hpbmVJc3N1ZXMSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESLwoGaXNzdWVzGAIgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlIucBCgxNYWNoaW5lSXNzdWUSOwoEdHlwZRgBIAEoDjIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVR5cGVCCLpIBYIBAhABEkMKCHNldmVyaXR5GAIgASgOMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlU2V2ZXJpdHlCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECARIiCg1yZWZlcmVuY2VfdXJsGAQgASgJQgu6SAhyBuCzrrECARIPCgdkZXRhaWxzGAUgASgJKmUKCklQUHJvdG9jb2wSGwoXSVBfUFJPVE9DT0xfVU5TUEVDSUZJRUQQABIcCg9JUF9QUk9UT0NPTF9UQ1AQARoHgrIZA3RjcBIcCg9JUF9QUk9UT0NPTF9VRFAQAhoHgrIZA3VkcCqtAQoMTWFjaGluZVN0YXRlEiMKGU1BQ0hJTkVfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABImChVNQUNISU5FX1NUQVRFX1RBSU5URUQQARoLgrIZB3RhaW50ZWQSJAoUTUFDSElORV9TVEFURV9MT0NLRUQQAhoKgrIZBmxvY2tlZBIqChdNQUNISU5FX1NUQVRFX0FWQUlMQUJMRRADGg2CshkJYXZhaWxhYmxlKt8BCh1NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRTdGF0ZRI2CixNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9VTlNQRUNJRklFRBAAGgSCshkAEj0KKk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1NUQVRFX0NSQVNITE9PUBABGg2CshkJY3Jhc2hsb29wEkcKL01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1NUQVRFX0ZBSUxFRF9SRUNMQUlNEAIaEoKyGQ5mYWlsZWQtcmVjbGFpbSqfBgocTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50VHlwZRIvCitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASNAolTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9BTElWRRABGgmCshkFQWxpdmUSOAonTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9DUkFTSEVEEAIaC4KyGQdDcmFzaGVkEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUFhFX0JPT1RJTkcQAxoPgrIZC1BYRSBCb290aW5nEkYKLk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUExBTk5FRF9SRUJPT1QQBBoSgrIZDlBsYW5uZWQgUmVib290EjwKKU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUFJFUEFSSU5HEAUaDYKyGQlQcmVwYXJpbmcSQAorTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9SRUdJU1RFUklORxAGGg+CshkLUmVnaXN0ZXJpbmcSOAonTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9XQUlUSU5HEAcaC4KyGQdXYWl0aW5nEj4KKk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfSU5TVEFMTElORxAIGg6CshkKSW5zdGFsbGluZxJOCjJNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0JPT1RJTkdfTkVXX0tFUk5FTBAJGhaCshkSQm9vdGluZyBOZXcgS2VybmVsEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUEhPTkVEX0hPTUUQChoPgrIZC1Bob25lZCBIb21lEkgKL01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfTUFDSElORV9SRUNMQUlNEAsaE4KyGQ9NYWNoaW5lIFJlY2xhaW0qugEKEU1hY2hpbmVMaXZlbGluZXNzEigKHk1BQ0hJTkVfTElWRUxJTkVTU19VTlNQRUNJRklFRBAAGgSCshkAEicKGE1BQ0hJTkVfTElWRUxJTkVTU19BTElWRRABGgmCshkFYWxpdmUSJQoXTUFDSElORV9MSVZFTElORVNTX0RFQUQQAhoIgrIZBGRlYWQSKwoaTUFDSElORV9MSVZFTElORVNTX1VOS05PV04QAxoLgrIZB3Vua25vd24qrAEKFU1hY2hpbmVBbGxvY2F0aW9uVHlwZRItCiNNQUNISU5FX0FMTE9DQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAGgSCshkAEjAKH01BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX01BQ0hJTkUQARoLgrIZB21hY2hpbmUSMgogTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfRklSRVdBTEwQAhoMgrIZCGZpcmV3YWxsKv4EChFNYWNoaW5lQk1DQ29tbWFuZBIjCh9NQUNISU5FX0JNQ19DT01NQU5EX1VOU1BFQ0lGSUVEEAASIgoWTUFDSElORV9CTUNfQ09NTUFORF9PThABGgaCshkCb24SJAoXTUFDSElORV9CTUNfQ09NTUFORF9PRkYQAhoHgrIZA29mZhIoChlNQUNISU5FX0JNQ19DT01NQU5EX1JFU0VUEAMaCYKyGQVyZXNldBIoChlNQUNISU5FX0JNQ19DT01NQU5EX0NZQ0xFEAQaCYKyGQVjeWNsZRI2CiBNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfVE9fQklPUxAFGhCCshkMYm9vdC10by1iaW9zEjoKIk1BQ0hJTkVfQk1DX0NPTU1BTkRfQk9PVF9GUk9NX0RJU0sQBhoSgrIZDmJvb3QtZnJvbS1kaXNrEjgKIU1BQ0hJTkVfQk1DX0NPTU1BTkRfQk9PVF9GUk9NX1BYRRAHGhGCshkNYm9vdC1mcm9tLXB4ZRI8CiNNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PThAIGhOCshkPaWRlbnRpZnktbGVkLW9uEj4KJE1BQ0hJTkVfQk1DX0NPTU1BTkRfSURFTlRJRllfTEVEX09GRhAJGhSCshkQaWRlbnRpZnktbGVkLW9mZhI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfREVMRVRFRBAKGhOCshkPbWFjaGluZS1kZWxldGVkEjwKI01BQ0hJTkVfQk1DX0NPTU1BTkRfTUFDSElORV9DUkVBVEVEEAsaE4KyGQ9tYWNoaW5lLWNyZWF0ZWQq8wYKEE1hY2hpbmVJc3N1ZVR5cGUSIgoeTUFDSElORV9JU1NVRV9UWVBFX1VOU1BFQ0lGSUVEEAASOQohTUFDSElORV9JU1NVRV9UWVBFX0FTTl9VTklRVUVORVNTEAEaEoKyGQ5hc24tbm90LXVuaXF1ZRI/CiRNQUNISU5FX0lTU1VFX1RZUEVfQk1DX0lORk9fT1VUREFURUQQAhoVgrIZEWJtYy1pbmZvLW91dGRhdGVkEkIKJk1BQ0hJTkVfSVNTVUVfVFlQRV9CTUNfTk9OX0RJU1RJTkNUX0lQEAMaFoKyGRJibWMtbm8tZGlzdGluY3QtaXASOQohTUFDSElORV9JU1NVRV9UWVBFX0JNQ19XSVRIT1VUX0lQEAQaEoKyGQ5ibWMtd2l0aG91dC1pcBI7CiJNQUNISU5FX0lTU1VFX1RZUEVfQk1DX1dJVEhPVVRfTUFDEAUaE4KyGQ9ibWMtd2l0aG91dC1tYWMSMAodTUFDSElORV9JU1NVRV9UWVBFX0NSQVNIX0xPT1AQBhoNgrIZCWNyYXNobG9vcBJJCilNQUNISU5FX0lTU1VFX1RZUEVfRkFJTEVEX01BQ0hJTkVfUkVDTEFJTRAHGhqCshkWZmFpbGVkLW1hY2hpbmUtcmVjbGFpbRI9CiNNQUNISU5FX0lTU1VFX1RZUEVfTEFTVF9FVkVOVF9FUlJPUhAIGhSCshkQbGFzdC1ldmVudC1lcnJvchI7CiJNQUNISU5FX0lTU1VFX1RZUEVfTElWRUxJTkVTU19ERUFEEAkaE4KyGQ9saXZlbGluZXNzLWRlYWQSTQorTUFDSElORV9JU1NVRV9UWVBFX0xJVkVMSU5FU1NfTk9UX0FWQUlMQUJMRRAKGhyCshkYbGl2ZWxpbmVzcy1ub3QtYXZhaWxhYmxlEkEKJU1BQ0hJTkVfSVNTVUVfVFlQRV9MSVZFTElORVNTX1VOS05PV04QCxoWgrIZEmxpdmVsaW5lc3MtdW5rbm93bhJBCiVNQUNISU5FX0lTU1VFX1RZUEVfTk9fRVZFTlRfQ09OVEFJTkVSEAwaFoKyGRJuby1ldmVudC1jb250YWluZXISNQofTUFDSElORV9JU1NVRV9UWVBFX05PX1BBUlRJVElPThANGhCCshkMbm8tcGFydGl0aW9uKssBChRNYWNoaW5lSXNzdWVTZXZlcml0eRImCiJNQUNISU5FX0lTU1VFX1NFVkVSSVRZX1VOU1BFQ0lGSUVEEAASKwocTUFDSElORV9JU1NVRV9TRVZFUklUWV9NSU5PUhABGgmCshkFbWlub3ISKwocTUFDSElORV9JU1NVRV9TRVZFUklUWV9NQUpPUhACGgmCshkFbWFqb3ISMQofTUFDSElORV9JU1NVRV9TRVZFUklUWV9DUklUSUNBTBADGgyCshkIY3JpdGljYWwy0QYKDk1hY2hpbmVTZXJ2aWNlEm0KA0dldBIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnUKBkNyZWF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJwCgRMaXN0EiwubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBotLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZEZWxldGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEoEBCgpCTUNDb21tYW5kEjIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBkdldEJNQxIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2UiCsrzGAIBAuDzGAFCwgEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIMTWFjaGluZVByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_duration, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_filesystem, file_metalstack_api_v2_image, file_metalstack_api_v2_network, file_metalstack_api_v2_partition, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_size]); + fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSKuBwobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIjCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBSAOIAQESHgoEc2l6ZRgHIAEoCUILukgIcgbAs66xAgFIBIgBARIaCgVpbWFnZRgIIAEoCUILukgIcgbAs66xAgESKwoRZmlsZXN5c3RlbV9sYXlvdXQYCSABKAlCC7pICHIGwLOusQIBSAWIAQESMQoPc3NoX3B1YmxpY19rZXlzGAogAygJQhi6SBWSARLQpLOxAgEQMiIIcgaItK6xAgESLAoIdXNlcmRhdGEYCyABKAlCFbpIEnIQ8LOusQIBsLSusQIBGICAAkgGiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxJHCghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29ya0IIukgFkgECCAESMwoQcGxhY2VtZW50X2xhYmVscxgOIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxI7CgtkbnNfc2VydmVycxgPIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLkROU1NlcnZlckIIukgFkgECEAMSOwoLbnRwX3NlcnZlcnMYECADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5OVFBTZXJ2ZXJCCLpIBZIBAhAKEksKD2FsbG9jYXRpb25fdHlwZRgRIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAESNgoNZmlyZXdhbGxfc3BlYxgSIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsU3BlY0IHCgVfdXVpZEIOCgxfZGVzY3JpcHRpb25CCwoJX2hvc3RuYW1lQgwKCl9wYXJ0aXRpb25CBwoFX3NpemVCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV91c2VyZGF0YSJICgxGaXJld2FsbFNwZWMSOAoOZmlyZXdhbGxfcnVsZXMYASABKAsyIC5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbFJ1bGVzIksKHE1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUitwIKG01hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIZCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABARIlCgtkZXNjcmlwdGlvbhgEIAEoCUILukgIcgbIs66xAgFIAIgBARI0CgZsYWJlbHMYBSABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVMYWJlbHNIAYgBARIxCg9zc2hfcHVibGljX2tleXMYBiADKAlCGLpIFZIBEtCks7ECARAyIghyBoi0rrECAUIOCgxfZGVzY3JpcHRpb25CCQoHX2xhYmVscyJLChxNYWNoaW5lU2VydmljZVVwZGF0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lImYKGU1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QSGQoHcHJvamVjdBgBIAEoCUIIukgFcgOwAQESLgoFcXVlcnkYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUXVlcnkiSgoaTWFjaGluZVNlcnZpY2VMaXN0UmVzcG9uc2USLAoIbWFjaGluZXMYASADKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIlAKG01hY2hpbmVTZXJ2aWNlRGVsZXRlUmVxdWVzdBIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIZCgdwcm9qZWN0GAIgASgJQgi6SAVyA7ABASJLChxNYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB21hY2hpbmUYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lIpUBCh9NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBEj8KB2NvbW1hbmQYAyABKA4yJC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DQ29tbWFuZEIIukgFggECEAEiMwogTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVzcG9uc2USDwoHdGFza19pZBgBIAEoCSJQChtNYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiWQocTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZRI5CgtibWNfZGV0YWlscxgGIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNEZXRhaWxzIsoDCgdNYWNoaW5lEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEi8KCXBhcnRpdGlvbhgDIAEoCzIcLm1ldGFsc3RhY2suYXBpLnYyLlBhcnRpdGlvbhIWCgRyYWNrGAQgASgJQgi6SAVyAxiAARIWCgRyb29tGAUgASgJQgi6SAVyAxiAARIlCgRzaXplGAYgASgLMhcubWV0YWxzdGFjay5hcGkudjIuU2l6ZRI0CghoYXJkd2FyZRgHIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVIYXJkd2FyZRI4CgphbGxvY2F0aW9uGAggASgLMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb24SMAoGc3RhdHVzGAkgASgLMiAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXR1cxJWChpyZWNlbnRfcHJvdmlzaW9uaW5nX2V2ZW50cxgKIAEoCzIyLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMi7wEKDU1hY2hpbmVTdGF0dXMSNgoJY29uZGl0aW9uGAEgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNvbmRpdGlvbhJECglsZWRfc3RhdGUYAiABKAsyMS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQ2hhc3Npc0lkZW50aWZ5TEVEU3RhdGUSQgoKbGl2ZWxpbmVzcxgDIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVMaXZlbGluZXNzQgi6SAWCAQIQARIcChRtZXRhbF9oYW1tZXJfdmVyc2lvbhgEIAEoCSKIAQoQTWFjaGluZUNvbmRpdGlvbhI4CgVzdGF0ZRgBIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBEhgKBmlzc3VlchgDIAEoCUIIukgFcgMYgAIiuQYKEU1hY2hpbmVBbGxvY2F0aW9uEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIcCgpjcmVhdGVkX2J5GAUgASgJQgi6SAVyAxiAARIZCgdwcm9qZWN0GAYgASgJQgi6SAVyA7ABARInCgVpbWFnZRgHIAEoCzIYLm1ldGFsc3RhY2suYXBpLnYyLkltYWdlEj4KEWZpbGVzeXN0ZW1fbGF5b3V0GAggASgLMiMubWV0YWxzdGFjay5hcGkudjIuRmlsZXN5c3RlbUxheW91dBIzCghuZXR3b3JrcxgJIAMoCzIhLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrEhkKCGhvc3RuYW1lGAogASgJQge6SARyAmgBEjEKD3NzaF9wdWJsaWNfa2V5cxgLIAMoCUIYukgVkgES0KSzsQIBEDIiCHIGiLSusQIBEiEKCHVzZXJkYXRhGAwgASgJQg+6SAxyCvCzrrECARiAgAISSwoPYWxsb2NhdGlvbl90eXBlGA0gASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI4Cg5maXJld2FsbF9ydWxlcxgOIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMSOwoLZG5zX3NlcnZlcnMYDyADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5ETlNTZXJ2ZXJCCLpIBZIBAhADEjsKC250cF9zZXJ2ZXJzGBAgAygLMhwubWV0YWxzdGFjay5hcGkudjIuTlRQU2VydmVyQgi6SAWSAQIQChIqCgN2cG4YESABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOEjMKEHBsYWNlbWVudF9sYWJlbHMYEiABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMiUwoYTWFjaGluZUFsbG9jYXRpb25OZXR3b3JrEhwKB25ldHdvcmsYASABKAlCC7pICHIGwLOusQIBEhkKA2lwcxgCIAMoCUIMukgJkgEGwKSzsQIBIn8KDUZpcmV3YWxsUnVsZXMSNQoGZWdyZXNzGAEgAygLMiUubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxFZ3Jlc3NSdWxlEjcKB2luZ3Jlc3MYAiADKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5GaXJld2FsbEluZ3Jlc3NSdWxlIrIBChJGaXJld2FsbEVncmVzc1J1bGUSOQoIcHJvdG9jb2wYASABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5JUFByb3RvY29sQgi6SAWCAQIQARIdCgVwb3J0cxgCIAMoDUIOukgLkgEIIgYqBBj8/wMSGAoCdG8YAyADKAlCDLpICZIBBriks7ECARIoCgdjb21tZW50GAQgASgJQhe6SBTYAQFyDxhkMgteW2Etel8gLV0qJCLPAQoTRmlyZXdhbGxJbmdyZXNzUnVsZRI5Cghwcm90b2NvbBgBIAEoDjIdLm1ldGFsc3RhY2suYXBpLnYyLklQUHJvdG9jb2xCCLpIBYIBAhABEh0KBXBvcnRzGAIgAygNQg66SAuSAQgiBioEGPz/AxIYCgJ0bxgDIAMoCUIMukgJkgEGuKSzsQIBEhoKBGZyb20YBCADKAlCDLpICZIBBriks7ECARIoCgdjb21tZW50GAUgASgJQhe6SBTYAQFyDxhkMgteW2Etel8gLV0qJCLGAgoOTWFjaGluZU5ldHdvcmsSDwoHbmV0d29yaxgBIAEoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESPgoMbmV0d29ya190eXBlGAUgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1R5cGVCCLpIBYIBAhABEjYKCG5hdF90eXBlGAYgASgOMhoubWV0YWxzdGFjay5hcGkudjIuTkFUVHlwZUIIukgFggECEAESCwoDdnJmGAcgASgEEgsKA2FzbhgIIAEoDRIeCgdwcm9qZWN0GAkgASgJQgi6SAVyA7ABAUgAiAEBQgoKCF9wcm9qZWN0ItoBCg9NYWNoaW5lSGFyZHdhcmUSDgoGbWVtb3J5GAEgASgEEjQKBWRpc2tzGAIgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJsb2NrRGV2aWNlEikKBGNwdXMYAyADKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhbENQVRIpCgRncHVzGAQgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxHUFUSKwoEbmljcxgFIAMoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWMiXQoITWV0YWxDUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAISDQoFY29yZXMYAyABKA0SDwoHdGhyZWFkcxgEIAEoDSI9CghNZXRhbEdQVRIYCgZ2ZW5kb3IYASABKAlCCLpIBXIDGIACEhcKBW1vZGVsGAIgASgJQgi6SAVyAxiAAiLmAQoKTWFjaGluZU5pYxIYCgNtYWMYASABKAlCC7pICHIGuLOusQIBEhkKBG5hbWUYAiABKAlCC7pICHIGwLOusQIBEhwKCmlkZW50aWZpZXIYAyABKAlCCLpIBXIDGIABEhgKBnZlbmRvchgEIAEoCUIIukgFcgMYgAESFwoFbW9kZWwYBSABKAlCCLpIBXIDGIABEg0KBXNwZWVkGAYgASgEEjEKCW5laWdoYm9ycxgHIAMoCzIeLm1ldGFsc3RhY2suYXBpLnYyLk5laWdoYm9yTmljEhAKCGhvc3RuYW1lGAggASgJImwKC05laWdoYm9yTmljEhkKBG5hbWUYASABKAlCC7pICHIGwLOusQIBEiEKCmlkZW50aWZpZXIYAiABKAlCCLpIBXIDGIABSACIAQESEAoIaG9zdG5hbWUYAyABKAlCDQoLX2lkZW50aWZpZXIiPQoSTWFjaGluZUJsb2NrRGV2aWNlEhkKBG5hbWUYASABKAlCC7pICHIGwLOusQIBEgwKBHNpemUYAiABKAQiWwoeTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEhcKBXZhbHVlGAEgASgJQgi6SAVyAxiAARIgCgtkZXNjcmlwdGlvbhgCIAEoCUILukgIcgbIs66xAgEiyQEKEU1hY2hpbmVCTUNEZXRhaWxzEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhsKCXBhcnRpdGlvbhgCIAEoCUIIukgFcgMYgAESFgoEcmFjaxgDIAEoCUIIukgFcgMYgAESFgoEcm9vbRgEIAEoCUIIukgFcgMYgAESFgoEc2l6ZRgFIAEoCUIIukgFcgMYgAESNwoKYm1jX3JlcG9ydBgGIAEoCzIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNSZXBvcnQiogMKEE1hY2hpbmVCTUNSZXBvcnQSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESKgoDYm1jGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQxIsCgRiaW9zGAMgASgLMh4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJpb3MSKgoDZnJ1GAQgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVRI7Cgxwb3dlcl9tZXRyaWMYBSABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJNZXRyaWMSPQoOcG93ZXJfc3VwcGxpZXMYBiADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUG93ZXJTdXBwbHkSRAoJbGVkX3N0YXRlGAcgASgLMjEubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNoYXNzaXNJZGVudGlmeUxFRFN0YXRlEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImMKC01hY2hpbmVCaW9zEhwKB3ZlcnNpb24YASABKAlCC7pICHIGyLOusQIBEhsKBnZlbmRvchgCIAEoCUILukgIcgbIs66xAgESGQoEZGF0ZRgDIAEoCUILukgIcgbIs66xAgEi2wEKCk1hY2hpbmVCTUMSGQoHYWRkcmVzcxgBIAEoCUIIukgFcgOAAgESGAoDbWFjGAIgASgJQgu6SAhyBrizrrECARIZCgR1c2VyGAMgASgJQgu6SAhyBsizrrECARIdCghwYXNzd29yZBgEIAEoCUILukgIcgbIs66xAgESHgoJaW50ZXJmYWNlGAUgASgJQgu6SAhyBsizrrECARIcCgd2ZXJzaW9uGAYgASgJQgu6SAhyBsizrrECARIgCgtwb3dlcl9zdGF0ZRgHIAEoCUILukgIcgbIs66xAgEingQKCk1hY2hpbmVGUlUSLQoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUILukgIcgbIs66xAgFIAIgBARItChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCWJvYXJkX21mZxgDIAEoCUILukgIcgbIs66xAgFIAogBARIqChBib2FyZF9tZmdfc2VyaWFsGAQgASgJQgu6SAhyBsizrrECAUgDiAEBEisKEWJvYXJkX3BhcnRfbnVtYmVyGAUgASgJQgu6SAhyBsizrrECAUgEiAEBEi4KFHByb2R1Y3RfbWFudWZhY3R1cmVyGAYgASgJQgu6SAhyBsizrrECAUgFiAEBEi0KE3Byb2R1Y3RfcGFydF9udW1iZXIYByABKAlCC7pICHIGyLOusQIBSAaIAQESKAoOcHJvZHVjdF9zZXJpYWwYCCABKAlCC7pICHIGyLOusQIBSAeIAQFCFgoUX2NoYXNzaXNfcGFydF9udW1iZXJCFgoUX2NoYXNzaXNfcGFydF9zZXJpYWxCDAoKX2JvYXJkX21mZ0ITChFfYm9hcmRfbWZnX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCKFAQoSTWFjaGluZVBvd2VyTWV0cmljEh4KFmF2ZXJhZ2VfY29uc3VtZWRfd2F0dHMYASABKAISFwoPaW50ZXJ2YWxfaW5fbWluGAIgASgCEhoKEm1heF9jb25zdW1lZF93YXR0cxgDIAEoAhIaChJtaW5fY29uc3VtZWRfd2F0dHMYBCABKAIiMwoSTWFjaGluZVBvd2VyU3VwcGx5Eg4KBmhlYWx0aBgBIAEoCRINCgVzdGF0ZRgCIAEoCSKlAgofTWFjaGluZVJlY2VudFByb3Zpc2lvbmluZ0V2ZW50cxI7CgZldmVudHMYASADKAsyKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSMwoPbGFzdF9ldmVudF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJFChBsYXN0X2Vycm9yX2V2ZW50GAMgASgLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EkkKBXN0YXRlGAQgASgOMjAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGVCCLpIBYIBAhABIp8BChhNYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnQSKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASSAoFZXZlbnQYAiABKA4yLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRUeXBlQgi6SAWCAQIQARIPCgdtZXNzYWdlGAMgASgJImsKCk1hY2hpbmVWUE4SHQoVY29udHJvbF9wbGFuZV9hZGRyZXNzGAEgASgJEhAKCGF1dGhfa2V5GAIgASgJEhEKCWNvbm5lY3RlZBgDIAEoCBIZCgNpcHMYBCADKAlCDLpICZIBBsCks7ECASLmBwoMTWFjaGluZVF1ZXJ5EhsKBHV1aWQYASABKAlCCLpIBXIDsAEBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIjCglwYXJ0aXRpb24YAyABKAlCC7pICHIG0LOusQIBSAKIAQESHgoEc2l6ZRgEIAEoCUILukgIcgbAs66xAgFIA4gBARIeCgRyYWNrGAUgASgJQgu6SAhyBsCzrrECAUgEiAEBEh4KBHJvb20YBiABKAlCC7pICHIGwLOusQIBSAWIAQESLgoGbGFiZWxzGAcgASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAaIAQESQgoKYWxsb2NhdGlvbhgIIAEoCzIpLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uUXVlcnlIB4gBARI8CgduZXR3b3JrGAkgASgLMiYubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZU5ldHdvcmtRdWVyeUgIiAEBEjQKA25pYxgKIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOaWNRdWVyeUgJiAEBEjYKBGRpc2sYCyABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lRGlza1F1ZXJ5SAqIAQESNAoDYm1jGAwgASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUJNQ1F1ZXJ5SAuIAQESNAoDZnJ1GA0gASgLMiIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUZSVVF1ZXJ5SAyIAQESPgoIaGFyZHdhcmUYDiABKAsyJy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSGFyZHdhcmVRdWVyeUgNiAEBEjMKBXN0YXRlGA8gASgOMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXRlSA6IAQESFAoHd2FpdGluZxgQIAEoCEgPiAEBEhkKDHByZWFsbG9jYXRlZBgRIAEoCEgQiAEBEhoKDW5vdF9hbGxvY2F0ZWQYEiABKAhIEYgBAUIHCgVfdXVpZEIHCgVfbmFtZUIMCgpfcGFydGl0aW9uQgcKBV9zaXplQgcKBV9yYWNrQgcKBV9yb29tQgkKB19sYWJlbHNCDQoLX2FsbG9jYXRpb25CCgoIX25ldHdvcmtCBgoEX25pY0IHCgVfZGlza0IGCgRfYm1jQgYKBF9mcnVCCwoJX2hhcmR3YXJlQggKBl9zdGF0ZUIKCghfd2FpdGluZ0IPCg1fcHJlYWxsb2NhdGVkQhAKDl9ub3RfYWxsb2NhdGVkIogEChZNYWNoaW5lQWxsb2NhdGlvblF1ZXJ5EhsKBHV1aWQYASABKAlCCLpIBXIDsAEBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIeCgdwcm9qZWN0GAMgASgJQgi6SAVyA7ABAUgCiAEBEh8KBWltYWdlGAQgASgJQgu6SAhyBsCzrrECAUgDiAEBEisKEWZpbGVzeXN0ZW1fbGF5b3V0GAUgASgJQgu6SAhyBsCzrrECAUgEiAEBEh4KCGhvc3RuYW1lGAYgASgJQge6SARyAmgBSAWIAQESUAoPYWxsb2NhdGlvbl90eXBlGAcgASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQAUgGiAEBEi4KBmxhYmVscxgIIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gHiAEBEi8KA3ZwbhgJIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVWUE5ICIgBAUIHCgVfdXVpZEIHCgVfbmFtZUIKCghfcHJvamVjdEIICgZfaW1hZ2VCFAoSX2ZpbGVzeXN0ZW1fbGF5b3V0QgsKCV9ob3N0bmFtZUISChBfYWxsb2NhdGlvbl90eXBlQgkKB19sYWJlbHNCBgoEX3ZwbiKqAQoTTWFjaGluZU5ldHdvcmtRdWVyeRIQCghuZXR3b3JrcxgBIAMoCRIeCghwcmVmaXhlcxgCIAMoCUIMukgJkgEGuKSzsQIBEioKFGRlc3RpbmF0aW9uX3ByZWZpeGVzGAMgAygJQgy6SAmSAQa4pLOxAgESGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgESDAoEdnJmcxgFIAMoBBIMCgRhc25zGAYgAygNIq8BCg9NYWNoaW5lTmljUXVlcnkSIgoEbWFjcxgBIAMoCUIUukgRkgEOEGQYASIIcga4s66xAgESIAoFbmFtZXMYAiADKAlCEbpIDpIBCxBkGAEiBXIDGIABEisKDW5laWdoYm9yX21hY3MYAyADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEikKDm5laWdoYm9yX25hbWVzGAQgAygJQhG6SA6SAQsQZBgBIgVyAxiAASJLChBNYWNoaW5lRGlza1F1ZXJ5Eh4KBW5hbWVzGAEgAygJQg+6SAySAQkQZCIFcgMYgAESFwoFc2l6ZXMYAiADKARCCLpIBZIBAhBkIrkBCg9NYWNoaW5lQk1DUXVlcnkSHQoHYWRkcmVzcxgBIAEoCUIHukgEcgJwAUgAiAEBEh0KA21hYxgCIAEoCUILukgIcga4s66xAgFIAYgBARIbCgR1c2VyGAMgASgJQgi6SAVyAxiAAUgCiAEBEiAKCWludGVyZmFjZRgEIAEoCUIIukgFcgMYgAFIA4gBAUIKCghfYWRkcmVzc0IGCgRfbWFjQgcKBV91c2VyQgwKCl9pbnRlcmZhY2UigwQKD01hY2hpbmVGUlVRdWVyeRIqChNjaGFzc2lzX3BhcnRfbnVtYmVyGAEgASgJQgi6SAVyAxiAAUgAiAEBEioKE2NoYXNzaXNfcGFydF9zZXJpYWwYAiABKAlCCLpIBXIDGIABSAGIAQESIAoJYm9hcmRfbWZnGAMgASgJQgi6SAVyAxiAAUgCiAEBEiMKDGJvYXJkX3NlcmlhbBgEIAEoCUIIukgFcgMYgAFIA4gBARIoChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUIIukgFcgMYgAFIBIgBARIrChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUIIukgFcgMYgAFIBYgBARIqChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgi6SAVyAxiAAUgGiAEBEiUKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgi6SAVyAxiAAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCDwoNX2JvYXJkX3NlcmlhbEIUChJfYm9hcmRfcGFydF9udW1iZXJCFwoVX3Byb2R1Y3RfbWFudWZhY3R1cmVyQhYKFF9wcm9kdWN0X3BhcnRfbnVtYmVyQhEKD19wcm9kdWN0X3NlcmlhbCJcChRNYWNoaW5lSGFyZHdhcmVRdWVyeRITCgZtZW1vcnkYASABKARIAIgBARIWCgljcHVfY29yZXMYAiABKA1IAYgBAUIJCgdfbWVtb3J5QgwKCl9jcHVfY29yZXMi4AIKEk1hY2hpbmVJc3N1ZXNRdWVyeRI2Cg1tYWNoaW5lX3F1ZXJ5GAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVF1ZXJ5EkAKBG9ubHkYAiADKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQg26SAqSAQciBYIBAhABEkAKBG9taXQYAyADKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQg26SAqSAQciBYIBAhABEkgKCHNldmVyaXR5GAQgASgOMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlU2V2ZXJpdHlCCLpIBYIBAhABSACIAQESNwoUbGFzdF9lcnJvcl90aHJlc2hvbGQYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CCwoJX3NldmVyaXR5IlgKDU1hY2hpbmVJc3N1ZXMSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESLwoGaXNzdWVzGAIgAygLMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlIucBCgxNYWNoaW5lSXNzdWUSOwoEdHlwZRgBIAEoDjIjLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVR5cGVCCLpIBYIBAhABEkMKCHNldmVyaXR5GAIgASgOMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlU2V2ZXJpdHlCCLpIBYIBAhABEiAKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECARIiCg1yZWZlcmVuY2VfdXJsGAQgASgJQgu6SAhyBuCzrrECARIPCgdkZXRhaWxzGAUgASgJKmUKCklQUHJvdG9jb2wSGwoXSVBfUFJPVE9DT0xfVU5TUEVDSUZJRUQQABIcCg9JUF9QUk9UT0NPTF9UQ1AQARoHgrIZA3RjcBIcCg9JUF9QUk9UT0NPTF9VRFAQAhoHgrIZA3VkcCqtAQoMTWFjaGluZVN0YXRlEiMKGU1BQ0hJTkVfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABImChVNQUNISU5FX1NUQVRFX1RBSU5URUQQARoLgrIZB3RhaW50ZWQSJAoUTUFDSElORV9TVEFURV9MT0NLRUQQAhoKgrIZBmxvY2tlZBIqChdNQUNISU5FX1NUQVRFX0FWQUlMQUJMRRADGg2CshkJYXZhaWxhYmxlKt8BCh1NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRTdGF0ZRI2CixNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9VTlNQRUNJRklFRBAAGgSCshkAEj0KKk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1NUQVRFX0NSQVNITE9PUBABGg2CshkJY3Jhc2hsb29wEkcKL01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1NUQVRFX0ZBSUxFRF9SRUNMQUlNEAIaEoKyGQ5mYWlsZWQtcmVjbGFpbSqfBgocTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50VHlwZRIvCitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASNAolTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9BTElWRRABGgmCshkFQWxpdmUSOAonTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9DUkFTSEVEEAIaC4KyGQdDcmFzaGVkEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUFhFX0JPT1RJTkcQAxoPgrIZC1BYRSBCb290aW5nEkYKLk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUExBTk5FRF9SRUJPT1QQBBoSgrIZDlBsYW5uZWQgUmVib290EjwKKU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUFJFUEFSSU5HEAUaDYKyGQlQcmVwYXJpbmcSQAorTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9SRUdJU1RFUklORxAGGg+CshkLUmVnaXN0ZXJpbmcSOAonTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9XQUlUSU5HEAcaC4KyGQdXYWl0aW5nEj4KKk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfSU5TVEFMTElORxAIGg6CshkKSW5zdGFsbGluZxJOCjJNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0JPT1RJTkdfTkVXX0tFUk5FTBAJGhaCshkSQm9vdGluZyBOZXcgS2VybmVsEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUEhPTkVEX0hPTUUQChoPgrIZC1Bob25lZCBIb21lEkgKL01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfTUFDSElORV9SRUNMQUlNEAsaE4KyGQ9NYWNoaW5lIFJlY2xhaW0qugEKEU1hY2hpbmVMaXZlbGluZXNzEigKHk1BQ0hJTkVfTElWRUxJTkVTU19VTlNQRUNJRklFRBAAGgSCshkAEicKGE1BQ0hJTkVfTElWRUxJTkVTU19BTElWRRABGgmCshkFYWxpdmUSJQoXTUFDSElORV9MSVZFTElORVNTX0RFQUQQAhoIgrIZBGRlYWQSKwoaTUFDSElORV9MSVZFTElORVNTX1VOS05PV04QAxoLgrIZB3Vua25vd24qrAEKFU1hY2hpbmVBbGxvY2F0aW9uVHlwZRItCiNNQUNISU5FX0FMTE9DQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAGgSCshkAEjAKH01BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX01BQ0hJTkUQARoLgrIZB21hY2hpbmUSMgogTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfRklSRVdBTEwQAhoMgrIZCGZpcmV3YWxsKv4EChFNYWNoaW5lQk1DQ29tbWFuZBIjCh9NQUNISU5FX0JNQ19DT01NQU5EX1VOU1BFQ0lGSUVEEAASIgoWTUFDSElORV9CTUNfQ09NTUFORF9PThABGgaCshkCb24SJAoXTUFDSElORV9CTUNfQ09NTUFORF9PRkYQAhoHgrIZA29mZhIoChlNQUNISU5FX0JNQ19DT01NQU5EX1JFU0VUEAMaCYKyGQVyZXNldBIoChlNQUNISU5FX0JNQ19DT01NQU5EX0NZQ0xFEAQaCYKyGQVjeWNsZRI2CiBNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfVE9fQklPUxAFGhCCshkMYm9vdC10by1iaW9zEjoKIk1BQ0hJTkVfQk1DX0NPTU1BTkRfQk9PVF9GUk9NX0RJU0sQBhoSgrIZDmJvb3QtZnJvbS1kaXNrEjgKIU1BQ0hJTkVfQk1DX0NPTU1BTkRfQk9PVF9GUk9NX1BYRRAHGhGCshkNYm9vdC1mcm9tLXB4ZRI8CiNNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PThAIGhOCshkPaWRlbnRpZnktbGVkLW9uEj4KJE1BQ0hJTkVfQk1DX0NPTU1BTkRfSURFTlRJRllfTEVEX09GRhAJGhSCshkQaWRlbnRpZnktbGVkLW9mZhI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfREVMRVRFRBAKGhOCshkPbWFjaGluZS1kZWxldGVkEjwKI01BQ0hJTkVfQk1DX0NPTU1BTkRfTUFDSElORV9DUkVBVEVEEAsaE4KyGQ9tYWNoaW5lLWNyZWF0ZWQq8wYKEE1hY2hpbmVJc3N1ZVR5cGUSIgoeTUFDSElORV9JU1NVRV9UWVBFX1VOU1BFQ0lGSUVEEAASOQohTUFDSElORV9JU1NVRV9UWVBFX0FTTl9VTklRVUVORVNTEAEaEoKyGQ5hc24tbm90LXVuaXF1ZRI/CiRNQUNISU5FX0lTU1VFX1RZUEVfQk1DX0lORk9fT1VUREFURUQQAhoVgrIZEWJtYy1pbmZvLW91dGRhdGVkEkIKJk1BQ0hJTkVfSVNTVUVfVFlQRV9CTUNfTk9OX0RJU1RJTkNUX0lQEAMaFoKyGRJibWMtbm8tZGlzdGluY3QtaXASOQohTUFDSElORV9JU1NVRV9UWVBFX0JNQ19XSVRIT1VUX0lQEAQaEoKyGQ5ibWMtd2l0aG91dC1pcBI7CiJNQUNISU5FX0lTU1VFX1RZUEVfQk1DX1dJVEhPVVRfTUFDEAUaE4KyGQ9ibWMtd2l0aG91dC1tYWMSMAodTUFDSElORV9JU1NVRV9UWVBFX0NSQVNIX0xPT1AQBhoNgrIZCWNyYXNobG9vcBJJCilNQUNISU5FX0lTU1VFX1RZUEVfRkFJTEVEX01BQ0hJTkVfUkVDTEFJTRAHGhqCshkWZmFpbGVkLW1hY2hpbmUtcmVjbGFpbRI9CiNNQUNISU5FX0lTU1VFX1RZUEVfTEFTVF9FVkVOVF9FUlJPUhAIGhSCshkQbGFzdC1ldmVudC1lcnJvchI7CiJNQUNISU5FX0lTU1VFX1RZUEVfTElWRUxJTkVTU19ERUFEEAkaE4KyGQ9saXZlbGluZXNzLWRlYWQSTQorTUFDSElORV9JU1NVRV9UWVBFX0xJVkVMSU5FU1NfTk9UX0FWQUlMQUJMRRAKGhyCshkYbGl2ZWxpbmVzcy1ub3QtYXZhaWxhYmxlEkEKJU1BQ0hJTkVfSVNTVUVfVFlQRV9MSVZFTElORVNTX1VOS05PV04QCxoWgrIZEmxpdmVsaW5lc3MtdW5rbm93bhJBCiVNQUNISU5FX0lTU1VFX1RZUEVfTk9fRVZFTlRfQ09OVEFJTkVSEAwaFoKyGRJuby1ldmVudC1jb250YWluZXISNQofTUFDSElORV9JU1NVRV9UWVBFX05PX1BBUlRJVElPThANGhCCshkMbm8tcGFydGl0aW9uKssBChRNYWNoaW5lSXNzdWVTZXZlcml0eRImCiJNQUNISU5FX0lTU1VFX1NFVkVSSVRZX1VOU1BFQ0lGSUVEEAASKwocTUFDSElORV9JU1NVRV9TRVZFUklUWV9NSU5PUhABGgmCshkFbWlub3ISKwocTUFDSElORV9JU1NVRV9TRVZFUklUWV9NQUpPUhACGgmCshkFbWFqb3ISMQofTUFDSElORV9JU1NVRV9TRVZFUklUWV9DUklUSUNBTBADGgyCshkIY3JpdGljYWwy0QYKDk1hY2hpbmVTZXJ2aWNlEm0KA0dldBIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnUKBkNyZWF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJwCgRMaXN0EiwubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBotLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZEZWxldGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEoEBCgpCTUNDb21tYW5kEjIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBkdldEJNQxIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2UiCsrzGAIBAuDzGAFCwgEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIMTWFjaGluZVByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_duration, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_filesystem, file_metalstack_api_v2_image, file_metalstack_api_v2_network, file_metalstack_api_v2_partition, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_size]); /** * MachineServiceGetRequest is the request payload for a machine get request. @@ -1211,8 +1211,7 @@ export type MachineNic = Message<"metalstack.api.v2.MachineNic"> & { /** * Mac the macaddress of this interface. * - * @generated from field: string mac = 1 [deprecated = true]; - * @deprecated + * @generated from field: string mac = 1; */ mac: string; @@ -1254,9 +1253,9 @@ export type MachineNic = Message<"metalstack.api.v2.MachineNic"> & { /** * Neighbors the neighbors visible to this network interface. * - * @generated from field: repeated metalstack.api.v2.MachineNic neighbors = 7; + * @generated from field: repeated metalstack.api.v2.NeighborNic neighbors = 7; */ - neighbors: MachineNic[]; + neighbors: NeighborNic[]; /** * Hostname the nic belongs to. @@ -1273,6 +1272,42 @@ export type MachineNic = Message<"metalstack.api.v2.MachineNic"> & { export const MachineNicSchema: GenMessage = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 27); +/** + * NeighborNic contains details of a network interface of the neighbor. + * + * @generated from message metalstack.api.v2.NeighborNic + */ +export type NeighborNic = Message<"metalstack.api.v2.NeighborNic"> & { + /** + * Name of this interface. + * + * @generated from field: string name = 1; + */ + name: string; + + /** + * Identifier the unique identifier of this network interface. + * This could either be a macaddress or alias of the interface, e.g. Eth1/1 on some switches. + * + * @generated from field: optional string identifier = 2; + */ + identifier?: string | undefined; + + /** + * Hostname the nic belongs to. + * + * @generated from field: string hostname = 3; + */ + hostname: string; +}; + +/** + * Describes the message metalstack.api.v2.NeighborNic. + * Use `create(NeighborNicSchema)` to create a new message. + */ +export const NeighborNicSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_metalstack_api_v2_machine, 28); + /** * MachineBlockDevice contains details of a block device of this machine. * @@ -1299,7 +1334,7 @@ export type MachineBlockDevice = Message<"metalstack.api.v2.MachineBlockDevice"> * Use `create(MachineBlockDeviceSchema)` to create a new message. */ export const MachineBlockDeviceSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 28); + messageDesc(file_metalstack_api_v2_machine, 29); /** * MachineChassisIdentifyLEDState describes the identifier led state. @@ -1327,7 +1362,7 @@ export type MachineChassisIdentifyLEDState = Message<"metalstack.api.v2.MachineC * Use `create(MachineChassisIdentifyLEDStateSchema)` to create a new message. */ export const MachineChassisIdentifyLEDStateSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 29); + messageDesc(file_metalstack_api_v2_machine, 30); /** * MachineBMCDetails contains machine and bmc details of a machine. @@ -1383,7 +1418,7 @@ export type MachineBMCDetails = Message<"metalstack.api.v2.MachineBMCDetails"> & * Use `create(MachineBMCDetailsSchema)` to create a new message. */ export const MachineBMCDetailsSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 30); + messageDesc(file_metalstack_api_v2_machine, 31); /** * MachineBMCReport is sent from the metal-bmc to update bmc and power related details. @@ -1453,7 +1488,7 @@ export type MachineBMCReport = Message<"metalstack.api.v2.MachineBMCReport"> & { * Use `create(MachineBMCReportSchema)` to create a new message. */ export const MachineBMCReportSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 31); + messageDesc(file_metalstack_api_v2_machine, 32); /** * MachineBios contains BIOS details of this machine. @@ -1488,7 +1523,7 @@ export type MachineBios = Message<"metalstack.api.v2.MachineBios"> & { * Use `create(MachineBiosSchema)` to create a new message. */ export const MachineBiosSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 32); + messageDesc(file_metalstack_api_v2_machine, 33); /** * MachineBMC describe details of the ipmi or out of band device. @@ -1551,7 +1586,7 @@ export type MachineBMC = Message<"metalstack.api.v2.MachineBMC"> & { * Use `create(MachineBMCSchema)` to create a new message. */ export const MachineBMCSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 33); + messageDesc(file_metalstack_api_v2_machine, 34); /** * MachineFRU describes details to the machine which are required in case of a necessary replacement. @@ -1621,7 +1656,7 @@ export type MachineFRU = Message<"metalstack.api.v2.MachineFRU"> & { * Use `create(MachineFRUSchema)` to create a new message. */ export const MachineFRUSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 34); + messageDesc(file_metalstack_api_v2_machine, 35); /** * MachinePowerMetric contains metrics of the power consumption of a machine. @@ -1664,7 +1699,7 @@ export type MachinePowerMetric = Message<"metalstack.api.v2.MachinePowerMetric"> * Use `create(MachinePowerMetricSchema)` to create a new message. */ export const MachinePowerMetricSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 35); + messageDesc(file_metalstack_api_v2_machine, 36); /** * MachinePowerSupply contains details of the power supply of a machine. @@ -1692,7 +1727,7 @@ export type MachinePowerSupply = Message<"metalstack.api.v2.MachinePowerSupply"> * Use `create(MachinePowerSupplySchema)` to create a new message. */ export const MachinePowerSupplySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 36); + messageDesc(file_metalstack_api_v2_machine, 37); /** * MachineRecentProvisioningEvents the recent provisioning events for this machine. @@ -1734,7 +1769,7 @@ export type MachineRecentProvisioningEvents = Message<"metalstack.api.v2.Machine * Use `create(MachineRecentProvisioningEventsSchema)` to create a new message. */ export const MachineRecentProvisioningEventsSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 37); + messageDesc(file_metalstack_api_v2_machine, 38); /** * MachineProvisioningEvent is an event that has occurred during provisioning. @@ -1769,7 +1804,7 @@ export type MachineProvisioningEvent = Message<"metalstack.api.v2.MachineProvisi * Use `create(MachineProvisioningEventSchema)` to create a new message. */ export const MachineProvisioningEventSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 38); + messageDesc(file_metalstack_api_v2_machine, 39); /** * MachineVPN contains configuration data for the VPN connection. @@ -1811,7 +1846,7 @@ export type MachineVPN = Message<"metalstack.api.v2.MachineVPN"> & { * Use `create(MachineVPNSchema)` to create a new message. */ export const MachineVPNSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 39); + messageDesc(file_metalstack_api_v2_machine, 40); /** * MachineQuery contains fields which can be specified to list specific machines. @@ -1954,7 +1989,7 @@ export type MachineQuery = Message<"metalstack.api.v2.MachineQuery"> & { * Use `create(MachineQuerySchema)` to create a new message. */ export const MachineQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 40); + messageDesc(file_metalstack_api_v2_machine, 41); /** * MachineAllocationQuery allocation specific query parameters. @@ -2031,7 +2066,7 @@ export type MachineAllocationQuery = Message<"metalstack.api.v2.MachineAllocatio * Use `create(MachineAllocationQuerySchema)` to create a new message. */ export const MachineAllocationQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 41); + messageDesc(file_metalstack_api_v2_machine, 42); /** * MachineNetworkQuery network specific machine queries. @@ -2087,7 +2122,7 @@ export type MachineNetworkQuery = Message<"metalstack.api.v2.MachineNetworkQuery * Use `create(MachineNetworkQuerySchema)` to create a new message. */ export const MachineNetworkQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 42); + messageDesc(file_metalstack_api_v2_machine, 43); /** * MachineNicQuery nic specific machine queries. @@ -2129,7 +2164,7 @@ export type MachineNicQuery = Message<"metalstack.api.v2.MachineNicQuery"> & { * Use `create(MachineNicQuerySchema)` to create a new message. */ export const MachineNicQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 43); + messageDesc(file_metalstack_api_v2_machine, 44); /** * MachineDiskQuery disk specific machine queries. @@ -2157,7 +2192,7 @@ export type MachineDiskQuery = Message<"metalstack.api.v2.MachineDiskQuery"> & { * Use `create(MachineDiskQuerySchema)` to create a new message. */ export const MachineDiskQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 44); + messageDesc(file_metalstack_api_v2_machine, 45); /** * MachineBMCQuery machine ipmi or bmc specific machine queries. @@ -2199,7 +2234,7 @@ export type MachineBMCQuery = Message<"metalstack.api.v2.MachineBMCQuery"> & { * Use `create(MachineBMCQuerySchema)` to create a new message. */ export const MachineBMCQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 45); + messageDesc(file_metalstack_api_v2_machine, 46); /** * MachineFRUQuery machine fru specific machine queries. @@ -2269,7 +2304,7 @@ export type MachineFRUQuery = Message<"metalstack.api.v2.MachineFRUQuery"> & { * Use `create(MachineFRUQuerySchema)` to create a new message. */ export const MachineFRUQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 46); + messageDesc(file_metalstack_api_v2_machine, 47); /** * MachineHardwareQuery machine hardware specific machine queries. @@ -2297,7 +2332,7 @@ export type MachineHardwareQuery = Message<"metalstack.api.v2.MachineHardwareQue * Use `create(MachineHardwareQuerySchema)` to create a new message. */ export const MachineHardwareQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 47); + messageDesc(file_metalstack_api_v2_machine, 48); /** * MachineIssuesQuery defines which machine issues should be listed. @@ -2346,7 +2381,7 @@ export type MachineIssuesQuery = Message<"metalstack.api.v2.MachineIssuesQuery"> * Use `create(MachineIssuesQuerySchema)` to create a new message. */ export const MachineIssuesQuerySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 48); + messageDesc(file_metalstack_api_v2_machine, 49); /** * MachineIssues is a list of issues for a machine. @@ -2374,7 +2409,7 @@ export type MachineIssues = Message<"metalstack.api.v2.MachineIssues"> & { * Use `create(MachineIssuesSchema)` to create a new message. */ export const MachineIssuesSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 49); + messageDesc(file_metalstack_api_v2_machine, 50); /** * MachineIssue contains details of one issue. @@ -2423,7 +2458,7 @@ export type MachineIssue = Message<"metalstack.api.v2.MachineIssue"> & { * Use `create(MachineIssueSchema)` to create a new message. */ export const MachineIssueSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_metalstack_api_v2_machine, 50); + messageDesc(file_metalstack_api_v2_machine, 51); /** * IPProtocol defines tcp|udp. diff --git a/proto/Makefile b/proto/Makefile index e04529e7..e31f5545 100644 --- a/proto/Makefile +++ b/proto/Makefile @@ -13,7 +13,7 @@ _buf: protolint: @$(MAKE) _buf CMD="format -w" @$(MAKE) _buf CMD="lint -v" - # @$(MAKE) _buf CMD="breaking --against 'https://github.com/metal-stack/api.git#branch=main,subdir=proto'" +# # @$(MAKE) _buf CMD="breaking --against 'https://github.com/metal-stack/api.git#branch=main,subdir=proto'" .PHONY: protoc protoc: diff --git a/proto/metalstack/api/v2/machine.proto b/proto/metalstack/api/v2/machine.proto index 948befc4..ddac9033 100644 --- a/proto/metalstack/api/v2/machine.proto +++ b/proto/metalstack/api/v2/machine.proto @@ -487,7 +487,7 @@ message MetalGPU { // MachineNic contains details of a network interface of this machine. message MachineNic { // Mac the macaddress of this interface. - string mac = 1 [deprecated = true]; + string mac = 1 [(buf.validate.field).string.(metalstack.api.v2.macaddress) = true]; // Name of this interface. string name = 2 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true]; // Identifier the unique identifier of this network interface. @@ -499,11 +499,22 @@ message MachineNic { // Speed in bits/second of this network card. uint64 speed = 6; // Neighbors the neighbors visible to this network interface. - repeated MachineNic neighbors = 7; + repeated NeighborNic neighbors = 7; // Hostname the nic belongs to. string hostname = 8; } +// NeighborNic contains details of a network interface of the neighbor. +message NeighborNic { + // Name of this interface. + string name = 1 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true]; + // Identifier the unique identifier of this network interface. + // This could either be a macaddress or alias of the interface, e.g. Eth1/1 on some switches. + optional string identifier = 2 [(buf.validate.field).string = {max_len: 128}]; + // Hostname the nic belongs to. + string hostname = 3; +} + // MachineBlockDevice contains details of a block device of this machine. message MachineBlockDevice { // Name of this block device. diff --git a/python/metalstack/api/v2/machine_pb2.py b/python/metalstack/api/v2/machine_pb2.py index 2e12a98f..6f7546a5 100644 --- a/python/metalstack/api/v2/machine_pb2.py +++ b/python/metalstack/api/v2/machine_pb2.py @@ -34,7 +34,7 @@ from metalstack.api.v2 import size_pb2 as metalstack_dot_api_dot_v2_dot_size__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/machine.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\"metalstack/api/v2/filesystem.proto\x1a\x1dmetalstack/api/v2/image.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a!metalstack/api/v2/partition.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1cmetalstack/api/v2/size.proto\"\\\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xf6\x08\n\x1bMachineServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12!\n\x04uuid\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12(\n\x08hostname\x18\x05 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x02R\x08hostname\x88\x01\x01\x12.\n\tpartition\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x03R\tpartition\x88\x01\x01\x12$\n\x04size\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x04size\x88\x01\x01\x12!\n\x05image\x18\x08 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x05image\x12=\n\x11\x66ilesystem_layout\x18\t \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x05R\x10\x66ilesystemLayout\x88\x01\x01\x12@\n\x0fssh_public_keys\x18\n \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeys\x12\x36\n\x08userdata\x18\x0b \x01(\tB\x15\xbaH\x12r\x10\x18\x80\x80\x02\xf0\xb3\xae\xb1\x02\x01\xb0\xb4\xae\xb1\x02\x01H\x06R\x08userdata\x88\x01\x01\x12\x31\n\x06labels\x18\x0c \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12Q\n\x08networks\x18\r \x03(\x0b\x32+.metalstack.api.v2.MachineAllocationNetworkB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x08networks\x12\x44\n\x10placement_labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x0fplacementLabels\x12G\n\x0b\x64ns_servers\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\ndnsServers\x12G\n\x0bntp_servers\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\nntpServers\x12[\n\x0f\x61llocation_type\x18\x11 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12\x44\n\rfirewall_spec\x18\x12 \x01(\x0b\x32\x1f.metalstack.api.v2.FirewallSpecR\x0c\x66irewallSpecB\x07\n\x05_uuidB\x0e\n\x0c_descriptionB\x0b\n\t_hostnameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x14\n\x12_filesystem_layoutB\x0b\n\t_userdata\"W\n\x0c\x46irewallSpec\x12G\n\x0e\x66irewall_rules\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\"T\n\x1cMachineServiceCreateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xf6\x02\n\x1bMachineServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\"\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x01R\x06labels\x88\x01\x01\x12@\n\x0fssh_public_keys\x18\x06 \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeysB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cMachineServiceUpdateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"v\n\x19MachineServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines\"_\n\x1bMachineServiceDeleteRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cMachineServiceDeleteResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xad\x01\n\x1fMachineServiceBMCCommandRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12H\n\x07\x63ommand\x18\x03 \x01(\x0e\x32$.metalstack.api.v2.MachineBMCCommandB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07\x63ommand\";\n MachineServiceBMCCommandResponse\x12\x17\n\x07task_id\x18\x01 \x01(\tR\x06taskId\"_\n\x1bMachineServiceGetBMCRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"e\n\x1cMachineServiceGetBMCResponse\x12\x45\n\x0b\x62mc_details\x18\x06 \x01(\x0b\x32$.metalstack.api.v2.MachineBMCDetailsR\nbmcDetails\"\xab\x04\n\x07Machine\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12:\n\tpartition\x18\x03 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\x12\x1c\n\x04rack\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12\x1c\n\x04room\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04room\x12+\n\x04size\x18\x06 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\x12>\n\x08hardware\x18\x07 \x01(\x0b\x32\".metalstack.api.v2.MachineHardwareR\x08hardware\x12\x44\n\nallocation\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.MachineAllocationR\nallocation\x12\x38\n\x06status\x18\t \x01(\x0b\x32 .metalstack.api.v2.MachineStatusR\x06status\x12p\n\x1arecent_provisioning_events\x18\n \x01(\x0b\x32\x32.metalstack.api.v2.MachineRecentProvisioningEventsR\x18recentProvisioningEvents\"\xa4\x02\n\rMachineStatus\x12\x41\n\tcondition\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.MachineConditionR\tcondition\x12N\n\tled_state\x18\x02 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12N\n\nliveliness\x18\x03 \x01(\x0e\x32$.metalstack.api.v2.MachineLivelinessB\x08\xbaH\x05\x82\x01\x02\x10\x01R\nliveliness\x12\x30\n\x14metal_hammer_version\x18\x04 \x01(\tR\x12metalHammerVersion\"\xa4\x01\n\x10MachineCondition\x12?\n\x05state\x18\x01 \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12-\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12 \n\x06issuer\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06issuer\"\xff\x07\n\x11MachineAllocation\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\'\n\ncreated_by\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tcreatedBy\x12\"\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12.\n\x05image\x18\x07 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12P\n\x11\x66ilesystem_layout\x18\x08 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\x12=\n\x08networks\x18\t \x03(\x0b\x32!.metalstack.api.v2.MachineNetworkR\x08networks\x12#\n\x08hostname\x18\n \x01(\tB\x07\xbaH\x04r\x02h\x01R\x08hostname\x12@\n\x0fssh_public_keys\x18\x0b \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeys\x12+\n\x08userdata\x18\x0c \x01(\tB\x0f\xbaH\x0cr\n\x18\x80\x80\x02\xf0\xb3\xae\xb1\x02\x01R\x08userdata\x12[\n\x0f\x61llocation_type\x18\r \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12G\n\x0e\x66irewall_rules\x18\x0e \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\x12G\n\x0b\x64ns_servers\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\ndnsServers\x12G\n\x0bntp_servers\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\nntpServers\x12/\n\x03vpn\x18\x11 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNR\x03vpn\x12\x44\n\x10placement_labels\x18\x12 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x0fplacementLabels\"a\n\x18MachineAllocationNetwork\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x1e\n\x03ips\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\x90\x01\n\rFirewallRules\x12=\n\x06\x65gress\x18\x01 \x03(\x0b\x32%.metalstack.api.v2.FirewallEgressRuleR\x06\x65gress\x12@\n\x07ingress\x18\x02 \x03(\x0b\x32&.metalstack.api.v2.FirewallIngressRuleR\x07ingress\"\xd0\x01\n\x12\x46irewallEgressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12\x1c\n\x02to\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x02to\x12\x31\n\x07\x63omment\x18\x04 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\xf3\x01\n\x13\x46irewallIngressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12\x1c\n\x02to\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x02to\x12 \n\x04\x66rom\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x04\x66rom\x12\x31\n\x07\x63omment\x18\x05 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\x9c\x03\n\x0eMachineNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12(\n\x08prefixes\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\x12K\n\x0cnetwork_type\x18\x05 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0bnetworkType\x12?\n\x08nat_type\x18\x06 \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07natType\x12\x10\n\x03vrf\x18\x07 \x01(\x04R\x03vrf\x12\x10\n\x03\x61sn\x18\x08 \x01(\rR\x03\x61sn\x12\'\n\x07project\x18\t \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x07project\x88\x01\x01\x42\n\n\x08_project\"\xfb\x01\n\x0fMachineHardware\x12\x16\n\x06memory\x18\x01 \x01(\x04R\x06memory\x12;\n\x05\x64isks\x18\x02 \x03(\x0b\x32%.metalstack.api.v2.MachineBlockDeviceR\x05\x64isks\x12/\n\x04\x63pus\x18\x03 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalCPUR\x04\x63pus\x12/\n\x04gpus\x18\x04 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalGPUR\x04gpus\x12\x31\n\x04nics\x18\x05 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\x04nics\"|\n\x08MetalCPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\x12\x14\n\x05\x63ores\x18\x03 \x01(\rR\x05\x63ores\x12\x18\n\x07threads\x18\x04 \x01(\rR\x07threads\"L\n\x08MetalGPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\"\x9e\x02\n\nMachineNic\x12\x14\n\x03mac\x18\x01 \x01(\tB\x02\x18\x01R\x03mac\x12\x1f\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12(\n\nidentifier\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\nidentifier\x12 \n\x06vendor\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x06vendor\x12\x1e\n\x05model\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05model\x12\x14\n\x05speed\x18\x06 \x01(\x04R\x05speed\x12;\n\tneighbors\x18\x07 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\tneighbors\x12\x1a\n\x08hostname\x18\x08 \x01(\tR\x08hostname\"I\n\x12MachineBlockDevice\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size\"o\n\x1eMachineChassisIdentifyLEDState\x12\x1e\n\x05value\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05value\x12-\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\"\xf7\x01\n\x11MachineBMCDetails\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12&\n\tpartition\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tpartition\x12\x1c\n\x04rack\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12\x1c\n\x04room\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04room\x12\x1c\n\x04size\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04size\x12\x42\n\nbmc_report\x18\x06 \x01(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\tbmcReport\"\xe9\x03\n\x10MachineBMCReport\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12/\n\x03\x62mc\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineBMCR\x03\x62mc\x12\x32\n\x04\x62ios\x18\x03 \x01(\x0b\x32\x1e.metalstack.api.v2.MachineBiosR\x04\x62ios\x12/\n\x03\x66ru\x18\x04 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineFRUR\x03\x66ru\x12H\n\x0cpower_metric\x18\x05 \x01(\x0b\x32%.metalstack.api.v2.MachinePowerMetricR\x0bpowerMetric\x12L\n\x0epower_supplies\x18\x06 \x03(\x0b\x32%.metalstack.api.v2.MachinePowerSupplyR\rpowerSupplies\x12N\n\tled_state\x18\x07 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\"z\n\x0bMachineBios\x12%\n\x07version\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x07version\x12#\n\x06vendor\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x06vendor\x12\x1f\n\x04\x64\x61te\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x04\x64\x61te\"\x99\x02\n\nMachineBMC\x12\"\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x02\x01R\x07\x61\x64\x64ress\x12\x1d\n\x03mac\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x03mac\x12\x1f\n\x04user\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x04user\x12\'\n\x08password\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x08password\x12)\n\tinterface\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\tinterface\x12%\n\x07version\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x07version\x12,\n\x0bpower_state\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\npowerState\"\xa6\x05\n\nMachineFRU\x12@\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12@\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12-\n\tboard_mfg\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12:\n\x10\x62oard_mfg_serial\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x03R\x0e\x62oardMfgSerial\x88\x01\x01\x12<\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12\x43\n\x14product_manufacturer\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x05R\x13productManufacturer\x88\x01\x01\x12@\n\x13product_part_number\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x37\n\x0eproduct_serial\x18\x08 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x13\n\x11_board_mfg_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"\xce\x01\n\x12MachinePowerMetric\x12\x34\n\x16\x61verage_consumed_watts\x18\x01 \x01(\x02R\x14\x61verageConsumedWatts\x12&\n\x0finterval_in_min\x18\x02 \x01(\x02R\rintervalInMin\x12,\n\x12max_consumed_watts\x18\x03 \x01(\x02R\x10maxConsumedWatts\x12,\n\x12min_consumed_watts\x18\x04 \x01(\x02R\x10minConsumedWatts\"B\n\x12MachinePowerSupply\x12\x16\n\x06health\x18\x01 \x01(\tR\x06health\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state\"\xd3\x02\n\x1fMachineRecentProvisioningEvents\x12\x43\n\x06\x65vents\x18\x01 \x03(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x06\x65vents\x12\x42\n\x0flast_event_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\rlastEventTime\x12U\n\x10last_error_event\x18\x03 \x01(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x0elastErrorEvent\x12P\n\x05state\x18\x04 \x01(\x0e\x32\x30.metalstack.api.v2.MachineProvisioningEventStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\"\xb5\x01\n\x18MachineProvisioningEvent\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12O\n\x05\x65vent\x18\x02 \x01(\x0e\x32/.metalstack.api.v2.MachineProvisioningEventTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05\x65vent\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\"\x99\x01\n\nMachineVPN\x12\x32\n\x15\x63ontrol_plane_address\x18\x01 \x01(\tR\x13\x63ontrolPlaneAddress\x12\x19\n\x08\x61uth_key\x18\x02 \x01(\tR\x07\x61uthKey\x12\x1c\n\tconnected\x18\x03 \x01(\x08R\tconnected\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\xf7\x08\n\x0cMachineQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12.\n\tpartition\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x12$\n\x04size\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\x04size\x88\x01\x01\x12$\n\x04rack\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x04rack\x88\x01\x01\x12$\n\x04room\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x05R\x04room\x88\x01\x01\x12\x36\n\x06labels\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x06R\x06labels\x88\x01\x01\x12N\n\nallocation\x18\x08 \x01(\x0b\x32).metalstack.api.v2.MachineAllocationQueryH\x07R\nallocation\x88\x01\x01\x12\x45\n\x07network\x18\t \x01(\x0b\x32&.metalstack.api.v2.MachineNetworkQueryH\x08R\x07network\x88\x01\x01\x12\x39\n\x03nic\x18\n \x01(\x0b\x32\".metalstack.api.v2.MachineNicQueryH\tR\x03nic\x88\x01\x01\x12<\n\x04\x64isk\x18\x0b \x01(\x0b\x32#.metalstack.api.v2.MachineDiskQueryH\nR\x04\x64isk\x88\x01\x01\x12\x39\n\x03\x62mc\x18\x0c \x01(\x0b\x32\".metalstack.api.v2.MachineBMCQueryH\x0bR\x03\x62mc\x88\x01\x01\x12\x39\n\x03\x66ru\x18\r \x01(\x0b\x32\".metalstack.api.v2.MachineFRUQueryH\x0cR\x03\x66ru\x88\x01\x01\x12H\n\x08hardware\x18\x0e \x01(\x0b\x32\'.metalstack.api.v2.MachineHardwareQueryH\rR\x08hardware\x88\x01\x01\x12:\n\x05state\x18\x0f \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateH\x0eR\x05state\x88\x01\x01\x12\x1d\n\x07waiting\x18\x10 \x01(\x08H\x0fR\x07waiting\x88\x01\x01\x12\'\n\x0cpreallocated\x18\x11 \x01(\x08H\x10R\x0cpreallocated\x88\x01\x01\x12(\n\rnot_allocated\x18\x12 \x01(\x08H\x11R\x0cnotAllocated\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x07\n\x05_rackB\x07\n\x05_roomB\t\n\x07_labelsB\r\n\x0b_allocationB\n\n\x08_networkB\x06\n\x04_nicB\x07\n\x05_diskB\x06\n\x04_bmcB\x06\n\x04_fruB\x0b\n\t_hardwareB\x08\n\x06_stateB\n\n\x08_waitingB\x0f\n\r_preallocatedB\x10\n\x0e_not_allocated\"\xdd\x04\n\x16MachineAllocationQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12\'\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x07project\x88\x01\x01\x12&\n\x05image\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\x05image\x88\x01\x01\x12=\n\x11\x66ilesystem_layout\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x10\x66ilesystemLayout\x88\x01\x01\x12(\n\x08hostname\x18\x06 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x05R\x08hostname\x88\x01\x01\x12`\n\x0f\x61llocation_type\x18\x07 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x0e\x61llocationType\x88\x01\x01\x12\x36\n\x06labels\x18\x08 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x07R\x06labels\x88\x01\x01\x12\x34\n\x03vpn\x18\t \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNH\x08R\x03vpn\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\n\n\x08_projectB\x08\n\x06_imageB\x14\n\x12_filesystem_layoutB\x0b\n\t_hostnameB\x12\n\x10_allocation_typeB\t\n\x07_labelsB\x06\n\x04_vpn\"\xe4\x01\n\x13MachineNetworkQuery\x12\x1a\n\x08networks\x18\x01 \x03(\tR\x08networks\x12(\n\x08prefixes\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\x12\x12\n\x04vrfs\x18\x05 \x03(\x04R\x04vrfs\x12\x12\n\x04\x61sns\x18\x06 \x03(\rR\x04\x61sns\"\xd9\x01\n\x0fMachineNicQuery\x12(\n\x04macs\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\x10\x64\x18\x01\"\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x04macs\x12\'\n\x05names\x18\x02 \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x64\x18\x01\"\x05r\x03\x18\x80\x01R\x05names\x12\x39\n\rneighbor_macs\x18\x03 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\x10\x64\x18\x01\"\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x0cneighborMacs\x12\x38\n\x0eneighbor_names\x18\x04 \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x64\x18\x01\"\x05r\x03\x18\x80\x01R\rneighborNames\"Y\n\x10MachineDiskQuery\x12%\n\x05names\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12\x1e\n\x05sizes\x18\x02 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x05sizes\"\xd8\x01\n\x0fMachineBMCQuery\x12&\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x00R\x07\x61\x64\x64ress\x88\x01\x01\x12\"\n\x03mac\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01H\x01R\x03mac\x88\x01\x01\x12!\n\x04user\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x04user\x88\x01\x01\x12+\n\tinterface\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\tinterface\x88\x01\x01\x42\n\n\x08_addressB\x06\n\x04_macB\x07\n\x05_userB\x0c\n\n_interface\"\x88\x05\n\x0fMachineFRUQuery\x12=\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12=\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12*\n\tboard_mfg\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12\x30\n\x0c\x62oard_serial\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\x0b\x62oardSerial\x88\x01\x01\x12\x39\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12@\n\x14product_manufacturer\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x05R\x13productManufacturer\x88\x01\x01\x12=\n\x13product_part_number\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x34\n\x0eproduct_serial\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x0f\n\r_board_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"n\n\x14MachineHardwareQuery\x12\x1b\n\x06memory\x18\x01 \x01(\x04H\x00R\x06memory\x88\x01\x01\x12 \n\tcpu_cores\x18\x02 \x01(\rH\x01R\x08\x63puCores\x88\x01\x01\x42\t\n\x07_memoryB\x0c\n\n_cpu_cores\"\x98\x03\n\x12MachineIssuesQuery\x12\x44\n\rmachine_query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x0cmachineQuery\x12\x46\n\x04only\x18\x02 \x03(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x04only\x12\x46\n\x04omit\x18\x03 \x03(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x04omit\x12R\n\x08severity\x18\x04 \x01(\x0e\x32\'.metalstack.api.v2.MachineIssueSeverityB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x08severity\x88\x01\x01\x12K\n\x14last_error_threshold\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x12lastErrorThresholdB\x0b\n\t_severity\"f\n\rMachineIssues\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x37\n\x06issues\x18\x02 \x03(\x0b\x32\x1f.metalstack.api.v2.MachineIssueR\x06issues\"\x9b\x02\n\x0cMachineIssue\x12\x41\n\x04type\x18\x01 \x01(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12M\n\x08severity\x18\x02 \x01(\x0e\x32\'.metalstack.api.v2.MachineIssueSeverityB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08severity\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\x30\n\rreference_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01R\x0creferenceUrl\x12\x18\n\x07\x64\x65tails\x18\x05 \x01(\tR\x07\x64\x65tails*e\n\nIPProtocol\x12\x1b\n\x17IP_PROTOCOL_UNSPECIFIED\x10\x00\x12\x1c\n\x0fIP_PROTOCOL_TCP\x10\x01\x1a\x07\x82\xb2\x19\x03tcp\x12\x1c\n\x0fIP_PROTOCOL_UDP\x10\x02\x1a\x07\x82\xb2\x19\x03udp*\xad\x01\n\x0cMachineState\x12#\n\x19MACHINE_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12&\n\x15MACHINE_STATE_TAINTED\x10\x01\x1a\x0b\x82\xb2\x19\x07tainted\x12$\n\x14MACHINE_STATE_LOCKED\x10\x02\x1a\n\x82\xb2\x19\x06locked\x12*\n\x17MACHINE_STATE_AVAILABLE\x10\x03\x1a\r\x82\xb2\x19\tavailable*\xdf\x01\n\x1dMachineProvisioningEventState\x12\x36\n,MACHINE_PROVISIONING_EVENT_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12=\n*MACHINE_PROVISIONING_EVENT_STATE_CRASHLOOP\x10\x01\x1a\r\x82\xb2\x19\tcrashloop\x12G\n/MACHINE_PROVISIONING_EVENT_STATE_FAILED_RECLAIM\x10\x02\x1a\x12\x82\xb2\x19\x0e\x66\x61iled-reclaim*\x9f\x06\n\x1cMachineProvisioningEventType\x12/\n+MACHINE_PROVISIONING_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x34\n%MACHINE_PROVISIONING_EVENT_TYPE_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x41live\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_CRASHED\x10\x02\x1a\x0b\x82\xb2\x19\x07\x43rashed\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PXE_BOOTING\x10\x03\x1a\x0f\x82\xb2\x19\x0bPXE Booting\x12\x46\n.MACHINE_PROVISIONING_EVENT_TYPE_PLANNED_REBOOT\x10\x04\x1a\x12\x82\xb2\x19\x0ePlanned Reboot\x12<\n)MACHINE_PROVISIONING_EVENT_TYPE_PREPARING\x10\x05\x1a\r\x82\xb2\x19\tPreparing\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_REGISTERING\x10\x06\x1a\x0f\x82\xb2\x19\x0bRegistering\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_WAITING\x10\x07\x1a\x0b\x82\xb2\x19\x07Waiting\x12>\n*MACHINE_PROVISIONING_EVENT_TYPE_INSTALLING\x10\x08\x1a\x0e\x82\xb2\x19\nInstalling\x12N\n2MACHINE_PROVISIONING_EVENT_TYPE_BOOTING_NEW_KERNEL\x10\t\x1a\x16\x82\xb2\x19\x12\x42ooting New Kernel\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PHONED_HOME\x10\n\x1a\x0f\x82\xb2\x19\x0bPhoned Home\x12H\n/MACHINE_PROVISIONING_EVENT_TYPE_MACHINE_RECLAIM\x10\x0b\x1a\x13\x82\xb2\x19\x0fMachine Reclaim*\xba\x01\n\x11MachineLiveliness\x12(\n\x1eMACHINE_LIVELINESS_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\'\n\x18MACHINE_LIVELINESS_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x61live\x12%\n\x17MACHINE_LIVELINESS_DEAD\x10\x02\x1a\x08\x82\xb2\x19\x04\x64\x65\x61\x64\x12+\n\x1aMACHINE_LIVELINESS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknown*\xac\x01\n\x15MachineAllocationType\x12-\n#MACHINE_ALLOCATION_TYPE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\x30\n\x1fMACHINE_ALLOCATION_TYPE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12\x32\n MACHINE_ALLOCATION_TYPE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall*\xfe\x04\n\x11MachineBMCCommand\x12#\n\x1fMACHINE_BMC_COMMAND_UNSPECIFIED\x10\x00\x12\"\n\x16MACHINE_BMC_COMMAND_ON\x10\x01\x1a\x06\x82\xb2\x19\x02on\x12$\n\x17MACHINE_BMC_COMMAND_OFF\x10\x02\x1a\x07\x82\xb2\x19\x03off\x12(\n\x19MACHINE_BMC_COMMAND_RESET\x10\x03\x1a\t\x82\xb2\x19\x05reset\x12(\n\x19MACHINE_BMC_COMMAND_CYCLE\x10\x04\x1a\t\x82\xb2\x19\x05\x63ycle\x12\x36\n MACHINE_BMC_COMMAND_BOOT_TO_BIOS\x10\x05\x1a\x10\x82\xb2\x19\x0c\x62oot-to-bios\x12:\n\"MACHINE_BMC_COMMAND_BOOT_FROM_DISK\x10\x06\x1a\x12\x82\xb2\x19\x0e\x62oot-from-disk\x12\x38\n!MACHINE_BMC_COMMAND_BOOT_FROM_PXE\x10\x07\x1a\x11\x82\xb2\x19\rboot-from-pxe\x12<\n#MACHINE_BMC_COMMAND_IDENTIFY_LED_ON\x10\x08\x1a\x13\x82\xb2\x19\x0fidentify-led-on\x12>\n$MACHINE_BMC_COMMAND_IDENTIFY_LED_OFF\x10\t\x1a\x14\x82\xb2\x19\x10identify-led-off\x12<\n#MACHINE_BMC_COMMAND_MACHINE_DELETED\x10\n\x1a\x13\x82\xb2\x19\x0fmachine-deleted\x12<\n#MACHINE_BMC_COMMAND_MACHINE_CREATED\x10\x0b\x1a\x13\x82\xb2\x19\x0fmachine-created*\xf3\x06\n\x10MachineIssueType\x12\"\n\x1eMACHINE_ISSUE_TYPE_UNSPECIFIED\x10\x00\x12\x39\n!MACHINE_ISSUE_TYPE_ASN_UNIQUENESS\x10\x01\x1a\x12\x82\xb2\x19\x0e\x61sn-not-unique\x12?\n$MACHINE_ISSUE_TYPE_BMC_INFO_OUTDATED\x10\x02\x1a\x15\x82\xb2\x19\x11\x62mc-info-outdated\x12\x42\n&MACHINE_ISSUE_TYPE_BMC_NON_DISTINCT_IP\x10\x03\x1a\x16\x82\xb2\x19\x12\x62mc-no-distinct-ip\x12\x39\n!MACHINE_ISSUE_TYPE_BMC_WITHOUT_IP\x10\x04\x1a\x12\x82\xb2\x19\x0e\x62mc-without-ip\x12;\n\"MACHINE_ISSUE_TYPE_BMC_WITHOUT_MAC\x10\x05\x1a\x13\x82\xb2\x19\x0f\x62mc-without-mac\x12\x30\n\x1dMACHINE_ISSUE_TYPE_CRASH_LOOP\x10\x06\x1a\r\x82\xb2\x19\tcrashloop\x12I\n)MACHINE_ISSUE_TYPE_FAILED_MACHINE_RECLAIM\x10\x07\x1a\x1a\x82\xb2\x19\x16\x66\x61iled-machine-reclaim\x12=\n#MACHINE_ISSUE_TYPE_LAST_EVENT_ERROR\x10\x08\x1a\x14\x82\xb2\x19\x10last-event-error\x12;\n\"MACHINE_ISSUE_TYPE_LIVELINESS_DEAD\x10\t\x1a\x13\x82\xb2\x19\x0fliveliness-dead\x12M\n+MACHINE_ISSUE_TYPE_LIVELINESS_NOT_AVAILABLE\x10\n\x1a\x1c\x82\xb2\x19\x18liveliness-not-available\x12\x41\n%MACHINE_ISSUE_TYPE_LIVELINESS_UNKNOWN\x10\x0b\x1a\x16\x82\xb2\x19\x12liveliness-unknown\x12\x41\n%MACHINE_ISSUE_TYPE_NO_EVENT_CONTAINER\x10\x0c\x1a\x16\x82\xb2\x19\x12no-event-container\x12\x35\n\x1fMACHINE_ISSUE_TYPE_NO_PARTITION\x10\r\x1a\x10\x82\xb2\x19\x0cno-partition*\xcb\x01\n\x14MachineIssueSeverity\x12&\n\"MACHINE_ISSUE_SEVERITY_UNSPECIFIED\x10\x00\x12+\n\x1cMACHINE_ISSUE_SEVERITY_MINOR\x10\x01\x1a\t\x82\xb2\x19\x05minor\x12+\n\x1cMACHINE_ISSUE_SEVERITY_MAJOR\x10\x02\x1a\t\x82\xb2\x19\x05major\x12\x31\n\x1fMACHINE_ISSUE_SEVERITY_CRITICAL\x10\x03\x1a\x0c\x82\xb2\x19\x08\x63ritical2\xd1\x06\n\x0eMachineService\x12m\n\x03Get\x12+.metalstack.api.v2.MachineServiceGetRequest\x1a,.metalstack.api.v2.MachineServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.MachineServiceCreateRequest\x1a/.metalstack.api.v2.MachineServiceCreateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.MachineServiceUpdateRequest\x1a/.metalstack.api.v2.MachineServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12p\n\x04List\x12,.metalstack.api.v2.MachineServiceListRequest\x1a-.metalstack.api.v2.MachineServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x44\x65lete\x12..metalstack.api.v2.MachineServiceDeleteRequest\x1a/.metalstack.api.v2.MachineServiceDeleteResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x81\x01\n\nBMCCommand\x12\x32.metalstack.api.v2.MachineServiceBMCCommandRequest\x1a\x33.metalstack.api.v2.MachineServiceBMCCommandResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06GetBMC\x12..metalstack.api.v2.MachineServiceGetBMCRequest\x1a/.metalstack.api.v2.MachineServiceGetBMCResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cMachineProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/machine.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\"metalstack/api/v2/filesystem.proto\x1a\x1dmetalstack/api/v2/image.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a!metalstack/api/v2/partition.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1cmetalstack/api/v2/size.proto\"\\\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xf6\x08\n\x1bMachineServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12!\n\x04uuid\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12(\n\x08hostname\x18\x05 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x02R\x08hostname\x88\x01\x01\x12.\n\tpartition\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x03R\tpartition\x88\x01\x01\x12$\n\x04size\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x04size\x88\x01\x01\x12!\n\x05image\x18\x08 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x05image\x12=\n\x11\x66ilesystem_layout\x18\t \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x05R\x10\x66ilesystemLayout\x88\x01\x01\x12@\n\x0fssh_public_keys\x18\n \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeys\x12\x36\n\x08userdata\x18\x0b \x01(\tB\x15\xbaH\x12r\x10\x18\x80\x80\x02\xf0\xb3\xae\xb1\x02\x01\xb0\xb4\xae\xb1\x02\x01H\x06R\x08userdata\x88\x01\x01\x12\x31\n\x06labels\x18\x0c \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12Q\n\x08networks\x18\r \x03(\x0b\x32+.metalstack.api.v2.MachineAllocationNetworkB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x08networks\x12\x44\n\x10placement_labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x0fplacementLabels\x12G\n\x0b\x64ns_servers\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\ndnsServers\x12G\n\x0bntp_servers\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\nntpServers\x12[\n\x0f\x61llocation_type\x18\x11 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12\x44\n\rfirewall_spec\x18\x12 \x01(\x0b\x32\x1f.metalstack.api.v2.FirewallSpecR\x0c\x66irewallSpecB\x07\n\x05_uuidB\x0e\n\x0c_descriptionB\x0b\n\t_hostnameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x14\n\x12_filesystem_layoutB\x0b\n\t_userdata\"W\n\x0c\x46irewallSpec\x12G\n\x0e\x66irewall_rules\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\"T\n\x1cMachineServiceCreateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xf6\x02\n\x1bMachineServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\"\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x01R\x06labels\x88\x01\x01\x12@\n\x0fssh_public_keys\x18\x06 \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeysB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cMachineServiceUpdateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"v\n\x19MachineServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines\"_\n\x1bMachineServiceDeleteRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cMachineServiceDeleteResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xad\x01\n\x1fMachineServiceBMCCommandRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12H\n\x07\x63ommand\x18\x03 \x01(\x0e\x32$.metalstack.api.v2.MachineBMCCommandB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07\x63ommand\";\n MachineServiceBMCCommandResponse\x12\x17\n\x07task_id\x18\x01 \x01(\tR\x06taskId\"_\n\x1bMachineServiceGetBMCRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"e\n\x1cMachineServiceGetBMCResponse\x12\x45\n\x0b\x62mc_details\x18\x06 \x01(\x0b\x32$.metalstack.api.v2.MachineBMCDetailsR\nbmcDetails\"\xab\x04\n\x07Machine\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12:\n\tpartition\x18\x03 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\x12\x1c\n\x04rack\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12\x1c\n\x04room\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04room\x12+\n\x04size\x18\x06 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\x12>\n\x08hardware\x18\x07 \x01(\x0b\x32\".metalstack.api.v2.MachineHardwareR\x08hardware\x12\x44\n\nallocation\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.MachineAllocationR\nallocation\x12\x38\n\x06status\x18\t \x01(\x0b\x32 .metalstack.api.v2.MachineStatusR\x06status\x12p\n\x1arecent_provisioning_events\x18\n \x01(\x0b\x32\x32.metalstack.api.v2.MachineRecentProvisioningEventsR\x18recentProvisioningEvents\"\xa4\x02\n\rMachineStatus\x12\x41\n\tcondition\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.MachineConditionR\tcondition\x12N\n\tled_state\x18\x02 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12N\n\nliveliness\x18\x03 \x01(\x0e\x32$.metalstack.api.v2.MachineLivelinessB\x08\xbaH\x05\x82\x01\x02\x10\x01R\nliveliness\x12\x30\n\x14metal_hammer_version\x18\x04 \x01(\tR\x12metalHammerVersion\"\xa4\x01\n\x10MachineCondition\x12?\n\x05state\x18\x01 \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12-\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12 \n\x06issuer\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06issuer\"\xff\x07\n\x11MachineAllocation\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\'\n\ncreated_by\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tcreatedBy\x12\"\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12.\n\x05image\x18\x07 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12P\n\x11\x66ilesystem_layout\x18\x08 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\x12=\n\x08networks\x18\t \x03(\x0b\x32!.metalstack.api.v2.MachineNetworkR\x08networks\x12#\n\x08hostname\x18\n \x01(\tB\x07\xbaH\x04r\x02h\x01R\x08hostname\x12@\n\x0fssh_public_keys\x18\x0b \x03(\tB\x18\xbaH\x15\x92\x01\x12\x10\x32\"\x08r\x06\x88\xb4\xae\xb1\x02\x01\xd0\xa4\xb3\xb1\x02\x01R\rsshPublicKeys\x12+\n\x08userdata\x18\x0c \x01(\tB\x0f\xbaH\x0cr\n\x18\x80\x80\x02\xf0\xb3\xae\xb1\x02\x01R\x08userdata\x12[\n\x0f\x61llocation_type\x18\r \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12G\n\x0e\x66irewall_rules\x18\x0e \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\x12G\n\x0b\x64ns_servers\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\ndnsServers\x12G\n\x0bntp_servers\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\nntpServers\x12/\n\x03vpn\x18\x11 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNR\x03vpn\x12\x44\n\x10placement_labels\x18\x12 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x0fplacementLabels\"a\n\x18MachineAllocationNetwork\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x1e\n\x03ips\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\x90\x01\n\rFirewallRules\x12=\n\x06\x65gress\x18\x01 \x03(\x0b\x32%.metalstack.api.v2.FirewallEgressRuleR\x06\x65gress\x12@\n\x07ingress\x18\x02 \x03(\x0b\x32&.metalstack.api.v2.FirewallIngressRuleR\x07ingress\"\xd0\x01\n\x12\x46irewallEgressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12\x1c\n\x02to\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x02to\x12\x31\n\x07\x63omment\x18\x04 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\xf3\x01\n\x13\x46irewallIngressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12\x1c\n\x02to\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x02to\x12 \n\x04\x66rom\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x04\x66rom\x12\x31\n\x07\x63omment\x18\x05 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\x9c\x03\n\x0eMachineNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12(\n\x08prefixes\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\x12K\n\x0cnetwork_type\x18\x05 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0bnetworkType\x12?\n\x08nat_type\x18\x06 \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07natType\x12\x10\n\x03vrf\x18\x07 \x01(\x04R\x03vrf\x12\x10\n\x03\x61sn\x18\x08 \x01(\rR\x03\x61sn\x12\'\n\x07project\x18\t \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x07project\x88\x01\x01\x42\n\n\x08_project\"\xfb\x01\n\x0fMachineHardware\x12\x16\n\x06memory\x18\x01 \x01(\x04R\x06memory\x12;\n\x05\x64isks\x18\x02 \x03(\x0b\x32%.metalstack.api.v2.MachineBlockDeviceR\x05\x64isks\x12/\n\x04\x63pus\x18\x03 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalCPUR\x04\x63pus\x12/\n\x04gpus\x18\x04 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalGPUR\x04gpus\x12\x31\n\x04nics\x18\x05 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\x04nics\"|\n\x08MetalCPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\x12\x14\n\x05\x63ores\x18\x03 \x01(\rR\x05\x63ores\x12\x18\n\x07threads\x18\x04 \x01(\rR\x07threads\"L\n\x08MetalGPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\"\xa8\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\x1e.metalstack.api.v2.NeighborNicR\tneighbors\x12\x1a\n\x08hostname\x18\x08 \x01(\tR\x08hostname\"\x88\x01\n\x0bNeighborNic\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\nidentifier\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\nidentifier\x88\x01\x01\x12\x1a\n\x08hostname\x18\x03 \x01(\tR\x08hostnameB\r\n\x0b_identifier\"I\n\x12MachineBlockDevice\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size\"o\n\x1eMachineChassisIdentifyLEDState\x12\x1e\n\x05value\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05value\x12-\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\"\xf7\x01\n\x11MachineBMCDetails\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12&\n\tpartition\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tpartition\x12\x1c\n\x04rack\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12\x1c\n\x04room\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04room\x12\x1c\n\x04size\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04size\x12\x42\n\nbmc_report\x18\x06 \x01(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\tbmcReport\"\xe9\x03\n\x10MachineBMCReport\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12/\n\x03\x62mc\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineBMCR\x03\x62mc\x12\x32\n\x04\x62ios\x18\x03 \x01(\x0b\x32\x1e.metalstack.api.v2.MachineBiosR\x04\x62ios\x12/\n\x03\x66ru\x18\x04 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineFRUR\x03\x66ru\x12H\n\x0cpower_metric\x18\x05 \x01(\x0b\x32%.metalstack.api.v2.MachinePowerMetricR\x0bpowerMetric\x12L\n\x0epower_supplies\x18\x06 \x03(\x0b\x32%.metalstack.api.v2.MachinePowerSupplyR\rpowerSupplies\x12N\n\tled_state\x18\x07 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\"z\n\x0bMachineBios\x12%\n\x07version\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x07version\x12#\n\x06vendor\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x06vendor\x12\x1f\n\x04\x64\x61te\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x04\x64\x61te\"\x99\x02\n\nMachineBMC\x12\"\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x02\x01R\x07\x61\x64\x64ress\x12\x1d\n\x03mac\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x03mac\x12\x1f\n\x04user\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x04user\x12\'\n\x08password\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x08password\x12)\n\tinterface\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\tinterface\x12%\n\x07version\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x07version\x12,\n\x0bpower_state\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\npowerState\"\xa6\x05\n\nMachineFRU\x12@\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12@\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12-\n\tboard_mfg\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12:\n\x10\x62oard_mfg_serial\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x03R\x0e\x62oardMfgSerial\x88\x01\x01\x12<\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12\x43\n\x14product_manufacturer\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x05R\x13productManufacturer\x88\x01\x01\x12@\n\x13product_part_number\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x37\n\x0eproduct_serial\x18\x08 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x13\n\x11_board_mfg_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"\xce\x01\n\x12MachinePowerMetric\x12\x34\n\x16\x61verage_consumed_watts\x18\x01 \x01(\x02R\x14\x61verageConsumedWatts\x12&\n\x0finterval_in_min\x18\x02 \x01(\x02R\rintervalInMin\x12,\n\x12max_consumed_watts\x18\x03 \x01(\x02R\x10maxConsumedWatts\x12,\n\x12min_consumed_watts\x18\x04 \x01(\x02R\x10minConsumedWatts\"B\n\x12MachinePowerSupply\x12\x16\n\x06health\x18\x01 \x01(\tR\x06health\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state\"\xd3\x02\n\x1fMachineRecentProvisioningEvents\x12\x43\n\x06\x65vents\x18\x01 \x03(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x06\x65vents\x12\x42\n\x0flast_event_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\rlastEventTime\x12U\n\x10last_error_event\x18\x03 \x01(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x0elastErrorEvent\x12P\n\x05state\x18\x04 \x01(\x0e\x32\x30.metalstack.api.v2.MachineProvisioningEventStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\"\xb5\x01\n\x18MachineProvisioningEvent\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12O\n\x05\x65vent\x18\x02 \x01(\x0e\x32/.metalstack.api.v2.MachineProvisioningEventTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05\x65vent\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\"\x99\x01\n\nMachineVPN\x12\x32\n\x15\x63ontrol_plane_address\x18\x01 \x01(\tR\x13\x63ontrolPlaneAddress\x12\x19\n\x08\x61uth_key\x18\x02 \x01(\tR\x07\x61uthKey\x12\x1c\n\tconnected\x18\x03 \x01(\x08R\tconnected\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\"\xf7\x08\n\x0cMachineQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12.\n\tpartition\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x12$\n\x04size\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\x04size\x88\x01\x01\x12$\n\x04rack\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x04rack\x88\x01\x01\x12$\n\x04room\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x05R\x04room\x88\x01\x01\x12\x36\n\x06labels\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x06R\x06labels\x88\x01\x01\x12N\n\nallocation\x18\x08 \x01(\x0b\x32).metalstack.api.v2.MachineAllocationQueryH\x07R\nallocation\x88\x01\x01\x12\x45\n\x07network\x18\t \x01(\x0b\x32&.metalstack.api.v2.MachineNetworkQueryH\x08R\x07network\x88\x01\x01\x12\x39\n\x03nic\x18\n \x01(\x0b\x32\".metalstack.api.v2.MachineNicQueryH\tR\x03nic\x88\x01\x01\x12<\n\x04\x64isk\x18\x0b \x01(\x0b\x32#.metalstack.api.v2.MachineDiskQueryH\nR\x04\x64isk\x88\x01\x01\x12\x39\n\x03\x62mc\x18\x0c \x01(\x0b\x32\".metalstack.api.v2.MachineBMCQueryH\x0bR\x03\x62mc\x88\x01\x01\x12\x39\n\x03\x66ru\x18\r \x01(\x0b\x32\".metalstack.api.v2.MachineFRUQueryH\x0cR\x03\x66ru\x88\x01\x01\x12H\n\x08hardware\x18\x0e \x01(\x0b\x32\'.metalstack.api.v2.MachineHardwareQueryH\rR\x08hardware\x88\x01\x01\x12:\n\x05state\x18\x0f \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateH\x0eR\x05state\x88\x01\x01\x12\x1d\n\x07waiting\x18\x10 \x01(\x08H\x0fR\x07waiting\x88\x01\x01\x12\'\n\x0cpreallocated\x18\x11 \x01(\x08H\x10R\x0cpreallocated\x88\x01\x01\x12(\n\rnot_allocated\x18\x12 \x01(\x08H\x11R\x0cnotAllocated\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x07\n\x05_rackB\x07\n\x05_roomB\t\n\x07_labelsB\r\n\x0b_allocationB\n\n\x08_networkB\x06\n\x04_nicB\x07\n\x05_diskB\x06\n\x04_bmcB\x06\n\x04_fruB\x0b\n\t_hardwareB\x08\n\x06_stateB\n\n\x08_waitingB\x0f\n\r_preallocatedB\x10\n\x0e_not_allocated\"\xdd\x04\n\x16MachineAllocationQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12\'\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x07project\x88\x01\x01\x12&\n\x05image\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\x05image\x88\x01\x01\x12=\n\x11\x66ilesystem_layout\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x10\x66ilesystemLayout\x88\x01\x01\x12(\n\x08hostname\x18\x06 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x05R\x08hostname\x88\x01\x01\x12`\n\x0f\x61llocation_type\x18\x07 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x0e\x61llocationType\x88\x01\x01\x12\x36\n\x06labels\x18\x08 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x07R\x06labels\x88\x01\x01\x12\x34\n\x03vpn\x18\t \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNH\x08R\x03vpn\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\n\n\x08_projectB\x08\n\x06_imageB\x14\n\x12_filesystem_layoutB\x0b\n\t_hostnameB\x12\n\x10_allocation_typeB\t\n\x07_labelsB\x06\n\x04_vpn\"\xe4\x01\n\x13MachineNetworkQuery\x12\x1a\n\x08networks\x18\x01 \x03(\tR\x08networks\x12(\n\x08prefixes\x18\x02 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x1e\n\x03ips\x18\x04 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xc0\xa4\xb3\xb1\x02\x01R\x03ips\x12\x12\n\x04vrfs\x18\x05 \x03(\x04R\x04vrfs\x12\x12\n\x04\x61sns\x18\x06 \x03(\rR\x04\x61sns\"\xd9\x01\n\x0fMachineNicQuery\x12(\n\x04macs\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\x10\x64\x18\x01\"\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x04macs\x12\'\n\x05names\x18\x02 \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x64\x18\x01\"\x05r\x03\x18\x80\x01R\x05names\x12\x39\n\rneighbor_macs\x18\x03 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\x10\x64\x18\x01\"\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x0cneighborMacs\x12\x38\n\x0eneighbor_names\x18\x04 \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x64\x18\x01\"\x05r\x03\x18\x80\x01R\rneighborNames\"Y\n\x10MachineDiskQuery\x12%\n\x05names\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12\x1e\n\x05sizes\x18\x02 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x05sizes\"\xd8\x01\n\x0fMachineBMCQuery\x12&\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x00R\x07\x61\x64\x64ress\x88\x01\x01\x12\"\n\x03mac\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01H\x01R\x03mac\x88\x01\x01\x12!\n\x04user\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x04user\x88\x01\x01\x12+\n\tinterface\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\tinterface\x88\x01\x01\x42\n\n\x08_addressB\x06\n\x04_macB\x07\n\x05_userB\x0c\n\n_interface\"\x88\x05\n\x0fMachineFRUQuery\x12=\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12=\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12*\n\tboard_mfg\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12\x30\n\x0c\x62oard_serial\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\x0b\x62oardSerial\x88\x01\x01\x12\x39\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12@\n\x14product_manufacturer\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x05R\x13productManufacturer\x88\x01\x01\x12=\n\x13product_part_number\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x34\n\x0eproduct_serial\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x0f\n\r_board_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"n\n\x14MachineHardwareQuery\x12\x1b\n\x06memory\x18\x01 \x01(\x04H\x00R\x06memory\x88\x01\x01\x12 \n\tcpu_cores\x18\x02 \x01(\rH\x01R\x08\x63puCores\x88\x01\x01\x42\t\n\x07_memoryB\x0c\n\n_cpu_cores\"\x98\x03\n\x12MachineIssuesQuery\x12\x44\n\rmachine_query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x0cmachineQuery\x12\x46\n\x04only\x18\x02 \x03(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x04only\x12\x46\n\x04omit\x18\x03 \x03(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x04omit\x12R\n\x08severity\x18\x04 \x01(\x0e\x32\'.metalstack.api.v2.MachineIssueSeverityB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x08severity\x88\x01\x01\x12K\n\x14last_error_threshold\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x12lastErrorThresholdB\x0b\n\t_severity\"f\n\rMachineIssues\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x37\n\x06issues\x18\x02 \x03(\x0b\x32\x1f.metalstack.api.v2.MachineIssueR\x06issues\"\x9b\x02\n\x0cMachineIssue\x12\x41\n\x04type\x18\x01 \x01(\x0e\x32#.metalstack.api.v2.MachineIssueTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12M\n\x08severity\x18\x02 \x01(\x0e\x32\'.metalstack.api.v2.MachineIssueSeverityB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08severity\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\x30\n\rreference_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01R\x0creferenceUrl\x12\x18\n\x07\x64\x65tails\x18\x05 \x01(\tR\x07\x64\x65tails*e\n\nIPProtocol\x12\x1b\n\x17IP_PROTOCOL_UNSPECIFIED\x10\x00\x12\x1c\n\x0fIP_PROTOCOL_TCP\x10\x01\x1a\x07\x82\xb2\x19\x03tcp\x12\x1c\n\x0fIP_PROTOCOL_UDP\x10\x02\x1a\x07\x82\xb2\x19\x03udp*\xad\x01\n\x0cMachineState\x12#\n\x19MACHINE_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12&\n\x15MACHINE_STATE_TAINTED\x10\x01\x1a\x0b\x82\xb2\x19\x07tainted\x12$\n\x14MACHINE_STATE_LOCKED\x10\x02\x1a\n\x82\xb2\x19\x06locked\x12*\n\x17MACHINE_STATE_AVAILABLE\x10\x03\x1a\r\x82\xb2\x19\tavailable*\xdf\x01\n\x1dMachineProvisioningEventState\x12\x36\n,MACHINE_PROVISIONING_EVENT_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12=\n*MACHINE_PROVISIONING_EVENT_STATE_CRASHLOOP\x10\x01\x1a\r\x82\xb2\x19\tcrashloop\x12G\n/MACHINE_PROVISIONING_EVENT_STATE_FAILED_RECLAIM\x10\x02\x1a\x12\x82\xb2\x19\x0e\x66\x61iled-reclaim*\x9f\x06\n\x1cMachineProvisioningEventType\x12/\n+MACHINE_PROVISIONING_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x34\n%MACHINE_PROVISIONING_EVENT_TYPE_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x41live\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_CRASHED\x10\x02\x1a\x0b\x82\xb2\x19\x07\x43rashed\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PXE_BOOTING\x10\x03\x1a\x0f\x82\xb2\x19\x0bPXE Booting\x12\x46\n.MACHINE_PROVISIONING_EVENT_TYPE_PLANNED_REBOOT\x10\x04\x1a\x12\x82\xb2\x19\x0ePlanned Reboot\x12<\n)MACHINE_PROVISIONING_EVENT_TYPE_PREPARING\x10\x05\x1a\r\x82\xb2\x19\tPreparing\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_REGISTERING\x10\x06\x1a\x0f\x82\xb2\x19\x0bRegistering\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_WAITING\x10\x07\x1a\x0b\x82\xb2\x19\x07Waiting\x12>\n*MACHINE_PROVISIONING_EVENT_TYPE_INSTALLING\x10\x08\x1a\x0e\x82\xb2\x19\nInstalling\x12N\n2MACHINE_PROVISIONING_EVENT_TYPE_BOOTING_NEW_KERNEL\x10\t\x1a\x16\x82\xb2\x19\x12\x42ooting New Kernel\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PHONED_HOME\x10\n\x1a\x0f\x82\xb2\x19\x0bPhoned Home\x12H\n/MACHINE_PROVISIONING_EVENT_TYPE_MACHINE_RECLAIM\x10\x0b\x1a\x13\x82\xb2\x19\x0fMachine Reclaim*\xba\x01\n\x11MachineLiveliness\x12(\n\x1eMACHINE_LIVELINESS_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\'\n\x18MACHINE_LIVELINESS_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x61live\x12%\n\x17MACHINE_LIVELINESS_DEAD\x10\x02\x1a\x08\x82\xb2\x19\x04\x64\x65\x61\x64\x12+\n\x1aMACHINE_LIVELINESS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknown*\xac\x01\n\x15MachineAllocationType\x12-\n#MACHINE_ALLOCATION_TYPE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\x30\n\x1fMACHINE_ALLOCATION_TYPE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12\x32\n MACHINE_ALLOCATION_TYPE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall*\xfe\x04\n\x11MachineBMCCommand\x12#\n\x1fMACHINE_BMC_COMMAND_UNSPECIFIED\x10\x00\x12\"\n\x16MACHINE_BMC_COMMAND_ON\x10\x01\x1a\x06\x82\xb2\x19\x02on\x12$\n\x17MACHINE_BMC_COMMAND_OFF\x10\x02\x1a\x07\x82\xb2\x19\x03off\x12(\n\x19MACHINE_BMC_COMMAND_RESET\x10\x03\x1a\t\x82\xb2\x19\x05reset\x12(\n\x19MACHINE_BMC_COMMAND_CYCLE\x10\x04\x1a\t\x82\xb2\x19\x05\x63ycle\x12\x36\n MACHINE_BMC_COMMAND_BOOT_TO_BIOS\x10\x05\x1a\x10\x82\xb2\x19\x0c\x62oot-to-bios\x12:\n\"MACHINE_BMC_COMMAND_BOOT_FROM_DISK\x10\x06\x1a\x12\x82\xb2\x19\x0e\x62oot-from-disk\x12\x38\n!MACHINE_BMC_COMMAND_BOOT_FROM_PXE\x10\x07\x1a\x11\x82\xb2\x19\rboot-from-pxe\x12<\n#MACHINE_BMC_COMMAND_IDENTIFY_LED_ON\x10\x08\x1a\x13\x82\xb2\x19\x0fidentify-led-on\x12>\n$MACHINE_BMC_COMMAND_IDENTIFY_LED_OFF\x10\t\x1a\x14\x82\xb2\x19\x10identify-led-off\x12<\n#MACHINE_BMC_COMMAND_MACHINE_DELETED\x10\n\x1a\x13\x82\xb2\x19\x0fmachine-deleted\x12<\n#MACHINE_BMC_COMMAND_MACHINE_CREATED\x10\x0b\x1a\x13\x82\xb2\x19\x0fmachine-created*\xf3\x06\n\x10MachineIssueType\x12\"\n\x1eMACHINE_ISSUE_TYPE_UNSPECIFIED\x10\x00\x12\x39\n!MACHINE_ISSUE_TYPE_ASN_UNIQUENESS\x10\x01\x1a\x12\x82\xb2\x19\x0e\x61sn-not-unique\x12?\n$MACHINE_ISSUE_TYPE_BMC_INFO_OUTDATED\x10\x02\x1a\x15\x82\xb2\x19\x11\x62mc-info-outdated\x12\x42\n&MACHINE_ISSUE_TYPE_BMC_NON_DISTINCT_IP\x10\x03\x1a\x16\x82\xb2\x19\x12\x62mc-no-distinct-ip\x12\x39\n!MACHINE_ISSUE_TYPE_BMC_WITHOUT_IP\x10\x04\x1a\x12\x82\xb2\x19\x0e\x62mc-without-ip\x12;\n\"MACHINE_ISSUE_TYPE_BMC_WITHOUT_MAC\x10\x05\x1a\x13\x82\xb2\x19\x0f\x62mc-without-mac\x12\x30\n\x1dMACHINE_ISSUE_TYPE_CRASH_LOOP\x10\x06\x1a\r\x82\xb2\x19\tcrashloop\x12I\n)MACHINE_ISSUE_TYPE_FAILED_MACHINE_RECLAIM\x10\x07\x1a\x1a\x82\xb2\x19\x16\x66\x61iled-machine-reclaim\x12=\n#MACHINE_ISSUE_TYPE_LAST_EVENT_ERROR\x10\x08\x1a\x14\x82\xb2\x19\x10last-event-error\x12;\n\"MACHINE_ISSUE_TYPE_LIVELINESS_DEAD\x10\t\x1a\x13\x82\xb2\x19\x0fliveliness-dead\x12M\n+MACHINE_ISSUE_TYPE_LIVELINESS_NOT_AVAILABLE\x10\n\x1a\x1c\x82\xb2\x19\x18liveliness-not-available\x12\x41\n%MACHINE_ISSUE_TYPE_LIVELINESS_UNKNOWN\x10\x0b\x1a\x16\x82\xb2\x19\x12liveliness-unknown\x12\x41\n%MACHINE_ISSUE_TYPE_NO_EVENT_CONTAINER\x10\x0c\x1a\x16\x82\xb2\x19\x12no-event-container\x12\x35\n\x1fMACHINE_ISSUE_TYPE_NO_PARTITION\x10\r\x1a\x10\x82\xb2\x19\x0cno-partition*\xcb\x01\n\x14MachineIssueSeverity\x12&\n\"MACHINE_ISSUE_SEVERITY_UNSPECIFIED\x10\x00\x12+\n\x1cMACHINE_ISSUE_SEVERITY_MINOR\x10\x01\x1a\t\x82\xb2\x19\x05minor\x12+\n\x1cMACHINE_ISSUE_SEVERITY_MAJOR\x10\x02\x1a\t\x82\xb2\x19\x05major\x12\x31\n\x1fMACHINE_ISSUE_SEVERITY_CRITICAL\x10\x03\x1a\x0c\x82\xb2\x19\x08\x63ritical2\xd1\x06\n\x0eMachineService\x12m\n\x03Get\x12+.metalstack.api.v2.MachineServiceGetRequest\x1a,.metalstack.api.v2.MachineServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.MachineServiceCreateRequest\x1a/.metalstack.api.v2.MachineServiceCreateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.MachineServiceUpdateRequest\x1a/.metalstack.api.v2.MachineServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12p\n\x04List\x12,.metalstack.api.v2.MachineServiceListRequest\x1a-.metalstack.api.v2.MachineServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x44\x65lete\x12..metalstack.api.v2.MachineServiceDeleteRequest\x1a/.metalstack.api.v2.MachineServiceDeleteResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x81\x01\n\nBMCCommand\x12\x32.metalstack.api.v2.MachineServiceBMCCommandRequest\x1a\x33.metalstack.api.v2.MachineServiceBMCCommandResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06GetBMC\x12..metalstack.api.v2.MachineServiceGetBMCRequest\x1a/.metalstack.api.v2.MachineServiceGetBMCResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cMachineProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -289,7 +289,7 @@ _globals['_METALGPU'].fields_by_name['model']._loaded_options = None _globals['_METALGPU'].fields_by_name['model']._serialized_options = b'\272H\005r\003\030\200\002' _globals['_MACHINENIC'].fields_by_name['mac']._loaded_options = None - _globals['_MACHINENIC'].fields_by_name['mac']._serialized_options = b'\030\001' + _globals['_MACHINENIC'].fields_by_name['mac']._serialized_options = b'\272H\010r\006\270\263\256\261\002\001' _globals['_MACHINENIC'].fields_by_name['name']._loaded_options = None _globals['_MACHINENIC'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' _globals['_MACHINENIC'].fields_by_name['identifier']._loaded_options = None @@ -298,6 +298,10 @@ _globals['_MACHINENIC'].fields_by_name['vendor']._serialized_options = b'\272H\005r\003\030\200\001' _globals['_MACHINENIC'].fields_by_name['model']._loaded_options = None _globals['_MACHINENIC'].fields_by_name['model']._serialized_options = b'\272H\005r\003\030\200\001' + _globals['_NEIGHBORNIC'].fields_by_name['name']._loaded_options = None + _globals['_NEIGHBORNIC'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' + _globals['_NEIGHBORNIC'].fields_by_name['identifier']._loaded_options = None + _globals['_NEIGHBORNIC'].fields_by_name['identifier']._serialized_options = b'\272H\005r\003\030\200\001' _globals['_MACHINEBLOCKDEVICE'].fields_by_name['name']._loaded_options = None _globals['_MACHINEBLOCKDEVICE'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001' _globals['_MACHINECHASSISIDENTIFYLEDSTATE'].fields_by_name['value']._loaded_options = None @@ -456,24 +460,24 @@ _globals['_MACHINESERVICE'].methods_by_name['BMCCommand']._serialized_options = b'\312\363\030\002\001\002\340\363\030\001' _globals['_MACHINESERVICE'].methods_by_name['GetBMC']._loaded_options = None _globals['_MACHINESERVICE'].methods_by_name['GetBMC']._serialized_options = b'\312\363\030\002\001\002\340\363\030\001' - _globals['_IPPROTOCOL']._serialized_start=14141 - _globals['_IPPROTOCOL']._serialized_end=14242 - _globals['_MACHINESTATE']._serialized_start=14245 - _globals['_MACHINESTATE']._serialized_end=14418 - _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_start=14421 - _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_end=14644 - _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_start=14647 - _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_end=15446 - _globals['_MACHINELIVELINESS']._serialized_start=15449 - _globals['_MACHINELIVELINESS']._serialized_end=15635 - _globals['_MACHINEALLOCATIONTYPE']._serialized_start=15638 - _globals['_MACHINEALLOCATIONTYPE']._serialized_end=15810 - _globals['_MACHINEBMCCOMMAND']._serialized_start=15813 - _globals['_MACHINEBMCCOMMAND']._serialized_end=16451 - _globals['_MACHINEISSUETYPE']._serialized_start=16454 - _globals['_MACHINEISSUETYPE']._serialized_end=17337 - _globals['_MACHINEISSUESEVERITY']._serialized_start=17340 - _globals['_MACHINEISSUESEVERITY']._serialized_end=17543 + _globals['_IPPROTOCOL']._serialized_start=14290 + _globals['_IPPROTOCOL']._serialized_end=14391 + _globals['_MACHINESTATE']._serialized_start=14394 + _globals['_MACHINESTATE']._serialized_end=14567 + _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_start=14570 + _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_end=14793 + _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_start=14796 + _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_end=15595 + _globals['_MACHINELIVELINESS']._serialized_start=15598 + _globals['_MACHINELIVELINESS']._serialized_end=15784 + _globals['_MACHINEALLOCATIONTYPE']._serialized_start=15787 + _globals['_MACHINEALLOCATIONTYPE']._serialized_end=15959 + _globals['_MACHINEBMCCOMMAND']._serialized_start=15962 + _globals['_MACHINEBMCCOMMAND']._serialized_end=16600 + _globals['_MACHINEISSUETYPE']._serialized_start=16603 + _globals['_MACHINEISSUETYPE']._serialized_end=17486 + _globals['_MACHINEISSUESEVERITY']._serialized_start=17489 + _globals['_MACHINEISSUESEVERITY']._serialized_end=17692 _globals['_MACHINESERVICEGETREQUEST']._serialized_start=387 _globals['_MACHINESERVICEGETREQUEST']._serialized_end=479 _globals['_MACHINESERVICEGETRESPONSE']._serialized_start=481 @@ -529,53 +533,55 @@ _globals['_METALGPU']._serialized_start=6717 _globals['_METALGPU']._serialized_end=6793 _globals['_MACHINENIC']._serialized_start=6796 - _globals['_MACHINENIC']._serialized_end=7082 - _globals['_MACHINEBLOCKDEVICE']._serialized_start=7084 - _globals['_MACHINEBLOCKDEVICE']._serialized_end=7157 - _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_start=7159 - _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_end=7270 - _globals['_MACHINEBMCDETAILS']._serialized_start=7273 - _globals['_MACHINEBMCDETAILS']._serialized_end=7520 - _globals['_MACHINEBMCREPORT']._serialized_start=7523 - _globals['_MACHINEBMCREPORT']._serialized_end=8012 - _globals['_MACHINEBIOS']._serialized_start=8014 - _globals['_MACHINEBIOS']._serialized_end=8136 - _globals['_MACHINEBMC']._serialized_start=8139 - _globals['_MACHINEBMC']._serialized_end=8420 - _globals['_MACHINEFRU']._serialized_start=8423 - _globals['_MACHINEFRU']._serialized_end=9101 - _globals['_MACHINEPOWERMETRIC']._serialized_start=9104 - _globals['_MACHINEPOWERMETRIC']._serialized_end=9310 - _globals['_MACHINEPOWERSUPPLY']._serialized_start=9312 - _globals['_MACHINEPOWERSUPPLY']._serialized_end=9378 - _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_start=9381 - _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_end=9720 - _globals['_MACHINEPROVISIONINGEVENT']._serialized_start=9723 - _globals['_MACHINEPROVISIONINGEVENT']._serialized_end=9904 - _globals['_MACHINEVPN']._serialized_start=9907 - _globals['_MACHINEVPN']._serialized_end=10060 - _globals['_MACHINEQUERY']._serialized_start=10063 - _globals['_MACHINEQUERY']._serialized_end=11206 - _globals['_MACHINEALLOCATIONQUERY']._serialized_start=11209 - _globals['_MACHINEALLOCATIONQUERY']._serialized_end=11814 - _globals['_MACHINENETWORKQUERY']._serialized_start=11817 - _globals['_MACHINENETWORKQUERY']._serialized_end=12045 - _globals['_MACHINENICQUERY']._serialized_start=12048 - _globals['_MACHINENICQUERY']._serialized_end=12265 - _globals['_MACHINEDISKQUERY']._serialized_start=12267 - _globals['_MACHINEDISKQUERY']._serialized_end=12356 - _globals['_MACHINEBMCQUERY']._serialized_start=12359 - _globals['_MACHINEBMCQUERY']._serialized_end=12575 - _globals['_MACHINEFRUQUERY']._serialized_start=12578 - _globals['_MACHINEFRUQUERY']._serialized_end=13226 - _globals['_MACHINEHARDWAREQUERY']._serialized_start=13228 - _globals['_MACHINEHARDWAREQUERY']._serialized_end=13338 - _globals['_MACHINEISSUESQUERY']._serialized_start=13341 - _globals['_MACHINEISSUESQUERY']._serialized_end=13749 - _globals['_MACHINEISSUES']._serialized_start=13751 - _globals['_MACHINEISSUES']._serialized_end=13853 - _globals['_MACHINEISSUE']._serialized_start=13856 - _globals['_MACHINEISSUE']._serialized_end=14139 - _globals['_MACHINESERVICE']._serialized_start=17546 - _globals['_MACHINESERVICE']._serialized_end=18395 + _globals['_MACHINENIC']._serialized_end=7092 + _globals['_NEIGHBORNIC']._serialized_start=7095 + _globals['_NEIGHBORNIC']._serialized_end=7231 + _globals['_MACHINEBLOCKDEVICE']._serialized_start=7233 + _globals['_MACHINEBLOCKDEVICE']._serialized_end=7306 + _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_start=7308 + _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_end=7419 + _globals['_MACHINEBMCDETAILS']._serialized_start=7422 + _globals['_MACHINEBMCDETAILS']._serialized_end=7669 + _globals['_MACHINEBMCREPORT']._serialized_start=7672 + _globals['_MACHINEBMCREPORT']._serialized_end=8161 + _globals['_MACHINEBIOS']._serialized_start=8163 + _globals['_MACHINEBIOS']._serialized_end=8285 + _globals['_MACHINEBMC']._serialized_start=8288 + _globals['_MACHINEBMC']._serialized_end=8569 + _globals['_MACHINEFRU']._serialized_start=8572 + _globals['_MACHINEFRU']._serialized_end=9250 + _globals['_MACHINEPOWERMETRIC']._serialized_start=9253 + _globals['_MACHINEPOWERMETRIC']._serialized_end=9459 + _globals['_MACHINEPOWERSUPPLY']._serialized_start=9461 + _globals['_MACHINEPOWERSUPPLY']._serialized_end=9527 + _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_start=9530 + _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_end=9869 + _globals['_MACHINEPROVISIONINGEVENT']._serialized_start=9872 + _globals['_MACHINEPROVISIONINGEVENT']._serialized_end=10053 + _globals['_MACHINEVPN']._serialized_start=10056 + _globals['_MACHINEVPN']._serialized_end=10209 + _globals['_MACHINEQUERY']._serialized_start=10212 + _globals['_MACHINEQUERY']._serialized_end=11355 + _globals['_MACHINEALLOCATIONQUERY']._serialized_start=11358 + _globals['_MACHINEALLOCATIONQUERY']._serialized_end=11963 + _globals['_MACHINENETWORKQUERY']._serialized_start=11966 + _globals['_MACHINENETWORKQUERY']._serialized_end=12194 + _globals['_MACHINENICQUERY']._serialized_start=12197 + _globals['_MACHINENICQUERY']._serialized_end=12414 + _globals['_MACHINEDISKQUERY']._serialized_start=12416 + _globals['_MACHINEDISKQUERY']._serialized_end=12505 + _globals['_MACHINEBMCQUERY']._serialized_start=12508 + _globals['_MACHINEBMCQUERY']._serialized_end=12724 + _globals['_MACHINEFRUQUERY']._serialized_start=12727 + _globals['_MACHINEFRUQUERY']._serialized_end=13375 + _globals['_MACHINEHARDWAREQUERY']._serialized_start=13377 + _globals['_MACHINEHARDWAREQUERY']._serialized_end=13487 + _globals['_MACHINEISSUESQUERY']._serialized_start=13490 + _globals['_MACHINEISSUESQUERY']._serialized_end=13898 + _globals['_MACHINEISSUES']._serialized_start=13900 + _globals['_MACHINEISSUES']._serialized_end=14002 + _globals['_MACHINEISSUE']._serialized_start=14005 + _globals['_MACHINEISSUE']._serialized_end=14288 + _globals['_MACHINESERVICE']._serialized_start=17695 + _globals['_MACHINESERVICE']._serialized_end=18544 # @@protoc_insertion_point(module_scope) diff --git a/python/metalstack/api/v2/machine_pb2.pyi b/python/metalstack/api/v2/machine_pb2.pyi index fea7f440..3aa561fc 100644 --- a/python/metalstack/api/v2/machine_pb2.pyi +++ b/python/metalstack/api/v2/machine_pb2.pyi @@ -509,9 +509,19 @@ class MachineNic(_message.Message): vendor: str model: str speed: int - neighbors: _containers.RepeatedCompositeFieldContainer[MachineNic] + neighbors: _containers.RepeatedCompositeFieldContainer[NeighborNic] hostname: str - def __init__(self, mac: _Optional[str] = ..., name: _Optional[str] = ..., identifier: _Optional[str] = ..., vendor: _Optional[str] = ..., model: _Optional[str] = ..., speed: _Optional[int] = ..., neighbors: _Optional[_Iterable[_Union[MachineNic, _Mapping]]] = ..., hostname: _Optional[str] = ...) -> None: ... + def __init__(self, mac: _Optional[str] = ..., name: _Optional[str] = ..., identifier: _Optional[str] = ..., vendor: _Optional[str] = ..., model: _Optional[str] = ..., speed: _Optional[int] = ..., neighbors: _Optional[_Iterable[_Union[NeighborNic, _Mapping]]] = ..., hostname: _Optional[str] = ...) -> None: ... + +class NeighborNic(_message.Message): + __slots__ = ("name", "identifier", "hostname") + NAME_FIELD_NUMBER: _ClassVar[int] + IDENTIFIER_FIELD_NUMBER: _ClassVar[int] + HOSTNAME_FIELD_NUMBER: _ClassVar[int] + name: str + identifier: str + hostname: str + def __init__(self, name: _Optional[str] = ..., identifier: _Optional[str] = ..., hostname: _Optional[str] = ...) -> None: ... class MachineBlockDevice(_message.Message): __slots__ = ("name", "size")