gcore 0.9.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 +26 -10
- gcore/resources/cloud/load_balancers/pools/members.py +34 -4
- 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/security/bgp_announces.py +15 -15
- 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/__init__.py +14 -0
- gcore/resources/waap/custom_page_sets.py +40 -34
- gcore/resources/waap/domains/__init__.py +14 -28
- gcore/resources/waap/domains/advanced_rules.py +7 -10
- gcore/resources/waap/domains/{api_discovery/api_discovery.py → api_discovery.py} +292 -59
- gcore/resources/waap/domains/api_path_groups.py +5 -5
- gcore/resources/waap/domains/api_paths.py +28 -30
- gcore/resources/waap/domains/custom_rules.py +7 -10
- gcore/resources/waap/domains/domains.py +124 -68
- gcore/resources/waap/domains/firewall_rules.py +5 -7
- gcore/resources/waap/domains/insight_silences.py +34 -11
- gcore/resources/waap/domains/insights.py +43 -17
- gcore/resources/waap/domains/statistics.py +977 -0
- gcore/resources/waap/insights.py +233 -0
- gcore/resources/waap/ip_info/__init__.py +33 -0
- gcore/resources/waap/{ip_info.py → ip_info/ip_info.py} +149 -235
- gcore/resources/waap/ip_info/metrics.py +203 -0
- gcore/resources/waap/waap.py +40 -8
- 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/health_monitor.py +6 -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/{waap/domains/analytics → cloud/k8s/clusters/pools}/__init__.py +1 -1
- 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 +31 -7
- 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 +27 -4
- gcore/types/cloud/load_balancers/pool_update_params.py +27 -4
- gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +7 -2
- gcore/types/cloud/load_balancers/pools/member_add_params.py +20 -2
- 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/region.py +0 -3
- 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/__init__.py +1 -1
- gcore/types/security/{bgp_announce_change_params.py → bgp_announce_toggle_params.py} +2 -2
- 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/__init__.py +6 -54
- gcore/types/waap/custom_page_set_create_params.py +121 -14
- gcore/types/waap/custom_page_set_preview_params.py +11 -4
- gcore/types/waap/custom_page_set_update_params.py +122 -15
- gcore/types/waap/domain_list_params.py +2 -4
- gcore/types/waap/domain_update_params.py +1 -1
- gcore/types/waap/domains/__init__.py +28 -18
- gcore/types/waap/domains/advanced_rule_create_params.py +7 -4
- gcore/types/waap/domains/advanced_rule_list_params.py +1 -3
- gcore/types/waap/domains/advanced_rule_update_params.py +6 -3
- gcore/types/waap/domains/{api_discovery/scan_result_list_params.py → api_discovery_list_scan_results_params.py} +2 -2
- gcore/types/waap/domains/api_path_create_params.py +4 -3
- gcore/types/waap/domains/{api_path_group_list_response.py → api_path_group_list.py} +2 -2
- 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_list_params.py +1 -3
- 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 +19 -7
- gcore/types/waap/domains/insight_replace_params.py +3 -5
- gcore/types/waap/domains/insight_silence_list_params.py +17 -6
- gcore/types/waap/domains/setting_update_params.py +3 -2
- gcore/types/waap/domains/{analytics_list_ddos_attacks_params.py → statistic_get_ddos_attacks_params.py} +2 -2
- gcore/types/waap/domains/statistic_get_ddos_info_params.py +28 -0
- gcore/types/waap/domains/statistic_get_events_aggregated_params.py +33 -0
- gcore/types/waap/domains/statistic_get_requests_series_params.py +74 -0
- gcore/types/waap/domains/statistic_get_traffic_series_params.py +22 -0
- gcore/types/waap/domains/statistic_get_traffic_series_response.py +10 -0
- gcore/types/waap/{waap_advanced_rule.py → domains/waap_advanced_rule.py} +4 -3
- gcore/types/waap/domains/{api_discovery_get_settings_response.py → waap_api_discovery_settings.py} +2 -2
- gcore/types/waap/domains/{api_path_get_response.py → waap_api_path.py} +6 -6
- gcore/types/waap/domains/{api_discovery/scan_result_get_response.py → waap_api_scan_result.py} +5 -5
- gcore/types/waap/{waap_blocked_statistics.py → domains/waap_blocked_statistics.py} +1 -1
- gcore/types/waap/{waap_count_statistics.py → domains/waap_count_statistics.py} +1 -1
- gcore/types/waap/{waap_custom_rule.py → domains/waap_custom_rule.py} +5 -8
- gcore/types/waap/{waap_ddos_attack.py → domains/waap_ddos_attack.py} +1 -1
- gcore/types/waap/{waap_ddos_info.py → domains/waap_ddos_info.py} +1 -1
- gcore/types/waap/{waap_event_statistics.py → domains/waap_event_statistics.py} +1 -1
- gcore/types/waap/{waap_firewall_rule.py → domains/waap_firewall_rule.py} +4 -3
- gcore/types/waap/{waap_insight.py → domains/waap_insight.py} +4 -4
- gcore/types/waap/{waap_insight_silence.py → domains/waap_insight_silence.py} +1 -1
- gcore/types/waap/domains/waap_request_details.py +186 -0
- gcore/types/waap/{waap_request_summary.py → domains/waap_request_summary.py} +1 -1
- gcore/types/waap/domains/{api_discovery_scan_openapi_response.py → waap_task_id.py} +2 -2
- gcore/types/waap/{waap_traffic_metrics.py → domains/waap_traffic_metrics.py} +1 -1
- gcore/types/waap/insight_list_types_params.py +28 -0
- gcore/types/waap/ip_info/__init__.py +6 -0
- gcore/types/waap/{ip_info_get_counts_params.py → ip_info/metric_list_params.py} +2 -2
- gcore/types/waap/{waap_ip_info_counts.py → ip_info/waap_ip_info_counts.py} +1 -1
- gcore/types/waap/{ip_info_get_params.py → ip_info_get_ip_info_params.py} +2 -2
- gcore/types/waap/{waap_ip_info.py → ip_info_get_ip_info_response.py} +2 -2
- gcore/types/waap/ip_info_get_top_urls_response.py +12 -3
- gcore/types/waap/{ip_info_get_top_sessions_params.py → ip_info_get_top_user_sessions_params.py} +2 -2
- gcore/types/waap/{ip_info_get_top_sessions_response.py → ip_info_get_top_user_sessions_response.py} +2 -2
- gcore/types/waap/waap_custom_page_set.py +113 -13
- gcore/types/waap/waap_detailed_domain.py +2 -2
- gcore/types/waap/waap_insight_type.py +33 -0
- gcore/types/waap/waap_ip_ddos_info_model.py +3 -3
- gcore/types/waap/waap_rule_set.py +26 -3
- gcore/types/waap/waap_summary_domain.py +2 -2
- {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/METADATA +7 -2
- {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/RECORD +362 -281
- gcore/resources/waap/domains/analytics/__init__.py +0 -33
- gcore/resources/waap/domains/analytics/analytics.py +0 -676
- gcore/resources/waap/domains/analytics/requests.py +0 -378
- gcore/resources/waap/domains/api_discovery/__init__.py +0 -33
- gcore/resources/waap/domains/api_discovery/scan_results.py +0 -352
- gcore/resources/waap/domains/policies.py +0 -173
- 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/types/waap/domains/analytics/request_list_params.py +0 -53
- gcore/types/waap/domains/analytics_get_event_statistics_params.py +0 -34
- gcore/types/waap/domains/analytics_list_ddos_info_params.py +0 -31
- gcore/types/waap/domains/analytics_list_event_traffic_params.py +0 -26
- gcore/types/waap/domains/analytics_list_event_traffic_response.py +0 -10
- gcore/types/waap/domains/api_discovery/__init__.py +0 -7
- gcore/types/waap/domains/api_discovery/scan_result_list_response.py +0 -29
- gcore/types/waap/domains/api_discovery_update_settings_response.py +0 -36
- gcore/types/waap/domains/api_discovery_upload_openapi_response.py +0 -10
- gcore/types/waap/domains/api_path_create_response.py +0 -50
- gcore/types/waap/domains/api_path_list_response.py +0 -50
- gcore/types/waap/waap_block_csrf_page_data.py +0 -28
- gcore/types/waap/waap_block_csrf_page_data_param.py +0 -28
- gcore/types/waap/waap_block_page_data.py +0 -28
- gcore/types/waap/waap_block_page_data_param.py +0 -28
- gcore/types/waap/waap_captcha_page_data.py +0 -31
- gcore/types/waap/waap_captcha_page_data_param.py +0 -31
- gcore/types/waap/waap_common_tag.py +0 -16
- gcore/types/waap/waap_cookie_disabled_page_data.py +0 -18
- gcore/types/waap/waap_cookie_disabled_page_data_param.py +0 -18
- gcore/types/waap/waap_customer_rule_state.py +0 -7
- gcore/types/waap/waap_domain_policy.py +0 -29
- gcore/types/waap/waap_domain_status.py +0 -7
- gcore/types/waap/waap_handshake_page_data.py +0 -25
- gcore/types/waap/waap_handshake_page_data_param.py +0 -25
- gcore/types/waap/waap_insight_silence_sort_by.py +0 -9
- gcore/types/waap/waap_insight_sort_by.py +0 -20
- gcore/types/waap/waap_insight_status.py +0 -7
- gcore/types/waap/waap_javascript_disabled_page_data.py +0 -18
- gcore/types/waap/waap_javascript_disabled_page_data_param.py +0 -18
- gcore/types/waap/waap_network_details.py +0 -17
- gcore/types/waap/waap_page_type.py +0 -9
- gcore/types/waap/waap_paginated_custom_page_set.py +0 -22
- gcore/types/waap/waap_paginated_ddos_attack.py +0 -22
- gcore/types/waap/waap_paginated_ddos_info.py +0 -22
- gcore/types/waap/waap_paginated_request_summary.py +0 -22
- gcore/types/waap/waap_pattern_matched_tag.py +0 -37
- gcore/types/waap/waap_policy_action.py +0 -7
- gcore/types/waap/waap_request_details.py +0 -92
- gcore/types/waap/waap_request_organization.py +0 -13
- gcore/types/waap/waap_resolution.py +0 -7
- gcore/types/waap/waap_rule_action_type.py +0 -7
- gcore/types/waap/waap_top_url.py +0 -13
- gcore/types/waap/waap_traffic_type.py +0 -28
- gcore/types/waap/waap_user_agent_details.py +0 -40
- {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/WHEEL +0 -0
- {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import
|
|
5
|
+
from typing import Union
|
|
6
6
|
from datetime import datetime
|
|
7
7
|
from typing_extensions import Literal, Annotated, TypedDict
|
|
8
8
|
|
|
9
|
+
from ..._types import SequenceNotStr
|
|
9
10
|
from ..._utils import PropertyInfo
|
|
10
11
|
|
|
11
12
|
__all__ = ["InstanceListParams"]
|
|
@@ -120,7 +121,7 @@ class InstanceListParams(TypedDict, total=False):
|
|
|
120
121
|
tag_key_value: str
|
|
121
122
|
"""Optional. Filter by tag key-value pairs."""
|
|
122
123
|
|
|
123
|
-
tag_value:
|
|
124
|
+
tag_value: SequenceNotStr[str]
|
|
124
125
|
"""Optional. Filter by tag values. ?`tag_value`=value1&`tag_value`=value2"""
|
|
125
126
|
|
|
126
127
|
type_ddos_profile: Literal["basic", "advanced"]
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import
|
|
5
|
+
from typing import Iterable, Optional
|
|
6
6
|
from typing_extensions import Required, TypedDict
|
|
7
7
|
|
|
8
|
+
from ..._types import SequenceNotStr
|
|
9
|
+
|
|
8
10
|
__all__ = ["InstanceUnassignSecurityGroupParams", "PortsSecurityGroupName"]
|
|
9
11
|
|
|
10
12
|
|
|
@@ -24,5 +26,5 @@ class PortsSecurityGroupName(TypedDict, total=False):
|
|
|
24
26
|
port_id: Required[Optional[str]]
|
|
25
27
|
"""Port ID. If None, security groups will be applied to all ports"""
|
|
26
28
|
|
|
27
|
-
security_group_names: Required[
|
|
29
|
+
security_group_names: Required[SequenceNotStr[str]]
|
|
28
30
|
"""List of security group names"""
|
|
@@ -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, TypedDict
|
|
7
6
|
|
|
7
|
+
from ...._types import SequenceNotStr
|
|
8
|
+
|
|
8
9
|
__all__ = ["ImageListParams"]
|
|
9
10
|
|
|
10
11
|
|
|
@@ -19,7 +20,7 @@ class ImageListParams(TypedDict, total=False):
|
|
|
19
20
|
private: str
|
|
20
21
|
"""Any value to show private images"""
|
|
21
22
|
|
|
22
|
-
tag_key:
|
|
23
|
+
tag_key: SequenceNotStr[str]
|
|
23
24
|
"""Filter by tag keys."""
|
|
24
25
|
|
|
25
26
|
tag_key_value: str
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from .k8s_cluster import K8sCluster as K8sCluster
|
|
6
|
+
from .k8s_cluster_list import K8sClusterList as K8sClusterList
|
|
7
|
+
from .flavor_list_params import FlavorListParams as FlavorListParams
|
|
8
|
+
from .cluster_create_params import ClusterCreateParams as ClusterCreateParams
|
|
9
|
+
from .cluster_delete_params import ClusterDeleteParams as ClusterDeleteParams
|
|
10
|
+
from .cluster_update_params import ClusterUpdateParams as ClusterUpdateParams
|
|
11
|
+
from .cluster_upgrade_params import ClusterUpgradeParams as ClusterUpgradeParams
|
|
12
|
+
from .k8s_cluster_kubeconfig import K8sClusterKubeconfig as K8sClusterKubeconfig
|
|
13
|
+
from .k8s_cluster_certificate import K8sClusterCertificate as K8sClusterCertificate
|
|
@@ -0,0 +1,299 @@
|
|
|
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, List, Iterable, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
|
+
|
|
8
|
+
from ..laas_index_retention_policy_param import LaasIndexRetentionPolicyParam
|
|
9
|
+
|
|
10
|
+
__all__ = [
|
|
11
|
+
"ClusterCreateParams",
|
|
12
|
+
"Pool",
|
|
13
|
+
"Authentication",
|
|
14
|
+
"AuthenticationOidc",
|
|
15
|
+
"Cni",
|
|
16
|
+
"CniCilium",
|
|
17
|
+
"Csi",
|
|
18
|
+
"CsiNfs",
|
|
19
|
+
"DDOSProfile",
|
|
20
|
+
"DDOSProfileField",
|
|
21
|
+
"Logging",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ClusterCreateParams(TypedDict, total=False):
|
|
26
|
+
project_id: int
|
|
27
|
+
|
|
28
|
+
region_id: int
|
|
29
|
+
|
|
30
|
+
keypair: Required[str]
|
|
31
|
+
"""The keypair of the cluster"""
|
|
32
|
+
|
|
33
|
+
name: Required[str]
|
|
34
|
+
"""The name of the cluster"""
|
|
35
|
+
|
|
36
|
+
pools: Required[Iterable[Pool]]
|
|
37
|
+
"""The pools of the cluster"""
|
|
38
|
+
|
|
39
|
+
version: Required[str]
|
|
40
|
+
"""The version of the k8s cluster"""
|
|
41
|
+
|
|
42
|
+
authentication: Optional[Authentication]
|
|
43
|
+
"""Authentication settings"""
|
|
44
|
+
|
|
45
|
+
autoscaler_config: Optional[Dict[str, str]]
|
|
46
|
+
"""
|
|
47
|
+
Cluster autoscaler configuration. It allows you to override the default
|
|
48
|
+
cluster-autoscaler parameters provided by the platform with your preferred
|
|
49
|
+
values. Supported parameters (in alphabetical order):
|
|
50
|
+
|
|
51
|
+
- balance-similar-node-groups (boolean: true/false) - Detect similar node groups
|
|
52
|
+
and balance the number of nodes between them.
|
|
53
|
+
- expander (string: random, most-pods, least-waste, price, priority, grpc) -
|
|
54
|
+
Type of node group expander to be used in scale up. Specifying multiple values
|
|
55
|
+
separated by commas will call the expanders in succession until there is only
|
|
56
|
+
one option remaining.
|
|
57
|
+
- expendable-pods-priority-cutoff (float) - Pods with priority below cutoff will
|
|
58
|
+
be expendable. They can be killed without any consideration during scale down
|
|
59
|
+
and they don't cause scale up. Pods with null priority (PodPriority disabled)
|
|
60
|
+
are non expendable.
|
|
61
|
+
- ignore-daemonsets-utilization (boolean: true/false) - Should CA ignore
|
|
62
|
+
DaemonSet pods when calculating resource utilization for scaling down.
|
|
63
|
+
- max-empty-bulk-delete (integer) - Maximum number of empty nodes that can be
|
|
64
|
+
deleted at the same time.
|
|
65
|
+
- max-graceful-termination-sec (integer) - Maximum number of seconds CA waits
|
|
66
|
+
for pod termination when trying to scale down a node.
|
|
67
|
+
- max-node-provision-time (duration: e.g., '15m') - The default maximum time CA
|
|
68
|
+
waits for node to be provisioned - the value can be overridden per node group.
|
|
69
|
+
- max-total-unready-percentage (float) - Maximum percentage of unready nodes in
|
|
70
|
+
the cluster. After this is exceeded, CA halts operations.
|
|
71
|
+
- new-pod-scale-up-delay (duration: e.g., '10s') - Pods less than this old will
|
|
72
|
+
not be considered for scale-up. Can be increased for individual pods through
|
|
73
|
+
annotation.
|
|
74
|
+
- ok-total-unready-count (integer) - Number of allowed unready nodes,
|
|
75
|
+
irrespective of max-total-unready-percentage.
|
|
76
|
+
- scale-down-delay-after-add (duration: e.g., '10m') - How long after scale up
|
|
77
|
+
that scale down evaluation resumes.
|
|
78
|
+
- scale-down-delay-after-delete (duration: e.g., '10s') - How long after node
|
|
79
|
+
deletion that scale down evaluation resumes.
|
|
80
|
+
- scale-down-delay-after-failure (duration: e.g., '3m') - How long after scale
|
|
81
|
+
down failure that scale down evaluation resumes.
|
|
82
|
+
- scale-down-enabled (boolean: true/false) - Should CA scale down the cluster.
|
|
83
|
+
- scale-down-unneeded-time (duration: e.g., '10m') - How long a node should be
|
|
84
|
+
unneeded before it is eligible for scale down.
|
|
85
|
+
- scale-down-unready-time (duration: e.g., '20m') - How long an unready node
|
|
86
|
+
should be unneeded before it is eligible for scale down.
|
|
87
|
+
- scale-down-utilization-threshold (float) - The maximum value between the sum
|
|
88
|
+
of cpu requests and sum of memory requests of all pods running on the node
|
|
89
|
+
divided by node's corresponding allocatable resource, below which a node can
|
|
90
|
+
be considered for scale down.
|
|
91
|
+
- scan-interval (duration: e.g., '10s') - How often cluster is reevaluated for
|
|
92
|
+
scale up or down.
|
|
93
|
+
- skip-nodes-with-custom-controller-pods (boolean: true/false) - If true cluster
|
|
94
|
+
autoscaler will never delete nodes with pods owned by custom controllers.
|
|
95
|
+
- skip-nodes-with-local-storage (boolean: true/false) - If true cluster
|
|
96
|
+
autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir
|
|
97
|
+
or HostPath.
|
|
98
|
+
- skip-nodes-with-system-pods (boolean: true/false) - If true cluster autoscaler
|
|
99
|
+
will never delete nodes with pods from kube-system (except for DaemonSet or
|
|
100
|
+
mirror pods).
|
|
101
|
+
"""
|
|
102
|
+
|
|
103
|
+
cni: Optional[Cni]
|
|
104
|
+
"""Cluster CNI settings"""
|
|
105
|
+
|
|
106
|
+
csi: Csi
|
|
107
|
+
"""Container Storage Interface (CSI) driver settings"""
|
|
108
|
+
|
|
109
|
+
ddos_profile: Optional[DDOSProfile]
|
|
110
|
+
"""Advanced DDoS Protection profile"""
|
|
111
|
+
|
|
112
|
+
fixed_network: Optional[str]
|
|
113
|
+
"""The network of the cluster"""
|
|
114
|
+
|
|
115
|
+
fixed_subnet: Optional[str]
|
|
116
|
+
"""The subnet of the cluster"""
|
|
117
|
+
|
|
118
|
+
is_ipv6: Optional[bool]
|
|
119
|
+
"""Enable public v6 address"""
|
|
120
|
+
|
|
121
|
+
logging: Optional[Logging]
|
|
122
|
+
"""Logging configuration"""
|
|
123
|
+
|
|
124
|
+
pods_ip_pool: Optional[str]
|
|
125
|
+
"""The IP pool for the pods"""
|
|
126
|
+
|
|
127
|
+
pods_ipv6_pool: Optional[str]
|
|
128
|
+
"""The IPv6 pool for the pods"""
|
|
129
|
+
|
|
130
|
+
services_ip_pool: Optional[str]
|
|
131
|
+
"""The IP pool for the services"""
|
|
132
|
+
|
|
133
|
+
services_ipv6_pool: Optional[str]
|
|
134
|
+
"""The IPv6 pool for the services"""
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class Pool(TypedDict, total=False):
|
|
138
|
+
flavor_id: Required[str]
|
|
139
|
+
"""Flavor ID"""
|
|
140
|
+
|
|
141
|
+
min_node_count: Required[int]
|
|
142
|
+
"""Minimum node count"""
|
|
143
|
+
|
|
144
|
+
name: Required[str]
|
|
145
|
+
"""Pool's name"""
|
|
146
|
+
|
|
147
|
+
auto_healing_enabled: Optional[bool]
|
|
148
|
+
"""Enable auto healing"""
|
|
149
|
+
|
|
150
|
+
boot_volume_size: Optional[int]
|
|
151
|
+
"""Boot volume size"""
|
|
152
|
+
|
|
153
|
+
boot_volume_type: Optional[Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]]
|
|
154
|
+
"""Boot volume type"""
|
|
155
|
+
|
|
156
|
+
crio_config: Optional[Dict[str, str]]
|
|
157
|
+
"""Cri-o configuration for pool nodes"""
|
|
158
|
+
|
|
159
|
+
is_public_ipv4: Optional[bool]
|
|
160
|
+
"""Enable public v4 address"""
|
|
161
|
+
|
|
162
|
+
kubelet_config: Optional[Dict[str, str]]
|
|
163
|
+
"""Kubelet configuration for pool nodes"""
|
|
164
|
+
|
|
165
|
+
labels: Optional[Dict[str, str]]
|
|
166
|
+
"""Labels applied to the cluster pool"""
|
|
167
|
+
|
|
168
|
+
max_node_count: Optional[int]
|
|
169
|
+
"""Maximum node count"""
|
|
170
|
+
|
|
171
|
+
servergroup_policy: Optional[Literal["affinity", "anti-affinity", "soft-anti-affinity"]]
|
|
172
|
+
"""Server group policy: anti-affinity, soft-anti-affinity or affinity"""
|
|
173
|
+
|
|
174
|
+
taints: Optional[Dict[str, str]]
|
|
175
|
+
"""Taints applied to the cluster pool"""
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
class AuthenticationOidc(TypedDict, total=False):
|
|
179
|
+
client_id: Optional[str]
|
|
180
|
+
"""Client ID"""
|
|
181
|
+
|
|
182
|
+
groups_claim: Optional[str]
|
|
183
|
+
"""JWT claim to use as the user's group"""
|
|
184
|
+
|
|
185
|
+
groups_prefix: Optional[str]
|
|
186
|
+
"""Prefix prepended to group claims"""
|
|
187
|
+
|
|
188
|
+
issuer_url: Optional[str]
|
|
189
|
+
"""Issuer URL"""
|
|
190
|
+
|
|
191
|
+
required_claims: Optional[Dict[str, str]]
|
|
192
|
+
"""Key-value pairs that describe required claims in the token"""
|
|
193
|
+
|
|
194
|
+
signing_algs: Optional[
|
|
195
|
+
List[Literal["ES256", "ES384", "ES512", "PS256", "PS384", "PS512", "RS256", "RS384", "RS512"]]
|
|
196
|
+
]
|
|
197
|
+
"""Accepted signing algorithms"""
|
|
198
|
+
|
|
199
|
+
username_claim: Optional[str]
|
|
200
|
+
"""JWT claim to use as the user name"""
|
|
201
|
+
|
|
202
|
+
username_prefix: Optional[str]
|
|
203
|
+
"""Prefix prepended to username claims to prevent clashes"""
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
class Authentication(TypedDict, total=False):
|
|
207
|
+
oidc: Optional[AuthenticationOidc]
|
|
208
|
+
"""OIDC authentication settings"""
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
class CniCilium(TypedDict, total=False):
|
|
212
|
+
encryption: bool
|
|
213
|
+
"""Wireguard encryption"""
|
|
214
|
+
|
|
215
|
+
hubble_relay: bool
|
|
216
|
+
"""Hubble Relay"""
|
|
217
|
+
|
|
218
|
+
hubble_ui: bool
|
|
219
|
+
"""Hubble UI"""
|
|
220
|
+
|
|
221
|
+
lb_acceleration: bool
|
|
222
|
+
"""LoadBalancer acceleration"""
|
|
223
|
+
|
|
224
|
+
lb_mode: Literal["dsr", "hybrid", "snat"]
|
|
225
|
+
"""LoadBalancer mode"""
|
|
226
|
+
|
|
227
|
+
mask_size: int
|
|
228
|
+
"""Mask size for IPv4"""
|
|
229
|
+
|
|
230
|
+
mask_size_v6: int
|
|
231
|
+
"""Mask size for IPv6"""
|
|
232
|
+
|
|
233
|
+
routing_mode: Literal["native", "tunnel"]
|
|
234
|
+
"""Routing mode"""
|
|
235
|
+
|
|
236
|
+
tunnel: Literal["", "geneve", "vxlan"]
|
|
237
|
+
"""CNI provider"""
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
class Cni(TypedDict, total=False):
|
|
241
|
+
cilium: Optional[CniCilium]
|
|
242
|
+
"""Cilium settings"""
|
|
243
|
+
|
|
244
|
+
provider: Literal["calico", "cilium"]
|
|
245
|
+
"""CNI provider"""
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
class CsiNfs(TypedDict, total=False):
|
|
249
|
+
vast_enabled: bool
|
|
250
|
+
"""Enable or disable VAST NFS integration.
|
|
251
|
+
|
|
252
|
+
The default value is `false`. When set to `true`, a dedicated StorageClass will
|
|
253
|
+
be created in the cluster for each VAST NFS file share defined in the cloud. All
|
|
254
|
+
file shares created prior to cluster creation will be available immediately,
|
|
255
|
+
while those created afterward may take a few minutes for to appear.
|
|
256
|
+
"""
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
class Csi(TypedDict, total=False):
|
|
260
|
+
nfs: CsiNfs
|
|
261
|
+
"""NFS CSI driver settings"""
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
class DDOSProfileField(TypedDict, total=False):
|
|
265
|
+
base_field: Required[int]
|
|
266
|
+
|
|
267
|
+
field_value: object
|
|
268
|
+
"""Complex value. Only one of 'value' or '`field_value`' must be specified"""
|
|
269
|
+
|
|
270
|
+
value: Optional[str]
|
|
271
|
+
"""Basic value. Only one of 'value' or '`field_value`' must be specified"""
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
class DDOSProfile(TypedDict, total=False):
|
|
275
|
+
enabled: Required[bool]
|
|
276
|
+
"""Enable advanced DDoS protection"""
|
|
277
|
+
|
|
278
|
+
fields: Iterable[DDOSProfileField]
|
|
279
|
+
"""DDoS profile parameters"""
|
|
280
|
+
|
|
281
|
+
profile_template: Optional[int]
|
|
282
|
+
"""DDoS profile template ID"""
|
|
283
|
+
|
|
284
|
+
profile_template_name: Optional[str]
|
|
285
|
+
"""DDoS profile template name"""
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
class Logging(TypedDict, total=False):
|
|
289
|
+
destination_region_id: Optional[int]
|
|
290
|
+
"""Destination region id to which the logs will be written"""
|
|
291
|
+
|
|
292
|
+
enabled: bool
|
|
293
|
+
"""Enable/disable forwarding logs to LaaS"""
|
|
294
|
+
|
|
295
|
+
retention_policy: Optional[LaasIndexRetentionPolicyParam]
|
|
296
|
+
"""The logs retention policy"""
|
|
297
|
+
|
|
298
|
+
topic_name: Optional[str]
|
|
299
|
+
"""The topic name to which the logs will be written"""
|
|
@@ -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__ = ["ClusterDeleteParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ClusterDeleteParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
|
|
13
|
+
region_id: int
|
|
14
|
+
|
|
15
|
+
volumes: str
|
|
16
|
+
"""Comma separated list of volume IDs to be deleted with the cluster"""
|
|
@@ -0,0 +1,203 @@
|
|
|
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, List, Iterable, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
|
+
|
|
8
|
+
from ..laas_index_retention_policy_param import LaasIndexRetentionPolicyParam
|
|
9
|
+
|
|
10
|
+
__all__ = [
|
|
11
|
+
"ClusterUpdateParams",
|
|
12
|
+
"Authentication",
|
|
13
|
+
"AuthenticationOidc",
|
|
14
|
+
"Cni",
|
|
15
|
+
"CniCilium",
|
|
16
|
+
"DDOSProfile",
|
|
17
|
+
"DDOSProfileField",
|
|
18
|
+
"Logging",
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ClusterUpdateParams(TypedDict, total=False):
|
|
23
|
+
project_id: int
|
|
24
|
+
|
|
25
|
+
region_id: int
|
|
26
|
+
|
|
27
|
+
authentication: Optional[Authentication]
|
|
28
|
+
"""Authentication settings"""
|
|
29
|
+
|
|
30
|
+
autoscaler_config: Optional[Dict[str, str]]
|
|
31
|
+
"""
|
|
32
|
+
Cluster autoscaler configuration. It allows you to override the default
|
|
33
|
+
cluster-autoscaler parameters provided by the platform with your preferred
|
|
34
|
+
values. Supported parameters (in alphabetical order):
|
|
35
|
+
|
|
36
|
+
- balance-similar-node-groups (boolean: true/false) - Detect similar node groups
|
|
37
|
+
and balance the number of nodes between them.
|
|
38
|
+
- expander (string: random, most-pods, least-waste, price, priority, grpc) -
|
|
39
|
+
Type of node group expander to be used in scale up. Specifying multiple values
|
|
40
|
+
separated by commas will call the expanders in succession until there is only
|
|
41
|
+
one option remaining.
|
|
42
|
+
- expendable-pods-priority-cutoff (float) - Pods with priority below cutoff will
|
|
43
|
+
be expendable. They can be killed without any consideration during scale down
|
|
44
|
+
and they don't cause scale up. Pods with null priority (PodPriority disabled)
|
|
45
|
+
are non expendable.
|
|
46
|
+
- ignore-daemonsets-utilization (boolean: true/false) - Should CA ignore
|
|
47
|
+
DaemonSet pods when calculating resource utilization for scaling down.
|
|
48
|
+
- max-empty-bulk-delete (integer) - Maximum number of empty nodes that can be
|
|
49
|
+
deleted at the same time.
|
|
50
|
+
- max-graceful-termination-sec (integer) - Maximum number of seconds CA waits
|
|
51
|
+
for pod termination when trying to scale down a node.
|
|
52
|
+
- max-node-provision-time (duration: e.g., '15m') - The default maximum time CA
|
|
53
|
+
waits for node to be provisioned - the value can be overridden per node group.
|
|
54
|
+
- max-total-unready-percentage (float) - Maximum percentage of unready nodes in
|
|
55
|
+
the cluster. After this is exceeded, CA halts operations.
|
|
56
|
+
- new-pod-scale-up-delay (duration: e.g., '10s') - Pods less than this old will
|
|
57
|
+
not be considered for scale-up. Can be increased for individual pods through
|
|
58
|
+
annotation.
|
|
59
|
+
- ok-total-unready-count (integer) - Number of allowed unready nodes,
|
|
60
|
+
irrespective of max-total-unready-percentage.
|
|
61
|
+
- scale-down-delay-after-add (duration: e.g., '10m') - How long after scale up
|
|
62
|
+
that scale down evaluation resumes.
|
|
63
|
+
- scale-down-delay-after-delete (duration: e.g., '10s') - How long after node
|
|
64
|
+
deletion that scale down evaluation resumes.
|
|
65
|
+
- scale-down-delay-after-failure (duration: e.g., '3m') - How long after scale
|
|
66
|
+
down failure that scale down evaluation resumes.
|
|
67
|
+
- scale-down-enabled (boolean: true/false) - Should CA scale down the cluster.
|
|
68
|
+
- scale-down-unneeded-time (duration: e.g., '10m') - How long a node should be
|
|
69
|
+
unneeded before it is eligible for scale down.
|
|
70
|
+
- scale-down-unready-time (duration: e.g., '20m') - How long an unready node
|
|
71
|
+
should be unneeded before it is eligible for scale down.
|
|
72
|
+
- scale-down-utilization-threshold (float) - The maximum value between the sum
|
|
73
|
+
of cpu requests and sum of memory requests of all pods running on the node
|
|
74
|
+
divided by node's corresponding allocatable resource, below which a node can
|
|
75
|
+
be considered for scale down.
|
|
76
|
+
- scan-interval (duration: e.g., '10s') - How often cluster is reevaluated for
|
|
77
|
+
scale up or down.
|
|
78
|
+
- skip-nodes-with-custom-controller-pods (boolean: true/false) - If true cluster
|
|
79
|
+
autoscaler will never delete nodes with pods owned by custom controllers.
|
|
80
|
+
- skip-nodes-with-local-storage (boolean: true/false) - If true cluster
|
|
81
|
+
autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir
|
|
82
|
+
or HostPath.
|
|
83
|
+
- skip-nodes-with-system-pods (boolean: true/false) - If true cluster autoscaler
|
|
84
|
+
will never delete nodes with pods from kube-system (except for DaemonSet or
|
|
85
|
+
mirror pods).
|
|
86
|
+
"""
|
|
87
|
+
|
|
88
|
+
cni: Optional[Cni]
|
|
89
|
+
"""Cluster CNI settings"""
|
|
90
|
+
|
|
91
|
+
ddos_profile: Optional[DDOSProfile]
|
|
92
|
+
"""Advanced DDoS Protection profile"""
|
|
93
|
+
|
|
94
|
+
logging: Optional[Logging]
|
|
95
|
+
"""Logging configuration"""
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
class AuthenticationOidc(TypedDict, total=False):
|
|
99
|
+
client_id: Optional[str]
|
|
100
|
+
"""Client ID"""
|
|
101
|
+
|
|
102
|
+
groups_claim: Optional[str]
|
|
103
|
+
"""JWT claim to use as the user's group"""
|
|
104
|
+
|
|
105
|
+
groups_prefix: Optional[str]
|
|
106
|
+
"""Prefix prepended to group claims"""
|
|
107
|
+
|
|
108
|
+
issuer_url: Optional[str]
|
|
109
|
+
"""Issuer URL"""
|
|
110
|
+
|
|
111
|
+
required_claims: Optional[Dict[str, str]]
|
|
112
|
+
"""Key-value pairs that describe required claims in the token"""
|
|
113
|
+
|
|
114
|
+
signing_algs: Optional[
|
|
115
|
+
List[Literal["ES256", "ES384", "ES512", "PS256", "PS384", "PS512", "RS256", "RS384", "RS512"]]
|
|
116
|
+
]
|
|
117
|
+
"""Accepted signing algorithms"""
|
|
118
|
+
|
|
119
|
+
username_claim: Optional[str]
|
|
120
|
+
"""JWT claim to use as the user name"""
|
|
121
|
+
|
|
122
|
+
username_prefix: Optional[str]
|
|
123
|
+
"""Prefix prepended to username claims to prevent clashes"""
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
class Authentication(TypedDict, total=False):
|
|
127
|
+
oidc: Optional[AuthenticationOidc]
|
|
128
|
+
"""OIDC authentication settings"""
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
class CniCilium(TypedDict, total=False):
|
|
132
|
+
encryption: bool
|
|
133
|
+
"""Wireguard encryption"""
|
|
134
|
+
|
|
135
|
+
hubble_relay: bool
|
|
136
|
+
"""Hubble Relay"""
|
|
137
|
+
|
|
138
|
+
hubble_ui: bool
|
|
139
|
+
"""Hubble UI"""
|
|
140
|
+
|
|
141
|
+
lb_acceleration: bool
|
|
142
|
+
"""LoadBalancer acceleration"""
|
|
143
|
+
|
|
144
|
+
lb_mode: Literal["dsr", "hybrid", "snat"]
|
|
145
|
+
"""LoadBalancer mode"""
|
|
146
|
+
|
|
147
|
+
mask_size: int
|
|
148
|
+
"""Mask size for IPv4"""
|
|
149
|
+
|
|
150
|
+
mask_size_v6: int
|
|
151
|
+
"""Mask size for IPv6"""
|
|
152
|
+
|
|
153
|
+
routing_mode: Literal["native", "tunnel"]
|
|
154
|
+
"""Routing mode"""
|
|
155
|
+
|
|
156
|
+
tunnel: Literal["", "geneve", "vxlan"]
|
|
157
|
+
"""CNI provider"""
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
class Cni(TypedDict, total=False):
|
|
161
|
+
cilium: Optional[CniCilium]
|
|
162
|
+
"""Cilium settings"""
|
|
163
|
+
|
|
164
|
+
provider: Literal["calico", "cilium"]
|
|
165
|
+
"""CNI provider"""
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
class DDOSProfileField(TypedDict, total=False):
|
|
169
|
+
base_field: Required[int]
|
|
170
|
+
|
|
171
|
+
field_value: object
|
|
172
|
+
"""Complex value. Only one of 'value' or '`field_value`' must be specified"""
|
|
173
|
+
|
|
174
|
+
value: Optional[str]
|
|
175
|
+
"""Basic value. Only one of 'value' or '`field_value`' must be specified"""
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
class DDOSProfile(TypedDict, total=False):
|
|
179
|
+
enabled: Required[bool]
|
|
180
|
+
"""Enable advanced DDoS protection"""
|
|
181
|
+
|
|
182
|
+
fields: Iterable[DDOSProfileField]
|
|
183
|
+
"""DDoS profile parameters"""
|
|
184
|
+
|
|
185
|
+
profile_template: Optional[int]
|
|
186
|
+
"""DDoS profile template ID"""
|
|
187
|
+
|
|
188
|
+
profile_template_name: Optional[str]
|
|
189
|
+
"""DDoS profile template name"""
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
class Logging(TypedDict, total=False):
|
|
193
|
+
destination_region_id: Optional[int]
|
|
194
|
+
"""Destination region id to which the logs will be written"""
|
|
195
|
+
|
|
196
|
+
enabled: bool
|
|
197
|
+
"""Enable/disable forwarding logs to LaaS"""
|
|
198
|
+
|
|
199
|
+
retention_policy: Optional[LaasIndexRetentionPolicyParam]
|
|
200
|
+
"""The logs retention policy"""
|
|
201
|
+
|
|
202
|
+
topic_name: Optional[str]
|
|
203
|
+
"""The topic name to which the logs will be written"""
|
|
@@ -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 Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["ClusterUpgradeParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ClusterUpgradeParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
|
|
13
|
+
region_id: int
|
|
14
|
+
|
|
15
|
+
version: Required[str]
|
|
16
|
+
"""Target k8s cluster version"""
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from .k8s_cluster_pool import K8sClusterPool as K8sClusterPool
|
|
6
|
+
from .node_list_params import NodeListParams as NodeListParams
|
|
7
|
+
from .pool_create_params import PoolCreateParams as PoolCreateParams
|
|
8
|
+
from .pool_resize_params import PoolResizeParams as PoolResizeParams
|
|
9
|
+
from .pool_update_params import PoolUpdateParams as PoolUpdateParams
|
|
10
|
+
from .k8s_cluster_pool_list import K8sClusterPoolList as K8sClusterPoolList
|