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.
- basaltic/__init__.py +26 -0
- basaltic/_client.py +136 -0
- basaltic/_common.py +284 -0
- basaltic/_transport.py +196 -0
- basaltic/_version.py +3 -0
- basaltic/auth.py +231 -0
- basaltic/client.py +144 -0
- basaltic/config.py +151 -0
- basaltic/errors.py +73 -0
- basaltic/models/__init__.py +17 -0
- basaltic/models/audit.py +85 -0
- basaltic/models/billing.py +284 -0
- basaltic/models/catalog.py +35 -0
- basaltic/models/certificate.py +127 -0
- basaltic/models/compute.py +905 -0
- basaltic/models/dns.py +256 -0
- basaltic/models/iam.py +736 -0
- basaltic/models/kms.py +157 -0
- basaltic/models/loadbalancer.py +574 -0
- basaltic/models/network.py +985 -0
- basaltic/models/quota.py +30 -0
- basaltic/models/secrets.py +136 -0
- basaltic/models/storage.py +789 -0
- basaltic/models/telemetry.py +393 -0
- basaltic/models/workspace.py +734 -0
- basaltic/py.typed +0 -0
- basaltic/response.py +152 -0
- basaltic/services/__init__.py +1 -0
- basaltic/services/audit.py +211 -0
- basaltic/services/billing.py +777 -0
- basaltic/services/catalog.py +172 -0
- basaltic/services/certificate.py +395 -0
- basaltic/services/compute.py +2395 -0
- basaltic/services/dns.py +1079 -0
- basaltic/services/iam.py +3405 -0
- basaltic/services/kms.py +742 -0
- basaltic/services/loadbalancer.py +1727 -0
- basaltic/services/network.py +4691 -0
- basaltic/services/quota.py +75 -0
- basaltic/services/secrets.py +550 -0
- basaltic/services/storage.py +3059 -0
- basaltic/services/telemetry.py +1316 -0
- basaltic/services/workspace.py +3899 -0
- basaltic_sdk_python-0.1.1.dist-info/METADATA +211 -0
- basaltic_sdk_python-0.1.1.dist-info/RECORD +47 -0
- basaltic_sdk_python-0.1.1.dist-info/WHEEL +4 -0
- basaltic_sdk_python-0.1.1.dist-info/licenses/LICENSE +202 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"""Generated typed API methods; do not edit."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import cast
|
|
6
|
+
|
|
7
|
+
from .._common import UNSET, Operation
|
|
8
|
+
from .._transport import AsyncTransport, SyncTransport
|
|
9
|
+
from ..config import RequestOptions
|
|
10
|
+
from ..models import catalog as m
|
|
11
|
+
from ..response import (
|
|
12
|
+
ApiResponse,
|
|
13
|
+
Page,
|
|
14
|
+
aresolve_reference,
|
|
15
|
+
reference_scope,
|
|
16
|
+
resolve_reference,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
_OPS = {
|
|
20
|
+
"getRegion": Operation(
|
|
21
|
+
id="getRegion",
|
|
22
|
+
method="GET",
|
|
23
|
+
path="/v1/regions/{code}",
|
|
24
|
+
authenticated=False,
|
|
25
|
+
requiredQuery=[],
|
|
26
|
+
requiredHeaders=[],
|
|
27
|
+
queryEncoding={},
|
|
28
|
+
bodyRequired=False,
|
|
29
|
+
contentType="",
|
|
30
|
+
accept="application/json",
|
|
31
|
+
),
|
|
32
|
+
"listRegions": Operation(
|
|
33
|
+
id="listRegions",
|
|
34
|
+
method="GET",
|
|
35
|
+
path="/v1/regions",
|
|
36
|
+
authenticated=False,
|
|
37
|
+
requiredQuery=[],
|
|
38
|
+
requiredHeaders=[],
|
|
39
|
+
queryEncoding={
|
|
40
|
+
"name": {"style": "form", "explode": True},
|
|
41
|
+
"crn": {"style": "form", "explode": True},
|
|
42
|
+
},
|
|
43
|
+
bodyRequired=False,
|
|
44
|
+
contentType="",
|
|
45
|
+
accept="application/json",
|
|
46
|
+
itemsKey="regions",
|
|
47
|
+
),
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class CatalogService:
|
|
52
|
+
def __init__(self, transport: SyncTransport) -> None:
|
|
53
|
+
self._transport = transport
|
|
54
|
+
|
|
55
|
+
def get_region(
|
|
56
|
+
self, code: str, *, options: RequestOptions | None = None
|
|
57
|
+
) -> ApiResponse[m.GetRegionResponse]:
|
|
58
|
+
"Get a region"
|
|
59
|
+
return cast(
|
|
60
|
+
ApiResponse[m.GetRegionResponse],
|
|
61
|
+
self._transport.request(
|
|
62
|
+
"catalog",
|
|
63
|
+
"https://catalog.basaltic.sh",
|
|
64
|
+
_OPS["getRegion"],
|
|
65
|
+
"json",
|
|
66
|
+
{"code": code},
|
|
67
|
+
UNSET,
|
|
68
|
+
None,
|
|
69
|
+
options,
|
|
70
|
+
),
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
def get_region_by_reference(
|
|
74
|
+
self,
|
|
75
|
+
reference: str,
|
|
76
|
+
*,
|
|
77
|
+
scope: m.GetRegionScope | None = None,
|
|
78
|
+
options: RequestOptions | None = None,
|
|
79
|
+
) -> ApiResponse[m.GetRegionResource]:
|
|
80
|
+
return cast(
|
|
81
|
+
ApiResponse[m.GetRegionResource],
|
|
82
|
+
resolve_reference(
|
|
83
|
+
reference,
|
|
84
|
+
lambda id: self.get_region(id, options=options),
|
|
85
|
+
lambda match: self.list_regions(
|
|
86
|
+
query=cast(m.ListRegionsQuery, {**reference_scope(scope), **match}),
|
|
87
|
+
options=options,
|
|
88
|
+
),
|
|
89
|
+
True,
|
|
90
|
+
None,
|
|
91
|
+
),
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
def list_regions(
|
|
95
|
+
self, *, query: m.ListRegionsQuery | None = None, options: RequestOptions | None = None
|
|
96
|
+
) -> Page[m.ListRegionsResponse, m.ListRegionsItem]:
|
|
97
|
+
"List regions"
|
|
98
|
+
return cast(
|
|
99
|
+
Page[m.ListRegionsResponse, m.ListRegionsItem],
|
|
100
|
+
self._transport.request(
|
|
101
|
+
"catalog",
|
|
102
|
+
"https://catalog.basaltic.sh",
|
|
103
|
+
_OPS["listRegions"],
|
|
104
|
+
"page",
|
|
105
|
+
{},
|
|
106
|
+
UNSET,
|
|
107
|
+
query,
|
|
108
|
+
options,
|
|
109
|
+
),
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
class AsyncCatalogService:
|
|
114
|
+
def __init__(self, transport: AsyncTransport) -> None:
|
|
115
|
+
self._transport = transport
|
|
116
|
+
|
|
117
|
+
async def get_region(
|
|
118
|
+
self, code: str, *, options: RequestOptions | None = None
|
|
119
|
+
) -> ApiResponse[m.GetRegionResponse]:
|
|
120
|
+
"Get a region"
|
|
121
|
+
return cast(
|
|
122
|
+
ApiResponse[m.GetRegionResponse],
|
|
123
|
+
await self._transport.request(
|
|
124
|
+
"catalog",
|
|
125
|
+
"https://catalog.basaltic.sh",
|
|
126
|
+
_OPS["getRegion"],
|
|
127
|
+
"json",
|
|
128
|
+
{"code": code},
|
|
129
|
+
UNSET,
|
|
130
|
+
None,
|
|
131
|
+
options,
|
|
132
|
+
),
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
async def get_region_by_reference(
|
|
136
|
+
self,
|
|
137
|
+
reference: str,
|
|
138
|
+
*,
|
|
139
|
+
scope: m.GetRegionScope | None = None,
|
|
140
|
+
options: RequestOptions | None = None,
|
|
141
|
+
) -> ApiResponse[m.GetRegionResource]:
|
|
142
|
+
return cast(
|
|
143
|
+
ApiResponse[m.GetRegionResource],
|
|
144
|
+
await aresolve_reference(
|
|
145
|
+
reference,
|
|
146
|
+
lambda id: self.get_region(id, options=options),
|
|
147
|
+
lambda match: self.list_regions(
|
|
148
|
+
query=cast(m.ListRegionsQuery, {**reference_scope(scope), **match}),
|
|
149
|
+
options=options,
|
|
150
|
+
),
|
|
151
|
+
True,
|
|
152
|
+
None,
|
|
153
|
+
),
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
async def list_regions(
|
|
157
|
+
self, *, query: m.ListRegionsQuery | None = None, options: RequestOptions | None = None
|
|
158
|
+
) -> Page[m.ListRegionsResponse, m.ListRegionsItem]:
|
|
159
|
+
"List regions"
|
|
160
|
+
return cast(
|
|
161
|
+
Page[m.ListRegionsResponse, m.ListRegionsItem],
|
|
162
|
+
await self._transport.request(
|
|
163
|
+
"catalog",
|
|
164
|
+
"https://catalog.basaltic.sh",
|
|
165
|
+
_OPS["listRegions"],
|
|
166
|
+
"page",
|
|
167
|
+
{},
|
|
168
|
+
UNSET,
|
|
169
|
+
query,
|
|
170
|
+
options,
|
|
171
|
+
),
|
|
172
|
+
)
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
"""Generated typed API methods; do not edit."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from collections.abc import AsyncIterator, Iterator
|
|
6
|
+
from typing import cast
|
|
7
|
+
|
|
8
|
+
from .._common import UNSET, Operation
|
|
9
|
+
from .._transport import AsyncTransport, SyncTransport
|
|
10
|
+
from ..config import RequestOptions
|
|
11
|
+
from ..models import certificate as m
|
|
12
|
+
from ..response import (
|
|
13
|
+
ApiResponse,
|
|
14
|
+
Page,
|
|
15
|
+
aiterate_pages,
|
|
16
|
+
aresolve_reference,
|
|
17
|
+
iterate_pages,
|
|
18
|
+
reference_scope,
|
|
19
|
+
resolve_reference,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
_OPS = {
|
|
23
|
+
"createCertificate": Operation(
|
|
24
|
+
id="createCertificate",
|
|
25
|
+
method="POST",
|
|
26
|
+
path="/v1/certificates",
|
|
27
|
+
authenticated=True,
|
|
28
|
+
requiredQuery=[],
|
|
29
|
+
requiredHeaders=[],
|
|
30
|
+
queryEncoding={},
|
|
31
|
+
bodyRequired=True,
|
|
32
|
+
contentType="application/json",
|
|
33
|
+
accept="application/json",
|
|
34
|
+
),
|
|
35
|
+
"deleteCertificate": Operation(
|
|
36
|
+
id="deleteCertificate",
|
|
37
|
+
method="DELETE",
|
|
38
|
+
path="/v1/certificates/{certificate_id}",
|
|
39
|
+
authenticated=True,
|
|
40
|
+
requiredQuery=[],
|
|
41
|
+
requiredHeaders=[],
|
|
42
|
+
queryEncoding={},
|
|
43
|
+
bodyRequired=False,
|
|
44
|
+
contentType="",
|
|
45
|
+
accept="application/json",
|
|
46
|
+
),
|
|
47
|
+
"getCertificate": Operation(
|
|
48
|
+
id="getCertificate",
|
|
49
|
+
method="GET",
|
|
50
|
+
path="/v1/certificates/{certificate_id}",
|
|
51
|
+
authenticated=True,
|
|
52
|
+
requiredQuery=[],
|
|
53
|
+
requiredHeaders=[],
|
|
54
|
+
queryEncoding={},
|
|
55
|
+
bodyRequired=False,
|
|
56
|
+
contentType="",
|
|
57
|
+
accept="application/json",
|
|
58
|
+
),
|
|
59
|
+
"getCertificateMaterial": Operation(
|
|
60
|
+
id="getCertificateMaterial",
|
|
61
|
+
method="GET",
|
|
62
|
+
path="/v1/certificates/{certificate_id}/material",
|
|
63
|
+
authenticated=True,
|
|
64
|
+
requiredQuery=[],
|
|
65
|
+
requiredHeaders=[],
|
|
66
|
+
queryEncoding={},
|
|
67
|
+
bodyRequired=False,
|
|
68
|
+
contentType="",
|
|
69
|
+
accept="application/json",
|
|
70
|
+
),
|
|
71
|
+
"listCertificates": Operation(
|
|
72
|
+
id="listCertificates",
|
|
73
|
+
method="GET",
|
|
74
|
+
path="/v1/certificates",
|
|
75
|
+
authenticated=True,
|
|
76
|
+
requiredQuery=[],
|
|
77
|
+
requiredHeaders=[],
|
|
78
|
+
queryEncoding={
|
|
79
|
+
"name": {"style": "form", "explode": True},
|
|
80
|
+
"crn": {"style": "form", "explode": True},
|
|
81
|
+
"limit": {"style": "form", "explode": True},
|
|
82
|
+
"marker": {"style": "form", "explode": True},
|
|
83
|
+
},
|
|
84
|
+
bodyRequired=False,
|
|
85
|
+
contentType="",
|
|
86
|
+
accept="application/json",
|
|
87
|
+
itemsKey="certificates",
|
|
88
|
+
),
|
|
89
|
+
"revokeCertificate": Operation(
|
|
90
|
+
id="revokeCertificate",
|
|
91
|
+
method="POST",
|
|
92
|
+
path="/v1/certificates/{certificate_id}/revoke",
|
|
93
|
+
authenticated=True,
|
|
94
|
+
requiredQuery=[],
|
|
95
|
+
requiredHeaders=[],
|
|
96
|
+
queryEncoding={},
|
|
97
|
+
bodyRequired=False,
|
|
98
|
+
contentType="",
|
|
99
|
+
accept="application/json",
|
|
100
|
+
),
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
class CertificateService:
|
|
105
|
+
def __init__(self, transport: SyncTransport) -> None:
|
|
106
|
+
self._transport = transport
|
|
107
|
+
|
|
108
|
+
def create_certificate(
|
|
109
|
+
self, body: m.CreateCertificateBody, *, options: RequestOptions | None = None
|
|
110
|
+
) -> ApiResponse[m.CreateCertificateResponse]:
|
|
111
|
+
"Create certificate"
|
|
112
|
+
return cast(
|
|
113
|
+
ApiResponse[m.CreateCertificateResponse],
|
|
114
|
+
self._transport.request(
|
|
115
|
+
"certificate",
|
|
116
|
+
"https://certificate.{region}.basaltic.sh",
|
|
117
|
+
_OPS["createCertificate"],
|
|
118
|
+
"json",
|
|
119
|
+
{},
|
|
120
|
+
body,
|
|
121
|
+
None,
|
|
122
|
+
options,
|
|
123
|
+
),
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
def delete_certificate(
|
|
127
|
+
self, certificate_id: str, *, options: RequestOptions | None = None
|
|
128
|
+
) -> None:
|
|
129
|
+
"Delete certificate"
|
|
130
|
+
return cast(
|
|
131
|
+
None,
|
|
132
|
+
self._transport.request(
|
|
133
|
+
"certificate",
|
|
134
|
+
"https://certificate.{region}.basaltic.sh",
|
|
135
|
+
_OPS["deleteCertificate"],
|
|
136
|
+
"discard",
|
|
137
|
+
{"certificate_id": certificate_id},
|
|
138
|
+
UNSET,
|
|
139
|
+
None,
|
|
140
|
+
options,
|
|
141
|
+
),
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
def get_certificate(
|
|
145
|
+
self, certificate_id: str, *, options: RequestOptions | None = None
|
|
146
|
+
) -> ApiResponse[m.GetCertificateResponse]:
|
|
147
|
+
"Get certificate"
|
|
148
|
+
return cast(
|
|
149
|
+
ApiResponse[m.GetCertificateResponse],
|
|
150
|
+
self._transport.request(
|
|
151
|
+
"certificate",
|
|
152
|
+
"https://certificate.{region}.basaltic.sh",
|
|
153
|
+
_OPS["getCertificate"],
|
|
154
|
+
"json",
|
|
155
|
+
{"certificate_id": certificate_id},
|
|
156
|
+
UNSET,
|
|
157
|
+
None,
|
|
158
|
+
options,
|
|
159
|
+
),
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
def get_certificate_by_reference(
|
|
163
|
+
self,
|
|
164
|
+
reference: str,
|
|
165
|
+
*,
|
|
166
|
+
scope: m.GetCertificateScope | None = None,
|
|
167
|
+
options: RequestOptions | None = None,
|
|
168
|
+
) -> ApiResponse[m.GetCertificateResource]:
|
|
169
|
+
return cast(
|
|
170
|
+
ApiResponse[m.GetCertificateResource],
|
|
171
|
+
resolve_reference(
|
|
172
|
+
reference,
|
|
173
|
+
lambda id: self.get_certificate(id, options=options),
|
|
174
|
+
lambda match: self.list_certificates(
|
|
175
|
+
query=cast(
|
|
176
|
+
m.ListCertificatesQuery, {**reference_scope(scope), **match, "limit": 2}
|
|
177
|
+
),
|
|
178
|
+
options=options,
|
|
179
|
+
),
|
|
180
|
+
True,
|
|
181
|
+
"certificate",
|
|
182
|
+
),
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
def get_certificate_material(
|
|
186
|
+
self, certificate_id: str, *, options: RequestOptions | None = None
|
|
187
|
+
) -> ApiResponse[m.GetCertificateMaterialResponse]:
|
|
188
|
+
"Fetch certificate material (leaf, chain, private key)"
|
|
189
|
+
return cast(
|
|
190
|
+
ApiResponse[m.GetCertificateMaterialResponse],
|
|
191
|
+
self._transport.request(
|
|
192
|
+
"certificate",
|
|
193
|
+
"https://certificate.{region}.basaltic.sh",
|
|
194
|
+
_OPS["getCertificateMaterial"],
|
|
195
|
+
"json",
|
|
196
|
+
{"certificate_id": certificate_id},
|
|
197
|
+
UNSET,
|
|
198
|
+
None,
|
|
199
|
+
options,
|
|
200
|
+
),
|
|
201
|
+
)
|
|
202
|
+
|
|
203
|
+
def list_certificates(
|
|
204
|
+
self, *, query: m.ListCertificatesQuery | None = None, options: RequestOptions | None = None
|
|
205
|
+
) -> Page[m.ListCertificatesResponse, m.ListCertificatesItem]:
|
|
206
|
+
"List certificates"
|
|
207
|
+
return cast(
|
|
208
|
+
Page[m.ListCertificatesResponse, m.ListCertificatesItem],
|
|
209
|
+
self._transport.request(
|
|
210
|
+
"certificate",
|
|
211
|
+
"https://certificate.{region}.basaltic.sh",
|
|
212
|
+
_OPS["listCertificates"],
|
|
213
|
+
"page",
|
|
214
|
+
{},
|
|
215
|
+
UNSET,
|
|
216
|
+
query,
|
|
217
|
+
options,
|
|
218
|
+
),
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
def list_certificates_all(
|
|
222
|
+
self, *, query: m.ListCertificatesQuery | None = None, options: RequestOptions | None = None
|
|
223
|
+
) -> Iterator[m.ListCertificatesItem]:
|
|
224
|
+
return iterate_pages(
|
|
225
|
+
lambda marker: self.list_certificates(
|
|
226
|
+
query=cast(m.ListCertificatesQuery, {**(query or {}), "marker": marker}),
|
|
227
|
+
options=options,
|
|
228
|
+
),
|
|
229
|
+
(query or {}).get("marker", ""),
|
|
230
|
+
)
|
|
231
|
+
|
|
232
|
+
def revoke_certificate(
|
|
233
|
+
self, certificate_id: str, *, options: RequestOptions | None = None
|
|
234
|
+
) -> ApiResponse[m.RevokeCertificateResponse]:
|
|
235
|
+
"Revoke certificate"
|
|
236
|
+
return cast(
|
|
237
|
+
ApiResponse[m.RevokeCertificateResponse],
|
|
238
|
+
self._transport.request(
|
|
239
|
+
"certificate",
|
|
240
|
+
"https://certificate.{region}.basaltic.sh",
|
|
241
|
+
_OPS["revokeCertificate"],
|
|
242
|
+
"json",
|
|
243
|
+
{"certificate_id": certificate_id},
|
|
244
|
+
UNSET,
|
|
245
|
+
None,
|
|
246
|
+
options,
|
|
247
|
+
),
|
|
248
|
+
)
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
class AsyncCertificateService:
|
|
252
|
+
def __init__(self, transport: AsyncTransport) -> None:
|
|
253
|
+
self._transport = transport
|
|
254
|
+
|
|
255
|
+
async def create_certificate(
|
|
256
|
+
self, body: m.CreateCertificateBody, *, options: RequestOptions | None = None
|
|
257
|
+
) -> ApiResponse[m.CreateCertificateResponse]:
|
|
258
|
+
"Create certificate"
|
|
259
|
+
return cast(
|
|
260
|
+
ApiResponse[m.CreateCertificateResponse],
|
|
261
|
+
await self._transport.request(
|
|
262
|
+
"certificate",
|
|
263
|
+
"https://certificate.{region}.basaltic.sh",
|
|
264
|
+
_OPS["createCertificate"],
|
|
265
|
+
"json",
|
|
266
|
+
{},
|
|
267
|
+
body,
|
|
268
|
+
None,
|
|
269
|
+
options,
|
|
270
|
+
),
|
|
271
|
+
)
|
|
272
|
+
|
|
273
|
+
async def delete_certificate(
|
|
274
|
+
self, certificate_id: str, *, options: RequestOptions | None = None
|
|
275
|
+
) -> None:
|
|
276
|
+
"Delete certificate"
|
|
277
|
+
return cast(
|
|
278
|
+
None,
|
|
279
|
+
await self._transport.request(
|
|
280
|
+
"certificate",
|
|
281
|
+
"https://certificate.{region}.basaltic.sh",
|
|
282
|
+
_OPS["deleteCertificate"],
|
|
283
|
+
"discard",
|
|
284
|
+
{"certificate_id": certificate_id},
|
|
285
|
+
UNSET,
|
|
286
|
+
None,
|
|
287
|
+
options,
|
|
288
|
+
),
|
|
289
|
+
)
|
|
290
|
+
|
|
291
|
+
async def get_certificate(
|
|
292
|
+
self, certificate_id: str, *, options: RequestOptions | None = None
|
|
293
|
+
) -> ApiResponse[m.GetCertificateResponse]:
|
|
294
|
+
"Get certificate"
|
|
295
|
+
return cast(
|
|
296
|
+
ApiResponse[m.GetCertificateResponse],
|
|
297
|
+
await self._transport.request(
|
|
298
|
+
"certificate",
|
|
299
|
+
"https://certificate.{region}.basaltic.sh",
|
|
300
|
+
_OPS["getCertificate"],
|
|
301
|
+
"json",
|
|
302
|
+
{"certificate_id": certificate_id},
|
|
303
|
+
UNSET,
|
|
304
|
+
None,
|
|
305
|
+
options,
|
|
306
|
+
),
|
|
307
|
+
)
|
|
308
|
+
|
|
309
|
+
async def get_certificate_by_reference(
|
|
310
|
+
self,
|
|
311
|
+
reference: str,
|
|
312
|
+
*,
|
|
313
|
+
scope: m.GetCertificateScope | None = None,
|
|
314
|
+
options: RequestOptions | None = None,
|
|
315
|
+
) -> ApiResponse[m.GetCertificateResource]:
|
|
316
|
+
return cast(
|
|
317
|
+
ApiResponse[m.GetCertificateResource],
|
|
318
|
+
await aresolve_reference(
|
|
319
|
+
reference,
|
|
320
|
+
lambda id: self.get_certificate(id, options=options),
|
|
321
|
+
lambda match: self.list_certificates(
|
|
322
|
+
query=cast(
|
|
323
|
+
m.ListCertificatesQuery, {**reference_scope(scope), **match, "limit": 2}
|
|
324
|
+
),
|
|
325
|
+
options=options,
|
|
326
|
+
),
|
|
327
|
+
True,
|
|
328
|
+
"certificate",
|
|
329
|
+
),
|
|
330
|
+
)
|
|
331
|
+
|
|
332
|
+
async def get_certificate_material(
|
|
333
|
+
self, certificate_id: str, *, options: RequestOptions | None = None
|
|
334
|
+
) -> ApiResponse[m.GetCertificateMaterialResponse]:
|
|
335
|
+
"Fetch certificate material (leaf, chain, private key)"
|
|
336
|
+
return cast(
|
|
337
|
+
ApiResponse[m.GetCertificateMaterialResponse],
|
|
338
|
+
await self._transport.request(
|
|
339
|
+
"certificate",
|
|
340
|
+
"https://certificate.{region}.basaltic.sh",
|
|
341
|
+
_OPS["getCertificateMaterial"],
|
|
342
|
+
"json",
|
|
343
|
+
{"certificate_id": certificate_id},
|
|
344
|
+
UNSET,
|
|
345
|
+
None,
|
|
346
|
+
options,
|
|
347
|
+
),
|
|
348
|
+
)
|
|
349
|
+
|
|
350
|
+
async def list_certificates(
|
|
351
|
+
self, *, query: m.ListCertificatesQuery | None = None, options: RequestOptions | None = None
|
|
352
|
+
) -> Page[m.ListCertificatesResponse, m.ListCertificatesItem]:
|
|
353
|
+
"List certificates"
|
|
354
|
+
return cast(
|
|
355
|
+
Page[m.ListCertificatesResponse, m.ListCertificatesItem],
|
|
356
|
+
await self._transport.request(
|
|
357
|
+
"certificate",
|
|
358
|
+
"https://certificate.{region}.basaltic.sh",
|
|
359
|
+
_OPS["listCertificates"],
|
|
360
|
+
"page",
|
|
361
|
+
{},
|
|
362
|
+
UNSET,
|
|
363
|
+
query,
|
|
364
|
+
options,
|
|
365
|
+
),
|
|
366
|
+
)
|
|
367
|
+
|
|
368
|
+
def list_certificates_all(
|
|
369
|
+
self, *, query: m.ListCertificatesQuery | None = None, options: RequestOptions | None = None
|
|
370
|
+
) -> AsyncIterator[m.ListCertificatesItem]:
|
|
371
|
+
return aiterate_pages(
|
|
372
|
+
lambda marker: self.list_certificates(
|
|
373
|
+
query=cast(m.ListCertificatesQuery, {**(query or {}), "marker": marker}),
|
|
374
|
+
options=options,
|
|
375
|
+
),
|
|
376
|
+
(query or {}).get("marker", ""),
|
|
377
|
+
)
|
|
378
|
+
|
|
379
|
+
async def revoke_certificate(
|
|
380
|
+
self, certificate_id: str, *, options: RequestOptions | None = None
|
|
381
|
+
) -> ApiResponse[m.RevokeCertificateResponse]:
|
|
382
|
+
"Revoke certificate"
|
|
383
|
+
return cast(
|
|
384
|
+
ApiResponse[m.RevokeCertificateResponse],
|
|
385
|
+
await self._transport.request(
|
|
386
|
+
"certificate",
|
|
387
|
+
"https://certificate.{region}.basaltic.sh",
|
|
388
|
+
_OPS["revokeCertificate"],
|
|
389
|
+
"json",
|
|
390
|
+
{"certificate_id": certificate_id},
|
|
391
|
+
UNSET,
|
|
392
|
+
None,
|
|
393
|
+
options,
|
|
394
|
+
),
|
|
395
|
+
)
|