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,85 @@
1
+ """Generated API models. Dictionary keys retain their wire names."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Literal, NotRequired, TypeAlias, TypedDict
6
+
7
+ AuditLogResponse = TypedDict(
8
+ "AuditLogResponse", {"audit_log": "NotRequired[AuditLog]"}, total=False
9
+ )
10
+ AuditLog = TypedDict(
11
+ "AuditLog",
12
+ {
13
+ "crn": "NotRequired[str]",
14
+ "id": "NotRequired[str]",
15
+ "timestamp": "NotRequired[str]",
16
+ "actor_crn": "NotRequired[str | None]",
17
+ "resource_crn": "NotRequired[str | None]",
18
+ "actor_name": "NotRequired[str | None]",
19
+ "actor_email": "NotRequired[str | None]",
20
+ "action": "NotRequired[str]",
21
+ "status": "NotRequired[Literal['success', 'failure', 'denied']]",
22
+ "resource_name": "NotRequired[str | None]",
23
+ "ip_address": "NotRequired[str | None]",
24
+ "user_agent": "NotRequired[str | None]",
25
+ "request_id": "NotRequired[str | None]",
26
+ "details": "NotRequired[dict[str, object]]",
27
+ "error_code": "NotRequired[str | None]",
28
+ "error_message": "NotRequired[str | None]",
29
+ },
30
+ total=False,
31
+ )
32
+ GetAuditLogResponse: TypeAlias = "AuditLogResponse"
33
+ GetAuditLogResource: TypeAlias = "AuditLog"
34
+ GetAuditLogScope = TypedDict(
35
+ "GetAuditLogScope",
36
+ {
37
+ "actor": "NotRequired[str]",
38
+ "actor_type": "NotRequired[Literal['user', 'service_account', 'system']]",
39
+ "action": "NotRequired[str]",
40
+ "resource_type": "NotRequired[str]",
41
+ "resource": "NotRequired[str]",
42
+ "status": "NotRequired[Literal['success', 'failure', 'denied']]",
43
+ "ip_address": "NotRequired[str]",
44
+ "from": "NotRequired[str]",
45
+ "to": "NotRequired[str]",
46
+ "limit": "NotRequired[int]",
47
+ },
48
+ total=False,
49
+ )
50
+ ListAuditLogsParameters = TypedDict(
51
+ "ListAuditLogsParameters",
52
+ {
53
+ "crn": "NotRequired[str]",
54
+ "actor": "NotRequired[str]",
55
+ "actor_type": "NotRequired[Literal['user', 'service_account', 'system']]",
56
+ "action": "NotRequired[str]",
57
+ "resource_type": "NotRequired[str]",
58
+ "resource": "NotRequired[str]",
59
+ "status": "NotRequired[Literal['success', 'failure', 'denied']]",
60
+ "ip_address": "NotRequired[str]",
61
+ "from": "NotRequired[str]",
62
+ "to": "NotRequired[str]",
63
+ "limit": "NotRequired[int]",
64
+ "marker": "NotRequired[str]",
65
+ },
66
+ total=False,
67
+ )
68
+ ListAuditLogsQuery: TypeAlias = "ListAuditLogsParameters"
69
+ AuditLogListResponse = TypedDict(
70
+ "AuditLogListResponse",
71
+ {"audit_logs": "NotRequired[list[AuditLog]]", "meta": "NotRequired[PaginationMeta]"},
72
+ total=False,
73
+ )
74
+ PaginationMeta = TypedDict(
75
+ "PaginationMeta",
76
+ {
77
+ "total": "NotRequired[int]",
78
+ "limit": "NotRequired[int]",
79
+ "marker": "NotRequired[str]",
80
+ "has_more": "NotRequired[bool]",
81
+ },
82
+ total=False,
83
+ )
84
+ ListAuditLogsResponse: TypeAlias = "AuditLogListResponse"
85
+ ListAuditLogsItem: TypeAlias = "AuditLog"
@@ -0,0 +1,284 @@
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
+ BillingProfile = TypedDict(
8
+ "BillingProfile",
9
+ {
10
+ "customer_type": "NotRequired[Literal['', 'individual', 'company']]",
11
+ "company_name": "NotRequired[str]",
12
+ "country": "NotRequired[str]",
13
+ "tax_id": "NotRequired[str]",
14
+ "foreign_tax_id": "NotRequired[str]",
15
+ "no_tax_id_reason": "NotRequired[str]",
16
+ "email": "NotRequired[str]",
17
+ "phone": "NotRequired[str]",
18
+ "street_name": "NotRequired[str]",
19
+ "street_number": "NotRequired[str]",
20
+ "complement": "NotRequired[str]",
21
+ "neighborhood": "NotRequired[str]",
22
+ "city": "NotRequired[str]",
23
+ "municipality_code": "NotRequired[str]",
24
+ "state": "NotRequired[str]",
25
+ "postal_code": "NotRequired[str]",
26
+ "ready": "NotRequired[bool]",
27
+ "missing_fields": "NotRequired[list[str]]",
28
+ },
29
+ total=False,
30
+ )
31
+ GetBillingProfileResponse: TypeAlias = "BillingProfile"
32
+ CurrentUsage = TypedDict(
33
+ "CurrentUsage",
34
+ {
35
+ "amount": "Required[str]",
36
+ "period_start": "Required[str]",
37
+ "items": "Required[list[UsageLine]]",
38
+ },
39
+ total=False,
40
+ )
41
+ UsageLine = TypedDict(
42
+ "UsageLine",
43
+ {
44
+ "sku": "Required[str]",
45
+ "description": "Required[str]",
46
+ "quantity": "Required[str]",
47
+ "unit": "Required[str]",
48
+ "amount": "Required[str]",
49
+ },
50
+ total=False,
51
+ )
52
+ GetCurrentUsageResponse: TypeAlias = "CurrentUsage"
53
+ Invoice = TypedDict(
54
+ "Invoice",
55
+ {
56
+ "crn": "Required[str]",
57
+ "id": "Required[str]",
58
+ "invoice_number": "Required[str]",
59
+ "period_start": "Required[str]",
60
+ "period_end": "Required[str]",
61
+ "subtotal": "Required[str]",
62
+ "credits_applied": "Required[str]",
63
+ "total": "Required[str]",
64
+ "currency": "Required[str]",
65
+ "refunded_amount": "Required[str]",
66
+ "disputed_amount": "Required[str]",
67
+ "status": "Required[Literal['open', 'paid', 'past_due', 'uncollectible', 'void']]",
68
+ "issued_at": "NotRequired[str | None]",
69
+ "due_at": "NotRequired[str | None]",
70
+ "paid_at": "NotRequired[str | None]",
71
+ "created_at": "Required[str]",
72
+ "pdf_url": "NotRequired[str]",
73
+ "items": "NotRequired[list[InvoiceItem]]",
74
+ },
75
+ total=False,
76
+ )
77
+ InvoiceItem = TypedDict(
78
+ "InvoiceItem",
79
+ {
80
+ "kind": "Required[Literal['usage', 'credit']]",
81
+ "sku": "NotRequired[str | None]",
82
+ "description": "Required[str]",
83
+ "quantity": "Required[str]",
84
+ "unit": "NotRequired[str | None]",
85
+ "unit_price": "Required[str]",
86
+ "amount": "Required[str]",
87
+ },
88
+ total=False,
89
+ )
90
+ GetInvoiceResponse: TypeAlias = "Invoice"
91
+ GetInvoiceResource: TypeAlias = "GetInvoiceResponse"
92
+ GetInvoiceScope = TypedDict("GetInvoiceScope", {"limit": "NotRequired[int]"}, total=False)
93
+ ListCreditsParameters = TypedDict(
94
+ "ListCreditsParameters",
95
+ {"crn": "NotRequired[str]", "marker": "NotRequired[str]", "limit": "NotRequired[int]"},
96
+ total=False,
97
+ )
98
+ ListCreditsQuery: TypeAlias = "ListCreditsParameters"
99
+ CreditListResponse = TypedDict(
100
+ "CreditListResponse",
101
+ {"credits": "Required[list[Credit]]", "meta": "Required[PaginationMeta]"},
102
+ total=False,
103
+ )
104
+ Credit = TypedDict(
105
+ "Credit",
106
+ {
107
+ "crn": "Required[str]",
108
+ "id": "Required[str]",
109
+ "source": "Required[Literal['promo', 'coupon', 'adjustment', 'migration']]",
110
+ "description": "Required[str]",
111
+ "amount": "Required[str]",
112
+ "remaining": "Required[str]",
113
+ "expires_at": "NotRequired[str | None]",
114
+ "created_at": "Required[str]",
115
+ },
116
+ total=False,
117
+ )
118
+ PaginationMeta = TypedDict(
119
+ "PaginationMeta",
120
+ {
121
+ "total": "NotRequired[int]",
122
+ "limit": "NotRequired[int]",
123
+ "marker": "NotRequired[str]",
124
+ "has_more": "NotRequired[bool]",
125
+ },
126
+ total=False,
127
+ )
128
+ ListCreditsResponse: TypeAlias = "CreditListResponse"
129
+ ListCreditsItem: TypeAlias = "Credit"
130
+ ListFiscalInvoicesParameters = TypedDict(
131
+ "ListFiscalInvoicesParameters", {"invoice": "NotRequired[str]"}, total=False
132
+ )
133
+ ListFiscalInvoicesQuery: TypeAlias = "ListFiscalInvoicesParameters"
134
+ ListFiscalInvoicesResult = TypedDict(
135
+ "ListFiscalInvoicesResult", {"fiscal_documents": "Required[list[FiscalInvoice]]"}, total=False
136
+ )
137
+ FiscalInvoice = TypedDict(
138
+ "FiscalInvoice",
139
+ {
140
+ "id": "Required[str]",
141
+ "organization_id": "Required[str]",
142
+ "payment_id": "Required[str]",
143
+ "invoice_id": "NotRequired[str | None]",
144
+ "amount": "Required[str]",
145
+ "status": "Required[Literal['queued', 'waiting_details', 'retrying', 'rejected', 'issued', 'review_required']]",
146
+ "email_status": "Required[Literal['pending', 'queued']]",
147
+ "last_error": "NotRequired[str]",
148
+ "attempts": "Required[int]",
149
+ "number": "NotRequired[str]",
150
+ "verification_code": "NotRequired[str]",
151
+ "url": "NotRequired[str]",
152
+ "issued_at": "NotRequired[str]",
153
+ "requires_review": "Required[bool]",
154
+ "created_at": "Required[str]",
155
+ },
156
+ total=False,
157
+ )
158
+ ListFiscalInvoicesResponse: TypeAlias = "ListFiscalInvoicesResult"
159
+ ListFiscalInvoicesItem: TypeAlias = "FiscalInvoice"
160
+ ListInvoicesParameters = TypedDict(
161
+ "ListInvoicesParameters",
162
+ {"crn": "NotRequired[str]", "marker": "NotRequired[str]", "limit": "NotRequired[int]"},
163
+ total=False,
164
+ )
165
+ ListInvoicesQuery: TypeAlias = "ListInvoicesParameters"
166
+ InvoiceListResponse = TypedDict(
167
+ "InvoiceListResponse",
168
+ {"invoices": "Required[list[Invoice]]", "meta": "Required[PaginationMeta]"},
169
+ total=False,
170
+ )
171
+ ListInvoicesResponse: TypeAlias = "InvoiceListResponse"
172
+ ListInvoicesItem: TypeAlias = "Invoice"
173
+ ListPaymentsParameters = TypedDict(
174
+ "ListPaymentsParameters",
175
+ {"crn": "NotRequired[str]", "marker": "NotRequired[str]", "limit": "NotRequired[int]"},
176
+ total=False,
177
+ )
178
+ ListPaymentsQuery: TypeAlias = "ListPaymentsParameters"
179
+ PaymentListResponse = TypedDict(
180
+ "PaymentListResponse",
181
+ {"payments": "Required[list[Payment]]", "meta": "Required[PaginationMeta]"},
182
+ total=False,
183
+ )
184
+ Payment = TypedDict(
185
+ "Payment",
186
+ {
187
+ "crn": "Required[str]",
188
+ "id": "Required[str]",
189
+ "invoice": "Required[Invoice | Literal[None] | None]",
190
+ "amount": "Required[str]",
191
+ "refunded_amount": "Required[str]",
192
+ "disputed_amount": "Required[str]",
193
+ "retained_amount": "Required[str]",
194
+ "status": "Required[Literal['pending', 'processing', 'succeeded', 'failed', 'refunded']]",
195
+ "attempt": "Required[int]",
196
+ "completed_at": "NotRequired[str | None]",
197
+ "created_at": "Required[str]",
198
+ },
199
+ total=False,
200
+ )
201
+ ListPaymentsResponse: TypeAlias = "PaymentListResponse"
202
+ ListPaymentsItem: TypeAlias = "Payment"
203
+ ListPricesParameters = TypedDict(
204
+ "ListPricesParameters",
205
+ {
206
+ "service": "NotRequired[str]",
207
+ "resource_type": "NotRequired[str]",
208
+ "sku": "NotRequired[str]",
209
+ "family": "NotRequired[str]",
210
+ "at": "NotRequired[str]",
211
+ },
212
+ total=False,
213
+ )
214
+ ListPricesQuery: TypeAlias = "ListPricesParameters"
215
+ PriceListResponse = TypedDict(
216
+ "PriceListResponse", {"prices": "Required[list[Price]]", "as_of": "Required[str]"}, total=False
217
+ )
218
+ Price = TypedDict(
219
+ "Price",
220
+ {
221
+ "sku": "Required[str]",
222
+ "service": "Required[str]",
223
+ "resource_type": "Required[str]",
224
+ "name": "Required[str]",
225
+ "description": "NotRequired[str | None]",
226
+ "unit": "Required[str]",
227
+ "unit_price": "Required[str]",
228
+ "currency": "Required[str]",
229
+ "metadata": "Required[dict[str, object]]",
230
+ },
231
+ total=False,
232
+ )
233
+ ListPricesResponse: TypeAlias = "PriceListResponse"
234
+ ListPricesItem: TypeAlias = "Price"
235
+ ListTransactionsParameters = TypedDict(
236
+ "ListTransactionsParameters",
237
+ {"crn": "NotRequired[str]", "marker": "NotRequired[str]", "limit": "NotRequired[int]"},
238
+ total=False,
239
+ )
240
+ ListTransactionsQuery: TypeAlias = "ListTransactionsParameters"
241
+ TransactionListResponse = TypedDict(
242
+ "TransactionListResponse",
243
+ {"transactions": "Required[list[Transaction]]", "meta": "Required[PaginationMeta]"},
244
+ total=False,
245
+ )
246
+ Transaction = TypedDict(
247
+ "Transaction",
248
+ {
249
+ "crn": "Required[str]",
250
+ "id": "Required[str]",
251
+ "type": "Required[Literal['payment', 'refund', 'refund_reversal', 'dispute', 'dispute_reversal', 'adjustment', 'credit_grant', 'credit_applied']]",
252
+ "amount": "Required[str]",
253
+ "description": "NotRequired[str | None]",
254
+ "reference": "NotRequired[str | None]",
255
+ "created_at": "Required[str]",
256
+ },
257
+ total=False,
258
+ )
259
+ ListTransactionsResponse: TypeAlias = "TransactionListResponse"
260
+ ListTransactionsItem: TypeAlias = "Transaction"
261
+ BillingProfileInput = TypedDict(
262
+ "BillingProfileInput",
263
+ {
264
+ "customer_type": "NotRequired[Literal['', 'individual', 'company']]",
265
+ "company_name": "NotRequired[str]",
266
+ "country": "NotRequired[str]",
267
+ "tax_id": "NotRequired[str]",
268
+ "foreign_tax_id": "NotRequired[str]",
269
+ "no_tax_id_reason": "NotRequired[str]",
270
+ "email": "NotRequired[str]",
271
+ "phone": "NotRequired[str]",
272
+ "street_name": "NotRequired[str]",
273
+ "street_number": "NotRequired[str]",
274
+ "complement": "NotRequired[str]",
275
+ "neighborhood": "NotRequired[str]",
276
+ "city": "NotRequired[str]",
277
+ "municipality_code": "NotRequired[str]",
278
+ "state": "NotRequired[str]",
279
+ "postal_code": "NotRequired[str]",
280
+ },
281
+ total=False,
282
+ )
283
+ UpdateBillingProfileBody: TypeAlias = "BillingProfileInput"
284
+ UpdateBillingProfileResponse: TypeAlias = "BillingProfile"
@@ -0,0 +1,35 @@
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
+ Region = TypedDict(
8
+ "Region",
9
+ {
10
+ "state": "Required[Literal['planned', 'active', 'restricted', 'retiring', 'retired']]",
11
+ "accepting_new_resources": "Required[bool]",
12
+ "crn": "Required[str]",
13
+ "code": "Required[str]",
14
+ "name": "Required[str]",
15
+ "location": "Required[str]",
16
+ "country_code": "Required[str]",
17
+ "available": "Required[bool]",
18
+ "coming_soon": "Required[bool]",
19
+ },
20
+ total=False,
21
+ )
22
+ GetRegionResponse: TypeAlias = "Region"
23
+ GetRegionResource: TypeAlias = "GetRegionResponse"
24
+ GetRegionScope = TypedDict("GetRegionScope", {}, total=False)
25
+ ListRegionsParameters = TypedDict(
26
+ "ListRegionsParameters", {"name": "NotRequired[str]", "crn": "NotRequired[str]"}, total=False
27
+ )
28
+ ListRegionsQuery: TypeAlias = "ListRegionsParameters"
29
+ ListRegionsResult = TypedDict(
30
+ "ListRegionsResult",
31
+ {"regions": "Required[list[Region]]", "default": "Required[str]"},
32
+ total=False,
33
+ )
34
+ ListRegionsResponse: TypeAlias = "ListRegionsResult"
35
+ ListRegionsItem: TypeAlias = "Region"
@@ -0,0 +1,127 @@
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
+ CertificateIssueRequestInput = TypedDict(
8
+ "CertificateIssueRequestInput",
9
+ {
10
+ "name": "Required[str]",
11
+ "domains": "Required[list[str]]",
12
+ "key_algorithm": "NotRequired[CertificateKeyAlgorithmInput]",
13
+ "source": "NotRequired[CertificateSourceInput]",
14
+ "certificate_pem": "NotRequired[str]",
15
+ "chain_pem": "NotRequired[str]",
16
+ "private_key_pem": "NotRequired[str]",
17
+ "tags": "NotRequired[TagsInput]",
18
+ },
19
+ total=False,
20
+ )
21
+ CertificateKeyAlgorithmInput: TypeAlias = (
22
+ "Literal['ecdsa-p256', 'ecdsa-p384', 'rsa-2048', 'rsa-4096']"
23
+ )
24
+ CertificateSourceInput: TypeAlias = "Literal['acme', 'uploaded']"
25
+ TagsInput: TypeAlias = "dict[str, str]"
26
+ CreateCertificateBody: TypeAlias = "CertificateIssueRequestInput"
27
+ CertificateResponse = TypedDict(
28
+ "CertificateResponse", {"certificate": "NotRequired[Certificate]"}, total=False
29
+ )
30
+ Certificate = TypedDict(
31
+ "Certificate",
32
+ {
33
+ "id": "NotRequired[str]",
34
+ "crn": "NotRequired[str]",
35
+ "name": "NotRequired[str]",
36
+ "domains": "NotRequired[list[str]]",
37
+ "status": "NotRequired[CertificateStatus]",
38
+ "source": "NotRequired[CertificateSource]",
39
+ "key_algorithm": "NotRequired[CertificateKeyAlgorithm]",
40
+ "challenges": "NotRequired[list[CertificateChallenge]]",
41
+ "certificate_pem": "NotRequired[str]",
42
+ "chain_pem": "NotRequired[str]",
43
+ "fingerprint": "NotRequired[str]",
44
+ "issued_at": "NotRequired[str]",
45
+ "expires_at": "NotRequired[str]",
46
+ "faults": "Required[list[Fault]]",
47
+ "tags": "NotRequired[Tags]",
48
+ },
49
+ total=False,
50
+ )
51
+ CertificateStatus: TypeAlias = (
52
+ "Literal['pending_dns', 'pending', 'active', 'error', 'expired', 'revoked']"
53
+ )
54
+ CertificateSource: TypeAlias = "Literal['acme', 'uploaded']"
55
+ CertificateKeyAlgorithm: TypeAlias = "Literal['ecdsa-p256', 'ecdsa-p384', 'rsa-2048', 'rsa-4096']"
56
+ CertificateChallenge = TypedDict(
57
+ "CertificateChallenge",
58
+ {
59
+ "domain": "NotRequired[str]",
60
+ "cname_record_name": "NotRequired[str]",
61
+ "expected_cname": "NotRequired[str]",
62
+ "our_dns": "NotRequired[bool]",
63
+ "verified": "NotRequired[bool]",
64
+ "verified_at": "NotRequired[str]",
65
+ "faults": "Required[list[Fault]]",
66
+ },
67
+ total=False,
68
+ )
69
+ Fault = TypedDict(
70
+ "Fault",
71
+ {
72
+ "code": "Required[str]",
73
+ "severity": "Required[Literal['error', 'warning']]",
74
+ "message": "Required[str]",
75
+ "details": "Required[dict[str, object] | None]",
76
+ "first_at": "Required[str]",
77
+ "last_at": "Required[str]",
78
+ "occurrences": "Required[int]",
79
+ },
80
+ total=False,
81
+ )
82
+ Tags: TypeAlias = "dict[str, str]"
83
+ CreateCertificateResponse: TypeAlias = "CertificateResponse"
84
+ GetCertificateResponse: TypeAlias = "CertificateResponse"
85
+ GetCertificateResource: TypeAlias = "Certificate"
86
+ GetCertificateScope = TypedDict("GetCertificateScope", {"limit": "NotRequired[int]"}, total=False)
87
+ MaterialResponse = TypedDict("MaterialResponse", {"material": "NotRequired[Material]"}, total=False)
88
+ Material = TypedDict(
89
+ "Material",
90
+ {
91
+ "certificate_pem": "NotRequired[str]",
92
+ "chain_pem": "NotRequired[str]",
93
+ "private_key_pem": "NotRequired[str]",
94
+ "fingerprint": "NotRequired[str]",
95
+ },
96
+ total=False,
97
+ )
98
+ GetCertificateMaterialResponse: TypeAlias = "MaterialResponse"
99
+ ListCertificatesParameters = TypedDict(
100
+ "ListCertificatesParameters",
101
+ {
102
+ "name": "NotRequired[str]",
103
+ "crn": "NotRequired[str]",
104
+ "limit": "NotRequired[int]",
105
+ "marker": "NotRequired[str]",
106
+ },
107
+ total=False,
108
+ )
109
+ ListCertificatesQuery: TypeAlias = "ListCertificatesParameters"
110
+ CertificateListResponse = TypedDict(
111
+ "CertificateListResponse",
112
+ {"certificates": "NotRequired[list[Certificate]]", "meta": "NotRequired[PaginationMeta]"},
113
+ total=False,
114
+ )
115
+ PaginationMeta = TypedDict(
116
+ "PaginationMeta",
117
+ {
118
+ "total": "NotRequired[int]",
119
+ "limit": "NotRequired[int]",
120
+ "marker": "NotRequired[str]",
121
+ "has_more": "NotRequired[bool]",
122
+ },
123
+ total=False,
124
+ )
125
+ ListCertificatesResponse: TypeAlias = "CertificateListResponse"
126
+ ListCertificatesItem: TypeAlias = "Certificate"
127
+ RevokeCertificateResponse: TypeAlias = "CertificateResponse"