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,789 @@
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
+ CompleteMultipartUploadRequestInput = TypedDict(
8
+ "CompleteMultipartUploadRequestInput",
9
+ {"parts": "Required[list[CompleteMultipartUploadRequestInputPartsItem]]"},
10
+ total=False,
11
+ )
12
+ CompleteMultipartUploadRequestInputPartsItem = TypedDict(
13
+ "CompleteMultipartUploadRequestInputPartsItem",
14
+ {"part_number": "Required[int]", "etag": "Required[str]"},
15
+ total=False,
16
+ )
17
+ CompleteMultipartUploadBody: TypeAlias = "CompleteMultipartUploadRequestInput"
18
+ CompleteMultipartUploadResponse2 = TypedDict(
19
+ "CompleteMultipartUploadResponse2",
20
+ {
21
+ "etag": "Required[str]",
22
+ "size": "Required[int]",
23
+ "version_id": "NotRequired[str]",
24
+ "storage_class": "NotRequired[str]",
25
+ },
26
+ total=False,
27
+ )
28
+ CompleteMultipartUploadResponse: TypeAlias = "CompleteMultipartUploadResponse2"
29
+ CreateBucketRequestInput = TypedDict(
30
+ "CreateBucketRequestInput",
31
+ {"name": "Required[str]", "object_lock_enabled": "NotRequired[bool]"},
32
+ total=False,
33
+ )
34
+ CreateBucketBody: TypeAlias = "CreateBucketRequestInput"
35
+ BucketResponse = TypedDict("BucketResponse", {"bucket": "NotRequired[Bucket]"}, total=False)
36
+ Bucket = TypedDict(
37
+ "Bucket",
38
+ {
39
+ "id": "Required[str]",
40
+ "name": "Required[str]",
41
+ "crn": "Required[str]",
42
+ "acl": "Required[str]",
43
+ "versioning": "Required[Literal['disabled', 'enabled', 'suspended']]",
44
+ "deletion_protection": "Required[bool]",
45
+ "recovery_window_days": "Required[int]",
46
+ "deleted_at": "Required[str | None]",
47
+ "scheduled_purge_at": "NotRequired[str]",
48
+ "created_at": "Required[str]",
49
+ },
50
+ total=False,
51
+ )
52
+ CreateBucketResponse: TypeAlias = "BucketResponse"
53
+ SnapshotCreateRequestInput = TypedDict(
54
+ "SnapshotCreateRequestInput",
55
+ {
56
+ "volume": "Required[str]",
57
+ "name": "Required[str]",
58
+ "description": "NotRequired[str]",
59
+ "tags": "NotRequired[TagsInput]",
60
+ },
61
+ total=False,
62
+ )
63
+ TagsInput: TypeAlias = "dict[str, str]"
64
+ CreateSnapshotBody: TypeAlias = "SnapshotCreateRequestInput"
65
+ SnapshotResponse = TypedDict("SnapshotResponse", {"snapshot": "NotRequired[Snapshot]"}, total=False)
66
+ Snapshot = TypedDict(
67
+ "Snapshot",
68
+ {
69
+ "id": "NotRequired[str]",
70
+ "crn": "NotRequired[str]",
71
+ "volume_id": "NotRequired[str]",
72
+ "snapshot_policy_id": "NotRequired[str]",
73
+ "name": "NotRequired[str]",
74
+ "description": "NotRequired[str]",
75
+ "tags": "NotRequired[Tags]",
76
+ "size_gb": "NotRequired[int]",
77
+ "status": "NotRequired[SnapshotStatus]",
78
+ "faults": "Required[list[Fault]]",
79
+ "created_at": "NotRequired[str]",
80
+ "updated_at": "NotRequired[str]",
81
+ },
82
+ total=False,
83
+ )
84
+ Tags: TypeAlias = "dict[str, str]"
85
+ SnapshotStatus: TypeAlias = "Literal['creating', 'available', 'deleting', 'error']"
86
+ Fault = TypedDict(
87
+ "Fault",
88
+ {
89
+ "code": "Required[str]",
90
+ "severity": "Required[Literal['error', 'warning']]",
91
+ "message": "Required[str]",
92
+ "details": "Required[dict[str, object] | None]",
93
+ "first_at": "Required[str]",
94
+ "last_at": "Required[str]",
95
+ "occurrences": "Required[int]",
96
+ },
97
+ total=False,
98
+ )
99
+ CreateSnapshotResponse: TypeAlias = "SnapshotResponse"
100
+ SnapshotPolicyCreateRequestInput = TypedDict(
101
+ "SnapshotPolicyCreateRequestInput",
102
+ {
103
+ "volume": "Required[str]",
104
+ "name": "Required[str]",
105
+ "description": "NotRequired[str]",
106
+ "interval_minutes": "Required[SnapshotIntervalMinutesInput]",
107
+ "retention_count": "Required[SnapshotRetentionCountInput]",
108
+ "retention_days": "NotRequired[SnapshotRetentionDaysInput]",
109
+ "enabled": "NotRequired[bool]",
110
+ "tags": "NotRequired[TagsInput]",
111
+ },
112
+ total=False,
113
+ )
114
+ SnapshotIntervalMinutesInput: TypeAlias = "int"
115
+ SnapshotRetentionCountInput: TypeAlias = "int"
116
+ SnapshotRetentionDaysInput: TypeAlias = "int"
117
+ CreateSnapshotPolicyBody: TypeAlias = "SnapshotPolicyCreateRequestInput"
118
+ SnapshotPolicyResponse = TypedDict(
119
+ "SnapshotPolicyResponse", {"snapshot_policy": "NotRequired[SnapshotPolicy]"}, total=False
120
+ )
121
+ SnapshotPolicy = TypedDict(
122
+ "SnapshotPolicy",
123
+ {
124
+ "id": "NotRequired[str]",
125
+ "crn": "NotRequired[str]",
126
+ "volume_id": "NotRequired[str]",
127
+ "name": "NotRequired[str]",
128
+ "description": "NotRequired[str]",
129
+ "enabled": "NotRequired[bool]",
130
+ "interval_minutes": "NotRequired[SnapshotIntervalMinutes]",
131
+ "retention_count": "NotRequired[SnapshotRetentionCount]",
132
+ "retention_days": "NotRequired[SnapshotRetentionDays]",
133
+ "next_run_at": "NotRequired[str]",
134
+ "last_run_at": "NotRequired[str]",
135
+ "faults": "Required[list[Fault]]",
136
+ "tags": "NotRequired[Tags]",
137
+ "created_at": "NotRequired[str]",
138
+ "updated_at": "NotRequired[str]",
139
+ },
140
+ total=False,
141
+ )
142
+ SnapshotIntervalMinutes: TypeAlias = "int"
143
+ SnapshotRetentionCount: TypeAlias = "int"
144
+ SnapshotRetentionDays: TypeAlias = "int"
145
+ CreateSnapshotPolicyResponse: TypeAlias = "SnapshotPolicyResponse"
146
+ VolumeCreateRequestInput = TypedDict(
147
+ "VolumeCreateRequestInput",
148
+ {
149
+ "performance": "NotRequired[VolumePerformanceRequestInput]",
150
+ "name": "Required[str]",
151
+ "description": "NotRequired[str]",
152
+ "tags": "NotRequired[TagsInput]",
153
+ "volume_type": "Required[CreatableVolumeTypeNameInput]",
154
+ "size_gb": "Required[int]",
155
+ "architecture": "NotRequired[str]",
156
+ "source_image": "NotRequired[str]",
157
+ "source_snapshot": "NotRequired[str]",
158
+ "bootable": "NotRequired[bool]",
159
+ },
160
+ total=False,
161
+ )
162
+ VolumePerformanceRequestInput = TypedDict(
163
+ "VolumePerformanceRequestInput",
164
+ {"iops": "NotRequired[int]", "throughput_mib_s": "NotRequired[float]"},
165
+ total=False,
166
+ )
167
+ CreatableVolumeTypeNameInput: TypeAlias = "Literal['ssd', 'nvme']"
168
+ CreateVolumeBody: TypeAlias = "VolumeCreateRequestInput"
169
+ VolumeResponse = TypedDict("VolumeResponse", {"volume": "NotRequired[Volume]"}, total=False)
170
+ Volume = TypedDict(
171
+ "Volume",
172
+ {
173
+ "id": "NotRequired[str]",
174
+ "crn": "NotRequired[str]",
175
+ "name": "NotRequired[str]",
176
+ "description": "NotRequired[str]",
177
+ "tags": "NotRequired[Tags]",
178
+ "volume_type": "NotRequired[VolumeTypeName]",
179
+ "size_gb": "NotRequired[int]",
180
+ "performance": "NotRequired[VolumePerformance]",
181
+ "included_io_limits": "NotRequired[IncludedIOLimits]",
182
+ "status": "NotRequired[VolumeStatus]",
183
+ "bootable": "NotRequired[bool]",
184
+ "source_image_id": "NotRequired[str | None]",
185
+ "source_snapshot_id": "NotRequired[str | None]",
186
+ "faults": "Required[list[Fault]]",
187
+ "created_at": "NotRequired[str]",
188
+ "updated_at": "NotRequired[str]",
189
+ },
190
+ total=False,
191
+ )
192
+ VolumeTypeName: TypeAlias = "Literal['hdd', 'ssd', 'nvme']"
193
+ VolumePerformance = TypedDict(
194
+ "VolumePerformance",
195
+ {
196
+ "requested": "Required[IncludedIOLimits]",
197
+ "applied": "Required[IncludedIOLimits]",
198
+ "state": "Required[Literal['creating', 'pending', 'applied']]",
199
+ "operation_id": "NotRequired[str]",
200
+ "applied_at": "NotRequired[str]",
201
+ "last_error": "NotRequired[str]",
202
+ },
203
+ total=False,
204
+ )
205
+ IncludedIOLimits = TypedDict(
206
+ "IncludedIOLimits",
207
+ {
208
+ "iops": "Required[int]",
209
+ "bytes_per_sec": "Required[int]",
210
+ "burst_iops": "Required[int]",
211
+ "burst_bytes_per_sec": "Required[int]",
212
+ "burst_seconds": "Required[int]",
213
+ },
214
+ total=False,
215
+ )
216
+ VolumeStatus: TypeAlias = (
217
+ "Literal['creating', 'available', 'in_use', 'extending', 'deleting', 'error']"
218
+ )
219
+ CreateVolumeResponse: TypeAlias = "VolumeResponse"
220
+ DeleteBucketResult = TypedDict(
221
+ "DeleteBucketResult", {"scheduled_purge_at": "Required[str]"}, total=False
222
+ )
223
+ DeleteBucketResponse: TypeAlias = "DeleteBucketResult | dict[str, object]"
224
+ VolumeExtendRequestInput = TypedDict(
225
+ "VolumeExtendRequestInput", {"new_size_gb": "Required[int]"}, total=False
226
+ )
227
+ ExtendVolumeBody: TypeAlias = "VolumeExtendRequestInput"
228
+ ExtendVolumeResponse: TypeAlias = "VolumeResponse"
229
+ BucketCORSResponse = TypedDict("BucketCORSResponse", {"cors": "Required[CORSConfig]"}, total=False)
230
+ CORSConfig = TypedDict("CORSConfig", {"rules": "Required[list[CORSRule]]"}, total=False)
231
+ CORSRule = TypedDict(
232
+ "CORSRule",
233
+ {
234
+ "id": "NotRequired[str]",
235
+ "allowed_origins": "Required[list[str]]",
236
+ "allowed_methods": "Required[list[Literal['GET', 'PUT', 'POST', 'DELETE', 'HEAD']]]",
237
+ "allowed_headers": "NotRequired[list[str]]",
238
+ "expose_headers": "NotRequired[list[str]]",
239
+ "max_age_seconds": "NotRequired[int]",
240
+ },
241
+ total=False,
242
+ )
243
+ GetBucketCORSResponse: TypeAlias = "BucketCORSResponse"
244
+ BucketEncryptionResponse = TypedDict(
245
+ "BucketEncryptionResponse", {"encryption": "Required[EncryptionConfig]"}, total=False
246
+ )
247
+ EncryptionConfig = TypedDict(
248
+ "EncryptionConfig", {"rules": "Required[list[EncryptionRule]]"}, total=False
249
+ )
250
+ EncryptionRule = TypedDict(
251
+ "EncryptionRule",
252
+ {"default": "NotRequired[EncryptionRuleDefault]", "bucket_key_enabled": "NotRequired[bool]"},
253
+ total=False,
254
+ )
255
+ EncryptionRuleDefault = TypedDict(
256
+ "EncryptionRuleDefault",
257
+ {"sse_algorithm": "Required[str]", "kms_master_key_id": "NotRequired[str]"},
258
+ total=False,
259
+ )
260
+ GetBucketEncryptionResponse: TypeAlias = "BucketEncryptionResponse"
261
+ BucketLifecycleResponse = TypedDict(
262
+ "BucketLifecycleResponse",
263
+ {"revision": "Required[str]", "lifecycle": "Required[LifecycleConfig]"},
264
+ total=False,
265
+ )
266
+ LifecycleConfig = TypedDict(
267
+ "LifecycleConfig", {"rules": "Required[list[LifecycleRule]]"}, total=False
268
+ )
269
+ LifecycleRule = TypedDict(
270
+ "LifecycleRule",
271
+ {
272
+ "id": "NotRequired[str]",
273
+ "status": "Required[Literal['enabled', 'disabled']]",
274
+ "filter": "NotRequired[LifecycleRuleFilter]",
275
+ "transition": "NotRequired[LifecycleRuleTransition]",
276
+ "expiration": "NotRequired[LifecycleRuleExpiration]",
277
+ "noncurrent_version_expiration": "NotRequired[LifecycleRuleNoncurrentVersionExpiration]",
278
+ "abort_incomplete_multipart_upload": "NotRequired[LifecycleRuleAbortIncompleteMultipartUpload]",
279
+ },
280
+ total=False,
281
+ )
282
+ LifecycleRuleFilter = TypedDict("LifecycleRuleFilter", {"prefix": "NotRequired[str]"}, total=False)
283
+ LifecycleRuleTransition = TypedDict(
284
+ "LifecycleRuleTransition",
285
+ {
286
+ "days": "NotRequired[int]",
287
+ "date": "NotRequired[str]",
288
+ "storage_class": "Required[Literal['STANDARD', 'COLD']]",
289
+ },
290
+ total=False,
291
+ )
292
+ LifecycleRuleExpiration = TypedDict(
293
+ "LifecycleRuleExpiration", {"days": "NotRequired[int]", "date": "NotRequired[str]"}, total=False
294
+ )
295
+ LifecycleRuleNoncurrentVersionExpiration = TypedDict(
296
+ "LifecycleRuleNoncurrentVersionExpiration",
297
+ {"noncurrent_days": "NotRequired[int]", "newer_noncurrent_versions": "NotRequired[int]"},
298
+ total=False,
299
+ )
300
+ LifecycleRuleAbortIncompleteMultipartUpload = TypedDict(
301
+ "LifecycleRuleAbortIncompleteMultipartUpload",
302
+ {"days_after_initiation": "NotRequired[int]"},
303
+ total=False,
304
+ )
305
+ GetBucketLifecycleResponse: TypeAlias = "BucketLifecycleResponse"
306
+ BucketObjectLockResponse = TypedDict(
307
+ "BucketObjectLockResponse", {"object_lock": "Required[ObjectLockConfig]"}, total=False
308
+ )
309
+ ObjectLockConfig = TypedDict(
310
+ "ObjectLockConfig",
311
+ {"object_lock_enabled": "NotRequired[str]", "rule": "NotRequired[ObjectLockConfigRule]"},
312
+ total=False,
313
+ )
314
+ ObjectLockConfigRule = TypedDict(
315
+ "ObjectLockConfigRule",
316
+ {"default_retention": "NotRequired[ObjectLockConfigRuleDefaultRetention]"},
317
+ total=False,
318
+ )
319
+ ObjectLockConfigRuleDefaultRetention = TypedDict(
320
+ "ObjectLockConfigRuleDefaultRetention",
321
+ {
322
+ "mode": "NotRequired[Literal['GOVERNANCE', 'COMPLIANCE']]",
323
+ "days": "NotRequired[int]",
324
+ "years": "NotRequired[int]",
325
+ },
326
+ total=False,
327
+ )
328
+ GetBucketObjectLockResponse: TypeAlias = "BucketObjectLockResponse"
329
+ BucketPolicyResponse = TypedDict(
330
+ "BucketPolicyResponse", {"document": "NotRequired[BucketPolicy]"}, total=False
331
+ )
332
+ BucketPolicy: TypeAlias = "dict[str, object]"
333
+ GetBucketPolicyResponse: TypeAlias = "BucketPolicyResponse"
334
+ BucketTaggingResponse = TypedDict(
335
+ "BucketTaggingResponse", {"tags": "Required[TagSet]"}, total=False
336
+ )
337
+ TagSet: TypeAlias = "dict[str, str]"
338
+ GetBucketTaggingResponse: TypeAlias = "BucketTaggingResponse"
339
+ BucketVersioningResponse = TypedDict(
340
+ "BucketVersioningResponse",
341
+ {"status": "Required[Literal['disabled', 'enabled', 'suspended']]"},
342
+ total=False,
343
+ )
344
+ GetBucketVersioningResponse: TypeAlias = "BucketVersioningResponse"
345
+ GetSnapshotResponse: TypeAlias = "SnapshotResponse"
346
+ GetSnapshotResource: TypeAlias = "Snapshot"
347
+ GetSnapshotScope = TypedDict(
348
+ "GetSnapshotScope",
349
+ {
350
+ "limit": "NotRequired[int]",
351
+ "volume": "NotRequired[str]",
352
+ "status": "NotRequired[SnapshotStatusInput]",
353
+ "snapshot_policy": "NotRequired[str]",
354
+ },
355
+ total=False,
356
+ )
357
+ SnapshotStatusInput: TypeAlias = "Literal['creating', 'available', 'deleting', 'error']"
358
+ GetSnapshotPolicyResponse: TypeAlias = "SnapshotPolicyResponse"
359
+ GetSnapshotPolicyResource: TypeAlias = "SnapshotPolicy"
360
+ GetSnapshotPolicyScope = TypedDict(
361
+ "GetSnapshotPolicyScope",
362
+ {"limit": "NotRequired[int]", "volume": "NotRequired[str]", "enabled": "NotRequired[bool]"},
363
+ total=False,
364
+ )
365
+ GetVolumeResponse: TypeAlias = "VolumeResponse"
366
+ GetVolumeResource: TypeAlias = "Volume"
367
+ GetVolumeScope = TypedDict(
368
+ "GetVolumeScope",
369
+ {"limit": "NotRequired[int]", "status": "NotRequired[VolumeStatusInput]"},
370
+ total=False,
371
+ )
372
+ VolumeStatusInput: TypeAlias = (
373
+ "Literal['creating', 'available', 'in_use', 'extending', 'deleting', 'error']"
374
+ )
375
+ InitiateMultipartUploadRequestInput = TypedDict(
376
+ "InitiateMultipartUploadRequestInput",
377
+ {
378
+ "key": "Required[str]",
379
+ "content_type": "NotRequired[str]",
380
+ "storage_class": "NotRequired[str]",
381
+ "metadata": "NotRequired[dict[str, str]]",
382
+ },
383
+ total=False,
384
+ )
385
+ InitiateMultipartUploadBody: TypeAlias = "InitiateMultipartUploadRequestInput"
386
+ MultipartUploadResponse = TypedDict(
387
+ "MultipartUploadResponse", {"upload": "Required[MultipartUpload]"}, total=False
388
+ )
389
+ MultipartUpload = TypedDict(
390
+ "MultipartUpload",
391
+ {
392
+ "upload_id": "Required[str]",
393
+ "bucket": "Required[str]",
394
+ "key": "Required[str]",
395
+ "content_type": "NotRequired[str]",
396
+ "storage_class": "NotRequired[str]",
397
+ "metadata": "NotRequired[dict[str, str]]",
398
+ "created_at": "Required[str]",
399
+ },
400
+ total=False,
401
+ )
402
+ InitiateMultipartUploadResponse: TypeAlias = "MultipartUploadResponse"
403
+ ListBucketsParameters = TypedDict(
404
+ "ListBucketsParameters",
405
+ {
406
+ "limit": "NotRequired[int]",
407
+ "marker": "NotRequired[str]",
408
+ "name": "NotRequired[str]",
409
+ "crn": "NotRequired[str]",
410
+ },
411
+ total=False,
412
+ )
413
+ ListBucketsQuery: TypeAlias = "ListBucketsParameters"
414
+ BucketListResponse = TypedDict(
415
+ "BucketListResponse",
416
+ {"buckets": "NotRequired[list[Bucket]]", "meta": "NotRequired[PaginationMeta]"},
417
+ total=False,
418
+ )
419
+ PaginationMeta = TypedDict(
420
+ "PaginationMeta",
421
+ {
422
+ "total": "NotRequired[int]",
423
+ "limit": "NotRequired[int]",
424
+ "marker": "NotRequired[str]",
425
+ "has_more": "NotRequired[bool]",
426
+ },
427
+ total=False,
428
+ )
429
+ ListBucketsResponse: TypeAlias = "BucketListResponse"
430
+ ListBucketsItem: TypeAlias = "Bucket"
431
+ ListMultipartUploadsParameters = TypedDict(
432
+ "ListMultipartUploadsParameters",
433
+ {"prefix": "NotRequired[str]", "max_uploads": "NotRequired[int]"},
434
+ total=False,
435
+ )
436
+ ListMultipartUploadsQuery: TypeAlias = "ListMultipartUploadsParameters"
437
+ ListMultipartUploadsResponse2 = TypedDict(
438
+ "ListMultipartUploadsResponse2", {"uploads": "Required[list[MultipartUpload]]"}, total=False
439
+ )
440
+ ListMultipartUploadsResponse: TypeAlias = "ListMultipartUploadsResponse2"
441
+ ListMultipartUploadsItem: TypeAlias = "MultipartUpload"
442
+ ListObjectVersionsParameters = TypedDict(
443
+ "ListObjectVersionsParameters",
444
+ {
445
+ "prefix": "NotRequired[str]",
446
+ "key_marker": "NotRequired[str]",
447
+ "version_id_marker": "NotRequired[str]",
448
+ "max_keys": "NotRequired[int]",
449
+ },
450
+ total=False,
451
+ )
452
+ ListObjectVersionsQuery: TypeAlias = "ListObjectVersionsParameters"
453
+ ListObjectVersionsResponse2 = TypedDict(
454
+ "ListObjectVersionsResponse2",
455
+ {
456
+ "versions": "Required[list[ObjectVersion]]",
457
+ "is_truncated": "Required[bool]",
458
+ "next_key_marker": "NotRequired[str]",
459
+ "next_version_id_marker": "NotRequired[str]",
460
+ },
461
+ total=False,
462
+ )
463
+ ObjectVersion = TypedDict(
464
+ "ObjectVersion",
465
+ {
466
+ "key": "Required[str]",
467
+ "version_id": "Required[str]",
468
+ "size": "Required[int]",
469
+ "etag": "Required[str]",
470
+ "content_type": "NotRequired[str]",
471
+ "storage_class": "NotRequired[str]",
472
+ "last_modified": "Required[str]",
473
+ "is_latest": "Required[bool]",
474
+ "is_delete_marker": "Required[bool]",
475
+ },
476
+ total=False,
477
+ )
478
+ ListObjectVersionsResponse: TypeAlias = "ListObjectVersionsResponse2"
479
+ ListObjectVersionsItem: TypeAlias = "ObjectVersion"
480
+ ListObjectsParameters = TypedDict(
481
+ "ListObjectsParameters",
482
+ {
483
+ "prefix": "NotRequired[str]",
484
+ "delimiter": "NotRequired[str]",
485
+ "marker": "NotRequired[str]",
486
+ "max_keys": "NotRequired[int]",
487
+ },
488
+ total=False,
489
+ )
490
+ ListObjectsQuery: TypeAlias = "ListObjectsParameters"
491
+ ObjectListResponse = TypedDict(
492
+ "ObjectListResponse",
493
+ {
494
+ "objects": "NotRequired[list[ObjectEntry]]",
495
+ "common_prefixes": "NotRequired[list[str]]",
496
+ "is_truncated": "NotRequired[bool]",
497
+ "meta": "NotRequired[PaginationMeta]",
498
+ },
499
+ total=False,
500
+ )
501
+ ObjectEntry = TypedDict(
502
+ "ObjectEntry",
503
+ {
504
+ "key": "Required[str]",
505
+ "size": "Required[int]",
506
+ "etag": "Required[str]",
507
+ "content_type": "NotRequired[str]",
508
+ "last_modified": "Required[str]",
509
+ },
510
+ total=False,
511
+ )
512
+ ListObjectsResponse: TypeAlias = "ObjectListResponse"
513
+ ListPartsResponse2 = TypedDict(
514
+ "ListPartsResponse2",
515
+ {"upload": "Required[MultipartUpload]", "parts": "Required[list[MultipartPart]]"},
516
+ total=False,
517
+ )
518
+ MultipartPart = TypedDict(
519
+ "MultipartPart",
520
+ {"part_number": "Required[int]", "size": "Required[int]", "etag": "Required[str]"},
521
+ total=False,
522
+ )
523
+ ListPartsResponse: TypeAlias = "ListPartsResponse2"
524
+ ListPartsItem: TypeAlias = "MultipartPart"
525
+ ListSnapshotPoliciesParameters = TypedDict(
526
+ "ListSnapshotPoliciesParameters",
527
+ {
528
+ "limit": "NotRequired[int]",
529
+ "marker": "NotRequired[str]",
530
+ "volume": "NotRequired[str]",
531
+ "enabled": "NotRequired[bool]",
532
+ "name": "NotRequired[str]",
533
+ "crn": "NotRequired[str]",
534
+ },
535
+ total=False,
536
+ )
537
+ ListSnapshotPoliciesQuery: TypeAlias = "ListSnapshotPoliciesParameters"
538
+ SnapshotPolicyListResponse = TypedDict(
539
+ "SnapshotPolicyListResponse",
540
+ {
541
+ "snapshot_policies": "NotRequired[list[SnapshotPolicy]]",
542
+ "meta": "NotRequired[PaginationMeta]",
543
+ },
544
+ total=False,
545
+ )
546
+ ListSnapshotPoliciesResponse: TypeAlias = "SnapshotPolicyListResponse"
547
+ ListSnapshotPoliciesItem: TypeAlias = "SnapshotPolicy"
548
+ ListSnapshotsParameters = TypedDict(
549
+ "ListSnapshotsParameters",
550
+ {
551
+ "limit": "NotRequired[int]",
552
+ "marker": "NotRequired[str]",
553
+ "volume": "NotRequired[str]",
554
+ "name": "NotRequired[str]",
555
+ "status": "NotRequired[SnapshotStatusInput]",
556
+ "crn": "NotRequired[str]",
557
+ "snapshot_policy": "NotRequired[str]",
558
+ },
559
+ total=False,
560
+ )
561
+ ListSnapshotsQuery: TypeAlias = "ListSnapshotsParameters"
562
+ SnapshotListResponse = TypedDict(
563
+ "SnapshotListResponse",
564
+ {"snapshots": "NotRequired[list[Snapshot]]", "meta": "NotRequired[PaginationMeta]"},
565
+ total=False,
566
+ )
567
+ ListSnapshotsResponse: TypeAlias = "SnapshotListResponse"
568
+ ListSnapshotsItem: TypeAlias = "Snapshot"
569
+ ListVolumeTypesParameters = TypedDict(
570
+ "ListVolumeTypesParameters",
571
+ {"name": "NotRequired[str]", "crn": "NotRequired[str]"},
572
+ total=False,
573
+ )
574
+ ListVolumeTypesQuery: TypeAlias = "ListVolumeTypesParameters"
575
+ VolumeTypeListResponse = TypedDict(
576
+ "VolumeTypeListResponse", {"volume_types": "NotRequired[list[VolumeType]]"}, total=False
577
+ )
578
+ VolumeType = TypedDict(
579
+ "VolumeType",
580
+ {
581
+ "included_iops": "NotRequired[int]",
582
+ "included_throughput_mib_s": "NotRequired[int]",
583
+ "max_iops": "NotRequired[int]",
584
+ "max_throughput_mib_s": "NotRequired[int]",
585
+ "crn": "NotRequired[str]",
586
+ "id": "NotRequired[str]",
587
+ "name": "NotRequired[str]",
588
+ "description": "NotRequired[str]",
589
+ },
590
+ total=False,
591
+ )
592
+ ListVolumeTypesResponse: TypeAlias = "VolumeTypeListResponse"
593
+ ListVolumeTypesItem: TypeAlias = "VolumeType"
594
+ ListVolumesParameters = TypedDict(
595
+ "ListVolumesParameters",
596
+ {
597
+ "limit": "NotRequired[int]",
598
+ "marker": "NotRequired[str]",
599
+ "name": "NotRequired[str]",
600
+ "status": "NotRequired[VolumeStatusInput]",
601
+ "crn": "NotRequired[str]",
602
+ },
603
+ total=False,
604
+ )
605
+ ListVolumesQuery: TypeAlias = "ListVolumesParameters"
606
+ VolumeListResponse = TypedDict(
607
+ "VolumeListResponse",
608
+ {"volumes": "NotRequired[list[Volume]]", "meta": "NotRequired[PaginationMeta]"},
609
+ total=False,
610
+ )
611
+ ListVolumesResponse: TypeAlias = "VolumeListResponse"
612
+ ListVolumesItem: TypeAlias = "Volume"
613
+ PutBucketCORSRequestInput = TypedDict(
614
+ "PutBucketCORSRequestInput", {"cors": "Required[CORSConfigInput]"}, total=False
615
+ )
616
+ CORSConfigInput = TypedDict(
617
+ "CORSConfigInput", {"rules": "Required[list[CORSRuleInput]]"}, total=False
618
+ )
619
+ CORSRuleInput = TypedDict(
620
+ "CORSRuleInput",
621
+ {
622
+ "id": "NotRequired[str]",
623
+ "allowed_origins": "Required[list[str]]",
624
+ "allowed_methods": "Required[list[Literal['GET', 'PUT', 'POST', 'DELETE', 'HEAD']]]",
625
+ "allowed_headers": "NotRequired[list[str]]",
626
+ "expose_headers": "NotRequired[list[str]]",
627
+ "max_age_seconds": "NotRequired[int]",
628
+ },
629
+ total=False,
630
+ )
631
+ PutBucketCORSBody: TypeAlias = "PutBucketCORSRequestInput"
632
+ PutBucketDeletionProtectionRequestInput = TypedDict(
633
+ "PutBucketDeletionProtectionRequestInput",
634
+ {"enabled": "Required[bool]", "recovery_window_days": "NotRequired[int]"},
635
+ total=False,
636
+ )
637
+ PutBucketDeletionProtectionBody: TypeAlias = "PutBucketDeletionProtectionRequestInput"
638
+ PutBucketEncryptionRequestInput = TypedDict(
639
+ "PutBucketEncryptionRequestInput",
640
+ {"encryption": "Required[EncryptionConfigInput]"},
641
+ total=False,
642
+ )
643
+ EncryptionConfigInput = TypedDict(
644
+ "EncryptionConfigInput", {"rules": "Required[list[EncryptionRuleInput]]"}, total=False
645
+ )
646
+ EncryptionRuleInput = TypedDict(
647
+ "EncryptionRuleInput",
648
+ {
649
+ "default": "NotRequired[EncryptionRuleInputDefault]",
650
+ "bucket_key_enabled": "NotRequired[bool]",
651
+ },
652
+ total=False,
653
+ )
654
+ EncryptionRuleInputDefault = TypedDict(
655
+ "EncryptionRuleInputDefault",
656
+ {"sse_algorithm": "Required[str]", "kms_master_key_id": "NotRequired[str]"},
657
+ total=False,
658
+ )
659
+ PutBucketEncryptionBody: TypeAlias = "PutBucketEncryptionRequestInput"
660
+ PutBucketLifecycleRequestInput = TypedDict(
661
+ "PutBucketLifecycleRequestInput", {"lifecycle": "Required[LifecycleConfigInput]"}, total=False
662
+ )
663
+ LifecycleConfigInput = TypedDict(
664
+ "LifecycleConfigInput", {"rules": "Required[list[LifecycleRuleInput]]"}, total=False
665
+ )
666
+ LifecycleRuleInput = TypedDict(
667
+ "LifecycleRuleInput",
668
+ {
669
+ "id": "NotRequired[str]",
670
+ "status": "Required[Literal['enabled', 'disabled']]",
671
+ "filter": "NotRequired[LifecycleRuleInputFilter]",
672
+ "transition": "NotRequired[LifecycleRuleInputTransition]",
673
+ "expiration": "NotRequired[LifecycleRuleInputExpiration]",
674
+ "noncurrent_version_expiration": "NotRequired[LifecycleRuleInputNoncurrentVersionExpiration]",
675
+ "abort_incomplete_multipart_upload": "NotRequired[LifecycleRuleInputAbortIncompleteMultipartUpload]",
676
+ },
677
+ total=False,
678
+ )
679
+ LifecycleRuleInputFilter = TypedDict(
680
+ "LifecycleRuleInputFilter", {"prefix": "NotRequired[str]"}, total=False
681
+ )
682
+ LifecycleRuleInputTransition = TypedDict(
683
+ "LifecycleRuleInputTransition",
684
+ {
685
+ "days": "NotRequired[int]",
686
+ "date": "NotRequired[str]",
687
+ "storage_class": "Required[Literal['STANDARD', 'COLD']]",
688
+ },
689
+ total=False,
690
+ )
691
+ LifecycleRuleInputExpiration = TypedDict(
692
+ "LifecycleRuleInputExpiration",
693
+ {"days": "NotRequired[int]", "date": "NotRequired[str]"},
694
+ total=False,
695
+ )
696
+ LifecycleRuleInputNoncurrentVersionExpiration = TypedDict(
697
+ "LifecycleRuleInputNoncurrentVersionExpiration",
698
+ {"noncurrent_days": "NotRequired[int]", "newer_noncurrent_versions": "NotRequired[int]"},
699
+ total=False,
700
+ )
701
+ LifecycleRuleInputAbortIncompleteMultipartUpload = TypedDict(
702
+ "LifecycleRuleInputAbortIncompleteMultipartUpload",
703
+ {"days_after_initiation": "NotRequired[int]"},
704
+ total=False,
705
+ )
706
+ PutBucketLifecycleBody: TypeAlias = "PutBucketLifecycleRequestInput"
707
+ PutBucketObjectLockRequestInput = TypedDict(
708
+ "PutBucketObjectLockRequestInput",
709
+ {"object_lock": "Required[ObjectLockConfigInput]"},
710
+ total=False,
711
+ )
712
+ ObjectLockConfigInput = TypedDict(
713
+ "ObjectLockConfigInput",
714
+ {"object_lock_enabled": "NotRequired[str]", "rule": "NotRequired[ObjectLockConfigInputRule]"},
715
+ total=False,
716
+ )
717
+ ObjectLockConfigInputRule = TypedDict(
718
+ "ObjectLockConfigInputRule",
719
+ {"default_retention": "NotRequired[ObjectLockConfigInputRuleDefaultRetention]"},
720
+ total=False,
721
+ )
722
+ ObjectLockConfigInputRuleDefaultRetention = TypedDict(
723
+ "ObjectLockConfigInputRuleDefaultRetention",
724
+ {
725
+ "mode": "NotRequired[Literal['GOVERNANCE', 'COMPLIANCE']]",
726
+ "days": "NotRequired[int]",
727
+ "years": "NotRequired[int]",
728
+ },
729
+ total=False,
730
+ )
731
+ PutBucketObjectLockBody: TypeAlias = "PutBucketObjectLockRequestInput"
732
+ PutBucketPolicyRequestInput = TypedDict(
733
+ "PutBucketPolicyRequestInput", {"document": "Required[BucketPolicyInput]"}, total=False
734
+ )
735
+ BucketPolicyInput: TypeAlias = "dict[str, object]"
736
+ PutBucketPolicyBody: TypeAlias = "PutBucketPolicyRequestInput"
737
+ PutBucketTaggingRequestInput = TypedDict(
738
+ "PutBucketTaggingRequestInput", {"tags": "Required[TagSetInput]"}, total=False
739
+ )
740
+ TagSetInput: TypeAlias = "dict[str, str]"
741
+ PutBucketTaggingBody: TypeAlias = "PutBucketTaggingRequestInput"
742
+ PutBucketVersioningRequestInput = TypedDict(
743
+ "PutBucketVersioningRequestInput",
744
+ {"status": "Required[Literal['enabled', 'suspended']]"},
745
+ total=False,
746
+ )
747
+ PutBucketVersioningBody: TypeAlias = "PutBucketVersioningRequestInput"
748
+ PutObjectResponse2 = TypedDict(
749
+ "PutObjectResponse2",
750
+ {"key": "Required[str]", "etag": "Required[str]", "size": "Required[int]"},
751
+ total=False,
752
+ )
753
+ PutObjectResponse: TypeAlias = "PutObjectResponse2 | dict[str, object]"
754
+ SnapshotUpdateRequestInput = TypedDict(
755
+ "SnapshotUpdateRequestInput",
756
+ {"description": "NotRequired[str]", "tags": "NotRequired[TagsInput]"},
757
+ total=False,
758
+ )
759
+ UpdateSnapshotBody: TypeAlias = "SnapshotUpdateRequestInput"
760
+ UpdateSnapshotResponse: TypeAlias = "SnapshotResponse"
761
+ SnapshotPolicyUpdateRequestInput = TypedDict(
762
+ "SnapshotPolicyUpdateRequestInput",
763
+ {
764
+ "description": "NotRequired[str]",
765
+ "enabled": "NotRequired[bool]",
766
+ "interval_minutes": "NotRequired[SnapshotIntervalMinutesInput]",
767
+ "retention_count": "NotRequired[SnapshotRetentionCountInput]",
768
+ "retention_days": "NotRequired[SnapshotRetentionDaysInput]",
769
+ "tags": "NotRequired[TagsInput]",
770
+ },
771
+ total=False,
772
+ )
773
+ UpdateSnapshotPolicyBody: TypeAlias = "SnapshotPolicyUpdateRequestInput"
774
+ UpdateSnapshotPolicyResponse: TypeAlias = "SnapshotPolicyResponse"
775
+ VolumeUpdateRequestInput = TypedDict(
776
+ "VolumeUpdateRequestInput",
777
+ {"description": "NotRequired[str]", "tags": "NotRequired[TagsInput]"},
778
+ total=False,
779
+ )
780
+ UpdateVolumeBody: TypeAlias = "VolumeUpdateRequestInput"
781
+ UpdateVolumeResponse: TypeAlias = "VolumeResponse"
782
+ UpdateVolumePerformanceBody: TypeAlias = "VolumePerformanceRequestInput"
783
+ UpdateVolumePerformanceResponse: TypeAlias = "VolumeResponse"
784
+ UploadPartResponse2 = TypedDict(
785
+ "UploadPartResponse2",
786
+ {"part_number": "Required[int]", "etag": "Required[str]", "size": "Required[int]"},
787
+ total=False,
788
+ )
789
+ UploadPartResponse: TypeAlias = "UploadPartResponse2"