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,574 @@
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
+ AttachListenerCertificateRequestInput = TypedDict(
8
+ "AttachListenerCertificateRequestInput",
9
+ {"certificate": "Required[str]", "is_default": "NotRequired[bool]"},
10
+ total=False,
11
+ )
12
+ AttachListenerCertificateBody: TypeAlias = "AttachListenerCertificateRequestInput"
13
+ ListenerResponse = TypedDict("ListenerResponse", {"listener": "NotRequired[Listener]"}, total=False)
14
+ Listener = TypedDict(
15
+ "Listener",
16
+ {
17
+ "crn": "Required[str]",
18
+ "id": "Required[str]",
19
+ "load_balancer_id": "Required[str]",
20
+ "protocol": "Required[Literal['http', 'https', 'tcp', 'udp']]",
21
+ "port": "Required[int]",
22
+ "certificates": "NotRequired[list[ListenerCertificate]]",
23
+ "default_target_group_id": "NotRequired[str]",
24
+ "exposure": "Required[Literal['public_only', 'private_only', 'both']]",
25
+ "tags": "Required[Tags]",
26
+ "created_at": "Required[str]",
27
+ "updated_at": "Required[str]",
28
+ },
29
+ total=False,
30
+ )
31
+ ListenerCertificate = TypedDict(
32
+ "ListenerCertificate",
33
+ {
34
+ "id": "Required[str]",
35
+ "certificate_crn": "Required[str]",
36
+ "is_default": "Required[bool]",
37
+ "created_at": "Required[str]",
38
+ "updated_at": "Required[str]",
39
+ },
40
+ total=False,
41
+ )
42
+ Tags: TypeAlias = "dict[str, str]"
43
+ AttachListenerCertificateResponse: TypeAlias = "ListenerResponse"
44
+ AttachTargetRequestInput = TypedDict(
45
+ "AttachTargetRequestInput", {"target": "Required[str]", "port": "NotRequired[int]"}, total=False
46
+ )
47
+ AttachTargetBody: TypeAlias = "AttachTargetRequestInput"
48
+ TargetResponse = TypedDict("TargetResponse", {"target": "NotRequired[Target]"}, total=False)
49
+ Target = TypedDict(
50
+ "Target",
51
+ {
52
+ "id": "Required[str]",
53
+ "target_group_id": "Required[str]",
54
+ "target_ref": "Required[str]",
55
+ "port": "NotRequired[int]",
56
+ "health": "Required[Literal['initial', 'healthy', 'unhealthy', 'draining']]",
57
+ "last_seen_at": "NotRequired[str]",
58
+ "created_at": "Required[str]",
59
+ "updated_at": "Required[str]",
60
+ },
61
+ total=False,
62
+ )
63
+ AttachTargetResponse: TypeAlias = "TargetResponse"
64
+ CreateListenerRequestInput = TypedDict(
65
+ "CreateListenerRequestInput",
66
+ {
67
+ "protocol": "Required[Literal['http', 'https', 'tcp', 'udp']]",
68
+ "port": "Required[int]",
69
+ "certificates": "NotRequired[list[CreateListenerCertificateInput]]",
70
+ "default_target_group": "NotRequired[str]",
71
+ "exposure": "NotRequired[Literal['public_only', 'private_only', 'both']]",
72
+ "tags": "NotRequired[TagsInput]",
73
+ },
74
+ total=False,
75
+ )
76
+ CreateListenerCertificateInput = TypedDict(
77
+ "CreateListenerCertificateInput", {"certificate": "Required[str]"}, total=False
78
+ )
79
+ TagsInput: TypeAlias = "dict[str, str]"
80
+ CreateListenerBody: TypeAlias = "CreateListenerRequestInput"
81
+ CreateListenerResponse: TypeAlias = "ListenerResponse"
82
+ CreateLoadBalancerRequestInput = TypedDict(
83
+ "CreateLoadBalancerRequestInput",
84
+ {
85
+ "name": "Required[str]",
86
+ "type": "Required[Literal['application', 'network']]",
87
+ "vpc": "Required[str]",
88
+ "subnet": "Required[str]",
89
+ "flavor": "Required[str]",
90
+ "replica_count": "NotRequired[int]",
91
+ "floating_ip": "NotRequired[str]",
92
+ "floating_ips": "NotRequired[list[str]]",
93
+ "security_groups": "Required[list[str]]",
94
+ "tags": "NotRequired[TagsInput]",
95
+ },
96
+ total=False,
97
+ )
98
+ CreateLoadBalancerBody: TypeAlias = "CreateLoadBalancerRequestInput"
99
+ LoadBalancerResponse = TypedDict(
100
+ "LoadBalancerResponse", {"load_balancer": "NotRequired[LoadBalancer]"}, total=False
101
+ )
102
+ LoadBalancer = TypedDict(
103
+ "LoadBalancer",
104
+ {
105
+ "id": "Required[str]",
106
+ "crn": "Required[str]",
107
+ "account_id": "Required[str]",
108
+ "name": "Required[str]",
109
+ "type": "Required[Literal['application', 'network']]",
110
+ "status": "Required[Literal['provisioning', 'active', 'error', 'deleting']]",
111
+ "faults": "Required[list[Fault]]",
112
+ "subnet": "Required[Subnet | Literal[None] | None]",
113
+ "flavor_id": "Required[str]",
114
+ "replica_count": "Required[int]",
115
+ "internal_ipv4": "NotRequired[str]",
116
+ "internal_ipv6": "NotRequired[str]",
117
+ "public_ipv6": "NotRequired[str]",
118
+ "floating_ip_id": "NotRequired[str]",
119
+ "floating_ips": "Required[list[FloatingIp]]",
120
+ "dns_name": "NotRequired[str]",
121
+ "tags": "Required[Tags]",
122
+ "created_at": "Required[str]",
123
+ "updated_at": "Required[str]",
124
+ },
125
+ total=False,
126
+ )
127
+ Fault = TypedDict(
128
+ "Fault",
129
+ {
130
+ "code": "Required[str]",
131
+ "severity": "Required[Literal['error', 'warning']]",
132
+ "message": "Required[str]",
133
+ "details": "Required[dict[str, object] | None]",
134
+ "first_at": "Required[str]",
135
+ "last_at": "Required[str]",
136
+ "occurrences": "Required[int]",
137
+ },
138
+ total=False,
139
+ )
140
+ Subnet = TypedDict(
141
+ "Subnet",
142
+ {
143
+ "id": "Required[str]",
144
+ "crn": "Required[str]",
145
+ "vpc": "Required[Vpc]",
146
+ "route_table": "Required[RouteTableSummary]",
147
+ "name": "Required[str]",
148
+ "description": "NotRequired[str]",
149
+ "cidr_ipv4": "Required[str]",
150
+ "gateway_ipv4": "Required[str]",
151
+ "cidr_ipv6": "NotRequired[str | None]",
152
+ "gateway_ipv6": "NotRequired[str | None]",
153
+ "tags": "Required[dict[str, str]]",
154
+ "created_at": "Required[str]",
155
+ "updated_at": "Required[str]",
156
+ },
157
+ total=False,
158
+ )
159
+ Vpc = TypedDict(
160
+ "Vpc",
161
+ {
162
+ "id": "Required[str]",
163
+ "crn": "Required[str]",
164
+ "name": "Required[str]",
165
+ "description": "NotRequired[str]",
166
+ "cidr_ipv4": "Required[str]",
167
+ "cidr_ipv6": "NotRequired[str | None]",
168
+ "tags": "Required[dict[str, str]]",
169
+ "created_at": "Required[str]",
170
+ "updated_at": "Required[str]",
171
+ },
172
+ total=False,
173
+ )
174
+ RouteTableSummary: TypeAlias = "RouteTableSummaryObject | None"
175
+ RouteTableSummaryObject = TypedDict(
176
+ "RouteTableSummaryObject",
177
+ {"id": "Required[str]", "crn": "Required[str]", "name": "Required[str]"},
178
+ total=False,
179
+ )
180
+ FloatingIp = TypedDict(
181
+ "FloatingIp",
182
+ {
183
+ "id": "Required[str]",
184
+ "crn": "Required[str]",
185
+ "description": "NotRequired[str]",
186
+ "family": "Required[IpFamily]",
187
+ "attached_to": "Required[str | None]",
188
+ "members": "Required[list[FloatingIpMember]]",
189
+ "tags": "Required[dict[str, str]]",
190
+ "health_check": "NotRequired[FloatingIpHealthCheck]",
191
+ "created_at": "Required[str]",
192
+ "updated_at": "Required[str]",
193
+ "address": "Required[str]",
194
+ "visibility": "Required[Literal['public', 'private']]",
195
+ "subnet_id": "NotRequired[str | None]",
196
+ "vpc_id": "NotRequired[str]",
197
+ },
198
+ total=False,
199
+ )
200
+ IpFamily: TypeAlias = "Literal['ipv4', 'ipv6']"
201
+ FloatingIpMember = TypedDict(
202
+ "FloatingIpMember",
203
+ {
204
+ "interface": "Required[FloatingIpMemberInterfaceObject | None]",
205
+ "health": "Required[Literal['unknown', 'healthy', 'unhealthy']]",
206
+ "reason": "Required[Literal['unprobed', 'booting', 'probe_failed', 'passing']]",
207
+ "created_at": "Required[str]",
208
+ "address_id": "NotRequired[str | None]",
209
+ },
210
+ total=False,
211
+ )
212
+ FloatingIpMemberInterfaceObject = TypedDict(
213
+ "FloatingIpMemberInterfaceObject",
214
+ {
215
+ "id": "Required[str]",
216
+ "crn": "Required[str]",
217
+ "instance": "Required[FloatingIpMemberInterfaceObjectInstanceObject | None]",
218
+ },
219
+ total=False,
220
+ )
221
+ FloatingIpMemberInterfaceObjectInstanceObject = TypedDict(
222
+ "FloatingIpMemberInterfaceObjectInstanceObject",
223
+ {"id": "Required[str]", "crn": "Required[str]", "name": "Required[str]"},
224
+ total=False,
225
+ )
226
+ FloatingIpHealthCheck = TypedDict(
227
+ "FloatingIpHealthCheck",
228
+ {
229
+ "protocol": "Required[Literal['tcp', 'http', 'https']]",
230
+ "path": "NotRequired[str]",
231
+ "port": "Required[int]",
232
+ "interval_sec": "Required[int]",
233
+ "timeout_sec": "Required[int]",
234
+ "healthy_threshold": "Required[int]",
235
+ "unhealthy_threshold": "Required[int]",
236
+ "matcher": "NotRequired[str]",
237
+ },
238
+ total=False,
239
+ )
240
+ CreateLoadBalancerResponse: TypeAlias = "LoadBalancerResponse"
241
+ CreateRuleRequestInput = TypedDict(
242
+ "CreateRuleRequestInput",
243
+ {
244
+ "priority": "Required[int]",
245
+ "conditions": "Required[list[RuleConditionInput]]",
246
+ "target_group": "Required[str]",
247
+ },
248
+ total=False,
249
+ )
250
+ RuleConditionInput = TypedDict(
251
+ "RuleConditionInput",
252
+ {
253
+ "field": "Required[Literal['host', 'path', 'header', 'query', 'method']]",
254
+ "op": "Required[Literal['exact', 'prefix', 'glob', 'regex']]",
255
+ "name": "NotRequired[str]",
256
+ "values": "Required[list[str]]",
257
+ },
258
+ total=False,
259
+ )
260
+ CreateRuleBody: TypeAlias = "CreateRuleRequestInput"
261
+ RuleResponse = TypedDict("RuleResponse", {"rule": "NotRequired[Rule]"}, total=False)
262
+ Rule = TypedDict(
263
+ "Rule",
264
+ {
265
+ "crn": "Required[str]",
266
+ "id": "Required[str]",
267
+ "listener_id": "Required[str]",
268
+ "priority": "Required[int]",
269
+ "conditions": "Required[list[RuleCondition]]",
270
+ "target_group_id": "Required[str]",
271
+ "created_at": "Required[str]",
272
+ "updated_at": "Required[str]",
273
+ },
274
+ total=False,
275
+ )
276
+ RuleCondition = TypedDict(
277
+ "RuleCondition",
278
+ {
279
+ "field": "Required[Literal['host', 'path', 'header', 'query', 'method']]",
280
+ "op": "Required[Literal['exact', 'prefix', 'glob', 'regex']]",
281
+ "name": "NotRequired[str]",
282
+ "values": "Required[list[str]]",
283
+ },
284
+ total=False,
285
+ )
286
+ CreateRuleResponse: TypeAlias = "RuleResponse"
287
+ CreateTargetGroupRequestInput = TypedDict(
288
+ "CreateTargetGroupRequestInput",
289
+ {
290
+ "name": "Required[str]",
291
+ "protocol": "Required[Literal['http', 'https', 'tcp', 'udp']]",
292
+ "target_type": "NotRequired[Literal['ip', 'instance', 'function']]",
293
+ "port": "Required[int]",
294
+ "health_check": "NotRequired[HealthCheckInput]",
295
+ "proxy_protocol": "NotRequired[bool]",
296
+ "session_affinity": "NotRequired[SessionAffinityInput]",
297
+ "target_mode": "NotRequired[Literal['static', 'pool']]",
298
+ "instance_pool": "NotRequired[str]",
299
+ "tags": "NotRequired[TagsInput]",
300
+ },
301
+ total=False,
302
+ )
303
+ HealthCheckInput = TypedDict(
304
+ "HealthCheckInput",
305
+ {
306
+ "enabled": "NotRequired[bool]",
307
+ "protocol": "NotRequired[Literal['http', 'https', 'tcp', 'udp', '']]",
308
+ "path": "NotRequired[str]",
309
+ "port": "NotRequired[int]",
310
+ "interval_sec": "NotRequired[int]",
311
+ "timeout_sec": "NotRequired[int]",
312
+ "healthy_threshold": "NotRequired[int]",
313
+ "unhealthy_threshold": "NotRequired[int]",
314
+ "matcher": "NotRequired[str]",
315
+ },
316
+ total=False,
317
+ )
318
+ SessionAffinityInput = TypedDict(
319
+ "SessionAffinityInput",
320
+ {
321
+ "type": "Required[Literal['none', 'cookie', 'source_ip']]",
322
+ "cookie_name": "NotRequired[str]",
323
+ "duration_sec": "NotRequired[int]",
324
+ },
325
+ total=False,
326
+ )
327
+ CreateTargetGroupBody: TypeAlias = "CreateTargetGroupRequestInput"
328
+ TargetGroupResponse = TypedDict(
329
+ "TargetGroupResponse", {"target_group": "NotRequired[TargetGroup]"}, total=False
330
+ )
331
+ TargetGroup = TypedDict(
332
+ "TargetGroup",
333
+ {
334
+ "id": "Required[str]",
335
+ "crn": "Required[str]",
336
+ "account_id": "Required[str]",
337
+ "name": "Required[str]",
338
+ "protocol": "Required[Literal['http', 'https', 'tcp', 'udp']]",
339
+ "target_type": "Required[Literal['ip', 'instance', 'function']]",
340
+ "port": "Required[int]",
341
+ "health_check": "Required[HealthCheck]",
342
+ "proxy_protocol": "Required[bool]",
343
+ "session_affinity": "Required[SessionAffinity]",
344
+ "target_mode": "Required[Literal['static', 'pool']]",
345
+ "instance_pool_id": "NotRequired[str]",
346
+ "tags": "Required[Tags]",
347
+ "created_at": "Required[str]",
348
+ "updated_at": "Required[str]",
349
+ },
350
+ total=False,
351
+ )
352
+ HealthCheck = TypedDict(
353
+ "HealthCheck",
354
+ {
355
+ "enabled": "NotRequired[bool]",
356
+ "protocol": "NotRequired[Literal['http', 'https', 'tcp', 'udp', '']]",
357
+ "path": "NotRequired[str]",
358
+ "port": "NotRequired[int]",
359
+ "interval_sec": "NotRequired[int]",
360
+ "timeout_sec": "NotRequired[int]",
361
+ "healthy_threshold": "NotRequired[int]",
362
+ "unhealthy_threshold": "NotRequired[int]",
363
+ "matcher": "NotRequired[str]",
364
+ },
365
+ total=False,
366
+ )
367
+ SessionAffinity = TypedDict(
368
+ "SessionAffinity",
369
+ {
370
+ "type": "Required[Literal['none', 'cookie', 'source_ip']]",
371
+ "cookie_name": "NotRequired[str]",
372
+ "duration_sec": "NotRequired[int]",
373
+ },
374
+ total=False,
375
+ )
376
+ CreateTargetGroupResponse: TypeAlias = "TargetGroupResponse"
377
+ GetListenerResponse: TypeAlias = "ListenerResponse"
378
+ GetListenerResource: TypeAlias = "Listener"
379
+ GetListenerScope = TypedDict("GetListenerScope", {}, total=False)
380
+ GetLoadBalancerResponse: TypeAlias = "LoadBalancerResponse"
381
+ GetLoadBalancerResource: TypeAlias = "LoadBalancer"
382
+ GetLoadBalancerScope = TypedDict(
383
+ "GetLoadBalancerScope",
384
+ {
385
+ "status": "NotRequired[Literal['provisioning', 'active', 'error', 'deleting']]",
386
+ "limit": "NotRequired[int]",
387
+ },
388
+ total=False,
389
+ )
390
+ GetRuleResponse: TypeAlias = "RuleResponse"
391
+ GetRuleResource: TypeAlias = "Rule"
392
+ GetRuleScope = TypedDict("GetRuleScope", {}, total=False)
393
+ GetTargetResponse: TypeAlias = "TargetResponse"
394
+ GetTargetResource: TypeAlias = "Target"
395
+ GetTargetScope = TypedDict("GetTargetScope", {}, total=False)
396
+ GetTargetGroupResponse: TypeAlias = "TargetGroupResponse"
397
+ GetTargetGroupResource: TypeAlias = "TargetGroup"
398
+ GetTargetGroupScope = TypedDict(
399
+ "GetTargetGroupScope",
400
+ {
401
+ "protocol": "NotRequired[Literal['http', 'https', 'tcp', 'udp']]",
402
+ "limit": "NotRequired[int]",
403
+ },
404
+ total=False,
405
+ )
406
+ ListListenersParameters = TypedDict(
407
+ "ListListenersParameters", {"name": "NotRequired[str]", "crn": "NotRequired[str]"}, total=False
408
+ )
409
+ ListListenersQuery: TypeAlias = "ListListenersParameters"
410
+ ListenerListResponse = TypedDict(
411
+ "ListenerListResponse", {"listeners": "NotRequired[list[Listener]]"}, total=False
412
+ )
413
+ ListListenersResponse: TypeAlias = "ListenerListResponse"
414
+ ListListenersItem: TypeAlias = "Listener"
415
+ ListLoadBalancerReplicasParameters = TypedDict(
416
+ "ListLoadBalancerReplicasParameters",
417
+ {"name": "NotRequired[str]", "crn": "NotRequired[str]"},
418
+ total=False,
419
+ )
420
+ ListLoadBalancerReplicasQuery: TypeAlias = "ListLoadBalancerReplicasParameters"
421
+ LoadBalancerReplicasResponse = TypedDict(
422
+ "LoadBalancerReplicasResponse",
423
+ {"replicas": "NotRequired[list[LoadBalancerReplica]]"},
424
+ total=False,
425
+ )
426
+ LoadBalancerReplica = TypedDict(
427
+ "LoadBalancerReplica",
428
+ {
429
+ "instance_id": "Required[str]",
430
+ "replica_index": "Required[int]",
431
+ "created_at": "Required[str]",
432
+ "flavor_id": "Required[str]",
433
+ "status": "Required[Literal['initializing', 'healthy', 'unhealthy']]",
434
+ "proxy_ok": "Required[bool]",
435
+ "agent_version": "NotRequired[str]",
436
+ "last_seen": "NotRequired[str]",
437
+ },
438
+ total=False,
439
+ )
440
+ ListLoadBalancerReplicasResponse: TypeAlias = "LoadBalancerReplicasResponse"
441
+ ListLoadBalancerReplicasItem: TypeAlias = "LoadBalancerReplica"
442
+ ListLoadBalancersParameters = TypedDict(
443
+ "ListLoadBalancersParameters",
444
+ {
445
+ "name": "NotRequired[str]",
446
+ "crn": "NotRequired[str]",
447
+ "status": "NotRequired[Literal['provisioning', 'active', 'error', 'deleting']]",
448
+ "limit": "NotRequired[int]",
449
+ "marker": "NotRequired[str]",
450
+ },
451
+ total=False,
452
+ )
453
+ ListLoadBalancersQuery: TypeAlias = "ListLoadBalancersParameters"
454
+ LoadBalancerListResponse = TypedDict(
455
+ "LoadBalancerListResponse",
456
+ {"load_balancers": "NotRequired[list[LoadBalancer]]", "meta": "NotRequired[PaginationMeta]"},
457
+ total=False,
458
+ )
459
+ PaginationMeta = TypedDict(
460
+ "PaginationMeta",
461
+ {
462
+ "total": "NotRequired[int]",
463
+ "limit": "NotRequired[int]",
464
+ "marker": "NotRequired[str]",
465
+ "has_more": "NotRequired[bool]",
466
+ },
467
+ total=False,
468
+ )
469
+ ListLoadBalancersResponse: TypeAlias = "LoadBalancerListResponse"
470
+ ListLoadBalancersItem: TypeAlias = "LoadBalancer"
471
+ ListRulesParameters = TypedDict(
472
+ "ListRulesParameters", {"name": "NotRequired[str]", "crn": "NotRequired[str]"}, total=False
473
+ )
474
+ ListRulesQuery: TypeAlias = "ListRulesParameters"
475
+ RuleListResponse = TypedDict("RuleListResponse", {"rules": "NotRequired[list[Rule]]"}, total=False)
476
+ ListRulesResponse: TypeAlias = "RuleListResponse"
477
+ ListRulesItem: TypeAlias = "Rule"
478
+ ListTargetGroupsParameters = TypedDict(
479
+ "ListTargetGroupsParameters",
480
+ {
481
+ "name": "NotRequired[str]",
482
+ "crn": "NotRequired[str]",
483
+ "protocol": "NotRequired[Literal['http', 'https', 'tcp', 'udp']]",
484
+ "limit": "NotRequired[int]",
485
+ "marker": "NotRequired[str]",
486
+ },
487
+ total=False,
488
+ )
489
+ ListTargetGroupsQuery: TypeAlias = "ListTargetGroupsParameters"
490
+ TargetGroupListResponse = TypedDict(
491
+ "TargetGroupListResponse",
492
+ {"target_groups": "NotRequired[list[TargetGroup]]", "meta": "NotRequired[PaginationMeta]"},
493
+ total=False,
494
+ )
495
+ ListTargetGroupsResponse: TypeAlias = "TargetGroupListResponse"
496
+ ListTargetGroupsItem: TypeAlias = "TargetGroup"
497
+ ListTargetsParameters = TypedDict(
498
+ "ListTargetsParameters", {"name": "NotRequired[str]", "crn": "NotRequired[str]"}, total=False
499
+ )
500
+ ListTargetsQuery: TypeAlias = "ListTargetsParameters"
501
+ TargetListResponse = TypedDict(
502
+ "TargetListResponse", {"targets": "NotRequired[list[Target]]"}, total=False
503
+ )
504
+ ListTargetsResponse: TypeAlias = "TargetListResponse"
505
+ ListTargetsItem: TypeAlias = "Target"
506
+ UpdateListenerRequestInput = TypedDict(
507
+ "UpdateListenerRequestInput",
508
+ {
509
+ "certificate": "NotRequired[str]",
510
+ "default_target_group": "NotRequired[str]",
511
+ "clear_default_target_group": "NotRequired[bool]",
512
+ "exposure": "NotRequired[Literal['public_only', 'private_only', 'both']]",
513
+ "tags": "NotRequired[TagsInput]",
514
+ },
515
+ total=False,
516
+ )
517
+ UpdateListenerBody: TypeAlias = "UpdateListenerRequestInput"
518
+ UpdateListenerResponse: TypeAlias = "ListenerResponse"
519
+ UpdateLoadBalancerRequestInput = TypedDict(
520
+ "UpdateLoadBalancerRequestInput",
521
+ {
522
+ "replica_count": "NotRequired[int]",
523
+ "flavor": "NotRequired[str]",
524
+ "tags": "NotRequired[TagsInput]",
525
+ },
526
+ total=False,
527
+ )
528
+ UpdateLoadBalancerBody: TypeAlias = "UpdateLoadBalancerRequestInput"
529
+ UpdateLoadBalancerResponse: TypeAlias = "LoadBalancerResponse"
530
+ UpdateRuleRequestInput = TypedDict(
531
+ "UpdateRuleRequestInput",
532
+ {
533
+ "priority": "Required[int]",
534
+ "conditions": "Required[list[RuleConditionInput]]",
535
+ "target_group": "Required[str]",
536
+ },
537
+ total=False,
538
+ )
539
+ UpdateRuleBody: TypeAlias = "UpdateRuleRequestInput"
540
+ UpdateRuleResponse: TypeAlias = "RuleResponse"
541
+ UpdateTargetGroupRequestInput = TypedDict(
542
+ "UpdateTargetGroupRequestInput",
543
+ {
544
+ "health_check": "NotRequired[HealthCheckPatchInput]",
545
+ "proxy_protocol": "NotRequired[bool]",
546
+ "session_affinity": "NotRequired[SessionAffinityInput]",
547
+ "tags": "NotRequired[TagsInput]",
548
+ },
549
+ total=False,
550
+ )
551
+ HealthCheckPatchInput = TypedDict(
552
+ "HealthCheckPatchInput",
553
+ {
554
+ "enabled": "NotRequired[bool]",
555
+ "protocol": "NotRequired[ProtocolInput]",
556
+ "path": "NotRequired[PathInput]",
557
+ "port": "NotRequired[int]",
558
+ "interval_sec": "NotRequired[IntervalSecInput]",
559
+ "timeout_sec": "NotRequired[TimeoutSecInput]",
560
+ "healthy_threshold": "NotRequired[HealthyThresholdInput]",
561
+ "unhealthy_threshold": "NotRequired[UnhealthyThresholdInput]",
562
+ "matcher": "NotRequired[MatcherInput]",
563
+ },
564
+ total=False,
565
+ )
566
+ ProtocolInput: TypeAlias = "Literal['http', 'https', 'tcp', 'udp', '']"
567
+ PathInput: TypeAlias = "str"
568
+ IntervalSecInput: TypeAlias = "int"
569
+ TimeoutSecInput: TypeAlias = "int"
570
+ HealthyThresholdInput: TypeAlias = "int"
571
+ UnhealthyThresholdInput: TypeAlias = "int"
572
+ MatcherInput: TypeAlias = "str"
573
+ UpdateTargetGroupBody: TypeAlias = "UpdateTargetGroupRequestInput"
574
+ UpdateTargetGroupResponse: TypeAlias = "TargetGroupResponse"