metal-stack-api 0.0.7__py3-none-any.whl → 0.0.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,556 @@
1
+ import datetime
2
+
3
+ from buf.validate import validate_pb2 as _validate_pb2
4
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
5
+ from metalstack.api.v2 import common_pb2 as _common_pb2
6
+ from metalstack.api.v2 import filesystem_pb2 as _filesystem_pb2
7
+ from metalstack.api.v2 import image_pb2 as _image_pb2
8
+ from metalstack.api.v2 import network_pb2 as _network_pb2
9
+ from metalstack.api.v2 import partition_pb2 as _partition_pb2
10
+ from metalstack.api.v2 import size_pb2 as _size_pb2
11
+ from google.protobuf.internal import containers as _containers
12
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
13
+ from google.protobuf import descriptor as _descriptor
14
+ from google.protobuf import message as _message
15
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
16
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
17
+
18
+ DESCRIPTOR: _descriptor.FileDescriptor
19
+
20
+ class IPProtocol(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
21
+ __slots__ = ()
22
+ IP_PROTOCOL_UNSPECIFIED: _ClassVar[IPProtocol]
23
+ IP_PROTOCOL_TCP: _ClassVar[IPProtocol]
24
+ IP_PROTOCOL_UDP: _ClassVar[IPProtocol]
25
+
26
+ class MachineState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
27
+ __slots__ = ()
28
+ MACHINE_STATE_UNSPECIFIED: _ClassVar[MachineState]
29
+ MACHINE_STATE_RESERVED: _ClassVar[MachineState]
30
+ MACHINE_STATE_LOCKED: _ClassVar[MachineState]
31
+ MACHINE_STATE_AVAILABLE: _ClassVar[MachineState]
32
+
33
+ class MachineProvisioningEventState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
34
+ __slots__ = ()
35
+ MACHINE_PROVISIONING_EVENT_STATE_UNSPECIFIED: _ClassVar[MachineProvisioningEventState]
36
+ MACHINE_PROVISIONING_EVENT_STATE_CRASHLOOP: _ClassVar[MachineProvisioningEventState]
37
+ MACHINE_PROVISIONING_EVENT_STATE_FAILED_RECLAIM: _ClassVar[MachineProvisioningEventState]
38
+
39
+ class MachineLiveliness(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
40
+ __slots__ = ()
41
+ MACHINE_LIVELINESS_UNSPECIFIED: _ClassVar[MachineLiveliness]
42
+ MACHINE_LIVELINESS_ALIVE: _ClassVar[MachineLiveliness]
43
+ MACHINE_LIVELINESS_DEAD: _ClassVar[MachineLiveliness]
44
+ MACHINE_LIVELINESS_UNKNOWN: _ClassVar[MachineLiveliness]
45
+
46
+ class MachineRole(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
47
+ __slots__ = ()
48
+ MACHINE_ROLE_UNSPECIFIED: _ClassVar[MachineRole]
49
+ MACHINE_ROLE_MACHINE: _ClassVar[MachineRole]
50
+ MACHINE_ROLE_FIREWALL: _ClassVar[MachineRole]
51
+ IP_PROTOCOL_UNSPECIFIED: IPProtocol
52
+ IP_PROTOCOL_TCP: IPProtocol
53
+ IP_PROTOCOL_UDP: IPProtocol
54
+ MACHINE_STATE_UNSPECIFIED: MachineState
55
+ MACHINE_STATE_RESERVED: MachineState
56
+ MACHINE_STATE_LOCKED: MachineState
57
+ MACHINE_STATE_AVAILABLE: MachineState
58
+ MACHINE_PROVISIONING_EVENT_STATE_UNSPECIFIED: MachineProvisioningEventState
59
+ MACHINE_PROVISIONING_EVENT_STATE_CRASHLOOP: MachineProvisioningEventState
60
+ MACHINE_PROVISIONING_EVENT_STATE_FAILED_RECLAIM: MachineProvisioningEventState
61
+ MACHINE_LIVELINESS_UNSPECIFIED: MachineLiveliness
62
+ MACHINE_LIVELINESS_ALIVE: MachineLiveliness
63
+ MACHINE_LIVELINESS_DEAD: MachineLiveliness
64
+ MACHINE_LIVELINESS_UNKNOWN: MachineLiveliness
65
+ MACHINE_ROLE_UNSPECIFIED: MachineRole
66
+ MACHINE_ROLE_MACHINE: MachineRole
67
+ MACHINE_ROLE_FIREWALL: MachineRole
68
+
69
+ class MachineServiceGetRequest(_message.Message):
70
+ __slots__ = ("uuid", "project")
71
+ UUID_FIELD_NUMBER: _ClassVar[int]
72
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
73
+ uuid: str
74
+ project: str
75
+ def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ...) -> None: ...
76
+
77
+ class MachineServiceGetResponse(_message.Message):
78
+ __slots__ = ("machine",)
79
+ MACHINE_FIELD_NUMBER: _ClassVar[int]
80
+ machine: Machine
81
+ def __init__(self, machine: _Optional[_Union[Machine, _Mapping]] = ...) -> None: ...
82
+
83
+ class MachineServiceCreateRequest(_message.Message):
84
+ __slots__ = ("project", "uuid", "name", "description", "hostname", "partition", "size", "image", "filesystem_layout", "ssh_public_keys", "userdata", "labels", "networks", "ips", "placement_tags", "dns_server", "ntp_server", "role", "firewall_rules")
85
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
86
+ UUID_FIELD_NUMBER: _ClassVar[int]
87
+ NAME_FIELD_NUMBER: _ClassVar[int]
88
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
89
+ HOSTNAME_FIELD_NUMBER: _ClassVar[int]
90
+ PARTITION_FIELD_NUMBER: _ClassVar[int]
91
+ SIZE_FIELD_NUMBER: _ClassVar[int]
92
+ IMAGE_FIELD_NUMBER: _ClassVar[int]
93
+ FILESYSTEM_LAYOUT_FIELD_NUMBER: _ClassVar[int]
94
+ SSH_PUBLIC_KEYS_FIELD_NUMBER: _ClassVar[int]
95
+ USERDATA_FIELD_NUMBER: _ClassVar[int]
96
+ LABELS_FIELD_NUMBER: _ClassVar[int]
97
+ NETWORKS_FIELD_NUMBER: _ClassVar[int]
98
+ IPS_FIELD_NUMBER: _ClassVar[int]
99
+ PLACEMENT_TAGS_FIELD_NUMBER: _ClassVar[int]
100
+ DNS_SERVER_FIELD_NUMBER: _ClassVar[int]
101
+ NTP_SERVER_FIELD_NUMBER: _ClassVar[int]
102
+ ROLE_FIELD_NUMBER: _ClassVar[int]
103
+ FIREWALL_RULES_FIELD_NUMBER: _ClassVar[int]
104
+ project: str
105
+ uuid: str
106
+ name: str
107
+ description: str
108
+ hostname: str
109
+ partition: str
110
+ size: str
111
+ image: str
112
+ filesystem_layout: str
113
+ ssh_public_keys: _containers.RepeatedScalarFieldContainer[str]
114
+ userdata: str
115
+ labels: _common_pb2.Labels
116
+ networks: _containers.RepeatedCompositeFieldContainer[MachineAllocationNetwork]
117
+ ips: _containers.RepeatedScalarFieldContainer[str]
118
+ placement_tags: _containers.RepeatedScalarFieldContainer[str]
119
+ dns_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.DNSServer]
120
+ ntp_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.NTPServer]
121
+ role: MachineRole
122
+ firewall_rules: FirewallRules
123
+ def __init__(self, project: _Optional[str] = ..., uuid: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., hostname: _Optional[str] = ..., partition: _Optional[str] = ..., size: _Optional[str] = ..., image: _Optional[str] = ..., filesystem_layout: _Optional[str] = ..., ssh_public_keys: _Optional[_Iterable[str]] = ..., userdata: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., networks: _Optional[_Iterable[_Union[MachineAllocationNetwork, _Mapping]]] = ..., ips: _Optional[_Iterable[str]] = ..., placement_tags: _Optional[_Iterable[str]] = ..., dns_server: _Optional[_Iterable[_Union[_partition_pb2.DNSServer, _Mapping]]] = ..., ntp_server: _Optional[_Iterable[_Union[_partition_pb2.NTPServer, _Mapping]]] = ..., role: _Optional[_Union[MachineRole, str]] = ..., firewall_rules: _Optional[_Union[FirewallRules, _Mapping]] = ...) -> None: ...
124
+
125
+ class MachineServiceCreateResponse(_message.Message):
126
+ __slots__ = ("machine",)
127
+ MACHINE_FIELD_NUMBER: _ClassVar[int]
128
+ machine: Machine
129
+ def __init__(self, machine: _Optional[_Union[Machine, _Mapping]] = ...) -> None: ...
130
+
131
+ class MachineServiceUpdateRequest(_message.Message):
132
+ __slots__ = ("uuid", "project", "description", "labels", "ssh_public_keys")
133
+ UUID_FIELD_NUMBER: _ClassVar[int]
134
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
135
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
136
+ LABELS_FIELD_NUMBER: _ClassVar[int]
137
+ SSH_PUBLIC_KEYS_FIELD_NUMBER: _ClassVar[int]
138
+ uuid: str
139
+ project: str
140
+ description: str
141
+ labels: _common_pb2.UpdateLabels
142
+ ssh_public_keys: _containers.RepeatedScalarFieldContainer[str]
143
+ def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ..., description: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.UpdateLabels, _Mapping]] = ..., ssh_public_keys: _Optional[_Iterable[str]] = ...) -> None: ...
144
+
145
+ class MachineServiceUpdateResponse(_message.Message):
146
+ __slots__ = ("machine",)
147
+ MACHINE_FIELD_NUMBER: _ClassVar[int]
148
+ machine: Machine
149
+ def __init__(self, machine: _Optional[_Union[Machine, _Mapping]] = ...) -> None: ...
150
+
151
+ class MachineServiceListRequest(_message.Message):
152
+ __slots__ = ("project", "query")
153
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
154
+ QUERY_FIELD_NUMBER: _ClassVar[int]
155
+ project: str
156
+ query: MachineQuery
157
+ def __init__(self, project: _Optional[str] = ..., query: _Optional[_Union[MachineQuery, _Mapping]] = ...) -> None: ...
158
+
159
+ class MachineServiceListResponse(_message.Message):
160
+ __slots__ = ("machines",)
161
+ MACHINES_FIELD_NUMBER: _ClassVar[int]
162
+ machines: _containers.RepeatedCompositeFieldContainer[Machine]
163
+ def __init__(self, machines: _Optional[_Iterable[_Union[Machine, _Mapping]]] = ...) -> None: ...
164
+
165
+ class MachineServiceDeleteRequest(_message.Message):
166
+ __slots__ = ("uuid", "project")
167
+ UUID_FIELD_NUMBER: _ClassVar[int]
168
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
169
+ uuid: str
170
+ project: str
171
+ def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ...) -> None: ...
172
+
173
+ class MachineServiceDeleteResponse(_message.Message):
174
+ __slots__ = ("machine",)
175
+ MACHINE_FIELD_NUMBER: _ClassVar[int]
176
+ machine: Machine
177
+ def __init__(self, machine: _Optional[_Union[Machine, _Mapping]] = ...) -> None: ...
178
+
179
+ class Machine(_message.Message):
180
+ __slots__ = ("uuid", "meta", "partition", "rack", "size", "hardware", "bios", "allocation", "status", "recent_provisioning_events")
181
+ UUID_FIELD_NUMBER: _ClassVar[int]
182
+ META_FIELD_NUMBER: _ClassVar[int]
183
+ PARTITION_FIELD_NUMBER: _ClassVar[int]
184
+ RACK_FIELD_NUMBER: _ClassVar[int]
185
+ SIZE_FIELD_NUMBER: _ClassVar[int]
186
+ HARDWARE_FIELD_NUMBER: _ClassVar[int]
187
+ BIOS_FIELD_NUMBER: _ClassVar[int]
188
+ ALLOCATION_FIELD_NUMBER: _ClassVar[int]
189
+ STATUS_FIELD_NUMBER: _ClassVar[int]
190
+ RECENT_PROVISIONING_EVENTS_FIELD_NUMBER: _ClassVar[int]
191
+ uuid: str
192
+ meta: _common_pb2.Meta
193
+ partition: _partition_pb2.Partition
194
+ rack: str
195
+ size: _size_pb2.Size
196
+ hardware: MachineHardware
197
+ bios: MachineBios
198
+ allocation: MachineAllocation
199
+ status: MachineStatus
200
+ recent_provisioning_events: MachineRecentProvisioningEvents
201
+ def __init__(self, uuid: _Optional[str] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ..., partition: _Optional[_Union[_partition_pb2.Partition, _Mapping]] = ..., rack: _Optional[str] = ..., size: _Optional[_Union[_size_pb2.Size, _Mapping]] = ..., hardware: _Optional[_Union[MachineHardware, _Mapping]] = ..., bios: _Optional[_Union[MachineBios, _Mapping]] = ..., allocation: _Optional[_Union[MachineAllocation, _Mapping]] = ..., status: _Optional[_Union[MachineStatus, _Mapping]] = ..., recent_provisioning_events: _Optional[_Union[MachineRecentProvisioningEvents, _Mapping]] = ...) -> None: ...
202
+
203
+ class MachineStatus(_message.Message):
204
+ __slots__ = ("condition", "led_state", "liveliness", "metal_hammer_version")
205
+ CONDITION_FIELD_NUMBER: _ClassVar[int]
206
+ LED_STATE_FIELD_NUMBER: _ClassVar[int]
207
+ LIVELINESS_FIELD_NUMBER: _ClassVar[int]
208
+ METAL_HAMMER_VERSION_FIELD_NUMBER: _ClassVar[int]
209
+ condition: MachineCondition
210
+ led_state: MachineChassisIdentifyLEDState
211
+ liveliness: MachineLiveliness
212
+ metal_hammer_version: str
213
+ def __init__(self, condition: _Optional[_Union[MachineCondition, _Mapping]] = ..., led_state: _Optional[_Union[MachineChassisIdentifyLEDState, _Mapping]] = ..., liveliness: _Optional[_Union[MachineLiveliness, str]] = ..., metal_hammer_version: _Optional[str] = ...) -> None: ...
214
+
215
+ class MachineCondition(_message.Message):
216
+ __slots__ = ("state", "description", "issuer")
217
+ STATE_FIELD_NUMBER: _ClassVar[int]
218
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
219
+ ISSUER_FIELD_NUMBER: _ClassVar[int]
220
+ state: MachineState
221
+ description: str
222
+ issuer: str
223
+ def __init__(self, state: _Optional[_Union[MachineState, str]] = ..., description: _Optional[str] = ..., issuer: _Optional[str] = ...) -> None: ...
224
+
225
+ class MachineAllocation(_message.Message):
226
+ __slots__ = ("uuid", "meta", "name", "description", "created_by", "project", "image", "filesystem_layout", "networks", "hostname", "ssh_public_keys", "userdata", "role", "firewall_rules", "dns_server", "ntp_server", "vpn")
227
+ UUID_FIELD_NUMBER: _ClassVar[int]
228
+ META_FIELD_NUMBER: _ClassVar[int]
229
+ NAME_FIELD_NUMBER: _ClassVar[int]
230
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
231
+ CREATED_BY_FIELD_NUMBER: _ClassVar[int]
232
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
233
+ IMAGE_FIELD_NUMBER: _ClassVar[int]
234
+ FILESYSTEM_LAYOUT_FIELD_NUMBER: _ClassVar[int]
235
+ NETWORKS_FIELD_NUMBER: _ClassVar[int]
236
+ HOSTNAME_FIELD_NUMBER: _ClassVar[int]
237
+ SSH_PUBLIC_KEYS_FIELD_NUMBER: _ClassVar[int]
238
+ USERDATA_FIELD_NUMBER: _ClassVar[int]
239
+ ROLE_FIELD_NUMBER: _ClassVar[int]
240
+ FIREWALL_RULES_FIELD_NUMBER: _ClassVar[int]
241
+ DNS_SERVER_FIELD_NUMBER: _ClassVar[int]
242
+ NTP_SERVER_FIELD_NUMBER: _ClassVar[int]
243
+ VPN_FIELD_NUMBER: _ClassVar[int]
244
+ uuid: str
245
+ meta: _common_pb2.Meta
246
+ name: str
247
+ description: str
248
+ created_by: str
249
+ project: str
250
+ image: _image_pb2.Image
251
+ filesystem_layout: _filesystem_pb2.FilesystemLayout
252
+ networks: _containers.RepeatedCompositeFieldContainer[MachineNetwork]
253
+ hostname: str
254
+ ssh_public_keys: _containers.RepeatedScalarFieldContainer[str]
255
+ userdata: str
256
+ role: MachineRole
257
+ firewall_rules: FirewallRules
258
+ dns_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.DNSServer]
259
+ ntp_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.NTPServer]
260
+ vpn: MachineVPN
261
+ def __init__(self, uuid: _Optional[str] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., created_by: _Optional[str] = ..., project: _Optional[str] = ..., image: _Optional[_Union[_image_pb2.Image, _Mapping]] = ..., filesystem_layout: _Optional[_Union[_filesystem_pb2.FilesystemLayout, _Mapping]] = ..., networks: _Optional[_Iterable[_Union[MachineNetwork, _Mapping]]] = ..., hostname: _Optional[str] = ..., ssh_public_keys: _Optional[_Iterable[str]] = ..., userdata: _Optional[str] = ..., role: _Optional[_Union[MachineRole, str]] = ..., firewall_rules: _Optional[_Union[FirewallRules, _Mapping]] = ..., dns_server: _Optional[_Iterable[_Union[_partition_pb2.DNSServer, _Mapping]]] = ..., ntp_server: _Optional[_Iterable[_Union[_partition_pb2.NTPServer, _Mapping]]] = ..., vpn: _Optional[_Union[MachineVPN, _Mapping]] = ...) -> None: ...
262
+
263
+ class MachineAllocationNetwork(_message.Message):
264
+ __slots__ = ("network", "no_auto_acquire_ip")
265
+ NETWORK_FIELD_NUMBER: _ClassVar[int]
266
+ NO_AUTO_ACQUIRE_IP_FIELD_NUMBER: _ClassVar[int]
267
+ network: str
268
+ no_auto_acquire_ip: bool
269
+ def __init__(self, network: _Optional[str] = ..., no_auto_acquire_ip: bool = ...) -> None: ...
270
+
271
+ class FirewallRules(_message.Message):
272
+ __slots__ = ("egress", "ingress")
273
+ EGRESS_FIELD_NUMBER: _ClassVar[int]
274
+ INGRESS_FIELD_NUMBER: _ClassVar[int]
275
+ egress: _containers.RepeatedCompositeFieldContainer[FirewallEgressRule]
276
+ ingress: _containers.RepeatedCompositeFieldContainer[FirewallIngressRule]
277
+ def __init__(self, egress: _Optional[_Iterable[_Union[FirewallEgressRule, _Mapping]]] = ..., ingress: _Optional[_Iterable[_Union[FirewallIngressRule, _Mapping]]] = ...) -> None: ...
278
+
279
+ class FirewallEgressRule(_message.Message):
280
+ __slots__ = ("protocol", "ports", "to", "comment")
281
+ PROTOCOL_FIELD_NUMBER: _ClassVar[int]
282
+ PORTS_FIELD_NUMBER: _ClassVar[int]
283
+ TO_FIELD_NUMBER: _ClassVar[int]
284
+ COMMENT_FIELD_NUMBER: _ClassVar[int]
285
+ protocol: IPProtocol
286
+ ports: _containers.RepeatedScalarFieldContainer[int]
287
+ to: _containers.RepeatedScalarFieldContainer[str]
288
+ comment: str
289
+ def __init__(self, protocol: _Optional[_Union[IPProtocol, str]] = ..., ports: _Optional[_Iterable[int]] = ..., to: _Optional[_Iterable[str]] = ..., comment: _Optional[str] = ...) -> None: ...
290
+
291
+ class FirewallIngressRule(_message.Message):
292
+ __slots__ = ("protocol", "ports", "to", "comment")
293
+ PROTOCOL_FIELD_NUMBER: _ClassVar[int]
294
+ PORTS_FIELD_NUMBER: _ClassVar[int]
295
+ TO_FIELD_NUMBER: _ClassVar[int]
296
+ FROM_FIELD_NUMBER: _ClassVar[int]
297
+ COMMENT_FIELD_NUMBER: _ClassVar[int]
298
+ protocol: IPProtocol
299
+ ports: _containers.RepeatedScalarFieldContainer[int]
300
+ to: _containers.RepeatedScalarFieldContainer[str]
301
+ comment: str
302
+ def __init__(self, protocol: _Optional[_Union[IPProtocol, str]] = ..., ports: _Optional[_Iterable[int]] = ..., to: _Optional[_Iterable[str]] = ..., comment: _Optional[str] = ..., **kwargs) -> None: ...
303
+
304
+ class MachineNetwork(_message.Message):
305
+ __slots__ = ("network", "prefixes", "destination_prefixes", "ips", "network_type", "nat_type", "vrf", "asn")
306
+ NETWORK_FIELD_NUMBER: _ClassVar[int]
307
+ PREFIXES_FIELD_NUMBER: _ClassVar[int]
308
+ DESTINATION_PREFIXES_FIELD_NUMBER: _ClassVar[int]
309
+ IPS_FIELD_NUMBER: _ClassVar[int]
310
+ NETWORK_TYPE_FIELD_NUMBER: _ClassVar[int]
311
+ NAT_TYPE_FIELD_NUMBER: _ClassVar[int]
312
+ VRF_FIELD_NUMBER: _ClassVar[int]
313
+ ASN_FIELD_NUMBER: _ClassVar[int]
314
+ network: str
315
+ prefixes: _containers.RepeatedScalarFieldContainer[str]
316
+ destination_prefixes: _containers.RepeatedScalarFieldContainer[str]
317
+ ips: _containers.RepeatedScalarFieldContainer[str]
318
+ network_type: _network_pb2.NetworkType
319
+ nat_type: _network_pb2.NATType
320
+ vrf: int
321
+ asn: int
322
+ def __init__(self, network: _Optional[str] = ..., prefixes: _Optional[_Iterable[str]] = ..., destination_prefixes: _Optional[_Iterable[str]] = ..., ips: _Optional[_Iterable[str]] = ..., network_type: _Optional[_Union[_network_pb2.NetworkType, str]] = ..., nat_type: _Optional[_Union[_network_pb2.NATType, str]] = ..., vrf: _Optional[int] = ..., asn: _Optional[int] = ...) -> None: ...
323
+
324
+ class MachineHardware(_message.Message):
325
+ __slots__ = ("memory", "disks", "cpus", "gpus", "nics")
326
+ MEMORY_FIELD_NUMBER: _ClassVar[int]
327
+ DISKS_FIELD_NUMBER: _ClassVar[int]
328
+ CPUS_FIELD_NUMBER: _ClassVar[int]
329
+ GPUS_FIELD_NUMBER: _ClassVar[int]
330
+ NICS_FIELD_NUMBER: _ClassVar[int]
331
+ memory: int
332
+ disks: _containers.RepeatedCompositeFieldContainer[MachineBlockDevice]
333
+ cpus: _containers.RepeatedCompositeFieldContainer[MetalCPU]
334
+ gpus: _containers.RepeatedCompositeFieldContainer[MetalGPU]
335
+ nics: _containers.RepeatedCompositeFieldContainer[MachineNic]
336
+ def __init__(self, memory: _Optional[int] = ..., disks: _Optional[_Iterable[_Union[MachineBlockDevice, _Mapping]]] = ..., cpus: _Optional[_Iterable[_Union[MetalCPU, _Mapping]]] = ..., gpus: _Optional[_Iterable[_Union[MetalGPU, _Mapping]]] = ..., nics: _Optional[_Iterable[_Union[MachineNic, _Mapping]]] = ...) -> None: ...
337
+
338
+ class MetalCPU(_message.Message):
339
+ __slots__ = ("vendor", "model", "cores", "threads")
340
+ VENDOR_FIELD_NUMBER: _ClassVar[int]
341
+ MODEL_FIELD_NUMBER: _ClassVar[int]
342
+ CORES_FIELD_NUMBER: _ClassVar[int]
343
+ THREADS_FIELD_NUMBER: _ClassVar[int]
344
+ vendor: str
345
+ model: str
346
+ cores: int
347
+ threads: int
348
+ def __init__(self, vendor: _Optional[str] = ..., model: _Optional[str] = ..., cores: _Optional[int] = ..., threads: _Optional[int] = ...) -> None: ...
349
+
350
+ class MetalGPU(_message.Message):
351
+ __slots__ = ("vendor", "model")
352
+ VENDOR_FIELD_NUMBER: _ClassVar[int]
353
+ MODEL_FIELD_NUMBER: _ClassVar[int]
354
+ vendor: str
355
+ model: str
356
+ def __init__(self, vendor: _Optional[str] = ..., model: _Optional[str] = ...) -> None: ...
357
+
358
+ class MachineNic(_message.Message):
359
+ __slots__ = ("mac", "name", "identifier", "neighbors")
360
+ MAC_FIELD_NUMBER: _ClassVar[int]
361
+ NAME_FIELD_NUMBER: _ClassVar[int]
362
+ IDENTIFIER_FIELD_NUMBER: _ClassVar[int]
363
+ NEIGHBORS_FIELD_NUMBER: _ClassVar[int]
364
+ mac: str
365
+ name: str
366
+ identifier: str
367
+ neighbors: _containers.RepeatedCompositeFieldContainer[MachineNic]
368
+ def __init__(self, mac: _Optional[str] = ..., name: _Optional[str] = ..., identifier: _Optional[str] = ..., neighbors: _Optional[_Iterable[_Union[MachineNic, _Mapping]]] = ...) -> None: ...
369
+
370
+ class MachineBlockDevice(_message.Message):
371
+ __slots__ = ("name", "size")
372
+ NAME_FIELD_NUMBER: _ClassVar[int]
373
+ SIZE_FIELD_NUMBER: _ClassVar[int]
374
+ name: str
375
+ size: int
376
+ def __init__(self, name: _Optional[str] = ..., size: _Optional[int] = ...) -> None: ...
377
+
378
+ class MachineChassisIdentifyLEDState(_message.Message):
379
+ __slots__ = ("value", "description")
380
+ VALUE_FIELD_NUMBER: _ClassVar[int]
381
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
382
+ value: str
383
+ description: str
384
+ def __init__(self, value: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ...
385
+
386
+ class MachineBios(_message.Message):
387
+ __slots__ = ("version", "vendor", "date")
388
+ VERSION_FIELD_NUMBER: _ClassVar[int]
389
+ VENDOR_FIELD_NUMBER: _ClassVar[int]
390
+ DATE_FIELD_NUMBER: _ClassVar[int]
391
+ version: str
392
+ vendor: str
393
+ date: str
394
+ def __init__(self, version: _Optional[str] = ..., vendor: _Optional[str] = ..., date: _Optional[str] = ...) -> None: ...
395
+
396
+ class MachineRecentProvisioningEvents(_message.Message):
397
+ __slots__ = ("events", "last_event_time", "last_error_event", "state")
398
+ EVENTS_FIELD_NUMBER: _ClassVar[int]
399
+ LAST_EVENT_TIME_FIELD_NUMBER: _ClassVar[int]
400
+ LAST_ERROR_EVENT_FIELD_NUMBER: _ClassVar[int]
401
+ STATE_FIELD_NUMBER: _ClassVar[int]
402
+ events: _containers.RepeatedCompositeFieldContainer[MachineProvisioningEvent]
403
+ last_event_time: _timestamp_pb2.Timestamp
404
+ last_error_event: MachineProvisioningEvent
405
+ state: MachineProvisioningEventState
406
+ def __init__(self, events: _Optional[_Iterable[_Union[MachineProvisioningEvent, _Mapping]]] = ..., last_event_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., last_error_event: _Optional[_Union[MachineProvisioningEvent, _Mapping]] = ..., state: _Optional[_Union[MachineProvisioningEventState, str]] = ...) -> None: ...
407
+
408
+ class MachineProvisioningEvent(_message.Message):
409
+ __slots__ = ("time", "event", "message")
410
+ TIME_FIELD_NUMBER: _ClassVar[int]
411
+ EVENT_FIELD_NUMBER: _ClassVar[int]
412
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
413
+ time: _timestamp_pb2.Timestamp
414
+ event: str
415
+ message: str
416
+ def __init__(self, time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., event: _Optional[str] = ..., message: _Optional[str] = ...) -> None: ...
417
+
418
+ class MachineVPN(_message.Message):
419
+ __slots__ = ("control_plane_address", "auth_key", "connected")
420
+ CONTROL_PLANE_ADDRESS_FIELD_NUMBER: _ClassVar[int]
421
+ AUTH_KEY_FIELD_NUMBER: _ClassVar[int]
422
+ CONNECTED_FIELD_NUMBER: _ClassVar[int]
423
+ control_plane_address: str
424
+ auth_key: str
425
+ connected: bool
426
+ def __init__(self, control_plane_address: _Optional[str] = ..., auth_key: _Optional[str] = ..., connected: bool = ...) -> None: ...
427
+
428
+ class MachineQuery(_message.Message):
429
+ __slots__ = ("uuid", "name", "partition", "size", "rack", "labels", "allocation", "network", "nic", "disk", "ipmi", "fru", "hardware", "state")
430
+ UUID_FIELD_NUMBER: _ClassVar[int]
431
+ NAME_FIELD_NUMBER: _ClassVar[int]
432
+ PARTITION_FIELD_NUMBER: _ClassVar[int]
433
+ SIZE_FIELD_NUMBER: _ClassVar[int]
434
+ RACK_FIELD_NUMBER: _ClassVar[int]
435
+ LABELS_FIELD_NUMBER: _ClassVar[int]
436
+ ALLOCATION_FIELD_NUMBER: _ClassVar[int]
437
+ NETWORK_FIELD_NUMBER: _ClassVar[int]
438
+ NIC_FIELD_NUMBER: _ClassVar[int]
439
+ DISK_FIELD_NUMBER: _ClassVar[int]
440
+ IPMI_FIELD_NUMBER: _ClassVar[int]
441
+ FRU_FIELD_NUMBER: _ClassVar[int]
442
+ HARDWARE_FIELD_NUMBER: _ClassVar[int]
443
+ STATE_FIELD_NUMBER: _ClassVar[int]
444
+ uuid: str
445
+ name: str
446
+ partition: str
447
+ size: str
448
+ rack: str
449
+ labels: _common_pb2.Labels
450
+ allocation: MachineAllocationQuery
451
+ network: MachineNetworkQuery
452
+ nic: MachineNicQuery
453
+ disk: MachineDiskQuery
454
+ ipmi: MachineIPMIQuery
455
+ fru: MachineFRUQuery
456
+ hardware: MachineHardwareQuery
457
+ state: MachineState
458
+ def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., partition: _Optional[str] = ..., size: _Optional[str] = ..., rack: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., allocation: _Optional[_Union[MachineAllocationQuery, _Mapping]] = ..., network: _Optional[_Union[MachineNetworkQuery, _Mapping]] = ..., nic: _Optional[_Union[MachineNicQuery, _Mapping]] = ..., disk: _Optional[_Union[MachineDiskQuery, _Mapping]] = ..., ipmi: _Optional[_Union[MachineIPMIQuery, _Mapping]] = ..., fru: _Optional[_Union[MachineFRUQuery, _Mapping]] = ..., hardware: _Optional[_Union[MachineHardwareQuery, _Mapping]] = ..., state: _Optional[_Union[MachineState, str]] = ...) -> None: ...
459
+
460
+ class MachineAllocationQuery(_message.Message):
461
+ __slots__ = ("uuid", "name", "project", "image", "filesystem_layout", "hostname", "role")
462
+ UUID_FIELD_NUMBER: _ClassVar[int]
463
+ NAME_FIELD_NUMBER: _ClassVar[int]
464
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
465
+ IMAGE_FIELD_NUMBER: _ClassVar[int]
466
+ FILESYSTEM_LAYOUT_FIELD_NUMBER: _ClassVar[int]
467
+ HOSTNAME_FIELD_NUMBER: _ClassVar[int]
468
+ ROLE_FIELD_NUMBER: _ClassVar[int]
469
+ uuid: str
470
+ name: str
471
+ project: str
472
+ image: str
473
+ filesystem_layout: str
474
+ hostname: str
475
+ role: MachineRole
476
+ def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., project: _Optional[str] = ..., image: _Optional[str] = ..., filesystem_layout: _Optional[str] = ..., hostname: _Optional[str] = ..., role: _Optional[_Union[MachineRole, str]] = ...) -> None: ...
477
+
478
+ class MachineNetworkQuery(_message.Message):
479
+ __slots__ = ("networks", "prefixes", "destination_prefixes", "ips", "vrfs", "asns")
480
+ NETWORKS_FIELD_NUMBER: _ClassVar[int]
481
+ PREFIXES_FIELD_NUMBER: _ClassVar[int]
482
+ DESTINATION_PREFIXES_FIELD_NUMBER: _ClassVar[int]
483
+ IPS_FIELD_NUMBER: _ClassVar[int]
484
+ VRFS_FIELD_NUMBER: _ClassVar[int]
485
+ ASNS_FIELD_NUMBER: _ClassVar[int]
486
+ networks: _containers.RepeatedScalarFieldContainer[str]
487
+ prefixes: _containers.RepeatedScalarFieldContainer[str]
488
+ destination_prefixes: _containers.RepeatedScalarFieldContainer[str]
489
+ ips: _containers.RepeatedScalarFieldContainer[str]
490
+ vrfs: _containers.RepeatedScalarFieldContainer[int]
491
+ asns: _containers.RepeatedScalarFieldContainer[int]
492
+ def __init__(self, networks: _Optional[_Iterable[str]] = ..., prefixes: _Optional[_Iterable[str]] = ..., destination_prefixes: _Optional[_Iterable[str]] = ..., ips: _Optional[_Iterable[str]] = ..., vrfs: _Optional[_Iterable[int]] = ..., asns: _Optional[_Iterable[int]] = ...) -> None: ...
493
+
494
+ class MachineNicQuery(_message.Message):
495
+ __slots__ = ("macs", "names", "vrfs", "neighbor_macs", "neighbor_names", "neighbor_vrfs")
496
+ MACS_FIELD_NUMBER: _ClassVar[int]
497
+ NAMES_FIELD_NUMBER: _ClassVar[int]
498
+ VRFS_FIELD_NUMBER: _ClassVar[int]
499
+ NEIGHBOR_MACS_FIELD_NUMBER: _ClassVar[int]
500
+ NEIGHBOR_NAMES_FIELD_NUMBER: _ClassVar[int]
501
+ NEIGHBOR_VRFS_FIELD_NUMBER: _ClassVar[int]
502
+ macs: _containers.RepeatedScalarFieldContainer[str]
503
+ names: _containers.RepeatedScalarFieldContainer[str]
504
+ vrfs: _containers.RepeatedScalarFieldContainer[int]
505
+ neighbor_macs: _containers.RepeatedScalarFieldContainer[str]
506
+ neighbor_names: _containers.RepeatedScalarFieldContainer[str]
507
+ neighbor_vrfs: _containers.RepeatedScalarFieldContainer[int]
508
+ def __init__(self, macs: _Optional[_Iterable[str]] = ..., names: _Optional[_Iterable[str]] = ..., vrfs: _Optional[_Iterable[int]] = ..., neighbor_macs: _Optional[_Iterable[str]] = ..., neighbor_names: _Optional[_Iterable[str]] = ..., neighbor_vrfs: _Optional[_Iterable[int]] = ...) -> None: ...
509
+
510
+ class MachineDiskQuery(_message.Message):
511
+ __slots__ = ("names", "sizes")
512
+ NAMES_FIELD_NUMBER: _ClassVar[int]
513
+ SIZES_FIELD_NUMBER: _ClassVar[int]
514
+ names: _containers.RepeatedScalarFieldContainer[str]
515
+ sizes: _containers.RepeatedScalarFieldContainer[int]
516
+ def __init__(self, names: _Optional[_Iterable[str]] = ..., sizes: _Optional[_Iterable[int]] = ...) -> None: ...
517
+
518
+ class MachineIPMIQuery(_message.Message):
519
+ __slots__ = ("address", "mac", "user", "interface")
520
+ ADDRESS_FIELD_NUMBER: _ClassVar[int]
521
+ MAC_FIELD_NUMBER: _ClassVar[int]
522
+ USER_FIELD_NUMBER: _ClassVar[int]
523
+ INTERFACE_FIELD_NUMBER: _ClassVar[int]
524
+ address: str
525
+ mac: str
526
+ user: str
527
+ interface: str
528
+ def __init__(self, address: _Optional[str] = ..., mac: _Optional[str] = ..., user: _Optional[str] = ..., interface: _Optional[str] = ...) -> None: ...
529
+
530
+ class MachineFRUQuery(_message.Message):
531
+ __slots__ = ("chassis_part_number", "chassis_part_serial", "board_mfg", "board_serial", "board_part_number", "product_manufacturer", "product_part_number", "product_serial")
532
+ CHASSIS_PART_NUMBER_FIELD_NUMBER: _ClassVar[int]
533
+ CHASSIS_PART_SERIAL_FIELD_NUMBER: _ClassVar[int]
534
+ BOARD_MFG_FIELD_NUMBER: _ClassVar[int]
535
+ BOARD_SERIAL_FIELD_NUMBER: _ClassVar[int]
536
+ BOARD_PART_NUMBER_FIELD_NUMBER: _ClassVar[int]
537
+ PRODUCT_MANUFACTURER_FIELD_NUMBER: _ClassVar[int]
538
+ PRODUCT_PART_NUMBER_FIELD_NUMBER: _ClassVar[int]
539
+ PRODUCT_SERIAL_FIELD_NUMBER: _ClassVar[int]
540
+ chassis_part_number: str
541
+ chassis_part_serial: str
542
+ board_mfg: str
543
+ board_serial: str
544
+ board_part_number: str
545
+ product_manufacturer: str
546
+ product_part_number: str
547
+ product_serial: str
548
+ def __init__(self, chassis_part_number: _Optional[str] = ..., chassis_part_serial: _Optional[str] = ..., board_mfg: _Optional[str] = ..., board_serial: _Optional[str] = ..., board_part_number: _Optional[str] = ..., product_manufacturer: _Optional[str] = ..., product_part_number: _Optional[str] = ..., product_serial: _Optional[str] = ...) -> None: ...
549
+
550
+ class MachineHardwareQuery(_message.Message):
551
+ __slots__ = ("memory", "cpu_cores")
552
+ MEMORY_FIELD_NUMBER: _ClassVar[int]
553
+ CPU_CORES_FIELD_NUMBER: _ClassVar[int]
554
+ memory: int
555
+ cpu_cores: int
556
+ def __init__(self, memory: _Optional[int] = ..., cpu_cores: _Optional[int] = ...) -> None: ...