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,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Dict,
|
|
5
|
+
from typing import Dict, Optional
|
|
6
6
|
from typing_extensions import Literal
|
|
7
7
|
|
|
8
8
|
import httpx
|
|
@@ -23,7 +23,7 @@ from .subnets import (
|
|
|
23
23
|
SubnetsResourceWithStreamingResponse,
|
|
24
24
|
AsyncSubnetsResourceWithStreamingResponse,
|
|
25
25
|
)
|
|
26
|
-
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
|
|
26
|
+
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven, SequenceNotStr
|
|
27
27
|
from ...._utils import maybe_transform, async_maybe_transform
|
|
28
28
|
from ...._compat import cached_property
|
|
29
29
|
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
@@ -136,6 +136,56 @@ class NetworksResource(SyncAPIResource):
|
|
|
136
136
|
cast_to=TaskIDList,
|
|
137
137
|
)
|
|
138
138
|
|
|
139
|
+
def create_and_poll(
|
|
140
|
+
self,
|
|
141
|
+
*,
|
|
142
|
+
project_id: int | None = None,
|
|
143
|
+
region_id: int | None = None,
|
|
144
|
+
name: str,
|
|
145
|
+
create_router: bool | NotGiven = NOT_GIVEN,
|
|
146
|
+
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
147
|
+
type: Literal["vlan", "vxlan"] | NotGiven = NOT_GIVEN,
|
|
148
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
149
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
150
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
151
|
+
extra_headers: Headers | None = None,
|
|
152
|
+
extra_query: Query | None = None,
|
|
153
|
+
extra_body: Body | None = None,
|
|
154
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
155
|
+
) -> Network:
|
|
156
|
+
"""Create network and poll for the result."""
|
|
157
|
+
response = self.create(
|
|
158
|
+
project_id=project_id,
|
|
159
|
+
region_id=region_id,
|
|
160
|
+
name=name,
|
|
161
|
+
create_router=create_router,
|
|
162
|
+
tags=tags,
|
|
163
|
+
type=type,
|
|
164
|
+
extra_headers=extra_headers,
|
|
165
|
+
extra_query=extra_query,
|
|
166
|
+
extra_body=extra_body,
|
|
167
|
+
timeout=timeout,
|
|
168
|
+
)
|
|
169
|
+
if not response.tasks or len(response.tasks) != 1:
|
|
170
|
+
raise ValueError(f"Expected exactly one task to be created")
|
|
171
|
+
task = self._client.cloud.tasks.poll(
|
|
172
|
+
task_id=response.tasks[0],
|
|
173
|
+
extra_headers=extra_headers,
|
|
174
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
175
|
+
)
|
|
176
|
+
if (
|
|
177
|
+
not task.created_resources
|
|
178
|
+
or not task.created_resources.networks
|
|
179
|
+
or len(task.created_resources.networks) != 1
|
|
180
|
+
):
|
|
181
|
+
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
182
|
+
return self.get(
|
|
183
|
+
network_id=task.created_resources.networks[0],
|
|
184
|
+
project_id=project_id,
|
|
185
|
+
region_id=region_id,
|
|
186
|
+
extra_headers=extra_headers,
|
|
187
|
+
)
|
|
188
|
+
|
|
139
189
|
def update(
|
|
140
190
|
self,
|
|
141
191
|
network_id: str,
|
|
@@ -224,7 +274,7 @@ class NetworksResource(SyncAPIResource):
|
|
|
224
274
|
name: str | NotGiven = NOT_GIVEN,
|
|
225
275
|
offset: int | NotGiven = NOT_GIVEN,
|
|
226
276
|
order_by: Literal["created_at.asc", "created_at.desc", "name.asc", "name.desc"] | NotGiven = NOT_GIVEN,
|
|
227
|
-
tag_key:
|
|
277
|
+
tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
228
278
|
tag_key_value: str | NotGiven = NOT_GIVEN,
|
|
229
279
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
230
280
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -335,6 +385,38 @@ class NetworksResource(SyncAPIResource):
|
|
|
335
385
|
cast_to=TaskIDList,
|
|
336
386
|
)
|
|
337
387
|
|
|
388
|
+
def delete_and_poll(
|
|
389
|
+
self,
|
|
390
|
+
network_id: str,
|
|
391
|
+
*,
|
|
392
|
+
project_id: int | None = None,
|
|
393
|
+
region_id: int | None = None,
|
|
394
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
395
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
396
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
397
|
+
extra_headers: Headers | None = None,
|
|
398
|
+
extra_query: Query | None = None,
|
|
399
|
+
extra_body: Body | None = None,
|
|
400
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
401
|
+
) -> None:
|
|
402
|
+
"""Delete network and poll for the result."""
|
|
403
|
+
response = self.delete(
|
|
404
|
+
network_id=network_id,
|
|
405
|
+
project_id=project_id,
|
|
406
|
+
region_id=region_id,
|
|
407
|
+
extra_headers=extra_headers,
|
|
408
|
+
extra_query=extra_query,
|
|
409
|
+
extra_body=extra_body,
|
|
410
|
+
timeout=timeout,
|
|
411
|
+
)
|
|
412
|
+
if not response.tasks:
|
|
413
|
+
raise ValueError("Expected at least one task to be created")
|
|
414
|
+
self._client.cloud.tasks.poll(
|
|
415
|
+
task_id=response.tasks[0],
|
|
416
|
+
extra_headers=extra_headers,
|
|
417
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
418
|
+
)
|
|
419
|
+
|
|
338
420
|
def get(
|
|
339
421
|
self,
|
|
340
422
|
network_id: str,
|
|
@@ -474,6 +556,56 @@ class AsyncNetworksResource(AsyncAPIResource):
|
|
|
474
556
|
cast_to=TaskIDList,
|
|
475
557
|
)
|
|
476
558
|
|
|
559
|
+
async def create_and_poll(
|
|
560
|
+
self,
|
|
561
|
+
*,
|
|
562
|
+
project_id: int | None = None,
|
|
563
|
+
region_id: int | None = None,
|
|
564
|
+
name: str,
|
|
565
|
+
create_router: bool | NotGiven = NOT_GIVEN,
|
|
566
|
+
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
567
|
+
type: Literal["vlan", "vxlan"] | NotGiven = NOT_GIVEN,
|
|
568
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
569
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
570
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
571
|
+
extra_headers: Headers | None = None,
|
|
572
|
+
extra_query: Query | None = None,
|
|
573
|
+
extra_body: Body | None = None,
|
|
574
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
575
|
+
) -> Network:
|
|
576
|
+
"""Create network and poll for the result."""
|
|
577
|
+
response = await self.create(
|
|
578
|
+
project_id=project_id,
|
|
579
|
+
region_id=region_id,
|
|
580
|
+
name=name,
|
|
581
|
+
create_router=create_router,
|
|
582
|
+
tags=tags,
|
|
583
|
+
type=type,
|
|
584
|
+
extra_headers=extra_headers,
|
|
585
|
+
extra_query=extra_query,
|
|
586
|
+
extra_body=extra_body,
|
|
587
|
+
timeout=timeout,
|
|
588
|
+
)
|
|
589
|
+
if not response.tasks or len(response.tasks) != 1:
|
|
590
|
+
raise ValueError(f"Expected exactly one task to be created")
|
|
591
|
+
task = await self._client.cloud.tasks.poll(
|
|
592
|
+
task_id=response.tasks[0],
|
|
593
|
+
extra_headers=extra_headers,
|
|
594
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
595
|
+
)
|
|
596
|
+
if (
|
|
597
|
+
not task.created_resources
|
|
598
|
+
or not task.created_resources.networks
|
|
599
|
+
or len(task.created_resources.networks) != 1
|
|
600
|
+
):
|
|
601
|
+
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
602
|
+
return await self.get(
|
|
603
|
+
network_id=task.created_resources.networks[0],
|
|
604
|
+
project_id=project_id,
|
|
605
|
+
region_id=region_id,
|
|
606
|
+
extra_headers=extra_headers,
|
|
607
|
+
)
|
|
608
|
+
|
|
477
609
|
async def update(
|
|
478
610
|
self,
|
|
479
611
|
network_id: str,
|
|
@@ -562,7 +694,7 @@ class AsyncNetworksResource(AsyncAPIResource):
|
|
|
562
694
|
name: str | NotGiven = NOT_GIVEN,
|
|
563
695
|
offset: int | NotGiven = NOT_GIVEN,
|
|
564
696
|
order_by: Literal["created_at.asc", "created_at.desc", "name.asc", "name.desc"] | NotGiven = NOT_GIVEN,
|
|
565
|
-
tag_key:
|
|
697
|
+
tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
566
698
|
tag_key_value: str | NotGiven = NOT_GIVEN,
|
|
567
699
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
568
700
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -673,6 +805,38 @@ class AsyncNetworksResource(AsyncAPIResource):
|
|
|
673
805
|
cast_to=TaskIDList,
|
|
674
806
|
)
|
|
675
807
|
|
|
808
|
+
async def delete_and_poll(
|
|
809
|
+
self,
|
|
810
|
+
network_id: str,
|
|
811
|
+
*,
|
|
812
|
+
project_id: int | None = None,
|
|
813
|
+
region_id: int | None = None,
|
|
814
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
815
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
816
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
817
|
+
extra_headers: Headers | None = None,
|
|
818
|
+
extra_query: Query | None = None,
|
|
819
|
+
extra_body: Body | None = None,
|
|
820
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
821
|
+
) -> None:
|
|
822
|
+
"""Delete network and poll for the result."""
|
|
823
|
+
response = await self.delete(
|
|
824
|
+
network_id=network_id,
|
|
825
|
+
project_id=project_id,
|
|
826
|
+
region_id=region_id,
|
|
827
|
+
extra_headers=extra_headers,
|
|
828
|
+
extra_query=extra_query,
|
|
829
|
+
extra_body=extra_body,
|
|
830
|
+
timeout=timeout,
|
|
831
|
+
)
|
|
832
|
+
if not response.tasks:
|
|
833
|
+
raise ValueError("Expected at least one task to be created")
|
|
834
|
+
await self._client.cloud.tasks.poll(
|
|
835
|
+
task_id=response.tasks[0],
|
|
836
|
+
extra_headers=extra_headers,
|
|
837
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
838
|
+
)
|
|
839
|
+
|
|
676
840
|
async def get(
|
|
677
841
|
self,
|
|
678
842
|
network_id: str,
|
|
@@ -726,6 +890,9 @@ class NetworksResourceWithRawResponse:
|
|
|
726
890
|
self.create = to_raw_response_wrapper(
|
|
727
891
|
networks.create,
|
|
728
892
|
)
|
|
893
|
+
self.create_and_poll = to_raw_response_wrapper(
|
|
894
|
+
networks.create_and_poll,
|
|
895
|
+
)
|
|
729
896
|
self.update = to_raw_response_wrapper(
|
|
730
897
|
networks.update,
|
|
731
898
|
)
|
|
@@ -735,6 +902,9 @@ class NetworksResourceWithRawResponse:
|
|
|
735
902
|
self.delete = to_raw_response_wrapper(
|
|
736
903
|
networks.delete,
|
|
737
904
|
)
|
|
905
|
+
self.delete_and_poll = to_raw_response_wrapper(
|
|
906
|
+
networks.delete_and_poll,
|
|
907
|
+
)
|
|
738
908
|
self.get = to_raw_response_wrapper(
|
|
739
909
|
networks.get,
|
|
740
910
|
)
|
|
@@ -755,6 +925,9 @@ class AsyncNetworksResourceWithRawResponse:
|
|
|
755
925
|
self.create = async_to_raw_response_wrapper(
|
|
756
926
|
networks.create,
|
|
757
927
|
)
|
|
928
|
+
self.create_and_poll = async_to_raw_response_wrapper(
|
|
929
|
+
networks.create_and_poll,
|
|
930
|
+
)
|
|
758
931
|
self.update = async_to_raw_response_wrapper(
|
|
759
932
|
networks.update,
|
|
760
933
|
)
|
|
@@ -764,6 +937,9 @@ class AsyncNetworksResourceWithRawResponse:
|
|
|
764
937
|
self.delete = async_to_raw_response_wrapper(
|
|
765
938
|
networks.delete,
|
|
766
939
|
)
|
|
940
|
+
self.delete_and_poll = async_to_raw_response_wrapper(
|
|
941
|
+
networks.delete_and_poll,
|
|
942
|
+
)
|
|
767
943
|
self.get = async_to_raw_response_wrapper(
|
|
768
944
|
networks.get,
|
|
769
945
|
)
|
|
@@ -784,6 +960,9 @@ class NetworksResourceWithStreamingResponse:
|
|
|
784
960
|
self.create = to_streamed_response_wrapper(
|
|
785
961
|
networks.create,
|
|
786
962
|
)
|
|
963
|
+
self.create_and_poll = to_streamed_response_wrapper(
|
|
964
|
+
networks.create_and_poll,
|
|
965
|
+
)
|
|
787
966
|
self.update = to_streamed_response_wrapper(
|
|
788
967
|
networks.update,
|
|
789
968
|
)
|
|
@@ -793,6 +972,9 @@ class NetworksResourceWithStreamingResponse:
|
|
|
793
972
|
self.delete = to_streamed_response_wrapper(
|
|
794
973
|
networks.delete,
|
|
795
974
|
)
|
|
975
|
+
self.delete_and_poll = to_streamed_response_wrapper(
|
|
976
|
+
networks.delete_and_poll,
|
|
977
|
+
)
|
|
796
978
|
self.get = to_streamed_response_wrapper(
|
|
797
979
|
networks.get,
|
|
798
980
|
)
|
|
@@ -813,6 +995,9 @@ class AsyncNetworksResourceWithStreamingResponse:
|
|
|
813
995
|
self.create = async_to_streamed_response_wrapper(
|
|
814
996
|
networks.create,
|
|
815
997
|
)
|
|
998
|
+
self.create_and_poll = async_to_streamed_response_wrapper(
|
|
999
|
+
networks.create_and_poll,
|
|
1000
|
+
)
|
|
816
1001
|
self.update = async_to_streamed_response_wrapper(
|
|
817
1002
|
networks.update,
|
|
818
1003
|
)
|
|
@@ -822,6 +1007,9 @@ class AsyncNetworksResourceWithStreamingResponse:
|
|
|
822
1007
|
self.delete = async_to_streamed_response_wrapper(
|
|
823
1008
|
networks.delete,
|
|
824
1009
|
)
|
|
1010
|
+
self.delete_and_poll = async_to_streamed_response_wrapper(
|
|
1011
|
+
networks.delete_and_poll,
|
|
1012
|
+
)
|
|
825
1013
|
self.get = async_to_streamed_response_wrapper(
|
|
826
1014
|
networks.get,
|
|
827
1015
|
)
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Dict,
|
|
5
|
+
from typing import Dict, Iterable, Optional
|
|
6
6
|
from typing_extensions import Literal
|
|
7
7
|
|
|
8
8
|
import httpx
|
|
9
9
|
|
|
10
|
-
from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
|
|
10
|
+
from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven, SequenceNotStr
|
|
11
11
|
from ...._utils import maybe_transform, async_maybe_transform
|
|
12
12
|
from ...._compat import cached_property
|
|
13
13
|
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
@@ -58,7 +58,7 @@ class SubnetsResource(SyncAPIResource):
|
|
|
58
58
|
name: str,
|
|
59
59
|
network_id: str,
|
|
60
60
|
connect_to_network_router: bool | NotGiven = NOT_GIVEN,
|
|
61
|
-
dns_nameservers: Optional[
|
|
61
|
+
dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
|
|
62
62
|
enable_dhcp: bool | NotGiven = NOT_GIVEN,
|
|
63
63
|
gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
|
|
64
64
|
host_routes: Optional[Iterable[subnet_create_params.HostRoute]] | NotGiven = NOT_GIVEN,
|
|
@@ -148,13 +148,73 @@ class SubnetsResource(SyncAPIResource):
|
|
|
148
148
|
cast_to=TaskIDList,
|
|
149
149
|
)
|
|
150
150
|
|
|
151
|
+
def create_and_poll(
|
|
152
|
+
self,
|
|
153
|
+
*,
|
|
154
|
+
project_id: int | None = None,
|
|
155
|
+
region_id: int | None = None,
|
|
156
|
+
cidr: str,
|
|
157
|
+
name: str,
|
|
158
|
+
network_id: str,
|
|
159
|
+
connect_to_network_router: bool | NotGiven = NOT_GIVEN,
|
|
160
|
+
dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
|
|
161
|
+
enable_dhcp: bool | NotGiven = NOT_GIVEN,
|
|
162
|
+
gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
|
|
163
|
+
host_routes: Optional[Iterable[subnet_create_params.HostRoute]] | NotGiven = NOT_GIVEN,
|
|
164
|
+
ip_version: IPVersion | NotGiven = NOT_GIVEN,
|
|
165
|
+
router_id_to_connect: Optional[str] | NotGiven = NOT_GIVEN,
|
|
166
|
+
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
167
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
168
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
169
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
170
|
+
extra_headers: Headers | None = None,
|
|
171
|
+
extra_query: Query | None = None,
|
|
172
|
+
extra_body: Body | None = None,
|
|
173
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
174
|
+
) -> Subnet:
|
|
175
|
+
"""Create subnet and poll for the result."""
|
|
176
|
+
response = self.create(
|
|
177
|
+
project_id=project_id,
|
|
178
|
+
region_id=region_id,
|
|
179
|
+
cidr=cidr,
|
|
180
|
+
name=name,
|
|
181
|
+
network_id=network_id,
|
|
182
|
+
connect_to_network_router=connect_to_network_router,
|
|
183
|
+
dns_nameservers=dns_nameservers,
|
|
184
|
+
enable_dhcp=enable_dhcp,
|
|
185
|
+
gateway_ip=gateway_ip,
|
|
186
|
+
host_routes=host_routes,
|
|
187
|
+
ip_version=ip_version,
|
|
188
|
+
router_id_to_connect=router_id_to_connect,
|
|
189
|
+
tags=tags,
|
|
190
|
+
extra_headers=extra_headers,
|
|
191
|
+
extra_query=extra_query,
|
|
192
|
+
extra_body=extra_body,
|
|
193
|
+
timeout=timeout,
|
|
194
|
+
)
|
|
195
|
+
if not response.tasks or len(response.tasks) != 1:
|
|
196
|
+
raise ValueError(f"Expected exactly one task to be created")
|
|
197
|
+
task = self._client.cloud.tasks.poll(
|
|
198
|
+
task_id=response.tasks[0],
|
|
199
|
+
extra_headers=extra_headers,
|
|
200
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
201
|
+
)
|
|
202
|
+
if not task.created_resources or not task.created_resources.subnets or len(task.created_resources.subnets) != 1:
|
|
203
|
+
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
204
|
+
return self.get(
|
|
205
|
+
subnet_id=task.created_resources.subnets[0],
|
|
206
|
+
project_id=project_id,
|
|
207
|
+
region_id=region_id,
|
|
208
|
+
extra_headers=extra_headers,
|
|
209
|
+
)
|
|
210
|
+
|
|
151
211
|
def update(
|
|
152
212
|
self,
|
|
153
213
|
subnet_id: str,
|
|
154
214
|
*,
|
|
155
215
|
project_id: int | None = None,
|
|
156
216
|
region_id: int | None = None,
|
|
157
|
-
dns_nameservers: Optional[
|
|
217
|
+
dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
|
|
158
218
|
enable_dhcp: Optional[bool] | NotGiven = NOT_GIVEN,
|
|
159
219
|
gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
|
|
160
220
|
host_routes: Optional[Iterable[subnet_update_params.HostRoute]] | NotGiven = NOT_GIVEN,
|
|
@@ -266,7 +326,7 @@ class SubnetsResource(SyncAPIResource):
|
|
|
266
326
|
"updated_at.desc",
|
|
267
327
|
]
|
|
268
328
|
| NotGiven = NOT_GIVEN,
|
|
269
|
-
tag_key:
|
|
329
|
+
tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
270
330
|
tag_key_value: str | NotGiven = NOT_GIVEN,
|
|
271
331
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
272
332
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -454,7 +514,7 @@ class AsyncSubnetsResource(AsyncAPIResource):
|
|
|
454
514
|
name: str,
|
|
455
515
|
network_id: str,
|
|
456
516
|
connect_to_network_router: bool | NotGiven = NOT_GIVEN,
|
|
457
|
-
dns_nameservers: Optional[
|
|
517
|
+
dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
|
|
458
518
|
enable_dhcp: bool | NotGiven = NOT_GIVEN,
|
|
459
519
|
gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
|
|
460
520
|
host_routes: Optional[Iterable[subnet_create_params.HostRoute]] | NotGiven = NOT_GIVEN,
|
|
@@ -544,13 +604,73 @@ class AsyncSubnetsResource(AsyncAPIResource):
|
|
|
544
604
|
cast_to=TaskIDList,
|
|
545
605
|
)
|
|
546
606
|
|
|
607
|
+
async def create_and_poll(
|
|
608
|
+
self,
|
|
609
|
+
*,
|
|
610
|
+
project_id: int | None = None,
|
|
611
|
+
region_id: int | None = None,
|
|
612
|
+
cidr: str,
|
|
613
|
+
name: str,
|
|
614
|
+
network_id: str,
|
|
615
|
+
connect_to_network_router: bool | NotGiven = NOT_GIVEN,
|
|
616
|
+
dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
|
|
617
|
+
enable_dhcp: bool | NotGiven = NOT_GIVEN,
|
|
618
|
+
gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
|
|
619
|
+
host_routes: Optional[Iterable[subnet_create_params.HostRoute]] | NotGiven = NOT_GIVEN,
|
|
620
|
+
ip_version: IPVersion | NotGiven = NOT_GIVEN,
|
|
621
|
+
router_id_to_connect: Optional[str] | NotGiven = NOT_GIVEN,
|
|
622
|
+
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
623
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
624
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
625
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
626
|
+
extra_headers: Headers | None = None,
|
|
627
|
+
extra_query: Query | None = None,
|
|
628
|
+
extra_body: Body | None = None,
|
|
629
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
630
|
+
) -> Subnet:
|
|
631
|
+
"""Create subnet and poll for the result."""
|
|
632
|
+
response = await self.create(
|
|
633
|
+
project_id=project_id,
|
|
634
|
+
region_id=region_id,
|
|
635
|
+
cidr=cidr,
|
|
636
|
+
name=name,
|
|
637
|
+
network_id=network_id,
|
|
638
|
+
connect_to_network_router=connect_to_network_router,
|
|
639
|
+
dns_nameservers=dns_nameservers,
|
|
640
|
+
enable_dhcp=enable_dhcp,
|
|
641
|
+
gateway_ip=gateway_ip,
|
|
642
|
+
host_routes=host_routes,
|
|
643
|
+
ip_version=ip_version,
|
|
644
|
+
router_id_to_connect=router_id_to_connect,
|
|
645
|
+
tags=tags,
|
|
646
|
+
extra_headers=extra_headers,
|
|
647
|
+
extra_query=extra_query,
|
|
648
|
+
extra_body=extra_body,
|
|
649
|
+
timeout=timeout,
|
|
650
|
+
)
|
|
651
|
+
if not response.tasks or len(response.tasks) != 1:
|
|
652
|
+
raise ValueError(f"Expected exactly one task to be created")
|
|
653
|
+
task = await self._client.cloud.tasks.poll(
|
|
654
|
+
task_id=response.tasks[0],
|
|
655
|
+
extra_headers=extra_headers,
|
|
656
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
657
|
+
)
|
|
658
|
+
if not task.created_resources or not task.created_resources.subnets or len(task.created_resources.subnets) != 1:
|
|
659
|
+
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
660
|
+
return await self.get(
|
|
661
|
+
subnet_id=task.created_resources.subnets[0],
|
|
662
|
+
project_id=project_id,
|
|
663
|
+
region_id=region_id,
|
|
664
|
+
extra_headers=extra_headers,
|
|
665
|
+
)
|
|
666
|
+
|
|
547
667
|
async def update(
|
|
548
668
|
self,
|
|
549
669
|
subnet_id: str,
|
|
550
670
|
*,
|
|
551
671
|
project_id: int | None = None,
|
|
552
672
|
region_id: int | None = None,
|
|
553
|
-
dns_nameservers: Optional[
|
|
673
|
+
dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
|
|
554
674
|
enable_dhcp: Optional[bool] | NotGiven = NOT_GIVEN,
|
|
555
675
|
gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
|
|
556
676
|
host_routes: Optional[Iterable[subnet_update_params.HostRoute]] | NotGiven = NOT_GIVEN,
|
|
@@ -662,7 +782,7 @@ class AsyncSubnetsResource(AsyncAPIResource):
|
|
|
662
782
|
"updated_at.desc",
|
|
663
783
|
]
|
|
664
784
|
| NotGiven = NOT_GIVEN,
|
|
665
|
-
tag_key:
|
|
785
|
+
tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
666
786
|
tag_key_value: str | NotGiven = NOT_GIVEN,
|
|
667
787
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
668
788
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -828,6 +948,9 @@ class SubnetsResourceWithRawResponse:
|
|
|
828
948
|
self.create = to_raw_response_wrapper(
|
|
829
949
|
subnets.create,
|
|
830
950
|
)
|
|
951
|
+
self.create_and_poll = to_raw_response_wrapper(
|
|
952
|
+
subnets.create_and_poll,
|
|
953
|
+
)
|
|
831
954
|
self.update = to_raw_response_wrapper(
|
|
832
955
|
subnets.update,
|
|
833
956
|
)
|
|
@@ -849,6 +972,9 @@ class AsyncSubnetsResourceWithRawResponse:
|
|
|
849
972
|
self.create = async_to_raw_response_wrapper(
|
|
850
973
|
subnets.create,
|
|
851
974
|
)
|
|
975
|
+
self.create_and_poll = async_to_raw_response_wrapper(
|
|
976
|
+
subnets.create_and_poll,
|
|
977
|
+
)
|
|
852
978
|
self.update = async_to_raw_response_wrapper(
|
|
853
979
|
subnets.update,
|
|
854
980
|
)
|
|
@@ -870,6 +996,9 @@ class SubnetsResourceWithStreamingResponse:
|
|
|
870
996
|
self.create = to_streamed_response_wrapper(
|
|
871
997
|
subnets.create,
|
|
872
998
|
)
|
|
999
|
+
self.create_and_poll = to_streamed_response_wrapper(
|
|
1000
|
+
subnets.create_and_poll,
|
|
1001
|
+
)
|
|
873
1002
|
self.update = to_streamed_response_wrapper(
|
|
874
1003
|
subnets.update,
|
|
875
1004
|
)
|
|
@@ -891,6 +1020,9 @@ class AsyncSubnetsResourceWithStreamingResponse:
|
|
|
891
1020
|
self.create = async_to_streamed_response_wrapper(
|
|
892
1021
|
subnets.create,
|
|
893
1022
|
)
|
|
1023
|
+
self.create_and_poll = async_to_streamed_response_wrapper(
|
|
1024
|
+
subnets.create_and_poll,
|
|
1025
|
+
)
|
|
894
1026
|
self.update = async_to_streamed_response_wrapper(
|
|
895
1027
|
subnets.update,
|
|
896
1028
|
)
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import List
|
|
6
|
-
|
|
7
5
|
import httpx
|
|
8
6
|
|
|
9
|
-
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
|
|
7
|
+
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven, SequenceNotStr
|
|
10
8
|
from ...._utils import maybe_transform, async_maybe_transform
|
|
11
9
|
from ...._compat import cached_property
|
|
12
10
|
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
@@ -133,7 +131,7 @@ class VipResource(SyncAPIResource):
|
|
|
133
131
|
*,
|
|
134
132
|
project_id: int | None = None,
|
|
135
133
|
region_id: int | None = None,
|
|
136
|
-
port_ids:
|
|
134
|
+
port_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
137
135
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
138
136
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
139
137
|
extra_headers: Headers | None = None,
|
|
@@ -221,7 +219,7 @@ class VipResource(SyncAPIResource):
|
|
|
221
219
|
*,
|
|
222
220
|
project_id: int | None = None,
|
|
223
221
|
region_id: int | None = None,
|
|
224
|
-
port_ids:
|
|
222
|
+
port_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
225
223
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
226
224
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
227
225
|
extra_headers: Headers | None = None,
|
|
@@ -365,7 +363,7 @@ class AsyncVipResource(AsyncAPIResource):
|
|
|
365
363
|
*,
|
|
366
364
|
project_id: int | None = None,
|
|
367
365
|
region_id: int | None = None,
|
|
368
|
-
port_ids:
|
|
366
|
+
port_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
369
367
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
370
368
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
371
369
|
extra_headers: Headers | None = None,
|
|
@@ -453,7 +451,7 @@ class AsyncVipResource(AsyncAPIResource):
|
|
|
453
451
|
*,
|
|
454
452
|
project_id: int | None = None,
|
|
455
453
|
region_id: int | None = None,
|
|
456
|
-
port_ids:
|
|
454
|
+
port_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
457
455
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
458
456
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
459
457
|
extra_headers: Headers | None = None,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import
|
|
5
|
+
from typing import Iterable, Optional
|
|
6
6
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
@@ -14,7 +14,7 @@ from .rules import (
|
|
|
14
14
|
RulesResourceWithStreamingResponse,
|
|
15
15
|
AsyncRulesResourceWithStreamingResponse,
|
|
16
16
|
)
|
|
17
|
-
from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
|
|
17
|
+
from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven, SequenceNotStr
|
|
18
18
|
from ...._utils import maybe_transform, async_maybe_transform
|
|
19
19
|
from ...._compat import cached_property
|
|
20
20
|
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
@@ -68,7 +68,7 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
68
68
|
project_id: int | None = None,
|
|
69
69
|
region_id: int | None = None,
|
|
70
70
|
security_group: security_group_create_params.SecurityGroup,
|
|
71
|
-
instances:
|
|
71
|
+
instances: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
72
72
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
73
73
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
74
74
|
extra_headers: Headers | None = None,
|
|
@@ -192,7 +192,7 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
192
192
|
region_id: int | None = None,
|
|
193
193
|
limit: int | NotGiven = NOT_GIVEN,
|
|
194
194
|
offset: int | NotGiven = NOT_GIVEN,
|
|
195
|
-
tag_key:
|
|
195
|
+
tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
196
196
|
tag_key_value: str | NotGiven = NOT_GIVEN,
|
|
197
197
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
198
198
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -438,7 +438,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
438
438
|
project_id: int | None = None,
|
|
439
439
|
region_id: int | None = None,
|
|
440
440
|
security_group: security_group_create_params.SecurityGroup,
|
|
441
|
-
instances:
|
|
441
|
+
instances: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
442
442
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
443
443
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
444
444
|
extra_headers: Headers | None = None,
|
|
@@ -562,7 +562,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
562
562
|
region_id: int | None = None,
|
|
563
563
|
limit: int | NotGiven = NOT_GIVEN,
|
|
564
564
|
offset: int | NotGiven = NOT_GIVEN,
|
|
565
|
-
tag_key:
|
|
565
|
+
tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
566
566
|
tag_key_value: str | NotGiven = NOT_GIVEN,
|
|
567
567
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
568
568
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|