basaltic-sdk-python 0.1.1__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.
Files changed (47) hide show
  1. basaltic/__init__.py +26 -0
  2. basaltic/_client.py +136 -0
  3. basaltic/_common.py +284 -0
  4. basaltic/_transport.py +196 -0
  5. basaltic/_version.py +3 -0
  6. basaltic/auth.py +231 -0
  7. basaltic/client.py +144 -0
  8. basaltic/config.py +151 -0
  9. basaltic/errors.py +73 -0
  10. basaltic/models/__init__.py +17 -0
  11. basaltic/models/audit.py +85 -0
  12. basaltic/models/billing.py +284 -0
  13. basaltic/models/catalog.py +35 -0
  14. basaltic/models/certificate.py +127 -0
  15. basaltic/models/compute.py +905 -0
  16. basaltic/models/dns.py +256 -0
  17. basaltic/models/iam.py +736 -0
  18. basaltic/models/kms.py +157 -0
  19. basaltic/models/loadbalancer.py +574 -0
  20. basaltic/models/network.py +985 -0
  21. basaltic/models/quota.py +30 -0
  22. basaltic/models/secrets.py +136 -0
  23. basaltic/models/storage.py +789 -0
  24. basaltic/models/telemetry.py +393 -0
  25. basaltic/models/workspace.py +734 -0
  26. basaltic/py.typed +0 -0
  27. basaltic/response.py +152 -0
  28. basaltic/services/__init__.py +1 -0
  29. basaltic/services/audit.py +211 -0
  30. basaltic/services/billing.py +777 -0
  31. basaltic/services/catalog.py +172 -0
  32. basaltic/services/certificate.py +395 -0
  33. basaltic/services/compute.py +2395 -0
  34. basaltic/services/dns.py +1079 -0
  35. basaltic/services/iam.py +3405 -0
  36. basaltic/services/kms.py +742 -0
  37. basaltic/services/loadbalancer.py +1727 -0
  38. basaltic/services/network.py +4691 -0
  39. basaltic/services/quota.py +75 -0
  40. basaltic/services/secrets.py +550 -0
  41. basaltic/services/storage.py +3059 -0
  42. basaltic/services/telemetry.py +1316 -0
  43. basaltic/services/workspace.py +3899 -0
  44. basaltic_sdk_python-0.1.1.dist-info/METADATA +211 -0
  45. basaltic_sdk_python-0.1.1.dist-info/RECORD +47 -0
  46. basaltic_sdk_python-0.1.1.dist-info/WHEEL +4 -0
  47. basaltic_sdk_python-0.1.1.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,905 @@
1
+ """Generated API models. Dictionary keys retain their wire names."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Literal, NotRequired, Required, TypeAlias, TypedDict
6
+
7
+ AttachInstanceNICRequest = TypedDict(
8
+ "AttachInstanceNICRequest", {"interface": "Required[str]"}, total=False
9
+ )
10
+ AttachInstanceNICBody: TypeAlias = "AttachInstanceNICRequest"
11
+ AttachInstanceNICResult = TypedDict(
12
+ "AttachInstanceNICResult",
13
+ {"attachment": "NotRequired[AttachInstanceNICResultAttachment]"},
14
+ total=False,
15
+ )
16
+ AttachInstanceNICResultAttachment = TypedDict(
17
+ "AttachInstanceNICResultAttachment",
18
+ {
19
+ "interface_id": "NotRequired[str]",
20
+ "mac": "NotRequired[str]",
21
+ "boot_index": "NotRequired[int]",
22
+ "external": "NotRequired[bool]",
23
+ "restart_required": "NotRequired[bool]",
24
+ "addresses": "NotRequired[list[InterfaceAddress]]",
25
+ },
26
+ total=False,
27
+ )
28
+ InterfaceAddress = TypedDict(
29
+ "InterfaceAddress",
30
+ {
31
+ "id": "Required[str]",
32
+ "family": "Required[Literal['ipv4', 'ipv6']]",
33
+ "address": "Required[str]",
34
+ "prefix": "Required[str]",
35
+ "primary": "Required[bool]",
36
+ "floating_ips": "Required[list[AddressFloatingIp]]",
37
+ },
38
+ total=False,
39
+ )
40
+ AddressFloatingIp = TypedDict(
41
+ "AddressFloatingIp",
42
+ {
43
+ "id": "Required[str]",
44
+ "crn": "Required[str]",
45
+ "visibility": "Required[Literal['public', 'private']]",
46
+ "address": "Required[str]",
47
+ },
48
+ total=False,
49
+ )
50
+ AttachInstanceNICResponse: TypeAlias = "AttachInstanceNICResult"
51
+ InstancePoolFloatingIpAttachRequestInput = TypedDict(
52
+ "InstancePoolFloatingIpAttachRequestInput", {"floating_ip": "Required[str]"}, total=False
53
+ )
54
+ AttachInstancePoolFloatingIpBody: TypeAlias = "InstancePoolFloatingIpAttachRequestInput"
55
+ InstancePoolFloatingIpResponse = TypedDict(
56
+ "InstancePoolFloatingIpResponse", {"floating_ip": "NotRequired[FloatingIp]"}, total=False
57
+ )
58
+ FloatingIp = TypedDict(
59
+ "FloatingIp",
60
+ {
61
+ "id": "Required[str]",
62
+ "crn": "Required[str]",
63
+ "description": "NotRequired[str]",
64
+ "family": "Required[IpFamily]",
65
+ "attached_to": "Required[str | None]",
66
+ "members": "Required[list[FloatingIpMember]]",
67
+ "tags": "Required[dict[str, str]]",
68
+ "health_check": "NotRequired[FloatingIpHealthCheck]",
69
+ "created_at": "Required[str]",
70
+ "updated_at": "Required[str]",
71
+ "address": "Required[str]",
72
+ "visibility": "Required[Literal['public', 'private']]",
73
+ "subnet_id": "NotRequired[str | None]",
74
+ "vpc_id": "NotRequired[str]",
75
+ },
76
+ total=False,
77
+ )
78
+ IpFamily: TypeAlias = "Literal['ipv4', 'ipv6']"
79
+ FloatingIpMember = TypedDict(
80
+ "FloatingIpMember",
81
+ {
82
+ "interface": "Required[FloatingIpMemberInterfaceObject | None]",
83
+ "health": "Required[Literal['unknown', 'healthy', 'unhealthy']]",
84
+ "reason": "Required[Literal['unprobed', 'booting', 'probe_failed', 'passing']]",
85
+ "created_at": "Required[str]",
86
+ "address_id": "NotRequired[str | None]",
87
+ },
88
+ total=False,
89
+ )
90
+ FloatingIpMemberInterfaceObject = TypedDict(
91
+ "FloatingIpMemberInterfaceObject",
92
+ {
93
+ "id": "Required[str]",
94
+ "crn": "Required[str]",
95
+ "instance": "Required[FloatingIpMemberInterfaceObjectInstanceObject | None]",
96
+ },
97
+ total=False,
98
+ )
99
+ FloatingIpMemberInterfaceObjectInstanceObject = TypedDict(
100
+ "FloatingIpMemberInterfaceObjectInstanceObject",
101
+ {"id": "Required[str]", "crn": "Required[str]", "name": "Required[str]"},
102
+ total=False,
103
+ )
104
+ FloatingIpHealthCheck = TypedDict(
105
+ "FloatingIpHealthCheck",
106
+ {
107
+ "protocol": "Required[Literal['tcp', 'http', 'https']]",
108
+ "path": "NotRequired[str]",
109
+ "port": "Required[int]",
110
+ "interval_sec": "Required[int]",
111
+ "timeout_sec": "Required[int]",
112
+ "healthy_threshold": "Required[int]",
113
+ "unhealthy_threshold": "Required[int]",
114
+ "matcher": "NotRequired[str]",
115
+ },
116
+ total=False,
117
+ )
118
+ AttachInstancePoolFloatingIpResponse: TypeAlias = "InstancePoolFloatingIpResponse"
119
+ AttachInstanceVolumeRequest = TypedDict(
120
+ "AttachInstanceVolumeRequest",
121
+ {
122
+ "volume": "Required[str]",
123
+ "device": "NotRequired[str]",
124
+ "mount_path": "NotRequired[str]",
125
+ "fstype": "NotRequired[Literal['ext4', 'xfs']]",
126
+ },
127
+ total=False,
128
+ )
129
+ AttachInstanceVolumeBody: TypeAlias = "AttachInstanceVolumeRequest"
130
+ AttachInstanceVolumeResult = TypedDict(
131
+ "AttachInstanceVolumeResult",
132
+ {"attachment": "NotRequired[AttachInstanceVolumeResultAttachment]"},
133
+ total=False,
134
+ )
135
+ AttachInstanceVolumeResultAttachment = TypedDict(
136
+ "AttachInstanceVolumeResultAttachment",
137
+ {
138
+ "instance_id": "NotRequired[str]",
139
+ "volume_id": "NotRequired[str]",
140
+ "device": "NotRequired[str]",
141
+ },
142
+ total=False,
143
+ )
144
+ AttachInstanceVolumeResponse: TypeAlias = "AttachInstanceVolumeResult"
145
+ ImageCreateRequestInput = TypedDict(
146
+ "ImageCreateRequestInput",
147
+ {
148
+ "name": "Required[str]",
149
+ "source_url": "Required[str]",
150
+ "description": "NotRequired[str]",
151
+ "os": "NotRequired[Literal['almalinux', 'alpine', 'arch', 'centos', 'debian', 'fedora', 'opensuse', 'rhel', 'rocky', 'ubuntu', 'linux']]",
152
+ "os_version": "NotRequired[str]",
153
+ "architecture": "NotRequired[Literal['amd64']]",
154
+ "version": "NotRequired[str]",
155
+ "current": "NotRequired[bool]",
156
+ "eol_date": "NotRequired[str]",
157
+ "min_disk_gb": "NotRequired[int]",
158
+ "min_ram_mb": "NotRequired[int]",
159
+ "tags": "NotRequired[TagsInput]",
160
+ "attributes": "NotRequired[dict[str, str]]",
161
+ },
162
+ total=False,
163
+ )
164
+ TagsInput: TypeAlias = "dict[str, str]"
165
+ CreateImageBody: TypeAlias = "ImageCreateRequestInput"
166
+ ImageResponse = TypedDict("ImageResponse", {"image": "Required[Image]"}, total=False)
167
+ Image = TypedDict(
168
+ "Image",
169
+ {
170
+ "id": "Required[str]",
171
+ "crn": "Required[str]",
172
+ "name": "Required[str]",
173
+ "description": "NotRequired[str]",
174
+ "os": "NotRequired[str]",
175
+ "os_version": "NotRequired[str]",
176
+ "architecture": "Required[str]",
177
+ "version": "Required[str]",
178
+ "is_current": "NotRequired[bool]",
179
+ "eol_date": "NotRequired[str]",
180
+ "size_bytes": "NotRequired[int]",
181
+ "min_disk_gb": "NotRequired[int]",
182
+ "min_ram_mb": "NotRequired[int]",
183
+ "status": "Required[Literal['pending', 'importing', 'active', 'error', 'deleting', 'withdrawn']]",
184
+ "withdrawal_reason": "NotRequired[str]",
185
+ "deletion_retention": "NotRequired[ImageDeletionRetention]",
186
+ "faults": "Required[list[Fault]]",
187
+ "tags": "NotRequired[Tags]",
188
+ "attributes": "NotRequired[dict[str, str]]",
189
+ "created_at": "Required[str]",
190
+ "updated_at": "Required[str]",
191
+ },
192
+ total=False,
193
+ )
194
+ ImageDeletionRetention = TypedDict(
195
+ "ImageDeletionRetention",
196
+ {
197
+ "reason": "Required[Literal['in_use']]",
198
+ "instances": "Required[int]",
199
+ "instance_pools": "Required[int]",
200
+ },
201
+ total=False,
202
+ )
203
+ Fault = TypedDict(
204
+ "Fault",
205
+ {
206
+ "code": "Required[str]",
207
+ "severity": "Required[Literal['error', 'warning']]",
208
+ "message": "Required[str]",
209
+ "details": "Required[dict[str, object] | None]",
210
+ "first_at": "Required[str]",
211
+ "last_at": "Required[str]",
212
+ "occurrences": "Required[int]",
213
+ },
214
+ total=False,
215
+ )
216
+ Tags: TypeAlias = "dict[str, str]"
217
+ CreateImageResponse: TypeAlias = "ImageResponse"
218
+ InstanceCreateRequestInput = TypedDict(
219
+ "InstanceCreateRequestInput",
220
+ {
221
+ "name": "Required[str]",
222
+ "description": "NotRequired[str]",
223
+ "flavor": "Required[str]",
224
+ "architecture": "NotRequired[str]",
225
+ "image": "NotRequired[str]",
226
+ "networks": "Required[list[NetworkConfigInput]]",
227
+ "volumes": "NotRequired[list[InstanceLaunchVolumeInput]]",
228
+ "metadata": "NotRequired[MetadataInput]",
229
+ "tags": "NotRequired[TagsInput]",
230
+ "user_data": "NotRequired[str]",
231
+ "iam_role": "NotRequired[str]",
232
+ },
233
+ total=False,
234
+ )
235
+ NetworkConfigInput = TypedDict(
236
+ "NetworkConfigInput",
237
+ {
238
+ "subnet": "Required[str]",
239
+ "mac": "NotRequired[str]",
240
+ "security_groups": "NotRequired[list[str]]",
241
+ "floating_ip_assignment": "NotRequired[Literal['none', 'ipv4', 'ipv6', 'dual_stack', 'auto']]",
242
+ "addresses": "NotRequired[list[AddressRequestInput]]",
243
+ },
244
+ total=False,
245
+ )
246
+ AddressRequestInput = TypedDict(
247
+ "AddressRequestInput",
248
+ {"family": "Required[Literal['ipv4', 'ipv6']]", "address": "NotRequired[str]"},
249
+ total=False,
250
+ )
251
+ InstanceLaunchVolumeInput: TypeAlias = (
252
+ "InstanceLaunchVolumeInputVariant1 | InstanceLaunchVolumeInputVariant2"
253
+ )
254
+ InstanceLaunchVolumeInputVariant1 = TypedDict(
255
+ "InstanceLaunchVolumeInputVariant1",
256
+ {
257
+ "boot": "NotRequired[bool]",
258
+ "volume": "Required[str]",
259
+ "size_gb": "NotRequired[int]",
260
+ "volume_type": "NotRequired[Literal['ssd', 'nvme']]",
261
+ "performance": "NotRequired[VolumePerformanceRequestInput]",
262
+ "mount_path": "NotRequired[str]",
263
+ "fstype": "NotRequired[str]",
264
+ "delete_on_termination": "NotRequired[Literal[False]]",
265
+ "snapshot_schedules": "NotRequired[list[SnapshotScheduleSettingsInput]]",
266
+ },
267
+ total=False,
268
+ )
269
+ VolumePerformanceRequestInput = TypedDict(
270
+ "VolumePerformanceRequestInput",
271
+ {"iops": "NotRequired[int]", "throughput_mib_s": "NotRequired[float]"},
272
+ total=False,
273
+ )
274
+ SnapshotScheduleSettingsInput = TypedDict(
275
+ "SnapshotScheduleSettingsInput",
276
+ {
277
+ "name": "Required[str]",
278
+ "description": "NotRequired[str]",
279
+ "interval_minutes": "Required[SnapshotIntervalMinutesInput]",
280
+ "retention_count": "Required[SnapshotRetentionCountInput]",
281
+ "retention_days": "NotRequired[SnapshotRetentionDaysInput]",
282
+ "enabled": "NotRequired[bool]",
283
+ "tags": "NotRequired[TagsInput]",
284
+ },
285
+ total=False,
286
+ )
287
+ SnapshotIntervalMinutesInput: TypeAlias = "int"
288
+ SnapshotRetentionCountInput: TypeAlias = "int"
289
+ SnapshotRetentionDaysInput: TypeAlias = "int"
290
+ InstanceLaunchVolumeInputVariant2 = TypedDict(
291
+ "InstanceLaunchVolumeInputVariant2",
292
+ {
293
+ "boot": "NotRequired[bool]",
294
+ "volume": "NotRequired[str]",
295
+ "size_gb": "NotRequired[int]",
296
+ "volume_type": "NotRequired[Literal['ssd', 'nvme']]",
297
+ "performance": "NotRequired[VolumePerformanceRequestInput]",
298
+ "mount_path": "NotRequired[str]",
299
+ "fstype": "NotRequired[str]",
300
+ "delete_on_termination": "NotRequired[bool]",
301
+ "snapshot_schedules": "NotRequired[list[SnapshotScheduleSettingsInput]]",
302
+ },
303
+ total=False,
304
+ )
305
+ MetadataInput: TypeAlias = "dict[str, str]"
306
+ CreateInstanceBody: TypeAlias = "InstanceCreateRequestInput"
307
+ CreateInstanceResult = TypedDict(
308
+ "CreateInstanceResult", {"instance": "NotRequired[Instance]"}, total=False
309
+ )
310
+ Instance = TypedDict(
311
+ "Instance",
312
+ {
313
+ "id": "NotRequired[str]",
314
+ "crn": "NotRequired[str]",
315
+ "name": "NotRequired[str]",
316
+ "description": "NotRequired[str]",
317
+ "task_state": "NotRequired[str | None]",
318
+ "flavor": "NotRequired[Flavor]",
319
+ "image": "NotRequired[Image]",
320
+ "user_data": "NotRequired[str]",
321
+ "iam_role": "NotRequired[InstanceRole]",
322
+ "metadata": "NotRequired[Metadata]",
323
+ "tags": "NotRequired[Tags]",
324
+ "faults": "Required[list[Fault]]",
325
+ "created_at": "NotRequired[str]",
326
+ "updated_at": "NotRequired[str]",
327
+ "launched_at": "NotRequired[str | None]",
328
+ "terminated_at": "NotRequired[str | None]",
329
+ "desired_state": "NotRequired[Literal['running', 'stopped', 'deleted']]",
330
+ "current_state": "NotRequired[CurrentState]",
331
+ },
332
+ total=False,
333
+ )
334
+ Flavor = TypedDict(
335
+ "Flavor",
336
+ {
337
+ "id": "NotRequired[str]",
338
+ "crn": "NotRequired[str]",
339
+ "name": "NotRequired[str]",
340
+ "description": "NotRequired[str]",
341
+ "vcpus": "NotRequired[int]",
342
+ "ram_mb": "NotRequired[int]",
343
+ "class": "NotRequired[Literal['shared', 'dedicated']]",
344
+ "family": "NotRequired[Literal['general', 'loadbalancer', 'database']]",
345
+ "status": "NotRequired[Literal['active', 'disabled']]",
346
+ "created_at": "NotRequired[str]",
347
+ "updated_at": "NotRequired[str]",
348
+ },
349
+ total=False,
350
+ )
351
+ InstanceRole = TypedDict(
352
+ "InstanceRole",
353
+ {"id": "Required[str]", "crn": "Required[str]", "name": "Required[str]"},
354
+ total=False,
355
+ )
356
+ Metadata: TypeAlias = "dict[str, str]"
357
+ CurrentState: TypeAlias = "Literal['pending', 'building', 'running', 'stopping', 'stopped', 'rebooting', 'migrating', 'deleting', 'deleted', 'error', 'crashed', 'paused', 'suspended']"
358
+ CreateInstanceResponse: TypeAlias = "CreateInstanceResult"
359
+ InstancePoolCreateRequestInput = TypedDict(
360
+ "InstancePoolCreateRequestInput",
361
+ {
362
+ "name": "Required[str]",
363
+ "description": "NotRequired[str]",
364
+ "tags": "NotRequired[TagsInput]",
365
+ "template": "Required[InstancePoolTemplateRequestInput]",
366
+ "desired_count": "NotRequired[int]",
367
+ "min_count": "NotRequired[int]",
368
+ "max_count": "NotRequired[int]",
369
+ },
370
+ total=False,
371
+ )
372
+ InstancePoolTemplateRequestInput = TypedDict(
373
+ "InstancePoolTemplateRequestInput",
374
+ {
375
+ "flavor": "Required[str]",
376
+ "architecture": "NotRequired[str]",
377
+ "image": "NotRequired[str]",
378
+ "networks": "Required[list[NetworkConfigInput]]",
379
+ "user_data": "NotRequired[str]",
380
+ "metadata": "NotRequired[MetadataInput]",
381
+ "tags": "NotRequired[TagsInput]",
382
+ "iam_role": "NotRequired[str]",
383
+ "volumes": "NotRequired[list[InstanceVolumeInput]]",
384
+ },
385
+ total=False,
386
+ )
387
+ InstanceVolumeInput = TypedDict(
388
+ "InstanceVolumeInput",
389
+ {
390
+ "boot": "NotRequired[bool]",
391
+ "size_gb": "Required[int]",
392
+ "volume_type": "NotRequired[str]",
393
+ "mount_path": "NotRequired[str]",
394
+ "fstype": "NotRequired[str]",
395
+ "delete_on_termination": "NotRequired[bool]",
396
+ },
397
+ total=False,
398
+ )
399
+ CreateInstancePoolBody: TypeAlias = "InstancePoolCreateRequestInput"
400
+ InstancePoolResponse = TypedDict(
401
+ "InstancePoolResponse", {"instance_pool": "NotRequired[InstancePool]"}, total=False
402
+ )
403
+ InstancePool = TypedDict(
404
+ "InstancePool",
405
+ {
406
+ "id": "NotRequired[str]",
407
+ "crn": "NotRequired[str]",
408
+ "name": "NotRequired[str]",
409
+ "description": "NotRequired[str]",
410
+ "desired_count": "NotRequired[int]",
411
+ "min_count": "NotRequired[int]",
412
+ "max_count": "NotRequired[int]",
413
+ "live_count": "NotRequired[int]",
414
+ "member_count": "NotRequired[int]",
415
+ "refresh_in_progress": "NotRequired[bool]",
416
+ "stale_instance_count": "NotRequired[int]",
417
+ "status": "NotRequired[Literal['active', 'scaling', 'error', 'deleting']]",
418
+ "faults": "Required[list[Fault]]",
419
+ "managed_by": "NotRequired[str]",
420
+ "tags": "NotRequired[Tags]",
421
+ "template": "NotRequired[InstancePoolTemplate]",
422
+ },
423
+ total=False,
424
+ )
425
+ InstancePoolTemplate = TypedDict(
426
+ "InstancePoolTemplate",
427
+ {
428
+ "flavor_id": "NotRequired[str]",
429
+ "image_id": "NotRequired[str]",
430
+ "networks": "NotRequired[list[NetworkConfigResponse]]",
431
+ "user_data": "NotRequired[str]",
432
+ "metadata": "NotRequired[Metadata]",
433
+ "tags": "NotRequired[Tags]",
434
+ "iam_role": "NotRequired[InstanceRole]",
435
+ "volumes": "NotRequired[list[InstanceVolume]]",
436
+ },
437
+ total=False,
438
+ )
439
+ NetworkConfigResponse = TypedDict(
440
+ "NetworkConfigResponse",
441
+ {
442
+ "subnet": "Required[Subnet | Literal[None] | None]",
443
+ "mac": "NotRequired[str]",
444
+ "security_group_ids": "NotRequired[list[str]]",
445
+ "floating_ip_assignment": "NotRequired[Literal['none', 'ipv4', 'ipv6', 'dual_stack', 'auto']]",
446
+ "addresses": "NotRequired[list[AddressRequest]]",
447
+ },
448
+ total=False,
449
+ )
450
+ Subnet = TypedDict(
451
+ "Subnet",
452
+ {
453
+ "id": "Required[str]",
454
+ "crn": "Required[str]",
455
+ "vpc": "Required[Vpc]",
456
+ "route_table": "Required[RouteTableSummary]",
457
+ "name": "Required[str]",
458
+ "description": "NotRequired[str]",
459
+ "cidr_ipv4": "Required[str]",
460
+ "gateway_ipv4": "Required[str]",
461
+ "cidr_ipv6": "NotRequired[str | None]",
462
+ "gateway_ipv6": "NotRequired[str | None]",
463
+ "tags": "Required[dict[str, str]]",
464
+ "created_at": "Required[str]",
465
+ "updated_at": "Required[str]",
466
+ },
467
+ total=False,
468
+ )
469
+ Vpc = TypedDict(
470
+ "Vpc",
471
+ {
472
+ "id": "Required[str]",
473
+ "crn": "Required[str]",
474
+ "name": "Required[str]",
475
+ "description": "NotRequired[str]",
476
+ "cidr_ipv4": "Required[str]",
477
+ "cidr_ipv6": "NotRequired[str | None]",
478
+ "tags": "Required[dict[str, str]]",
479
+ "created_at": "Required[str]",
480
+ "updated_at": "Required[str]",
481
+ },
482
+ total=False,
483
+ )
484
+ RouteTableSummary: TypeAlias = "RouteTableSummaryObject | None"
485
+ RouteTableSummaryObject = TypedDict(
486
+ "RouteTableSummaryObject",
487
+ {"id": "Required[str]", "crn": "Required[str]", "name": "Required[str]"},
488
+ total=False,
489
+ )
490
+ AddressRequest = TypedDict(
491
+ "AddressRequest",
492
+ {"family": "Required[Literal['ipv4', 'ipv6']]", "address": "NotRequired[str]"},
493
+ total=False,
494
+ )
495
+ InstanceVolume = TypedDict(
496
+ "InstanceVolume",
497
+ {
498
+ "boot": "NotRequired[bool]",
499
+ "size_gb": "Required[int]",
500
+ "volume_type": "NotRequired[str]",
501
+ "mount_path": "NotRequired[str]",
502
+ "fstype": "NotRequired[str]",
503
+ "delete_on_termination": "NotRequired[bool]",
504
+ },
505
+ total=False,
506
+ )
507
+ CreateInstancePoolResponse: TypeAlias = "InstancePoolResponse"
508
+ SerialConsoleTicket = TypedDict(
509
+ "SerialConsoleTicket",
510
+ {"ticket": "Required[str]", "expires_at": "Required[str]", "expires_in": "Required[int]"},
511
+ total=False,
512
+ )
513
+ CreateSerialConsoleTicketResponse: TypeAlias = "SerialConsoleTicket"
514
+ DeleteImageResponse: TypeAlias = "ImageResponse"
515
+ GetConsoleOutputParameters = TypedDict(
516
+ "GetConsoleOutputParameters", {"max_bytes": "NotRequired[int]"}, total=False
517
+ )
518
+ GetConsoleOutputQuery: TypeAlias = "GetConsoleOutputParameters"
519
+ GetConsoleOutputResult = TypedDict(
520
+ "GetConsoleOutputResult",
521
+ {"output": "Required[str]", "truncated": "Required[bool]"},
522
+ total=False,
523
+ )
524
+ GetConsoleOutputResponse: TypeAlias = "GetConsoleOutputResult"
525
+ GetFlavorResult = TypedDict("GetFlavorResult", {"flavor": "NotRequired[Flavor]"}, total=False)
526
+ GetFlavorResponse: TypeAlias = "GetFlavorResult"
527
+ GetFlavorResource: TypeAlias = "Flavor"
528
+ GetFlavorScope = TypedDict(
529
+ "GetFlavorScope",
530
+ {"family": "NotRequired[Literal['general', 'loadbalancer', 'database']]"},
531
+ total=False,
532
+ )
533
+ GetImageResponse: TypeAlias = "ImageResponse"
534
+ GetImageResource: TypeAlias = "Image"
535
+ GetImageScope = TypedDict(
536
+ "GetImageScope",
537
+ {
538
+ "limit": "NotRequired[int]",
539
+ "os": "NotRequired[str]",
540
+ "architecture": "NotRequired[str]",
541
+ "status": "NotRequired[Literal['pending', 'importing', 'active', 'error', 'deleting', 'withdrawn']]",
542
+ "all_versions": "NotRequired[bool]",
543
+ },
544
+ total=False,
545
+ )
546
+ GetInstanceResult = TypedDict(
547
+ "GetInstanceResult", {"instance": "NotRequired[Instance]"}, total=False
548
+ )
549
+ GetInstanceResponse: TypeAlias = "GetInstanceResult"
550
+ GetInstanceResource: TypeAlias = "Instance"
551
+ GetInstanceScope = TypedDict(
552
+ "GetInstanceScope",
553
+ {
554
+ "limit": "NotRequired[int]",
555
+ "current_state": "NotRequired[CurrentStateInput]",
556
+ "flavor": "NotRequired[str]",
557
+ "image": "NotRequired[str]",
558
+ },
559
+ total=False,
560
+ )
561
+ CurrentStateInput: TypeAlias = "Literal['pending', 'building', 'running', 'stopping', 'stopped', 'rebooting', 'migrating', 'deleting', 'deleted', 'error', 'crashed', 'paused', 'suspended']"
562
+ GetInstancePoolResponse: TypeAlias = "InstancePoolResponse"
563
+ GetInstancePoolResource: TypeAlias = "InstancePool"
564
+ GetInstancePoolScope = TypedDict("GetInstancePoolScope", {"limit": "NotRequired[int]"}, total=False)
565
+ ListFlavorsParameters = TypedDict(
566
+ "ListFlavorsParameters",
567
+ {
568
+ "name": "NotRequired[str]",
569
+ "crn": "NotRequired[str]",
570
+ "family": "NotRequired[Literal['general', 'loadbalancer', 'database']]",
571
+ },
572
+ total=False,
573
+ )
574
+ ListFlavorsQuery: TypeAlias = "ListFlavorsParameters"
575
+ FlavorListResponse = TypedDict(
576
+ "FlavorListResponse", {"flavors": "NotRequired[list[Flavor]]"}, total=False
577
+ )
578
+ ListFlavorsResponse: TypeAlias = "FlavorListResponse"
579
+ ListFlavorsItem: TypeAlias = "Flavor"
580
+ ListImageCatalogParameters = TypedDict(
581
+ "ListImageCatalogParameters",
582
+ {
583
+ "limit": "NotRequired[int]",
584
+ "marker": "NotRequired[str]",
585
+ "name": "NotRequired[str]",
586
+ "os": "NotRequired[str]",
587
+ "architecture": "NotRequired[str]",
588
+ },
589
+ total=False,
590
+ )
591
+ ListImageCatalogQuery: TypeAlias = "ListImageCatalogParameters"
592
+ ImageCatalogResponse = TypedDict(
593
+ "ImageCatalogResponse",
594
+ {"categories": "Required[list[ImageCatalogCategory]]", "meta": "Required[PaginationMeta]"},
595
+ total=False,
596
+ )
597
+ ImageCatalogCategory = TypedDict(
598
+ "ImageCatalogCategory",
599
+ {"name": "Required[str]", "images": "Required[list[CatalogImage]]"},
600
+ total=False,
601
+ )
602
+ CatalogImage = TypedDict(
603
+ "CatalogImage",
604
+ {
605
+ "id": "Required[str]",
606
+ "crn": "Required[str]",
607
+ "name": "Required[str]",
608
+ "os": "NotRequired[str]",
609
+ "os_version": "NotRequired[str]",
610
+ "architecture": "Required[str]",
611
+ "min_disk_gb": "Required[int]",
612
+ "min_ram_mb": "Required[int]",
613
+ "eol_date": "NotRequired[str]",
614
+ },
615
+ total=False,
616
+ )
617
+ PaginationMeta = TypedDict(
618
+ "PaginationMeta",
619
+ {
620
+ "total": "NotRequired[int]",
621
+ "limit": "NotRequired[int]",
622
+ "marker": "NotRequired[str]",
623
+ "has_more": "NotRequired[bool]",
624
+ },
625
+ total=False,
626
+ )
627
+ ListImageCatalogResponse: TypeAlias = "ImageCatalogResponse"
628
+ ListImageCatalogItem: TypeAlias = "ImageCatalogCategory"
629
+ ListImagesParameters = TypedDict(
630
+ "ListImagesParameters",
631
+ {
632
+ "crn": "NotRequired[str]",
633
+ "limit": "NotRequired[int]",
634
+ "marker": "NotRequired[str]",
635
+ "os": "NotRequired[str]",
636
+ "architecture": "NotRequired[str]",
637
+ "name": "NotRequired[str]",
638
+ "status": "NotRequired[Literal['pending', 'importing', 'active', 'error', 'deleting', 'withdrawn']]",
639
+ "all_versions": "NotRequired[bool]",
640
+ },
641
+ total=False,
642
+ )
643
+ ListImagesQuery: TypeAlias = "ListImagesParameters"
644
+ ImageListResponse = TypedDict(
645
+ "ImageListResponse",
646
+ {"images": "Required[list[Image]]", "meta": "NotRequired[PaginationMeta]"},
647
+ total=False,
648
+ )
649
+ ListImagesResponse: TypeAlias = "ImageListResponse"
650
+ ListImagesItem: TypeAlias = "Image"
651
+ ListInstanceNICsParameters = TypedDict(
652
+ "ListInstanceNICsParameters",
653
+ {"name": "NotRequired[str]", "crn": "NotRequired[str]"},
654
+ total=False,
655
+ )
656
+ ListInstanceNICsQuery: TypeAlias = "ListInstanceNICsParameters"
657
+ ListInstanceNICsResult = TypedDict(
658
+ "ListInstanceNICsResult",
659
+ {"nics": "NotRequired[list[ListInstanceNICsResultNicsItem]]"},
660
+ total=False,
661
+ )
662
+ ListInstanceNICsResultNicsItem = TypedDict(
663
+ "ListInstanceNICsResultNicsItem",
664
+ {
665
+ "interface_id": "Required[str]",
666
+ "boot_index": "Required[int]",
667
+ "primary": "Required[bool]",
668
+ "external": "Required[bool]",
669
+ "name": "NotRequired[str]",
670
+ "mac": "NotRequired[str]",
671
+ "subnet": "Required[Subnet | Literal[None] | None]",
672
+ "addresses": "Required[list[InterfaceAddress]]",
673
+ "routed_prefixes": "Required[list[RoutedPrefix]]",
674
+ },
675
+ total=False,
676
+ )
677
+ RoutedPrefix = TypedDict(
678
+ "RoutedPrefix",
679
+ {
680
+ "id": "Required[str]",
681
+ "pool_id": "Required[str]",
682
+ "family": "Required[Literal['ipv4']]",
683
+ "prefix": "Required[str]",
684
+ },
685
+ total=False,
686
+ )
687
+ ListInstanceNICsResponse: TypeAlias = "ListInstanceNICsResult"
688
+ ListInstanceNICsEntry = TypedDict(
689
+ "ListInstanceNICsEntry",
690
+ {
691
+ "interface_id": "Required[str]",
692
+ "boot_index": "Required[int]",
693
+ "primary": "Required[bool]",
694
+ "external": "Required[bool]",
695
+ "name": "NotRequired[str]",
696
+ "mac": "NotRequired[str]",
697
+ "subnet": "Required[Subnet | Literal[None] | None]",
698
+ "addresses": "Required[list[InterfaceAddress]]",
699
+ "routed_prefixes": "Required[list[RoutedPrefix]]",
700
+ },
701
+ total=False,
702
+ )
703
+ ListInstanceNICsItem: TypeAlias = "ListInstanceNICsEntry"
704
+ ListInstancePoolFloatingIpsParameters = TypedDict(
705
+ "ListInstancePoolFloatingIpsParameters",
706
+ {
707
+ "name": "NotRequired[str]",
708
+ "crn": "NotRequired[str]",
709
+ "limit": "NotRequired[int]",
710
+ "marker": "NotRequired[str]",
711
+ },
712
+ total=False,
713
+ )
714
+ ListInstancePoolFloatingIpsQuery: TypeAlias = "ListInstancePoolFloatingIpsParameters"
715
+ FloatingIpListResponse = TypedDict(
716
+ "FloatingIpListResponse",
717
+ {"floating_ips": "Required[list[FloatingIp]]", "meta": "Required[PaginationMeta]"},
718
+ total=False,
719
+ )
720
+ ListInstancePoolFloatingIpsResponse: TypeAlias = "FloatingIpListResponse"
721
+ ListInstancePoolFloatingIpsItem: TypeAlias = "FloatingIp"
722
+ ListInstancePoolsParameters = TypedDict(
723
+ "ListInstancePoolsParameters",
724
+ {
725
+ "name": "NotRequired[str]",
726
+ "crn": "NotRequired[str]",
727
+ "limit": "NotRequired[int]",
728
+ "marker": "NotRequired[str]",
729
+ },
730
+ total=False,
731
+ )
732
+ ListInstancePoolsQuery: TypeAlias = "ListInstancePoolsParameters"
733
+ InstancePoolListResponse = TypedDict(
734
+ "InstancePoolListResponse",
735
+ {"instance_pools": "NotRequired[list[InstancePool]]", "meta": "NotRequired[PaginationMeta]"},
736
+ total=False,
737
+ )
738
+ ListInstancePoolsResponse: TypeAlias = "InstancePoolListResponse"
739
+ ListInstancePoolsItem: TypeAlias = "InstancePool"
740
+ ListInstanceVolumesParameters = TypedDict(
741
+ "ListInstanceVolumesParameters",
742
+ {"name": "NotRequired[str]", "crn": "NotRequired[str]"},
743
+ total=False,
744
+ )
745
+ ListInstanceVolumesQuery: TypeAlias = "ListInstanceVolumesParameters"
746
+ ListInstanceVolumesResult = TypedDict(
747
+ "ListInstanceVolumesResult",
748
+ {"attachments": "NotRequired[list[ListInstanceVolumesResultAttachmentsItem]]"},
749
+ total=False,
750
+ )
751
+ ListInstanceVolumesResultAttachmentsItem = TypedDict(
752
+ "ListInstanceVolumesResultAttachmentsItem",
753
+ {
754
+ "volume_id": "NotRequired[str]",
755
+ "device": "NotRequired[str]",
756
+ "boot_index": "NotRequired[int]",
757
+ "delete_on_termination": "NotRequired[bool]",
758
+ "mount_path": "NotRequired[str]",
759
+ "fstype": "NotRequired[Literal['ext4', 'xfs']]",
760
+ "name": "NotRequired[str]",
761
+ "volume_type": "NotRequired[str]",
762
+ "size_gb": "NotRequired[int]",
763
+ "status": "NotRequired[str]",
764
+ "bootable": "NotRequired[bool]",
765
+ "mount": "NotRequired[VolumeMount]",
766
+ },
767
+ total=False,
768
+ )
769
+ VolumeMount = TypedDict(
770
+ "VolumeMount",
771
+ {
772
+ "state": "Required[Literal['unknown', 'pending', 'mounted', 'failed']]",
773
+ "code": "NotRequired[Literal['unsafe_serial', 'device_absent', 'probe_failed', 'signatures_no_filesystem', 'unsupported_fstype', 'mkfs_failed', 'unsafe_mount_path', 'mkdir_failed', 'mount_failed', 'fstab_write_failed', 'unknown_error']]",
774
+ "message": "NotRequired[str]",
775
+ "since": "NotRequired[str]",
776
+ "reported_at": "NotRequired[str]",
777
+ },
778
+ total=False,
779
+ )
780
+ ListInstanceVolumesResponse: TypeAlias = "ListInstanceVolumesResult"
781
+ ListInstanceVolumesEntry = TypedDict(
782
+ "ListInstanceVolumesEntry",
783
+ {
784
+ "volume_id": "NotRequired[str]",
785
+ "device": "NotRequired[str]",
786
+ "boot_index": "NotRequired[int]",
787
+ "delete_on_termination": "NotRequired[bool]",
788
+ "mount_path": "NotRequired[str]",
789
+ "fstype": "NotRequired[Literal['ext4', 'xfs']]",
790
+ "name": "NotRequired[str]",
791
+ "volume_type": "NotRequired[str]",
792
+ "size_gb": "NotRequired[int]",
793
+ "status": "NotRequired[str]",
794
+ "bootable": "NotRequired[bool]",
795
+ "mount": "NotRequired[VolumeMount]",
796
+ },
797
+ total=False,
798
+ )
799
+ ListInstanceVolumesItem: TypeAlias = "ListInstanceVolumesEntry"
800
+ ListInstancesParameters = TypedDict(
801
+ "ListInstancesParameters",
802
+ {
803
+ "crn": "NotRequired[str]",
804
+ "limit": "NotRequired[int]",
805
+ "marker": "NotRequired[str]",
806
+ "name": "NotRequired[str]",
807
+ "current_state": "NotRequired[CurrentStateInput]",
808
+ "flavor": "NotRequired[str]",
809
+ "image": "NotRequired[str]",
810
+ },
811
+ total=False,
812
+ )
813
+ ListInstancesQuery: TypeAlias = "ListInstancesParameters"
814
+ InstanceListResponse = TypedDict(
815
+ "InstanceListResponse",
816
+ {"instances": "NotRequired[list[Instance]]", "meta": "NotRequired[PaginationMeta]"},
817
+ total=False,
818
+ )
819
+ ListInstancesResponse: TypeAlias = "InstanceListResponse"
820
+ ListInstancesItem: TypeAlias = "Instance"
821
+ ListPoolInstancesParameters = TypedDict(
822
+ "ListPoolInstancesParameters",
823
+ {
824
+ "crn": "NotRequired[str]",
825
+ "limit": "NotRequired[int]",
826
+ "marker": "NotRequired[str]",
827
+ "name": "NotRequired[str]",
828
+ "current_state": "NotRequired[CurrentStateInput]",
829
+ "flavor": "NotRequired[str]",
830
+ "image": "NotRequired[str]",
831
+ },
832
+ total=False,
833
+ )
834
+ ListPoolInstancesQuery: TypeAlias = "ListPoolInstancesParameters"
835
+ ListPoolInstancesResponse: TypeAlias = "InstanceListResponse"
836
+ ListPoolInstancesItem: TypeAlias = "Instance"
837
+ InstanceRebootRequestInput = TypedDict(
838
+ "InstanceRebootRequestInput", {"hard": "NotRequired[bool]"}, total=False
839
+ )
840
+ RebootInstanceBody: TypeAlias = "InstanceRebootRequestInput"
841
+ RefreshInstancePoolResponse: TypeAlias = "InstancePoolResponse"
842
+ ReinstallInstanceRequest = TypedDict(
843
+ "ReinstallInstanceRequest",
844
+ {
845
+ "image": "NotRequired[str]",
846
+ "size_gb": "NotRequired[int]",
847
+ "volume_type": "NotRequired[Literal['ssd', 'nvme']]",
848
+ },
849
+ total=False,
850
+ )
851
+ ReinstallInstanceBody: TypeAlias = "ReinstallInstanceRequest"
852
+ ResizeInstanceRequest = TypedDict("ResizeInstanceRequest", {"flavor": "Required[str]"}, total=False)
853
+ ResizeInstanceBody: TypeAlias = "ResizeInstanceRequest"
854
+ StartSerialConsoleParameters = TypedDict(
855
+ "StartSerialConsoleParameters", {"backlog_bytes": "NotRequired[int]"}, total=False
856
+ )
857
+ StartSerialConsoleQuery: TypeAlias = "StartSerialConsoleParameters"
858
+ ImageUpdateRequestInput = TypedDict(
859
+ "ImageUpdateRequestInput",
860
+ {
861
+ "description": "NotRequired[str]",
862
+ "current": "NotRequired[bool]",
863
+ "eol_date": "NotRequired[str | None]",
864
+ "tags": "NotRequired[TagsInput]",
865
+ "attributes": "NotRequired[dict[str, str]]",
866
+ },
867
+ total=False,
868
+ )
869
+ UpdateImageBody: TypeAlias = "ImageUpdateRequestInput"
870
+ UpdateImageResponse: TypeAlias = "ImageResponse"
871
+ InstanceUpdateRequestInput = TypedDict(
872
+ "InstanceUpdateRequestInput",
873
+ {
874
+ "iam_role": "NotRequired[str]",
875
+ "description": "NotRequired[str]",
876
+ "metadata": "NotRequired[MetadataInput]",
877
+ "tags": "NotRequired[TagsInput]",
878
+ },
879
+ total=False,
880
+ )
881
+ UpdateInstanceBody: TypeAlias = "InstanceUpdateRequestInput"
882
+ UpdateInstanceResult = TypedDict(
883
+ "UpdateInstanceResult", {"instance": "NotRequired[Instance]"}, total=False
884
+ )
885
+ UpdateInstanceResponse: TypeAlias = "UpdateInstanceResult"
886
+ InstancePoolUpdateRequestInput = TypedDict(
887
+ "InstancePoolUpdateRequestInput",
888
+ {
889
+ "description": "NotRequired[str]",
890
+ "tags": "NotRequired[TagsInput]",
891
+ "desired_count": "NotRequired[int]",
892
+ "min_count": "NotRequired[int]",
893
+ "max_count": "NotRequired[int]",
894
+ "template": "NotRequired[InstancePoolTemplateRequestInput]",
895
+ },
896
+ total=False,
897
+ )
898
+ UpdateInstancePoolBody: TypeAlias = "InstancePoolUpdateRequestInput"
899
+ UpdateInstancePoolResponse: TypeAlias = "InstancePoolResponse"
900
+ UpdateInstanceVolumeAttachmentRequest = TypedDict(
901
+ "UpdateInstanceVolumeAttachmentRequest",
902
+ {"delete_on_termination": "Required[bool]"},
903
+ total=False,
904
+ )
905
+ UpdateInstanceVolumeAttachmentBody: TypeAlias = "UpdateInstanceVolumeAttachmentRequest"