metal-stack-api 0.0.8__py3-none-any.whl → 0.0.10__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,562 @@
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 MachineAllocationType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
47
+ __slots__ = ()
48
+ MACHINE_ALLOCATION_TYPE_UNSPECIFIED: _ClassVar[MachineAllocationType]
49
+ MACHINE_ALLOCATION_TYPE_MACHINE: _ClassVar[MachineAllocationType]
50
+ MACHINE_ALLOCATION_TYPE_FIREWALL: _ClassVar[MachineAllocationType]
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_ALLOCATION_TYPE_UNSPECIFIED: MachineAllocationType
66
+ MACHINE_ALLOCATION_TYPE_MACHINE: MachineAllocationType
67
+ MACHINE_ALLOCATION_TYPE_FIREWALL: MachineAllocationType
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", "allocation_type", "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
+ ALLOCATION_TYPE_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
+ allocation_type: MachineAllocationType
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]]] = ..., allocation_type: _Optional[_Union[MachineAllocationType, 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", "allocation_type", "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
+ ALLOCATION_TYPE_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
+ allocation_type: MachineAllocationType
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] = ..., allocation_type: _Optional[_Union[MachineAllocationType, 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", "vendor", "model", "speed", "neighbors")
360
+ MAC_FIELD_NUMBER: _ClassVar[int]
361
+ NAME_FIELD_NUMBER: _ClassVar[int]
362
+ IDENTIFIER_FIELD_NUMBER: _ClassVar[int]
363
+ VENDOR_FIELD_NUMBER: _ClassVar[int]
364
+ MODEL_FIELD_NUMBER: _ClassVar[int]
365
+ SPEED_FIELD_NUMBER: _ClassVar[int]
366
+ NEIGHBORS_FIELD_NUMBER: _ClassVar[int]
367
+ mac: str
368
+ name: str
369
+ identifier: str
370
+ vendor: str
371
+ model: str
372
+ speed: int
373
+ neighbors: _containers.RepeatedCompositeFieldContainer[MachineNic]
374
+ 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]]] = ...) -> None: ...
375
+
376
+ class MachineBlockDevice(_message.Message):
377
+ __slots__ = ("name", "size")
378
+ NAME_FIELD_NUMBER: _ClassVar[int]
379
+ SIZE_FIELD_NUMBER: _ClassVar[int]
380
+ name: str
381
+ size: int
382
+ def __init__(self, name: _Optional[str] = ..., size: _Optional[int] = ...) -> None: ...
383
+
384
+ class MachineChassisIdentifyLEDState(_message.Message):
385
+ __slots__ = ("value", "description")
386
+ VALUE_FIELD_NUMBER: _ClassVar[int]
387
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
388
+ value: str
389
+ description: str
390
+ def __init__(self, value: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ...
391
+
392
+ class MachineBios(_message.Message):
393
+ __slots__ = ("version", "vendor", "date")
394
+ VERSION_FIELD_NUMBER: _ClassVar[int]
395
+ VENDOR_FIELD_NUMBER: _ClassVar[int]
396
+ DATE_FIELD_NUMBER: _ClassVar[int]
397
+ version: str
398
+ vendor: str
399
+ date: str
400
+ def __init__(self, version: _Optional[str] = ..., vendor: _Optional[str] = ..., date: _Optional[str] = ...) -> None: ...
401
+
402
+ class MachineRecentProvisioningEvents(_message.Message):
403
+ __slots__ = ("events", "last_event_time", "last_error_event", "state")
404
+ EVENTS_FIELD_NUMBER: _ClassVar[int]
405
+ LAST_EVENT_TIME_FIELD_NUMBER: _ClassVar[int]
406
+ LAST_ERROR_EVENT_FIELD_NUMBER: _ClassVar[int]
407
+ STATE_FIELD_NUMBER: _ClassVar[int]
408
+ events: _containers.RepeatedCompositeFieldContainer[MachineProvisioningEvent]
409
+ last_event_time: _timestamp_pb2.Timestamp
410
+ last_error_event: MachineProvisioningEvent
411
+ state: MachineProvisioningEventState
412
+ 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: ...
413
+
414
+ class MachineProvisioningEvent(_message.Message):
415
+ __slots__ = ("time", "event", "message")
416
+ TIME_FIELD_NUMBER: _ClassVar[int]
417
+ EVENT_FIELD_NUMBER: _ClassVar[int]
418
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
419
+ time: _timestamp_pb2.Timestamp
420
+ event: str
421
+ message: str
422
+ def __init__(self, time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., event: _Optional[str] = ..., message: _Optional[str] = ...) -> None: ...
423
+
424
+ class MachineVPN(_message.Message):
425
+ __slots__ = ("control_plane_address", "auth_key", "connected")
426
+ CONTROL_PLANE_ADDRESS_FIELD_NUMBER: _ClassVar[int]
427
+ AUTH_KEY_FIELD_NUMBER: _ClassVar[int]
428
+ CONNECTED_FIELD_NUMBER: _ClassVar[int]
429
+ control_plane_address: str
430
+ auth_key: str
431
+ connected: bool
432
+ def __init__(self, control_plane_address: _Optional[str] = ..., auth_key: _Optional[str] = ..., connected: bool = ...) -> None: ...
433
+
434
+ class MachineQuery(_message.Message):
435
+ __slots__ = ("uuid", "name", "partition", "size", "rack", "labels", "allocation", "network", "nic", "disk", "ipmi", "fru", "hardware", "state")
436
+ UUID_FIELD_NUMBER: _ClassVar[int]
437
+ NAME_FIELD_NUMBER: _ClassVar[int]
438
+ PARTITION_FIELD_NUMBER: _ClassVar[int]
439
+ SIZE_FIELD_NUMBER: _ClassVar[int]
440
+ RACK_FIELD_NUMBER: _ClassVar[int]
441
+ LABELS_FIELD_NUMBER: _ClassVar[int]
442
+ ALLOCATION_FIELD_NUMBER: _ClassVar[int]
443
+ NETWORK_FIELD_NUMBER: _ClassVar[int]
444
+ NIC_FIELD_NUMBER: _ClassVar[int]
445
+ DISK_FIELD_NUMBER: _ClassVar[int]
446
+ IPMI_FIELD_NUMBER: _ClassVar[int]
447
+ FRU_FIELD_NUMBER: _ClassVar[int]
448
+ HARDWARE_FIELD_NUMBER: _ClassVar[int]
449
+ STATE_FIELD_NUMBER: _ClassVar[int]
450
+ uuid: str
451
+ name: str
452
+ partition: str
453
+ size: str
454
+ rack: str
455
+ labels: _common_pb2.Labels
456
+ allocation: MachineAllocationQuery
457
+ network: MachineNetworkQuery
458
+ nic: MachineNicQuery
459
+ disk: MachineDiskQuery
460
+ ipmi: MachineIPMIQuery
461
+ fru: MachineFRUQuery
462
+ hardware: MachineHardwareQuery
463
+ state: MachineState
464
+ 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: ...
465
+
466
+ class MachineAllocationQuery(_message.Message):
467
+ __slots__ = ("uuid", "name", "project", "image", "filesystem_layout", "hostname", "allocation_type")
468
+ UUID_FIELD_NUMBER: _ClassVar[int]
469
+ NAME_FIELD_NUMBER: _ClassVar[int]
470
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
471
+ IMAGE_FIELD_NUMBER: _ClassVar[int]
472
+ FILESYSTEM_LAYOUT_FIELD_NUMBER: _ClassVar[int]
473
+ HOSTNAME_FIELD_NUMBER: _ClassVar[int]
474
+ ALLOCATION_TYPE_FIELD_NUMBER: _ClassVar[int]
475
+ uuid: str
476
+ name: str
477
+ project: str
478
+ image: str
479
+ filesystem_layout: str
480
+ hostname: str
481
+ allocation_type: MachineAllocationType
482
+ def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., project: _Optional[str] = ..., image: _Optional[str] = ..., filesystem_layout: _Optional[str] = ..., hostname: _Optional[str] = ..., allocation_type: _Optional[_Union[MachineAllocationType, str]] = ...) -> None: ...
483
+
484
+ class MachineNetworkQuery(_message.Message):
485
+ __slots__ = ("networks", "prefixes", "destination_prefixes", "ips", "vrfs", "asns")
486
+ NETWORKS_FIELD_NUMBER: _ClassVar[int]
487
+ PREFIXES_FIELD_NUMBER: _ClassVar[int]
488
+ DESTINATION_PREFIXES_FIELD_NUMBER: _ClassVar[int]
489
+ IPS_FIELD_NUMBER: _ClassVar[int]
490
+ VRFS_FIELD_NUMBER: _ClassVar[int]
491
+ ASNS_FIELD_NUMBER: _ClassVar[int]
492
+ networks: _containers.RepeatedScalarFieldContainer[str]
493
+ prefixes: _containers.RepeatedScalarFieldContainer[str]
494
+ destination_prefixes: _containers.RepeatedScalarFieldContainer[str]
495
+ ips: _containers.RepeatedScalarFieldContainer[str]
496
+ vrfs: _containers.RepeatedScalarFieldContainer[int]
497
+ asns: _containers.RepeatedScalarFieldContainer[int]
498
+ 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: ...
499
+
500
+ class MachineNicQuery(_message.Message):
501
+ __slots__ = ("macs", "names", "vrfs", "neighbor_macs", "neighbor_names", "neighbor_vrfs")
502
+ MACS_FIELD_NUMBER: _ClassVar[int]
503
+ NAMES_FIELD_NUMBER: _ClassVar[int]
504
+ VRFS_FIELD_NUMBER: _ClassVar[int]
505
+ NEIGHBOR_MACS_FIELD_NUMBER: _ClassVar[int]
506
+ NEIGHBOR_NAMES_FIELD_NUMBER: _ClassVar[int]
507
+ NEIGHBOR_VRFS_FIELD_NUMBER: _ClassVar[int]
508
+ macs: _containers.RepeatedScalarFieldContainer[str]
509
+ names: _containers.RepeatedScalarFieldContainer[str]
510
+ vrfs: _containers.RepeatedScalarFieldContainer[int]
511
+ neighbor_macs: _containers.RepeatedScalarFieldContainer[str]
512
+ neighbor_names: _containers.RepeatedScalarFieldContainer[str]
513
+ neighbor_vrfs: _containers.RepeatedScalarFieldContainer[int]
514
+ 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: ...
515
+
516
+ class MachineDiskQuery(_message.Message):
517
+ __slots__ = ("names", "sizes")
518
+ NAMES_FIELD_NUMBER: _ClassVar[int]
519
+ SIZES_FIELD_NUMBER: _ClassVar[int]
520
+ names: _containers.RepeatedScalarFieldContainer[str]
521
+ sizes: _containers.RepeatedScalarFieldContainer[int]
522
+ def __init__(self, names: _Optional[_Iterable[str]] = ..., sizes: _Optional[_Iterable[int]] = ...) -> None: ...
523
+
524
+ class MachineIPMIQuery(_message.Message):
525
+ __slots__ = ("address", "mac", "user", "interface")
526
+ ADDRESS_FIELD_NUMBER: _ClassVar[int]
527
+ MAC_FIELD_NUMBER: _ClassVar[int]
528
+ USER_FIELD_NUMBER: _ClassVar[int]
529
+ INTERFACE_FIELD_NUMBER: _ClassVar[int]
530
+ address: str
531
+ mac: str
532
+ user: str
533
+ interface: str
534
+ def __init__(self, address: _Optional[str] = ..., mac: _Optional[str] = ..., user: _Optional[str] = ..., interface: _Optional[str] = ...) -> None: ...
535
+
536
+ class MachineFRUQuery(_message.Message):
537
+ __slots__ = ("chassis_part_number", "chassis_part_serial", "board_mfg", "board_serial", "board_part_number", "product_manufacturer", "product_part_number", "product_serial")
538
+ CHASSIS_PART_NUMBER_FIELD_NUMBER: _ClassVar[int]
539
+ CHASSIS_PART_SERIAL_FIELD_NUMBER: _ClassVar[int]
540
+ BOARD_MFG_FIELD_NUMBER: _ClassVar[int]
541
+ BOARD_SERIAL_FIELD_NUMBER: _ClassVar[int]
542
+ BOARD_PART_NUMBER_FIELD_NUMBER: _ClassVar[int]
543
+ PRODUCT_MANUFACTURER_FIELD_NUMBER: _ClassVar[int]
544
+ PRODUCT_PART_NUMBER_FIELD_NUMBER: _ClassVar[int]
545
+ PRODUCT_SERIAL_FIELD_NUMBER: _ClassVar[int]
546
+ chassis_part_number: str
547
+ chassis_part_serial: str
548
+ board_mfg: str
549
+ board_serial: str
550
+ board_part_number: str
551
+ product_manufacturer: str
552
+ product_part_number: str
553
+ product_serial: str
554
+ 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: ...
555
+
556
+ class MachineHardwareQuery(_message.Message):
557
+ __slots__ = ("memory", "cpu_cores")
558
+ MEMORY_FIELD_NUMBER: _ClassVar[int]
559
+ CPU_CORES_FIELD_NUMBER: _ClassVar[int]
560
+ memory: int
561
+ cpu_cores: int
562
+ def __init__(self, memory: _Optional[int] = ..., cpu_cores: _Optional[int] = ...) -> None: ...