gcore 0.1.0a2__py3-none-any.whl → 0.2.0__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.
Potentially problematic release.
This version of gcore might be problematic. Click here for more details.
- gcore/__init__.py +5 -0
- gcore/_client.py +9 -0
- gcore/_utils/_proxy.py +4 -1
- gcore/_utils/_resources_proxy.py +24 -0
- gcore/_version.py +1 -1
- gcore/resources/__init__.py +14 -0
- gcore/resources/cloud/baremetal/servers.py +234 -0
- gcore/resources/cloud/billing_reservations.py +24 -0
- gcore/resources/cloud/file_shares/file_shares.py +16 -0
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +352 -2
- gcore/resources/cloud/gpu_baremetal_clusters/images.py +204 -0
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +80 -0
- gcore/resources/cloud/inference/deployments/deployments.py +322 -4
- gcore/resources/cloud/instances/images.py +316 -0
- gcore/resources/cloud/instances/instances.py +472 -0
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +282 -0
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +326 -0
- gcore/resources/cloud/load_balancers/listeners.py +371 -6
- gcore/resources/cloud/load_balancers/load_balancers.py +364 -0
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +24 -0
- gcore/resources/cloud/load_balancers/pools/members.py +28 -0
- gcore/resources/cloud/load_balancers/pools/pools.py +388 -8
- gcore/resources/cloud/networks/networks.py +72 -16
- gcore/resources/cloud/secrets.py +56 -11
- gcore/resources/cloud/tasks.py +107 -96
- gcore/resources/waap/__init__.py +33 -0
- gcore/resources/waap/domains/__init__.py +33 -0
- gcore/resources/waap/domains/domains.py +515 -0
- gcore/resources/waap/domains/settings.py +271 -0
- gcore/resources/waap/waap.py +102 -0
- gcore/types/cloud/__init__.py +1 -0
- gcore/types/cloud/billing_reservation_list_params.py +5 -0
- gcore/types/cloud/container_probe_config_create_param.py +1 -2
- gcore/types/cloud/file_share.py +3 -0
- gcore/types/cloud/file_share_list_params.py +7 -1
- gcore/types/cloud/gpu_baremetal_cluster_create_params.py +20 -0
- gcore/types/cloud/inference/deployment_update_params.py +203 -6
- gcore/types/cloud/inference/inference.py +3 -1
- gcore/types/cloud/load_balancer_listener_detail.py +13 -13
- gcore/types/cloud/load_balancer_pool.py +13 -13
- gcore/types/cloud/load_balancer_pool_list.py +99 -4
- gcore/types/cloud/load_balancers/listener_create_params.py +2 -0
- gcore/types/cloud/load_balancers/listener_get_params.py +3 -1
- gcore/types/cloud/load_balancers/listener_list_params.py +4 -2
- gcore/types/cloud/load_balancers/listener_update_params.py +2 -0
- gcore/types/cloud/load_balancers/pool_create_params.py +2 -0
- gcore/types/cloud/load_balancers/pool_list_params.py +5 -6
- gcore/types/cloud/load_balancers/pool_update_params.py +2 -0
- gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +2 -0
- gcore/types/cloud/load_balancers/pools/member_add_params.py +2 -0
- gcore/types/cloud/network.py +21 -21
- gcore/types/cloud/network_create_params.py +2 -0
- gcore/types/cloud/network_details.py +24 -23
- gcore/types/cloud/network_list_params.py +15 -10
- gcore/types/cloud/network_update_params.py +2 -0
- gcore/types/cloud/quota_get_all_response.py +18 -0
- gcore/types/cloud/quota_get_by_region_response.py +18 -0
- gcore/types/cloud/quotas/request_create_params.py +9 -0
- gcore/types/cloud/quotas/request_get_response.py +9 -0
- gcore/types/cloud/quotas/request_list_response.py +9 -0
- gcore/types/cloud/secret_list_params.py +24 -0
- gcore/types/cloud/task.py +0 -3
- gcore/types/cloud/task_list_params.py +8 -2
- gcore/types/waap/__init__.py +12 -0
- gcore/types/waap/domain_list_params.py +30 -0
- gcore/types/waap/domain_update_params.py +12 -0
- gcore/types/waap/domains/__init__.py +5 -0
- gcore/types/waap/domains/setting_update_params.py +41 -0
- gcore/types/waap/waap_api_urls.py +15 -0
- gcore/types/waap/waap_detailed_domain.py +37 -0
- gcore/types/waap/waap_domain_ddos_settings.py +31 -0
- gcore/types/waap/waap_domain_settings.py +15 -0
- gcore/types/waap/waap_domain_status.py +7 -0
- gcore/types/waap/waap_summary_domain.py +26 -0
- {gcore-0.1.0a2.dist-info → gcore-0.2.0.dist-info}/METADATA +3 -3
- {gcore-0.1.0a2.dist-info → gcore-0.2.0.dist-info}/RECORD +78 -60
- {gcore-0.1.0a2.dist-info → gcore-0.2.0.dist-info}/WHEEL +0 -0
- {gcore-0.1.0a2.dist-info → gcore-0.2.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -8,7 +8,6 @@ from typing_extensions import Required, Annotated, TypedDict
|
|
|
8
8
|
from ...._utils import PropertyInfo
|
|
9
9
|
from ..ingress_opts_param import IngressOptsParam
|
|
10
10
|
from ..laas_index_retention_policy_param import LaasIndexRetentionPolicyParam
|
|
11
|
-
from ..container_probe_config_create_param import ContainerProbeConfigCreateParam
|
|
12
11
|
|
|
13
12
|
__all__ = [
|
|
14
13
|
"DeploymentUpdateParams",
|
|
@@ -23,6 +22,21 @@ __all__ = [
|
|
|
23
22
|
"ContainerScaleTriggersSqs",
|
|
24
23
|
"Logging",
|
|
25
24
|
"Probes",
|
|
25
|
+
"ProbesLivenessProbe",
|
|
26
|
+
"ProbesLivenessProbeProbe",
|
|
27
|
+
"ProbesLivenessProbeProbeExec",
|
|
28
|
+
"ProbesLivenessProbeProbeHTTPGet",
|
|
29
|
+
"ProbesLivenessProbeProbeTcpSocket",
|
|
30
|
+
"ProbesReadinessProbe",
|
|
31
|
+
"ProbesReadinessProbeProbe",
|
|
32
|
+
"ProbesReadinessProbeProbeExec",
|
|
33
|
+
"ProbesReadinessProbeProbeHTTPGet",
|
|
34
|
+
"ProbesReadinessProbeProbeTcpSocket",
|
|
35
|
+
"ProbesStartupProbe",
|
|
36
|
+
"ProbesStartupProbeProbe",
|
|
37
|
+
"ProbesStartupProbeProbeExec",
|
|
38
|
+
"ProbesStartupProbeProbeHTTPGet",
|
|
39
|
+
"ProbesStartupProbeProbeTcpSocket",
|
|
26
40
|
]
|
|
27
41
|
|
|
28
42
|
|
|
@@ -30,7 +44,7 @@ class DeploymentUpdateParams(TypedDict, total=False):
|
|
|
30
44
|
project_id: int
|
|
31
45
|
"""Project ID"""
|
|
32
46
|
|
|
33
|
-
auth_enabled:
|
|
47
|
+
auth_enabled: bool
|
|
34
48
|
"""Set to `true` to enable API key authentication for the inference instance.
|
|
35
49
|
|
|
36
50
|
`"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required
|
|
@@ -52,7 +66,7 @@ class DeploymentUpdateParams(TypedDict, total=False):
|
|
|
52
66
|
envs: Optional[Dict[str, str]]
|
|
53
67
|
"""Environment variables for the inference instance."""
|
|
54
68
|
|
|
55
|
-
flavor_name:
|
|
69
|
+
flavor_name: str
|
|
56
70
|
"""Flavor name for the inference instance."""
|
|
57
71
|
|
|
58
72
|
image: Optional[str]
|
|
@@ -204,12 +218,195 @@ class Logging(TypedDict, total=False):
|
|
|
204
218
|
"""The topic name to stream logs to"""
|
|
205
219
|
|
|
206
220
|
|
|
221
|
+
class ProbesLivenessProbeProbeExec(TypedDict, total=False):
|
|
222
|
+
command: List[str]
|
|
223
|
+
"""Command to be executed inside the running container."""
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
class ProbesLivenessProbeProbeHTTPGet(TypedDict, total=False):
|
|
227
|
+
headers: Dict[str, str]
|
|
228
|
+
"""HTTP headers to be sent with the request."""
|
|
229
|
+
|
|
230
|
+
host: str
|
|
231
|
+
"""Host name to send HTTP request to."""
|
|
232
|
+
|
|
233
|
+
path: str
|
|
234
|
+
"""The endpoint to send the HTTP request to."""
|
|
235
|
+
|
|
236
|
+
port: int
|
|
237
|
+
"""Port number the probe should connect to."""
|
|
238
|
+
|
|
239
|
+
schema: str
|
|
240
|
+
"""Schema to use for the HTTP request."""
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
class ProbesLivenessProbeProbeTcpSocket(TypedDict, total=False):
|
|
244
|
+
port: int
|
|
245
|
+
"""Port number to check if it's open."""
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
class ProbesLivenessProbeProbe(TypedDict, total=False):
|
|
249
|
+
exec: Optional[ProbesLivenessProbeProbeExec]
|
|
250
|
+
"""Exec probe configuration"""
|
|
251
|
+
|
|
252
|
+
failure_threshold: int
|
|
253
|
+
"""The number of consecutive probe failures that mark the container as unhealthy."""
|
|
254
|
+
|
|
255
|
+
http_get: Optional[ProbesLivenessProbeProbeHTTPGet]
|
|
256
|
+
"""HTTP GET probe configuration"""
|
|
257
|
+
|
|
258
|
+
initial_delay_seconds: int
|
|
259
|
+
"""The initial delay before starting the first probe."""
|
|
260
|
+
|
|
261
|
+
period_seconds: int
|
|
262
|
+
"""How often (in seconds) to perform the probe."""
|
|
263
|
+
|
|
264
|
+
success_threshold: int
|
|
265
|
+
"""The number of consecutive successful probes that mark the container as healthy."""
|
|
266
|
+
|
|
267
|
+
tcp_socket: Optional[ProbesLivenessProbeProbeTcpSocket]
|
|
268
|
+
"""TCP socket probe configuration"""
|
|
269
|
+
|
|
270
|
+
timeout_seconds: int
|
|
271
|
+
"""The timeout for each probe."""
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
class ProbesLivenessProbe(TypedDict, total=False):
|
|
275
|
+
enabled: bool
|
|
276
|
+
"""Whether the probe is enabled or not."""
|
|
277
|
+
|
|
278
|
+
probe: ProbesLivenessProbeProbe
|
|
279
|
+
"""Probe configuration (exec, http_get or tcp_socket)"""
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
class ProbesReadinessProbeProbeExec(TypedDict, total=False):
|
|
283
|
+
command: List[str]
|
|
284
|
+
"""Command to be executed inside the running container."""
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
class ProbesReadinessProbeProbeHTTPGet(TypedDict, total=False):
|
|
288
|
+
headers: Dict[str, str]
|
|
289
|
+
"""HTTP headers to be sent with the request."""
|
|
290
|
+
|
|
291
|
+
host: str
|
|
292
|
+
"""Host name to send HTTP request to."""
|
|
293
|
+
|
|
294
|
+
path: str
|
|
295
|
+
"""The endpoint to send the HTTP request to."""
|
|
296
|
+
|
|
297
|
+
port: int
|
|
298
|
+
"""Port number the probe should connect to."""
|
|
299
|
+
|
|
300
|
+
schema: str
|
|
301
|
+
"""Schema to use for the HTTP request."""
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
class ProbesReadinessProbeProbeTcpSocket(TypedDict, total=False):
|
|
305
|
+
port: int
|
|
306
|
+
"""Port number to check if it's open."""
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
class ProbesReadinessProbeProbe(TypedDict, total=False):
|
|
310
|
+
exec: Optional[ProbesReadinessProbeProbeExec]
|
|
311
|
+
"""Exec probe configuration"""
|
|
312
|
+
|
|
313
|
+
failure_threshold: int
|
|
314
|
+
"""The number of consecutive probe failures that mark the container as unhealthy."""
|
|
315
|
+
|
|
316
|
+
http_get: Optional[ProbesReadinessProbeProbeHTTPGet]
|
|
317
|
+
"""HTTP GET probe configuration"""
|
|
318
|
+
|
|
319
|
+
initial_delay_seconds: int
|
|
320
|
+
"""The initial delay before starting the first probe."""
|
|
321
|
+
|
|
322
|
+
period_seconds: int
|
|
323
|
+
"""How often (in seconds) to perform the probe."""
|
|
324
|
+
|
|
325
|
+
success_threshold: int
|
|
326
|
+
"""The number of consecutive successful probes that mark the container as healthy."""
|
|
327
|
+
|
|
328
|
+
tcp_socket: Optional[ProbesReadinessProbeProbeTcpSocket]
|
|
329
|
+
"""TCP socket probe configuration"""
|
|
330
|
+
|
|
331
|
+
timeout_seconds: int
|
|
332
|
+
"""The timeout for each probe."""
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
class ProbesReadinessProbe(TypedDict, total=False):
|
|
336
|
+
enabled: bool
|
|
337
|
+
"""Whether the probe is enabled or not."""
|
|
338
|
+
|
|
339
|
+
probe: ProbesReadinessProbeProbe
|
|
340
|
+
"""Probe configuration (exec, http_get or tcp_socket)"""
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
class ProbesStartupProbeProbeExec(TypedDict, total=False):
|
|
344
|
+
command: List[str]
|
|
345
|
+
"""Command to be executed inside the running container."""
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
class ProbesStartupProbeProbeHTTPGet(TypedDict, total=False):
|
|
349
|
+
headers: Dict[str, str]
|
|
350
|
+
"""HTTP headers to be sent with the request."""
|
|
351
|
+
|
|
352
|
+
host: str
|
|
353
|
+
"""Host name to send HTTP request to."""
|
|
354
|
+
|
|
355
|
+
path: str
|
|
356
|
+
"""The endpoint to send the HTTP request to."""
|
|
357
|
+
|
|
358
|
+
port: int
|
|
359
|
+
"""Port number the probe should connect to."""
|
|
360
|
+
|
|
361
|
+
schema: str
|
|
362
|
+
"""Schema to use for the HTTP request."""
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
class ProbesStartupProbeProbeTcpSocket(TypedDict, total=False):
|
|
366
|
+
port: int
|
|
367
|
+
"""Port number to check if it's open."""
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
class ProbesStartupProbeProbe(TypedDict, total=False):
|
|
371
|
+
exec: Optional[ProbesStartupProbeProbeExec]
|
|
372
|
+
"""Exec probe configuration"""
|
|
373
|
+
|
|
374
|
+
failure_threshold: int
|
|
375
|
+
"""The number of consecutive probe failures that mark the container as unhealthy."""
|
|
376
|
+
|
|
377
|
+
http_get: Optional[ProbesStartupProbeProbeHTTPGet]
|
|
378
|
+
"""HTTP GET probe configuration"""
|
|
379
|
+
|
|
380
|
+
initial_delay_seconds: int
|
|
381
|
+
"""The initial delay before starting the first probe."""
|
|
382
|
+
|
|
383
|
+
period_seconds: int
|
|
384
|
+
"""How often (in seconds) to perform the probe."""
|
|
385
|
+
|
|
386
|
+
success_threshold: int
|
|
387
|
+
"""The number of consecutive successful probes that mark the container as healthy."""
|
|
388
|
+
|
|
389
|
+
tcp_socket: Optional[ProbesStartupProbeProbeTcpSocket]
|
|
390
|
+
"""TCP socket probe configuration"""
|
|
391
|
+
|
|
392
|
+
timeout_seconds: int
|
|
393
|
+
"""The timeout for each probe."""
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
class ProbesStartupProbe(TypedDict, total=False):
|
|
397
|
+
enabled: bool
|
|
398
|
+
"""Whether the probe is enabled or not."""
|
|
399
|
+
|
|
400
|
+
probe: ProbesStartupProbeProbe
|
|
401
|
+
"""Probe configuration (exec, http_get or tcp_socket)"""
|
|
402
|
+
|
|
403
|
+
|
|
207
404
|
class Probes(TypedDict, total=False):
|
|
208
|
-
liveness_probe: Optional[
|
|
405
|
+
liveness_probe: Optional[ProbesLivenessProbe]
|
|
209
406
|
"""Liveness probe configuration"""
|
|
210
407
|
|
|
211
|
-
readiness_probe: Optional[
|
|
408
|
+
readiness_probe: Optional[ProbesReadinessProbe]
|
|
212
409
|
"""Readiness probe configuration"""
|
|
213
410
|
|
|
214
|
-
startup_probe: Optional[
|
|
411
|
+
startup_probe: Optional[ProbesStartupProbe]
|
|
215
412
|
"""Startup probe configuration"""
|
|
@@ -70,7 +70,7 @@ class Inference(BaseModel):
|
|
|
70
70
|
project_id: int
|
|
71
71
|
"""Project ID. If not provided, your default project ID will be used."""
|
|
72
72
|
|
|
73
|
-
status: Literal["ACTIVE", "DELETING", "DEPLOYING", "DISABLED", "PARTIALLYDEPLOYED"]
|
|
73
|
+
status: Literal["ACTIVE", "DELETING", "DEPLOYING", "DISABLED", "PARTIALLYDEPLOYED", "PENDING"]
|
|
74
74
|
"""Inference instance status.
|
|
75
75
|
|
|
76
76
|
Value can be one of the following:
|
|
@@ -83,6 +83,8 @@ class Inference(BaseModel):
|
|
|
83
83
|
explains the failure reason.
|
|
84
84
|
- `ACTIVE` - The instance is running and ready to accept requests.
|
|
85
85
|
- `DISABLED` - The instance is disabled and not accepting any requests.
|
|
86
|
+
- `PENDING` - The instance is running but scaled to zero. It will be
|
|
87
|
+
automatically scaled up when a request is made.
|
|
86
88
|
- `DELETING` - The instance is being deleted.
|
|
87
89
|
"""
|
|
88
90
|
|
|
@@ -23,21 +23,33 @@ class LoadBalancerListenerDetail(BaseModel):
|
|
|
23
23
|
id: str
|
|
24
24
|
"""Load balancer listener ID"""
|
|
25
25
|
|
|
26
|
+
allowed_cidrs: Optional[List[str]] = None
|
|
27
|
+
"""Network CIDRs from which service will be accessible"""
|
|
28
|
+
|
|
26
29
|
connection_limit: int
|
|
27
30
|
"""Limit of simultaneous connections"""
|
|
28
31
|
|
|
32
|
+
creator_task_id: Optional[str] = None
|
|
33
|
+
"""Task that created this entity"""
|
|
34
|
+
|
|
29
35
|
insert_headers: object
|
|
30
36
|
"""Dictionary of additional header insertion into HTTP headers.
|
|
31
37
|
|
|
32
38
|
Only used with HTTP and TERMINATED_HTTPS protocols.
|
|
33
39
|
"""
|
|
34
40
|
|
|
41
|
+
loadbalancer_id: Optional[str] = None
|
|
42
|
+
"""Load balancer ID"""
|
|
43
|
+
|
|
35
44
|
name: str
|
|
36
45
|
"""Load balancer listener name"""
|
|
37
46
|
|
|
38
47
|
operating_status: LoadBalancerOperatingStatus
|
|
39
48
|
"""Listener operating status"""
|
|
40
49
|
|
|
50
|
+
pool_count: Optional[int] = None
|
|
51
|
+
"""Number of pools (for UI)"""
|
|
52
|
+
|
|
41
53
|
protocol: LbListenerProtocol
|
|
42
54
|
"""Load balancer protocol"""
|
|
43
55
|
|
|
@@ -47,18 +59,6 @@ class LoadBalancerListenerDetail(BaseModel):
|
|
|
47
59
|
provisioning_status: ProvisioningStatus
|
|
48
60
|
"""Listener lifecycle status"""
|
|
49
61
|
|
|
50
|
-
allowed_cidrs: Optional[List[str]] = None
|
|
51
|
-
"""Network CIDRs from which service will be accessible"""
|
|
52
|
-
|
|
53
|
-
creator_task_id: Optional[str] = None
|
|
54
|
-
"""Task that created this entity"""
|
|
55
|
-
|
|
56
|
-
loadbalancer_id: Optional[str] = None
|
|
57
|
-
"""Load balancer ID"""
|
|
58
|
-
|
|
59
|
-
pool_count: Optional[int] = None
|
|
60
|
-
"""Number of pools (for UI)"""
|
|
61
|
-
|
|
62
62
|
secret_id: Optional[str] = None
|
|
63
63
|
"""
|
|
64
64
|
ID of the secret where PKCS12 file is stored for TERMINATED_HTTPS or PROMETHEUS
|
|
@@ -93,5 +93,5 @@ class LoadBalancerListenerDetail(BaseModel):
|
|
|
93
93
|
timeout_member_data: Optional[int] = None
|
|
94
94
|
"""Backend member inactivity timeout in milliseconds"""
|
|
95
95
|
|
|
96
|
-
user_list:
|
|
96
|
+
user_list: List[UserList]
|
|
97
97
|
"""Load balancer listener users list"""
|
|
@@ -31,9 +31,15 @@ class LoadBalancerPool(BaseModel):
|
|
|
31
31
|
ca_secret_id: Optional[str] = None
|
|
32
32
|
"""Secret ID of CA certificate bundle"""
|
|
33
33
|
|
|
34
|
+
creator_task_id: Optional[str] = None
|
|
35
|
+
"""Task that created this entity"""
|
|
36
|
+
|
|
34
37
|
crl_secret_id: Optional[str] = None
|
|
35
38
|
"""Secret ID of CA revocation list file"""
|
|
36
39
|
|
|
40
|
+
healthmonitor: Optional[HealthMonitor] = None
|
|
41
|
+
"""Health monitor parameters"""
|
|
42
|
+
|
|
37
43
|
lb_algorithm: LbAlgorithm
|
|
38
44
|
"""Load balancer algorithm"""
|
|
39
45
|
|
|
@@ -64,6 +70,13 @@ class LoadBalancerPool(BaseModel):
|
|
|
64
70
|
session_persistence: Optional[SessionPersistence] = None
|
|
65
71
|
"""Session persistence parameters"""
|
|
66
72
|
|
|
73
|
+
task_id: Optional[str] = None
|
|
74
|
+
"""The UUID of the active task that currently holds a lock on the resource.
|
|
75
|
+
|
|
76
|
+
This lock prevents concurrent modifications to ensure consistency. If `null`,
|
|
77
|
+
the resource is not locked.
|
|
78
|
+
"""
|
|
79
|
+
|
|
67
80
|
timeout_client_data: Optional[int] = None
|
|
68
81
|
"""Frontend client inactivity timeout in milliseconds"""
|
|
69
82
|
|
|
@@ -72,16 +85,3 @@ class LoadBalancerPool(BaseModel):
|
|
|
72
85
|
|
|
73
86
|
timeout_member_data: Optional[int] = None
|
|
74
87
|
"""Backend member inactivity timeout in milliseconds"""
|
|
75
|
-
|
|
76
|
-
creator_task_id: Optional[str] = None
|
|
77
|
-
"""Task that created this entity"""
|
|
78
|
-
|
|
79
|
-
healthmonitor: Optional[HealthMonitor] = None
|
|
80
|
-
"""Health monitor parameters"""
|
|
81
|
-
|
|
82
|
-
task_id: Optional[str] = None
|
|
83
|
-
"""The UUID of the active task that currently holds a lock on the resource.
|
|
84
|
-
|
|
85
|
-
This lock prevents concurrent modifications to ensure consistency. If `null`,
|
|
86
|
-
the resource is not locked.
|
|
87
|
-
"""
|
|
@@ -1,16 +1,111 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
from typing import List
|
|
3
|
+
from typing import List, Union, Optional
|
|
4
|
+
from typing_extensions import TypeAlias
|
|
4
5
|
|
|
6
|
+
from .member import Member
|
|
5
7
|
from ..._models import BaseModel
|
|
6
|
-
from .
|
|
8
|
+
from .lb_algorithm import LbAlgorithm
|
|
9
|
+
from .health_monitor import HealthMonitor
|
|
10
|
+
from .lb_pool_protocol import LbPoolProtocol
|
|
11
|
+
from .provisioning_status import ProvisioningStatus
|
|
12
|
+
from .session_persistence import SessionPersistence
|
|
13
|
+
from .load_balancer_operating_status import LoadBalancerOperatingStatus
|
|
7
14
|
|
|
8
|
-
__all__ = [
|
|
15
|
+
__all__ = [
|
|
16
|
+
"LoadBalancerPoolList",
|
|
17
|
+
"Result",
|
|
18
|
+
"ResultListener",
|
|
19
|
+
"ResultLoadbalancer",
|
|
20
|
+
"ResultMember",
|
|
21
|
+
"ResultMemberLbPoolMemberSerializer",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ResultListener(BaseModel):
|
|
26
|
+
id: str
|
|
27
|
+
"""Resource ID"""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class ResultLoadbalancer(BaseModel):
|
|
31
|
+
id: str
|
|
32
|
+
"""Resource ID"""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ResultMemberLbPoolMemberSerializer(BaseModel):
|
|
36
|
+
id: str
|
|
37
|
+
"""Member ID must be provided if an existing member is being updated"""
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
ResultMember: TypeAlias = Union[ResultMemberLbPoolMemberSerializer, Member]
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class Result(BaseModel):
|
|
44
|
+
id: str
|
|
45
|
+
"""Pool ID"""
|
|
46
|
+
|
|
47
|
+
ca_secret_id: Optional[str] = None
|
|
48
|
+
"""Secret ID of CA certificate bundle"""
|
|
49
|
+
|
|
50
|
+
creator_task_id: Optional[str] = None
|
|
51
|
+
"""Task that created this entity"""
|
|
52
|
+
|
|
53
|
+
crl_secret_id: Optional[str] = None
|
|
54
|
+
"""Secret ID of CA revocation list file"""
|
|
55
|
+
|
|
56
|
+
healthmonitor: Optional[HealthMonitor] = None
|
|
57
|
+
"""Health monitor parameters"""
|
|
58
|
+
|
|
59
|
+
lb_algorithm: LbAlgorithm
|
|
60
|
+
"""Load balancer algorithm"""
|
|
61
|
+
|
|
62
|
+
listeners: List[ResultListener]
|
|
63
|
+
"""Listeners IDs"""
|
|
64
|
+
|
|
65
|
+
loadbalancers: List[ResultLoadbalancer]
|
|
66
|
+
"""Load balancers IDs"""
|
|
67
|
+
|
|
68
|
+
members: List[ResultMember]
|
|
69
|
+
"""Pool members"""
|
|
70
|
+
|
|
71
|
+
name: str
|
|
72
|
+
"""Pool name"""
|
|
73
|
+
|
|
74
|
+
operating_status: LoadBalancerOperatingStatus
|
|
75
|
+
"""Pool operating status"""
|
|
76
|
+
|
|
77
|
+
protocol: LbPoolProtocol
|
|
78
|
+
"""Protocol"""
|
|
79
|
+
|
|
80
|
+
provisioning_status: ProvisioningStatus
|
|
81
|
+
"""Pool lifecycle status"""
|
|
82
|
+
|
|
83
|
+
secret_id: Optional[str] = None
|
|
84
|
+
"""Secret ID for TLS client authentication to the member servers"""
|
|
85
|
+
|
|
86
|
+
session_persistence: Optional[SessionPersistence] = None
|
|
87
|
+
"""Session persistence parameters"""
|
|
88
|
+
|
|
89
|
+
task_id: Optional[str] = None
|
|
90
|
+
"""The UUID of the active task that currently holds a lock on the resource.
|
|
91
|
+
|
|
92
|
+
This lock prevents concurrent modifications to ensure consistency. If `null`,
|
|
93
|
+
the resource is not locked.
|
|
94
|
+
"""
|
|
95
|
+
|
|
96
|
+
timeout_client_data: Optional[int] = None
|
|
97
|
+
"""Frontend client inactivity timeout in milliseconds"""
|
|
98
|
+
|
|
99
|
+
timeout_member_connect: Optional[int] = None
|
|
100
|
+
"""Backend member connection timeout in milliseconds"""
|
|
101
|
+
|
|
102
|
+
timeout_member_data: Optional[int] = None
|
|
103
|
+
"""Backend member inactivity timeout in milliseconds"""
|
|
9
104
|
|
|
10
105
|
|
|
11
106
|
class LoadBalancerPoolList(BaseModel):
|
|
12
107
|
count: int
|
|
13
108
|
"""Number of objects"""
|
|
14
109
|
|
|
15
|
-
results: List[
|
|
110
|
+
results: List[Result]
|
|
16
111
|
"""Objects"""
|
|
@@ -9,11 +9,13 @@ __all__ = ["ListenerListParams"]
|
|
|
9
9
|
|
|
10
10
|
class ListenerListParams(TypedDict, total=False):
|
|
11
11
|
project_id: int
|
|
12
|
+
"""Project ID"""
|
|
12
13
|
|
|
13
14
|
region_id: int
|
|
15
|
+
"""Region ID"""
|
|
14
16
|
|
|
15
17
|
loadbalancer_id: str
|
|
16
|
-
"""Load
|
|
18
|
+
"""Load Balancer ID"""
|
|
17
19
|
|
|
18
20
|
show_stats: bool
|
|
19
|
-
"""Show
|
|
21
|
+
"""Show stats"""
|
|
@@ -10,8 +10,10 @@ __all__ = ["ListenerUpdateParams", "UserList"]
|
|
|
10
10
|
|
|
11
11
|
class ListenerUpdateParams(TypedDict, total=False):
|
|
12
12
|
project_id: int
|
|
13
|
+
"""Project ID"""
|
|
13
14
|
|
|
14
15
|
region_id: int
|
|
16
|
+
"""Region ID"""
|
|
15
17
|
|
|
16
18
|
allowed_cidrs: Optional[List[str]]
|
|
17
19
|
"""Network CIDRs from which service will be accessible"""
|
|
@@ -16,8 +16,10 @@ __all__ = ["PoolCreateParams", "Healthmonitor", "Member", "SessionPersistence"]
|
|
|
16
16
|
|
|
17
17
|
class PoolCreateParams(TypedDict, total=False):
|
|
18
18
|
project_id: int
|
|
19
|
+
"""Project ID"""
|
|
19
20
|
|
|
20
21
|
region_id: int
|
|
22
|
+
"""Region ID"""
|
|
21
23
|
|
|
22
24
|
lb_algorithm: Required[LbAlgorithm]
|
|
23
25
|
"""Load balancer algorithm"""
|
|
@@ -9,17 +9,16 @@ __all__ = ["PoolListParams"]
|
|
|
9
9
|
|
|
10
10
|
class PoolListParams(TypedDict, total=False):
|
|
11
11
|
project_id: int
|
|
12
|
+
"""Project ID"""
|
|
12
13
|
|
|
13
14
|
region_id: int
|
|
15
|
+
"""Region ID"""
|
|
14
16
|
|
|
15
17
|
details: bool
|
|
16
|
-
"""
|
|
17
|
-
If true, show member and healthmonitor details of each pool (increases request
|
|
18
|
-
time)
|
|
19
|
-
"""
|
|
18
|
+
"""Show members and Health Monitor details"""
|
|
20
19
|
|
|
21
20
|
listener_id: str
|
|
22
|
-
"""
|
|
21
|
+
"""Listener ID"""
|
|
23
22
|
|
|
24
23
|
loadbalancer_id: str
|
|
25
|
-
"""Load
|
|
24
|
+
"""Load Balancer ID"""
|
|
@@ -16,8 +16,10 @@ __all__ = ["PoolUpdateParams", "Healthmonitor", "Member", "SessionPersistence"]
|
|
|
16
16
|
|
|
17
17
|
class PoolUpdateParams(TypedDict, total=False):
|
|
18
18
|
project_id: int
|
|
19
|
+
"""Project ID"""
|
|
19
20
|
|
|
20
21
|
region_id: int
|
|
22
|
+
"""Region ID"""
|
|
21
23
|
|
|
22
24
|
ca_secret_id: Optional[str]
|
|
23
25
|
"""Secret ID of CA certificate bundle"""
|
|
@@ -14,8 +14,10 @@ __all__ = ["HealthMonitorCreateParams"]
|
|
|
14
14
|
|
|
15
15
|
class HealthMonitorCreateParams(TypedDict, total=False):
|
|
16
16
|
project_id: int
|
|
17
|
+
"""Project ID"""
|
|
17
18
|
|
|
18
19
|
region_id: int
|
|
20
|
+
"""Region ID"""
|
|
19
21
|
|
|
20
22
|
delay: Required[int]
|
|
21
23
|
"""The time, in seconds, between sending probes to members"""
|
gcore/types/cloud/network.py
CHANGED
|
@@ -16,9 +16,18 @@ class Network(BaseModel):
|
|
|
16
16
|
created_at: datetime
|
|
17
17
|
"""Datetime when the network was created"""
|
|
18
18
|
|
|
19
|
+
creator_task_id: Optional[str] = None
|
|
20
|
+
"""Task that created this entity"""
|
|
21
|
+
|
|
22
|
+
default: Optional[bool] = None
|
|
23
|
+
"""True if network has is_default attribute"""
|
|
24
|
+
|
|
19
25
|
external: bool
|
|
20
26
|
"""True if the network `router:external` attribute"""
|
|
21
27
|
|
|
28
|
+
mtu: int
|
|
29
|
+
"""MTU (maximum transmission unit). Default value is 1450"""
|
|
30
|
+
|
|
22
31
|
name: str
|
|
23
32
|
"""Network name"""
|
|
24
33
|
|
|
@@ -28,12 +37,18 @@ class Network(BaseModel):
|
|
|
28
37
|
ports.
|
|
29
38
|
"""
|
|
30
39
|
|
|
40
|
+
project_id: Optional[int] = None
|
|
41
|
+
"""Project ID"""
|
|
42
|
+
|
|
31
43
|
region: str
|
|
32
44
|
"""Region name"""
|
|
33
45
|
|
|
34
46
|
region_id: int
|
|
35
47
|
"""Region ID"""
|
|
36
48
|
|
|
49
|
+
segmentation_id: Optional[int] = None
|
|
50
|
+
"""Id of network segment"""
|
|
51
|
+
|
|
37
52
|
shared: bool
|
|
38
53
|
"""True when the network is shared with your project by external owner"""
|
|
39
54
|
|
|
@@ -50,30 +65,15 @@ class Network(BaseModel):
|
|
|
50
65
|
values.
|
|
51
66
|
"""
|
|
52
67
|
|
|
53
|
-
type: str
|
|
54
|
-
"""Network type (vlan, vxlan)"""
|
|
55
|
-
|
|
56
|
-
updated_at: datetime
|
|
57
|
-
"""Datetime when the network was last updated"""
|
|
58
|
-
|
|
59
|
-
creator_task_id: Optional[str] = None
|
|
60
|
-
"""Task that created this entity"""
|
|
61
|
-
|
|
62
|
-
default: Optional[bool] = None
|
|
63
|
-
"""True if network has is_default attribute"""
|
|
64
|
-
|
|
65
|
-
mtu: Optional[int] = None
|
|
66
|
-
"""MTU (maximum transmission unit). Default value is 1450"""
|
|
67
|
-
|
|
68
|
-
project_id: Optional[int] = None
|
|
69
|
-
"""Project ID"""
|
|
70
|
-
|
|
71
|
-
segmentation_id: Optional[int] = None
|
|
72
|
-
"""Id of network segment"""
|
|
73
|
-
|
|
74
68
|
task_id: Optional[str] = None
|
|
75
69
|
"""The UUID of the active task that currently holds a lock on the resource.
|
|
76
70
|
|
|
77
71
|
This lock prevents concurrent modifications to ensure consistency. If `null`,
|
|
78
72
|
the resource is not locked.
|
|
79
73
|
"""
|
|
74
|
+
|
|
75
|
+
type: str
|
|
76
|
+
"""Network type (vlan, vxlan)"""
|
|
77
|
+
|
|
78
|
+
updated_at: datetime
|
|
79
|
+
"""Datetime when the network was last updated"""
|