gcore 0.10.0__py3-none-any.whl → 0.11.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/_base_client.py +3 -3
- gcore/_client.py +18 -0
- gcore/_compat.py +48 -48
- gcore/_models.py +41 -41
- gcore/_types.py +35 -1
- gcore/_utils/__init__.py +9 -2
- gcore/_utils/_compat.py +45 -0
- gcore/_utils/_datetime_parse.py +136 -0
- gcore/_utils/_transform.py +11 -1
- gcore/_utils/_typing.py +6 -1
- gcore/_utils/_utils.py +0 -1
- gcore/_version.py +1 -1
- gcore/resources/__init__.py +28 -0
- gcore/resources/cloud/__init__.py +14 -0
- gcore/resources/cloud/audit_logs.py +3 -3
- gcore/resources/cloud/baremetal/images.py +3 -4
- gcore/resources/cloud/baremetal/servers.py +16 -4
- gcore/resources/cloud/cloud.py +32 -0
- gcore/resources/cloud/cost_reports.py +24 -16
- gcore/resources/cloud/file_shares/access_rules.py +2 -2
- gcore/resources/cloud/file_shares/file_shares.py +30 -14
- gcore/resources/cloud/floating_ips.py +196 -4
- gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +1 -1
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +166 -190
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +268 -12
- gcore/resources/cloud/inference/__init__.py +14 -14
- gcore/resources/cloud/inference/applications/__init__.py +47 -0
- gcore/resources/cloud/inference/applications/applications.py +134 -0
- gcore/resources/cloud/inference/applications/deployments.py +649 -0
- gcore/resources/cloud/inference/applications/templates.py +238 -0
- gcore/resources/cloud/inference/deployments/deployments.py +41 -22
- gcore/resources/cloud/inference/inference.py +32 -32
- gcore/resources/cloud/inference/registry_credentials.py +8 -9
- gcore/resources/cloud/instances/images.py +4 -4
- gcore/resources/cloud/instances/instances.py +254 -4
- gcore/resources/cloud/instances/interfaces.py +544 -0
- gcore/resources/cloud/k8s/__init__.py +47 -0
- gcore/resources/cloud/k8s/clusters/__init__.py +47 -0
- gcore/resources/cloud/k8s/clusters/clusters.py +1391 -0
- gcore/resources/cloud/k8s/clusters/nodes.py +291 -0
- gcore/resources/cloud/k8s/clusters/pools/__init__.py +33 -0
- gcore/resources/cloud/k8s/clusters/pools/nodes.py +303 -0
- gcore/resources/cloud/k8s/clusters/pools/pools.py +870 -0
- gcore/resources/cloud/k8s/flavors.py +209 -0
- gcore/resources/cloud/k8s/k8s.py +233 -0
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +11 -12
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +9 -10
- gcore/resources/cloud/load_balancers/listeners.py +18 -18
- gcore/resources/cloud/load_balancers/load_balancers.py +4 -4
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +18 -6
- gcore/resources/cloud/load_balancers/pools/members.py +32 -2
- gcore/resources/cloud/load_balancers/pools/pools.py +32 -8
- gcore/resources/cloud/networks/networks.py +192 -4
- gcore/resources/cloud/networks/subnets.py +140 -8
- gcore/resources/cloud/reserved_fixed_ips/vip.py +5 -7
- gcore/resources/cloud/security_groups/security_groups.py +6 -6
- gcore/resources/cloud/tasks.py +46 -46
- gcore/resources/cloud/users/role_assignments.py +5 -4
- gcore/resources/cloud/volumes.py +4 -4
- gcore/resources/dns/__init__.py +75 -0
- gcore/resources/dns/dns.py +374 -0
- gcore/resources/dns/locations.py +288 -0
- gcore/resources/dns/metrics.py +214 -0
- gcore/resources/dns/pickers/__init__.py +33 -0
- gcore/resources/dns/pickers/pickers.py +167 -0
- gcore/resources/dns/pickers/presets.py +135 -0
- gcore/resources/dns/zones/__init__.py +47 -0
- gcore/resources/{cloud/inference/models.py → dns/zones/dnssec.py} +80 -122
- gcore/resources/dns/zones/rrsets.py +1005 -0
- gcore/resources/dns/zones/zones.py +1493 -0
- gcore/resources/storage/__init__.py +75 -0
- gcore/resources/storage/buckets/__init__.py +61 -0
- gcore/resources/storage/buckets/buckets.py +470 -0
- gcore/resources/storage/buckets/cors.py +265 -0
- gcore/resources/storage/buckets/lifecycle.py +276 -0
- gcore/resources/storage/buckets/policy.py +345 -0
- gcore/resources/storage/credentials.py +221 -0
- gcore/resources/storage/locations.py +190 -0
- gcore/resources/storage/statistics.py +364 -0
- gcore/resources/storage/storage.py +1042 -0
- gcore/resources/streaming/ai_tasks.py +56 -70
- gcore/resources/streaming/playlists.py +18 -18
- gcore/resources/streaming/quality_sets.py +8 -8
- gcore/resources/streaming/statistics.py +4 -122
- gcore/resources/streaming/streams/overlays.py +6 -6
- gcore/resources/streaming/streams/streams.py +40 -64
- gcore/resources/streaming/videos/subtitles.py +32 -30
- gcore/resources/streaming/videos/videos.py +78 -72
- gcore/resources/waap/domains/advanced_rules.py +2 -2
- gcore/resources/waap/domains/api_paths.py +13 -13
- gcore/resources/waap/domains/custom_rules.py +2 -2
- gcore/resources/waap/domains/domains.py +4 -4
- gcore/resources/waap/domains/firewall_rules.py +2 -2
- gcore/resources/waap/domains/insight_silences.py +6 -6
- gcore/resources/waap/domains/insights.py +7 -7
- gcore/resources/waap/domains/statistics.py +47 -47
- gcore/types/cloud/__init__.py +2 -4
- gcore/types/cloud/audit_log_list_params.py +2 -1
- gcore/types/cloud/baremetal/image_list_params.py +3 -2
- gcore/types/cloud/baremetal/server_create_params.py +8 -6
- gcore/types/cloud/baremetal/server_list_params.py +3 -2
- gcore/types/cloud/baremetal/server_rebuild_params.py +2 -0
- gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +35 -31
- gcore/types/cloud/cost_report_get_aggregated_params.py +26 -25
- gcore/types/cloud/cost_report_get_detailed_params.py +26 -25
- gcore/types/cloud/ddos_profile.py +13 -7
- gcore/types/cloud/ddos_profile_field.py +21 -8
- gcore/types/cloud/ddos_profile_option_list.py +7 -6
- gcore/types/cloud/ddos_profile_status.py +2 -2
- gcore/types/cloud/ddos_profile_template.py +7 -3
- gcore/types/cloud/ddos_profile_template_field.py +12 -3
- gcore/types/cloud/file_share.py +2 -2
- gcore/types/cloud/file_share_create_params.py +12 -6
- gcore/types/cloud/floating_ip_list_params.py +3 -2
- gcore/types/cloud/gpu_baremetal_cluster.py +101 -74
- gcore/types/cloud/gpu_baremetal_cluster_create_params.py +76 -93
- gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +17 -10
- gcore/types/cloud/gpu_baremetal_cluster_list_params.py +14 -3
- gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +4 -2
- gcore/types/cloud/gpu_baremetal_clusters/__init__.py +6 -0
- gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +74 -0
- gcore/types/cloud/{gpu_baremetal_cluster_server.py → gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1.py} +10 -10
- gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1_list.py +16 -0
- gcore/types/cloud/{gpu_baremetal_flavor.py → gpu_baremetal_clusters/gpu_baremetal_flavor.py} +1 -1
- gcore/types/cloud/{gpu_baremetal_flavor_list.py → gpu_baremetal_clusters/gpu_baremetal_flavor_list.py} +1 -1
- gcore/types/cloud/gpu_baremetal_clusters/server_list_params.py +75 -0
- gcore/types/cloud/inference/__init__.py +0 -5
- gcore/types/cloud/inference/applications/__init__.py +12 -0
- gcore/types/cloud/inference/applications/deployment_create_params.py +68 -0
- gcore/types/cloud/inference/applications/deployment_patch_params.py +62 -0
- gcore/types/cloud/inference/applications/inference_application_deployment.py +111 -0
- gcore/types/cloud/inference/applications/inference_application_deployment_list.py +16 -0
- gcore/types/cloud/inference/applications/inference_application_template.py +94 -0
- gcore/types/cloud/inference/applications/inference_application_template_list.py +16 -0
- gcore/types/cloud/inference/deployment_create_params.py +7 -6
- gcore/types/cloud/inference/deployment_update_params.py +7 -6
- gcore/types/cloud/instance_assign_security_group_params.py +4 -2
- gcore/types/cloud/instance_list_params.py +3 -2
- gcore/types/cloud/instance_unassign_security_group_params.py +4 -2
- gcore/types/cloud/instances/image_list_params.py +3 -2
- gcore/types/cloud/k8s/__init__.py +13 -0
- gcore/types/cloud/k8s/cluster_create_params.py +299 -0
- gcore/types/cloud/k8s/cluster_delete_params.py +16 -0
- gcore/types/cloud/k8s/cluster_update_params.py +203 -0
- gcore/types/cloud/k8s/cluster_upgrade_params.py +16 -0
- gcore/types/cloud/k8s/clusters/__init__.py +10 -0
- gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +66 -0
- gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +16 -0
- gcore/types/cloud/k8s/clusters/node_list_params.py +16 -0
- gcore/types/cloud/k8s/clusters/pool_create_params.py +53 -0
- gcore/types/cloud/k8s/clusters/pool_resize_params.py +18 -0
- gcore/types/cloud/k8s/clusters/pool_update_params.py +34 -0
- gcore/types/cloud/k8s/clusters/pools/__init__.py +5 -0
- gcore/types/cloud/k8s/clusters/pools/node_list_params.py +18 -0
- gcore/types/cloud/k8s/flavor_list_params.py +19 -0
- gcore/types/cloud/k8s/k8s_cluster.py +209 -0
- gcore/types/cloud/k8s/k8s_cluster_certificate.py +13 -0
- gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +19 -0
- gcore/types/cloud/k8s/k8s_cluster_list.py +16 -0
- gcore/types/cloud/k8s_cluster_version.py +10 -0
- gcore/types/cloud/{gpu_baremetal_cluster_server_list.py → k8s_cluster_version_list.py} +4 -4
- gcore/types/cloud/load_balancer_create_params.py +23 -4
- gcore/types/cloud/load_balancer_list_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policy_create_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policy_replace_params.py +3 -2
- gcore/types/cloud/load_balancers/listener_create_params.py +4 -3
- gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
- gcore/types/cloud/load_balancers/pool_create_params.py +19 -1
- gcore/types/cloud/load_balancers/pool_update_params.py +19 -1
- gcore/types/cloud/load_balancers/pools/member_add_params.py +19 -1
- gcore/types/cloud/member.py +19 -1
- gcore/types/cloud/network_list_params.py +3 -2
- gcore/types/cloud/networks/subnet_create_params.py +3 -2
- gcore/types/cloud/networks/subnet_list_params.py +3 -2
- gcore/types/cloud/networks/subnet_update_params.py +3 -2
- gcore/types/cloud/project.py +9 -9
- gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +3 -2
- gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +3 -2
- gcore/types/cloud/security_group_create_params.py +4 -2
- gcore/types/cloud/security_group_list_params.py +3 -2
- gcore/types/cloud/task_id_list.py +8 -1
- gcore/types/cloud/task_list_params.py +23 -23
- gcore/types/cloud/usage_report_get_params.py +26 -25
- gcore/types/cloud/users/role_assignment.py +2 -1
- gcore/types/cloud/users/role_assignment_create_params.py +4 -2
- gcore/types/cloud/users/role_assignment_update_params.py +4 -2
- gcore/types/cloud/volume_list_params.py +3 -2
- gcore/types/dns/__init__.py +31 -0
- gcore/types/dns/dns_get_account_overview_response.py +21 -0
- gcore/types/dns/dns_label_name.py +13 -0
- gcore/types/dns/dns_location_translations.py +11 -0
- gcore/types/dns/dns_lookup_params.py +15 -0
- gcore/types/dns/dns_lookup_response.py +21 -0
- gcore/types/dns/dns_name_server.py +17 -0
- gcore/types/dns/location_list_continents_response.py +10 -0
- gcore/types/dns/location_list_countries_response.py +10 -0
- gcore/types/dns/location_list_regions_response.py +10 -0
- gcore/types/dns/location_list_response.py +16 -0
- gcore/types/dns/metric_list_params.py +24 -0
- gcore/types/dns/metric_list_response.py +7 -0
- gcore/types/dns/picker_list_response.py +10 -0
- gcore/types/dns/pickers/__init__.py +5 -0
- gcore/types/dns/pickers/preset_list_response.py +10 -0
- gcore/types/dns/zone_check_delegation_status_response.py +20 -0
- gcore/types/dns/zone_create_params.py +59 -0
- gcore/types/dns/zone_create_response.py +13 -0
- gcore/types/dns/zone_export_response.py +11 -0
- gcore/types/dns/zone_get_response.py +106 -0
- gcore/types/dns/zone_get_statistics_params.py +43 -0
- gcore/types/dns/zone_get_statistics_response.py +19 -0
- gcore/types/dns/zone_import_params.py +32 -0
- gcore/types/dns/zone_import_response.py +26 -0
- gcore/types/dns/zone_list_params.py +57 -0
- gcore/types/dns/zone_list_response.py +105 -0
- gcore/types/dns/zone_replace_params.py +61 -0
- gcore/types/dns/zones/__init__.py +15 -0
- gcore/types/dns/zones/dns_failover_log.py +19 -0
- gcore/types/dns/zones/dns_output_rrset.py +123 -0
- gcore/types/dns/zones/dnssec_get_response.py +38 -0
- gcore/types/dns/zones/dnssec_update_params.py +11 -0
- gcore/types/dns/zones/dnssec_update_response.py +38 -0
- gcore/types/dns/zones/rrset_create_params.py +82 -0
- gcore/types/dns/zones/rrset_get_failover_logs_params.py +21 -0
- gcore/types/dns/zones/rrset_get_failover_logs_response.py +15 -0
- gcore/types/dns/zones/rrset_list_params.py +21 -0
- gcore/types/dns/zones/rrset_list_response.py +14 -0
- gcore/types/dns/zones/rrset_replace_params.py +82 -0
- gcore/types/security/client_profile.py +1 -1
- gcore/types/security/profile_create_params.py +2 -2
- gcore/types/security/profile_recreate_params.py +2 -2
- gcore/types/security/profile_replace_params.py +2 -2
- gcore/types/storage/__init__.py +21 -0
- gcore/types/storage/bucket.py +15 -0
- gcore/types/storage/bucket_list_params.py +15 -0
- gcore/types/storage/buckets/__init__.py +9 -0
- gcore/types/storage/buckets/bucket_cors.py +18 -0
- gcore/types/storage/buckets/bucket_policy.py +7 -0
- gcore/types/storage/buckets/cor_create_params.py +17 -0
- gcore/types/storage/buckets/lifecycle_create_params.py +18 -0
- gcore/types/storage/buckets/policy_get_response.py +7 -0
- gcore/types/storage/credential_recreate_params.py +36 -0
- gcore/types/storage/location.py +24 -0
- gcore/types/storage/location_list_params.py +13 -0
- gcore/types/storage/statistic_get_usage_aggregated_params.py +24 -0
- gcore/types/storage/statistic_get_usage_series_params.py +38 -0
- gcore/types/storage/statistic_get_usage_series_response.py +12 -0
- gcore/types/storage/storage.py +101 -0
- gcore/types/storage/storage_create_params.py +44 -0
- gcore/types/storage/storage_list_params.py +39 -0
- gcore/types/storage/storage_restore_params.py +11 -0
- gcore/types/storage/storage_update_params.py +18 -0
- gcore/types/storage/usage_series.py +201 -0
- gcore/types/storage/usage_total.py +54 -0
- gcore/types/streaming/__init__.py +0 -4
- gcore/types/streaming/ai_contentmoderation_hardnudity.py +1 -1
- gcore/types/streaming/ai_contentmoderation_nsfw.py +1 -1
- gcore/types/streaming/ai_contentmoderation_softnudity.py +1 -1
- gcore/types/streaming/ai_contentmoderation_sport.py +1 -1
- gcore/types/streaming/ai_task.py +1 -5
- gcore/types/streaming/ai_task_create_params.py +2 -2
- gcore/types/streaming/ai_task_get_response.py +0 -46
- gcore/types/streaming/clip.py +2 -1
- gcore/types/streaming/create_video_param.py +13 -12
- gcore/types/streaming/max_stream_series.py +5 -5
- gcore/types/streaming/playlist.py +1 -1
- gcore/types/streaming/playlist_create_params.py +1 -1
- gcore/types/streaming/playlist_update_params.py +1 -1
- gcore/types/streaming/playlist_video.py +13 -12
- gcore/types/streaming/storage_series.py +5 -5
- gcore/types/streaming/stream.py +86 -49
- gcore/types/streaming/stream_create_clip_params.py +2 -1
- gcore/types/streaming/stream_create_params.py +9 -23
- gcore/types/streaming/stream_series.py +5 -5
- gcore/types/streaming/stream_update_params.py +9 -23
- gcore/types/streaming/video.py +53 -42
- gcore/types/streaming/video_update_params.py +13 -12
- gcore/types/streaming/vod_statistics_series.py +5 -5
- gcore/types/streaming/vod_total_stream_duration_series.py +3 -3
- gcore/types/waap/domain_list_params.py +1 -1
- gcore/types/waap/domain_update_params.py +1 -1
- gcore/types/waap/domains/advanced_rule_create_params.py +7 -4
- gcore/types/waap/domains/advanced_rule_update_params.py +6 -3
- gcore/types/waap/domains/api_path_create_params.py +4 -3
- gcore/types/waap/domains/api_path_list_params.py +3 -1
- gcore/types/waap/domains/api_path_update_params.py +5 -4
- gcore/types/waap/domains/custom_rule_create_params.py +13 -14
- gcore/types/waap/domains/custom_rule_update_params.py +12 -13
- gcore/types/waap/domains/firewall_rule_create_params.py +3 -2
- gcore/types/waap/domains/firewall_rule_update_params.py +2 -1
- gcore/types/waap/domains/insight_list_params.py +4 -2
- gcore/types/waap/domains/insight_replace_params.py +1 -1
- gcore/types/waap/domains/insight_silence_list_params.py +5 -3
- gcore/types/waap/domains/setting_update_params.py +3 -2
- gcore/types/waap/domains/statistic_get_ddos_info_params.py +6 -9
- gcore/types/waap/domains/statistic_get_events_aggregated_params.py +9 -10
- gcore/types/waap/domains/statistic_get_requests_series_params.py +8 -9
- gcore/types/waap/domains/statistic_get_traffic_series_params.py +6 -9
- gcore/types/waap/domains/waap_advanced_rule.py +3 -2
- gcore/types/waap/domains/waap_api_path.py +4 -4
- gcore/types/waap/domains/waap_api_scan_result.py +2 -2
- gcore/types/waap/domains/waap_custom_rule.py +4 -7
- gcore/types/waap/domains/waap_firewall_rule.py +3 -2
- gcore/types/waap/domains/waap_insight.py +1 -1
- gcore/types/waap/domains/waap_request_details.py +5 -4
- gcore/types/waap/waap_ip_ddos_info_model.py +3 -3
- gcore/types/waap/waap_rule_set.py +1 -1
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/METADATA +7 -2
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/RECORD +312 -192
- gcore/types/cloud/inference/inference_model.py +0 -65
- gcore/types/cloud/inference/inference_registry_credentials_create.py +0 -22
- gcore/types/cloud/inference/model_list_params.py +0 -21
- gcore/types/streaming/ai_contentmoderation_casm.py +0 -39
- gcore/types/streaming/ai_contentmoderation_weapon.py +0 -39
- gcore/types/streaming/meet_series.py +0 -23
- gcore/types/streaming/statistic_get_meet_series_params.py +0 -20
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/WHEEL +0 -0
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Dict, Optional
|
|
4
|
+
|
|
5
|
+
from ....._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["K8sClusterPool"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class K8sClusterPool(BaseModel):
|
|
11
|
+
id: str
|
|
12
|
+
"""UUID of the cluster pool"""
|
|
13
|
+
|
|
14
|
+
auto_healing_enabled: bool
|
|
15
|
+
"""Indicates the status of auto healing"""
|
|
16
|
+
|
|
17
|
+
boot_volume_size: int
|
|
18
|
+
"""Size of the boot volume"""
|
|
19
|
+
|
|
20
|
+
boot_volume_type: str
|
|
21
|
+
"""Type of the boot volume"""
|
|
22
|
+
|
|
23
|
+
created_at: str
|
|
24
|
+
"""Date of function creation"""
|
|
25
|
+
|
|
26
|
+
crio_config: Dict[str, str]
|
|
27
|
+
"""Crio configuration for pool nodes"""
|
|
28
|
+
|
|
29
|
+
flavor_id: str
|
|
30
|
+
"""ID of the cluster pool flavor"""
|
|
31
|
+
|
|
32
|
+
is_public_ipv4: bool
|
|
33
|
+
"""Indicates if the pool is public"""
|
|
34
|
+
|
|
35
|
+
kubelet_config: Dict[str, str]
|
|
36
|
+
"""Kubelet configuration for pool nodes"""
|
|
37
|
+
|
|
38
|
+
labels: Dict[str, str]
|
|
39
|
+
"""Labels applied to the cluster pool"""
|
|
40
|
+
|
|
41
|
+
max_node_count: int
|
|
42
|
+
"""Maximum node count in the cluster pool"""
|
|
43
|
+
|
|
44
|
+
min_node_count: int
|
|
45
|
+
"""Minimum node count in the cluster pool"""
|
|
46
|
+
|
|
47
|
+
name: str
|
|
48
|
+
"""Name of the cluster pool"""
|
|
49
|
+
|
|
50
|
+
node_count: int
|
|
51
|
+
"""Node count in the cluster pool"""
|
|
52
|
+
|
|
53
|
+
status: str
|
|
54
|
+
"""Status of the cluster pool"""
|
|
55
|
+
|
|
56
|
+
taints: Dict[str, str]
|
|
57
|
+
"""Taints applied to the cluster pool"""
|
|
58
|
+
|
|
59
|
+
servergroup_id: Optional[str] = None
|
|
60
|
+
"""Server group ID"""
|
|
61
|
+
|
|
62
|
+
servergroup_name: Optional[str] = None
|
|
63
|
+
"""Server group name"""
|
|
64
|
+
|
|
65
|
+
servergroup_policy: Optional[str] = None
|
|
66
|
+
"""Anti-affinity, affinity or soft-anti-affinity server group policy"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
from ....._models import BaseModel
|
|
6
|
+
from .k8s_cluster_pool import K8sClusterPool
|
|
7
|
+
|
|
8
|
+
__all__ = ["K8sClusterPoolList"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class K8sClusterPoolList(BaseModel):
|
|
12
|
+
count: int
|
|
13
|
+
"""Number of objects"""
|
|
14
|
+
|
|
15
|
+
results: List[K8sClusterPool]
|
|
16
|
+
"""Objects"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["NodeListParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class NodeListParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
|
|
13
|
+
region_id: int
|
|
14
|
+
|
|
15
|
+
with_ddos: bool
|
|
16
|
+
"""Include DDoS profile information if set to true. Default is false."""
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Dict, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["PoolCreateParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class PoolCreateParams(TypedDict, total=False):
|
|
12
|
+
project_id: int
|
|
13
|
+
|
|
14
|
+
region_id: int
|
|
15
|
+
|
|
16
|
+
flavor_id: Required[str]
|
|
17
|
+
"""Flavor ID"""
|
|
18
|
+
|
|
19
|
+
min_node_count: Required[int]
|
|
20
|
+
"""Minimum node count"""
|
|
21
|
+
|
|
22
|
+
name: Required[str]
|
|
23
|
+
"""Pool's name"""
|
|
24
|
+
|
|
25
|
+
auto_healing_enabled: Optional[bool]
|
|
26
|
+
"""Enable auto healing"""
|
|
27
|
+
|
|
28
|
+
boot_volume_size: Optional[int]
|
|
29
|
+
"""Boot volume size"""
|
|
30
|
+
|
|
31
|
+
boot_volume_type: Optional[Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]]
|
|
32
|
+
"""Boot volume type"""
|
|
33
|
+
|
|
34
|
+
crio_config: Optional[Dict[str, str]]
|
|
35
|
+
"""Cri-o configuration for pool nodes"""
|
|
36
|
+
|
|
37
|
+
is_public_ipv4: Optional[bool]
|
|
38
|
+
"""Enable public v4 address"""
|
|
39
|
+
|
|
40
|
+
kubelet_config: Optional[Dict[str, str]]
|
|
41
|
+
"""Kubelet configuration for pool nodes"""
|
|
42
|
+
|
|
43
|
+
labels: Optional[Dict[str, str]]
|
|
44
|
+
"""Labels applied to the cluster pool"""
|
|
45
|
+
|
|
46
|
+
max_node_count: Optional[int]
|
|
47
|
+
"""Maximum node count"""
|
|
48
|
+
|
|
49
|
+
servergroup_policy: Optional[Literal["affinity", "anti-affinity", "soft-anti-affinity"]]
|
|
50
|
+
"""Server group policy: anti-affinity, soft-anti-affinity or affinity"""
|
|
51
|
+
|
|
52
|
+
taints: Optional[Dict[str, str]]
|
|
53
|
+
"""Taints applied to the cluster pool"""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["PoolResizeParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PoolResizeParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
|
|
13
|
+
region_id: int
|
|
14
|
+
|
|
15
|
+
cluster_name: Required[str]
|
|
16
|
+
|
|
17
|
+
node_count: Required[int]
|
|
18
|
+
"""Target node count"""
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Dict, Optional
|
|
6
|
+
from typing_extensions import Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["PoolUpdateParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class PoolUpdateParams(TypedDict, total=False):
|
|
12
|
+
project_id: int
|
|
13
|
+
|
|
14
|
+
region_id: int
|
|
15
|
+
|
|
16
|
+
cluster_name: Required[str]
|
|
17
|
+
|
|
18
|
+
auto_healing_enabled: Optional[bool]
|
|
19
|
+
"""Enable/disable auto healing"""
|
|
20
|
+
|
|
21
|
+
labels: Optional[Dict[str, str]]
|
|
22
|
+
"""Labels applied to the cluster pool"""
|
|
23
|
+
|
|
24
|
+
max_node_count: Optional[int]
|
|
25
|
+
"""Maximum node count"""
|
|
26
|
+
|
|
27
|
+
min_node_count: Optional[int]
|
|
28
|
+
"""Minimum node count"""
|
|
29
|
+
|
|
30
|
+
node_count: Optional[int]
|
|
31
|
+
"""Current node count"""
|
|
32
|
+
|
|
33
|
+
taints: Optional[Dict[str, str]]
|
|
34
|
+
"""Taints applied to the cluster pool"""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["NodeListParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class NodeListParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
|
|
13
|
+
region_id: int
|
|
14
|
+
|
|
15
|
+
cluster_name: Required[str]
|
|
16
|
+
|
|
17
|
+
with_ddos: bool
|
|
18
|
+
"""Include DDoS profile information if set to true. Default is false."""
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["FlavorListParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FlavorListParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
|
|
13
|
+
region_id: int
|
|
14
|
+
|
|
15
|
+
exclude_gpu: bool
|
|
16
|
+
"""Set to false to include GPU flavors. Default is True."""
|
|
17
|
+
|
|
18
|
+
include_prices: bool
|
|
19
|
+
"""Set to true to include flavor prices. Default is False."""
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Dict, List, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from ..logging import Logging
|
|
8
|
+
from ...._models import BaseModel
|
|
9
|
+
from .clusters.k8s_cluster_pool import K8sClusterPool
|
|
10
|
+
|
|
11
|
+
__all__ = [
|
|
12
|
+
"K8sCluster",
|
|
13
|
+
"Csi",
|
|
14
|
+
"CsiNfs",
|
|
15
|
+
"Authentication",
|
|
16
|
+
"AuthenticationOidc",
|
|
17
|
+
"Cni",
|
|
18
|
+
"CniCilium",
|
|
19
|
+
"DDOSProfile",
|
|
20
|
+
"DDOSProfileField",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class CsiNfs(BaseModel):
|
|
25
|
+
vast_enabled: bool
|
|
26
|
+
"""Indicates the status of VAST NFS integration"""
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class Csi(BaseModel):
|
|
30
|
+
nfs: CsiNfs
|
|
31
|
+
"""NFS settings"""
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class AuthenticationOidc(BaseModel):
|
|
35
|
+
client_id: Optional[str] = None
|
|
36
|
+
"""Client ID"""
|
|
37
|
+
|
|
38
|
+
groups_claim: Optional[str] = None
|
|
39
|
+
"""JWT claim to use as the user's group"""
|
|
40
|
+
|
|
41
|
+
groups_prefix: Optional[str] = None
|
|
42
|
+
"""Prefix prepended to group claims"""
|
|
43
|
+
|
|
44
|
+
issuer_url: Optional[str] = None
|
|
45
|
+
"""Issuer URL"""
|
|
46
|
+
|
|
47
|
+
required_claims: Optional[Dict[str, str]] = None
|
|
48
|
+
"""Key-value pairs that describe required claims in the token"""
|
|
49
|
+
|
|
50
|
+
signing_algs: Optional[
|
|
51
|
+
List[Literal["ES256", "ES384", "ES512", "PS256", "PS384", "PS512", "RS256", "RS384", "RS512"]]
|
|
52
|
+
] = None
|
|
53
|
+
"""Accepted signing algorithms"""
|
|
54
|
+
|
|
55
|
+
username_claim: Optional[str] = None
|
|
56
|
+
"""JWT claim to use as the user name"""
|
|
57
|
+
|
|
58
|
+
username_prefix: Optional[str] = None
|
|
59
|
+
"""Prefix prepended to username claims to prevent clashes"""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class Authentication(BaseModel):
|
|
63
|
+
kubeconfig_created_at: Optional[datetime] = None
|
|
64
|
+
"""Kubeconfig creation date"""
|
|
65
|
+
|
|
66
|
+
kubeconfig_expires_at: Optional[datetime] = None
|
|
67
|
+
"""Kubeconfig expiration date"""
|
|
68
|
+
|
|
69
|
+
oidc: Optional[AuthenticationOidc] = None
|
|
70
|
+
"""OIDC authentication settings"""
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class CniCilium(BaseModel):
|
|
74
|
+
encryption: Optional[bool] = None
|
|
75
|
+
"""Wireguard encryption"""
|
|
76
|
+
|
|
77
|
+
hubble_relay: Optional[bool] = None
|
|
78
|
+
"""Hubble Relay"""
|
|
79
|
+
|
|
80
|
+
hubble_ui: Optional[bool] = None
|
|
81
|
+
"""Hubble UI"""
|
|
82
|
+
|
|
83
|
+
lb_acceleration: Optional[bool] = None
|
|
84
|
+
"""LoadBalancer acceleration"""
|
|
85
|
+
|
|
86
|
+
lb_mode: Optional[Literal["dsr", "hybrid", "snat"]] = None
|
|
87
|
+
"""LoadBalancer mode"""
|
|
88
|
+
|
|
89
|
+
mask_size: Optional[int] = None
|
|
90
|
+
"""Mask size for IPv4"""
|
|
91
|
+
|
|
92
|
+
mask_size_v6: Optional[int] = None
|
|
93
|
+
"""Mask size for IPv6"""
|
|
94
|
+
|
|
95
|
+
routing_mode: Optional[Literal["native", "tunnel"]] = None
|
|
96
|
+
"""Routing mode"""
|
|
97
|
+
|
|
98
|
+
tunnel: Optional[Literal["", "geneve", "vxlan"]] = None
|
|
99
|
+
"""CNI provider"""
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
class Cni(BaseModel):
|
|
103
|
+
cilium: Optional[CniCilium] = None
|
|
104
|
+
"""Cilium settings"""
|
|
105
|
+
|
|
106
|
+
provider: Optional[Literal["calico", "cilium"]] = None
|
|
107
|
+
"""CNI provider"""
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
class DDOSProfileField(BaseModel):
|
|
111
|
+
base_field: int
|
|
112
|
+
|
|
113
|
+
field_value: Optional[object] = None
|
|
114
|
+
"""Complex value. Only one of 'value' or '`field_value`' must be specified"""
|
|
115
|
+
|
|
116
|
+
value: Optional[str] = None
|
|
117
|
+
"""Basic value. Only one of 'value' or '`field_value`' must be specified"""
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
class DDOSProfile(BaseModel):
|
|
121
|
+
enabled: bool
|
|
122
|
+
"""Enable advanced DDoS protection"""
|
|
123
|
+
|
|
124
|
+
fields: Optional[List[DDOSProfileField]] = None
|
|
125
|
+
"""DDoS profile parameters"""
|
|
126
|
+
|
|
127
|
+
profile_template: Optional[int] = None
|
|
128
|
+
"""DDoS profile template ID"""
|
|
129
|
+
|
|
130
|
+
profile_template_name: Optional[str] = None
|
|
131
|
+
"""DDoS profile template name"""
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
class K8sCluster(BaseModel):
|
|
135
|
+
id: str
|
|
136
|
+
"""Cluster pool uuid"""
|
|
137
|
+
|
|
138
|
+
created_at: str
|
|
139
|
+
"""Function creation date"""
|
|
140
|
+
|
|
141
|
+
csi: Csi
|
|
142
|
+
"""Cluster CSI settings"""
|
|
143
|
+
|
|
144
|
+
is_public: bool
|
|
145
|
+
"""Cluster is public"""
|
|
146
|
+
|
|
147
|
+
keypair: str
|
|
148
|
+
"""Keypair"""
|
|
149
|
+
|
|
150
|
+
logging: Optional[Logging] = None
|
|
151
|
+
"""Logging configuration"""
|
|
152
|
+
|
|
153
|
+
name: str
|
|
154
|
+
"""Name"""
|
|
155
|
+
|
|
156
|
+
pools: List[K8sClusterPool]
|
|
157
|
+
"""pools"""
|
|
158
|
+
|
|
159
|
+
status: Literal["Deleting", "Provisioned", "Provisioning"]
|
|
160
|
+
"""Status"""
|
|
161
|
+
|
|
162
|
+
version: str
|
|
163
|
+
"""K8s version"""
|
|
164
|
+
|
|
165
|
+
authentication: Optional[Authentication] = None
|
|
166
|
+
"""Cluster authentication settings"""
|
|
167
|
+
|
|
168
|
+
autoscaler_config: Optional[Dict[str, str]] = None
|
|
169
|
+
"""
|
|
170
|
+
Cluster autoscaler configuration. It contains overrides to the default
|
|
171
|
+
cluster-autoscaler parameters provided by the platform.
|
|
172
|
+
"""
|
|
173
|
+
|
|
174
|
+
cni: Optional[Cni] = None
|
|
175
|
+
"""Cluster CNI settings"""
|
|
176
|
+
|
|
177
|
+
creator_task_id: Optional[str] = None
|
|
178
|
+
"""Task that created this entity"""
|
|
179
|
+
|
|
180
|
+
ddos_profile: Optional[DDOSProfile] = None
|
|
181
|
+
"""Advanced DDoS Protection profile"""
|
|
182
|
+
|
|
183
|
+
fixed_network: Optional[str] = None
|
|
184
|
+
"""Fixed network id"""
|
|
185
|
+
|
|
186
|
+
fixed_subnet: Optional[str] = None
|
|
187
|
+
"""Fixed subnet id"""
|
|
188
|
+
|
|
189
|
+
is_ipv6: Optional[bool] = None
|
|
190
|
+
"""Enable public v6 address"""
|
|
191
|
+
|
|
192
|
+
pods_ip_pool: Optional[str] = None
|
|
193
|
+
"""The IP pool for the pods"""
|
|
194
|
+
|
|
195
|
+
pods_ipv6_pool: Optional[str] = None
|
|
196
|
+
"""The IPv6 pool for the pods"""
|
|
197
|
+
|
|
198
|
+
services_ip_pool: Optional[str] = None
|
|
199
|
+
"""The IP pool for the services"""
|
|
200
|
+
|
|
201
|
+
services_ipv6_pool: Optional[str] = None
|
|
202
|
+
"""The IPv6 pool for the services"""
|
|
203
|
+
|
|
204
|
+
task_id: Optional[str] = None
|
|
205
|
+
"""The UUID of the active task that currently holds a lock on the resource.
|
|
206
|
+
|
|
207
|
+
This lock prevents concurrent modifications to ensure consistency. If `null`,
|
|
208
|
+
the resource is not locked.
|
|
209
|
+
"""
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from ...._models import BaseModel
|
|
4
|
+
|
|
5
|
+
__all__ = ["K8sClusterCertificate"]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class K8sClusterCertificate(BaseModel):
|
|
9
|
+
certificate: str
|
|
10
|
+
"""Cluster CA certificate"""
|
|
11
|
+
|
|
12
|
+
key: str
|
|
13
|
+
"""Cluster CA private key"""
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from ...._models import BaseModel
|
|
7
|
+
|
|
8
|
+
__all__ = ["K8sClusterKubeconfig"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class K8sClusterKubeconfig(BaseModel):
|
|
12
|
+
config: str
|
|
13
|
+
"""Cluster kubeconfig"""
|
|
14
|
+
|
|
15
|
+
created_at: Optional[datetime] = None
|
|
16
|
+
"""Kubeconfig creation date"""
|
|
17
|
+
|
|
18
|
+
expires_at: Optional[datetime] = None
|
|
19
|
+
"""Kubeconfig expiration date"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
from ...._models import BaseModel
|
|
6
|
+
from .k8s_cluster import K8sCluster
|
|
7
|
+
|
|
8
|
+
__all__ = ["K8sClusterList"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class K8sClusterList(BaseModel):
|
|
12
|
+
count: int
|
|
13
|
+
"""Number of objects"""
|
|
14
|
+
|
|
15
|
+
results: List[K8sCluster]
|
|
16
|
+
"""Objects"""
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from ..._models import BaseModel
|
|
4
|
+
|
|
5
|
+
__all__ = ["K8sClusterVersion"]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class K8sClusterVersion(BaseModel):
|
|
9
|
+
version: str
|
|
10
|
+
"""List of supported Kubernetes cluster versions"""
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
from typing import List
|
|
4
4
|
|
|
5
5
|
from ..._models import BaseModel
|
|
6
|
-
from .
|
|
6
|
+
from .k8s_cluster_version import K8sClusterVersion
|
|
7
7
|
|
|
8
|
-
__all__ = ["
|
|
8
|
+
__all__ = ["K8sClusterVersionList"]
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class
|
|
11
|
+
class K8sClusterVersionList(BaseModel):
|
|
12
12
|
count: int
|
|
13
13
|
"""Number of objects"""
|
|
14
14
|
|
|
15
|
-
results: List[
|
|
15
|
+
results: List[K8sClusterVersion]
|
|
16
16
|
"""Objects"""
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Dict,
|
|
5
|
+
from typing import Dict, Union, Iterable, Optional
|
|
6
6
|
from typing_extensions import Literal, Required, TypeAlias, TypedDict
|
|
7
7
|
|
|
8
|
+
from ..._types import SequenceNotStr
|
|
8
9
|
from .http_method import HTTPMethod
|
|
9
10
|
from .lb_algorithm import LbAlgorithm
|
|
10
11
|
from .lb_pool_protocol import LbPoolProtocol
|
|
@@ -216,7 +217,25 @@ class ListenerPoolMember(TypedDict, total=False):
|
|
|
216
217
|
"""
|
|
217
218
|
|
|
218
219
|
weight: int
|
|
219
|
-
"""Member weight.
|
|
220
|
+
"""Member weight.
|
|
221
|
+
|
|
222
|
+
Valid values are 0 < `weight` <= 256, defaults to 1. Controls traffic
|
|
223
|
+
distribution based on the pool's load balancing algorithm:
|
|
224
|
+
|
|
225
|
+
- `ROUND_ROBIN`: Distributes connections to each member in turn according to
|
|
226
|
+
weights. Higher weight = more turns in the cycle. Example: weights 3 vs 1 =
|
|
227
|
+
~75% vs ~25% of requests.
|
|
228
|
+
- `LEAST_CONNECTIONS`: Sends new connections to the member with fewest active
|
|
229
|
+
connections, performing round-robin within groups of the same normalized load.
|
|
230
|
+
Higher weight = allowed to hold more simultaneous connections before being
|
|
231
|
+
considered 'more loaded'. Example: weights 2 vs 1 means 20 vs 10 active
|
|
232
|
+
connections is treated as balanced.
|
|
233
|
+
- `SOURCE_IP`: Routes clients consistently to the same member by hashing client
|
|
234
|
+
source IP; hash result is modulo total weight of running members. Higher
|
|
235
|
+
weight = more hash buckets, so more client IPs map to that member. Example:
|
|
236
|
+
weights 2 vs 1 = roughly two-thirds of distinct client IPs map to the
|
|
237
|
+
higher-weight member.
|
|
238
|
+
"""
|
|
220
239
|
|
|
221
240
|
|
|
222
241
|
class ListenerPoolSessionPersistence(TypedDict, total=False):
|
|
@@ -295,7 +314,7 @@ class Listener(TypedDict, total=False):
|
|
|
295
314
|
protocol_port: Required[int]
|
|
296
315
|
"""Protocol port"""
|
|
297
316
|
|
|
298
|
-
allowed_cidrs: Optional[
|
|
317
|
+
allowed_cidrs: Optional[SequenceNotStr[str]]
|
|
299
318
|
"""Network CIDRs from which service will be accessible"""
|
|
300
319
|
|
|
301
320
|
connection_limit: int
|
|
@@ -316,7 +335,7 @@ class Listener(TypedDict, total=False):
|
|
|
316
335
|
PROMETHEUS listener
|
|
317
336
|
"""
|
|
318
337
|
|
|
319
|
-
sni_secret_id:
|
|
338
|
+
sni_secret_id: SequenceNotStr[str]
|
|
320
339
|
"""
|
|
321
340
|
List of secrets IDs containing PKCS12 format certificate/key bundles for
|
|
322
341
|
`TERMINATED_HTTPS` or PROMETHEUS listeners
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import List
|
|
6
5
|
from typing_extensions import TypedDict
|
|
7
6
|
|
|
7
|
+
from ..._types import SequenceNotStr
|
|
8
|
+
|
|
8
9
|
__all__ = ["LoadBalancerListParams"]
|
|
9
10
|
|
|
10
11
|
|
|
@@ -39,7 +40,7 @@ class LoadBalancerListParams(TypedDict, total=False):
|
|
|
39
40
|
show_stats: bool
|
|
40
41
|
"""Show statistics"""
|
|
41
42
|
|
|
42
|
-
tag_key:
|
|
43
|
+
tag_key: SequenceNotStr[str]
|
|
43
44
|
"""Filter by tag keys."""
|
|
44
45
|
|
|
45
46
|
tag_key_value: str
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import List
|
|
6
5
|
from typing_extensions import Literal, Required, TypedDict
|
|
7
6
|
|
|
7
|
+
from ....._types import SequenceNotStr
|
|
8
|
+
|
|
8
9
|
__all__ = ["RuleCreateParams"]
|
|
9
10
|
|
|
10
11
|
|
|
@@ -46,5 +47,5 @@ class RuleCreateParams(TypedDict, total=False):
|
|
|
46
47
|
For example, the name of the cookie to evaluate.
|
|
47
48
|
"""
|
|
48
49
|
|
|
49
|
-
tags:
|
|
50
|
+
tags: SequenceNotStr[str]
|
|
50
51
|
"""A list of simple strings assigned to the l7 rule"""
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import List
|
|
6
5
|
from typing_extensions import Literal, Required, TypedDict
|
|
7
6
|
|
|
7
|
+
from ....._types import SequenceNotStr
|
|
8
|
+
|
|
8
9
|
__all__ = ["RuleReplaceParams"]
|
|
9
10
|
|
|
10
11
|
|
|
@@ -31,7 +32,7 @@ class RuleReplaceParams(TypedDict, total=False):
|
|
|
31
32
|
For example, the name of the cookie to evaluate.
|
|
32
33
|
"""
|
|
33
34
|
|
|
34
|
-
tags:
|
|
35
|
+
tags: SequenceNotStr[str]
|
|
35
36
|
"""A list of simple strings assigned to the l7 rule"""
|
|
36
37
|
|
|
37
38
|
type: Literal[
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import List
|
|
6
5
|
from typing_extensions import Literal, Required, TypedDict
|
|
7
6
|
|
|
7
|
+
from ...._types import SequenceNotStr
|
|
8
|
+
|
|
8
9
|
__all__ = ["L7PolicyCreateParams"]
|
|
9
10
|
|
|
10
11
|
|
|
@@ -50,5 +51,5 @@ class L7PolicyCreateParams(TypedDict, total=False):
|
|
|
50
51
|
Only valid if action is `REDIRECT_TO_URL`.
|
|
51
52
|
"""
|
|
52
53
|
|
|
53
|
-
tags:
|
|
54
|
+
tags: SequenceNotStr[str]
|
|
54
55
|
"""A list of simple strings assigned to the resource."""
|