gcore 0.10.0__py3-none-any.whl → 0.11.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gcore might be problematic. Click here for more details.
- gcore/_base_client.py +3 -3
- gcore/_client.py +18 -0
- gcore/_compat.py +48 -48
- gcore/_models.py +41 -41
- gcore/_types.py +35 -1
- gcore/_utils/__init__.py +9 -2
- gcore/_utils/_compat.py +45 -0
- gcore/_utils/_datetime_parse.py +136 -0
- gcore/_utils/_transform.py +11 -1
- gcore/_utils/_typing.py +6 -1
- gcore/_utils/_utils.py +0 -1
- gcore/_version.py +1 -1
- gcore/resources/__init__.py +28 -0
- gcore/resources/cloud/__init__.py +14 -0
- gcore/resources/cloud/audit_logs.py +3 -3
- gcore/resources/cloud/baremetal/images.py +3 -4
- gcore/resources/cloud/baremetal/servers.py +16 -4
- gcore/resources/cloud/cloud.py +32 -0
- gcore/resources/cloud/cost_reports.py +24 -16
- gcore/resources/cloud/file_shares/access_rules.py +2 -2
- gcore/resources/cloud/file_shares/file_shares.py +30 -14
- gcore/resources/cloud/floating_ips.py +196 -4
- gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +1 -1
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +166 -190
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +268 -12
- gcore/resources/cloud/inference/__init__.py +14 -14
- gcore/resources/cloud/inference/applications/__init__.py +47 -0
- gcore/resources/cloud/inference/applications/applications.py +134 -0
- gcore/resources/cloud/inference/applications/deployments.py +649 -0
- gcore/resources/cloud/inference/applications/templates.py +238 -0
- gcore/resources/cloud/inference/deployments/deployments.py +41 -22
- gcore/resources/cloud/inference/inference.py +32 -32
- gcore/resources/cloud/inference/registry_credentials.py +8 -9
- gcore/resources/cloud/instances/images.py +4 -4
- gcore/resources/cloud/instances/instances.py +254 -4
- gcore/resources/cloud/instances/interfaces.py +544 -0
- gcore/resources/cloud/k8s/__init__.py +47 -0
- gcore/resources/cloud/k8s/clusters/__init__.py +47 -0
- gcore/resources/cloud/k8s/clusters/clusters.py +1391 -0
- gcore/resources/cloud/k8s/clusters/nodes.py +291 -0
- gcore/resources/cloud/k8s/clusters/pools/__init__.py +33 -0
- gcore/resources/cloud/k8s/clusters/pools/nodes.py +303 -0
- gcore/resources/cloud/k8s/clusters/pools/pools.py +870 -0
- gcore/resources/cloud/k8s/flavors.py +209 -0
- gcore/resources/cloud/k8s/k8s.py +233 -0
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +11 -12
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +9 -10
- gcore/resources/cloud/load_balancers/listeners.py +18 -18
- gcore/resources/cloud/load_balancers/load_balancers.py +4 -4
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +18 -6
- gcore/resources/cloud/load_balancers/pools/members.py +32 -2
- gcore/resources/cloud/load_balancers/pools/pools.py +32 -8
- gcore/resources/cloud/networks/networks.py +192 -4
- gcore/resources/cloud/networks/subnets.py +140 -8
- gcore/resources/cloud/reserved_fixed_ips/vip.py +5 -7
- gcore/resources/cloud/security_groups/security_groups.py +6 -6
- gcore/resources/cloud/tasks.py +46 -46
- gcore/resources/cloud/users/role_assignments.py +5 -4
- gcore/resources/cloud/volumes.py +4 -4
- gcore/resources/dns/__init__.py +75 -0
- gcore/resources/dns/dns.py +374 -0
- gcore/resources/dns/locations.py +288 -0
- gcore/resources/dns/metrics.py +214 -0
- gcore/resources/dns/pickers/__init__.py +33 -0
- gcore/resources/dns/pickers/pickers.py +167 -0
- gcore/resources/dns/pickers/presets.py +135 -0
- gcore/resources/dns/zones/__init__.py +47 -0
- gcore/resources/{cloud/inference/models.py → dns/zones/dnssec.py} +80 -122
- gcore/resources/dns/zones/rrsets.py +1005 -0
- gcore/resources/dns/zones/zones.py +1493 -0
- gcore/resources/storage/__init__.py +75 -0
- gcore/resources/storage/buckets/__init__.py +61 -0
- gcore/resources/storage/buckets/buckets.py +470 -0
- gcore/resources/storage/buckets/cors.py +265 -0
- gcore/resources/storage/buckets/lifecycle.py +276 -0
- gcore/resources/storage/buckets/policy.py +345 -0
- gcore/resources/storage/credentials.py +221 -0
- gcore/resources/storage/locations.py +190 -0
- gcore/resources/storage/statistics.py +364 -0
- gcore/resources/storage/storage.py +1042 -0
- gcore/resources/streaming/ai_tasks.py +56 -70
- gcore/resources/streaming/playlists.py +18 -18
- gcore/resources/streaming/quality_sets.py +8 -8
- gcore/resources/streaming/statistics.py +4 -122
- gcore/resources/streaming/streams/overlays.py +6 -6
- gcore/resources/streaming/streams/streams.py +40 -64
- gcore/resources/streaming/videos/subtitles.py +32 -30
- gcore/resources/streaming/videos/videos.py +78 -72
- gcore/resources/waap/domains/advanced_rules.py +2 -2
- gcore/resources/waap/domains/api_paths.py +13 -13
- gcore/resources/waap/domains/custom_rules.py +2 -2
- gcore/resources/waap/domains/domains.py +4 -4
- gcore/resources/waap/domains/firewall_rules.py +2 -2
- gcore/resources/waap/domains/insight_silences.py +6 -6
- gcore/resources/waap/domains/insights.py +7 -7
- gcore/resources/waap/domains/statistics.py +47 -47
- gcore/types/cloud/__init__.py +2 -4
- gcore/types/cloud/audit_log_list_params.py +2 -1
- gcore/types/cloud/baremetal/image_list_params.py +3 -2
- gcore/types/cloud/baremetal/server_create_params.py +8 -6
- gcore/types/cloud/baremetal/server_list_params.py +3 -2
- gcore/types/cloud/baremetal/server_rebuild_params.py +2 -0
- gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +35 -31
- gcore/types/cloud/cost_report_get_aggregated_params.py +26 -25
- gcore/types/cloud/cost_report_get_detailed_params.py +26 -25
- gcore/types/cloud/ddos_profile.py +13 -7
- gcore/types/cloud/ddos_profile_field.py +21 -8
- gcore/types/cloud/ddos_profile_option_list.py +7 -6
- gcore/types/cloud/ddos_profile_status.py +2 -2
- gcore/types/cloud/ddos_profile_template.py +7 -3
- gcore/types/cloud/ddos_profile_template_field.py +12 -3
- gcore/types/cloud/file_share.py +2 -2
- gcore/types/cloud/file_share_create_params.py +12 -6
- gcore/types/cloud/floating_ip_list_params.py +3 -2
- gcore/types/cloud/gpu_baremetal_cluster.py +101 -74
- gcore/types/cloud/gpu_baremetal_cluster_create_params.py +76 -93
- gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +17 -10
- gcore/types/cloud/gpu_baremetal_cluster_list_params.py +14 -3
- gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +4 -2
- gcore/types/cloud/gpu_baremetal_clusters/__init__.py +6 -0
- gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +74 -0
- gcore/types/cloud/{gpu_baremetal_cluster_server.py → gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1.py} +10 -10
- gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1_list.py +16 -0
- gcore/types/cloud/{gpu_baremetal_flavor.py → gpu_baremetal_clusters/gpu_baremetal_flavor.py} +1 -1
- gcore/types/cloud/{gpu_baremetal_flavor_list.py → gpu_baremetal_clusters/gpu_baremetal_flavor_list.py} +1 -1
- gcore/types/cloud/gpu_baremetal_clusters/server_list_params.py +75 -0
- gcore/types/cloud/inference/__init__.py +0 -5
- gcore/types/cloud/inference/applications/__init__.py +12 -0
- gcore/types/cloud/inference/applications/deployment_create_params.py +68 -0
- gcore/types/cloud/inference/applications/deployment_patch_params.py +62 -0
- gcore/types/cloud/inference/applications/inference_application_deployment.py +111 -0
- gcore/types/cloud/inference/applications/inference_application_deployment_list.py +16 -0
- gcore/types/cloud/inference/applications/inference_application_template.py +94 -0
- gcore/types/cloud/inference/applications/inference_application_template_list.py +16 -0
- gcore/types/cloud/inference/deployment_create_params.py +7 -6
- gcore/types/cloud/inference/deployment_update_params.py +7 -6
- gcore/types/cloud/instance_assign_security_group_params.py +4 -2
- gcore/types/cloud/instance_list_params.py +3 -2
- gcore/types/cloud/instance_unassign_security_group_params.py +4 -2
- gcore/types/cloud/instances/image_list_params.py +3 -2
- gcore/types/cloud/k8s/__init__.py +13 -0
- gcore/types/cloud/k8s/cluster_create_params.py +299 -0
- gcore/types/cloud/k8s/cluster_delete_params.py +16 -0
- gcore/types/cloud/k8s/cluster_update_params.py +203 -0
- gcore/types/cloud/k8s/cluster_upgrade_params.py +16 -0
- gcore/types/cloud/k8s/clusters/__init__.py +10 -0
- gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +66 -0
- gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +16 -0
- gcore/types/cloud/k8s/clusters/node_list_params.py +16 -0
- gcore/types/cloud/k8s/clusters/pool_create_params.py +53 -0
- gcore/types/cloud/k8s/clusters/pool_resize_params.py +18 -0
- gcore/types/cloud/k8s/clusters/pool_update_params.py +34 -0
- gcore/types/cloud/k8s/clusters/pools/__init__.py +5 -0
- gcore/types/cloud/k8s/clusters/pools/node_list_params.py +18 -0
- gcore/types/cloud/k8s/flavor_list_params.py +19 -0
- gcore/types/cloud/k8s/k8s_cluster.py +209 -0
- gcore/types/cloud/k8s/k8s_cluster_certificate.py +13 -0
- gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +19 -0
- gcore/types/cloud/k8s/k8s_cluster_list.py +16 -0
- gcore/types/cloud/k8s_cluster_version.py +10 -0
- gcore/types/cloud/{gpu_baremetal_cluster_server_list.py → k8s_cluster_version_list.py} +4 -4
- gcore/types/cloud/load_balancer_create_params.py +23 -4
- gcore/types/cloud/load_balancer_list_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policy_create_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policy_replace_params.py +3 -2
- gcore/types/cloud/load_balancers/listener_create_params.py +4 -3
- gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
- gcore/types/cloud/load_balancers/pool_create_params.py +19 -1
- gcore/types/cloud/load_balancers/pool_update_params.py +19 -1
- gcore/types/cloud/load_balancers/pools/member_add_params.py +19 -1
- gcore/types/cloud/member.py +19 -1
- gcore/types/cloud/network_list_params.py +3 -2
- gcore/types/cloud/networks/subnet_create_params.py +3 -2
- gcore/types/cloud/networks/subnet_list_params.py +3 -2
- gcore/types/cloud/networks/subnet_update_params.py +3 -2
- gcore/types/cloud/project.py +9 -9
- gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +3 -2
- gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +3 -2
- gcore/types/cloud/security_group_create_params.py +4 -2
- gcore/types/cloud/security_group_list_params.py +3 -2
- gcore/types/cloud/task_id_list.py +8 -1
- gcore/types/cloud/task_list_params.py +23 -23
- gcore/types/cloud/usage_report_get_params.py +26 -25
- gcore/types/cloud/users/role_assignment.py +2 -1
- gcore/types/cloud/users/role_assignment_create_params.py +4 -2
- gcore/types/cloud/users/role_assignment_update_params.py +4 -2
- gcore/types/cloud/volume_list_params.py +3 -2
- gcore/types/dns/__init__.py +31 -0
- gcore/types/dns/dns_get_account_overview_response.py +21 -0
- gcore/types/dns/dns_label_name.py +13 -0
- gcore/types/dns/dns_location_translations.py +11 -0
- gcore/types/dns/dns_lookup_params.py +15 -0
- gcore/types/dns/dns_lookup_response.py +21 -0
- gcore/types/dns/dns_name_server.py +17 -0
- gcore/types/dns/location_list_continents_response.py +10 -0
- gcore/types/dns/location_list_countries_response.py +10 -0
- gcore/types/dns/location_list_regions_response.py +10 -0
- gcore/types/dns/location_list_response.py +16 -0
- gcore/types/dns/metric_list_params.py +24 -0
- gcore/types/dns/metric_list_response.py +7 -0
- gcore/types/dns/picker_list_response.py +10 -0
- gcore/types/dns/pickers/__init__.py +5 -0
- gcore/types/dns/pickers/preset_list_response.py +10 -0
- gcore/types/dns/zone_check_delegation_status_response.py +20 -0
- gcore/types/dns/zone_create_params.py +59 -0
- gcore/types/dns/zone_create_response.py +13 -0
- gcore/types/dns/zone_export_response.py +11 -0
- gcore/types/dns/zone_get_response.py +106 -0
- gcore/types/dns/zone_get_statistics_params.py +43 -0
- gcore/types/dns/zone_get_statistics_response.py +19 -0
- gcore/types/dns/zone_import_params.py +32 -0
- gcore/types/dns/zone_import_response.py +26 -0
- gcore/types/dns/zone_list_params.py +57 -0
- gcore/types/dns/zone_list_response.py +105 -0
- gcore/types/dns/zone_replace_params.py +61 -0
- gcore/types/dns/zones/__init__.py +15 -0
- gcore/types/dns/zones/dns_failover_log.py +19 -0
- gcore/types/dns/zones/dns_output_rrset.py +123 -0
- gcore/types/dns/zones/dnssec_get_response.py +38 -0
- gcore/types/dns/zones/dnssec_update_params.py +11 -0
- gcore/types/dns/zones/dnssec_update_response.py +38 -0
- gcore/types/dns/zones/rrset_create_params.py +82 -0
- gcore/types/dns/zones/rrset_get_failover_logs_params.py +21 -0
- gcore/types/dns/zones/rrset_get_failover_logs_response.py +15 -0
- gcore/types/dns/zones/rrset_list_params.py +21 -0
- gcore/types/dns/zones/rrset_list_response.py +14 -0
- gcore/types/dns/zones/rrset_replace_params.py +82 -0
- gcore/types/security/client_profile.py +1 -1
- gcore/types/security/profile_create_params.py +2 -2
- gcore/types/security/profile_recreate_params.py +2 -2
- gcore/types/security/profile_replace_params.py +2 -2
- gcore/types/storage/__init__.py +21 -0
- gcore/types/storage/bucket.py +15 -0
- gcore/types/storage/bucket_list_params.py +15 -0
- gcore/types/storage/buckets/__init__.py +9 -0
- gcore/types/storage/buckets/bucket_cors.py +18 -0
- gcore/types/storage/buckets/bucket_policy.py +7 -0
- gcore/types/storage/buckets/cor_create_params.py +17 -0
- gcore/types/storage/buckets/lifecycle_create_params.py +18 -0
- gcore/types/storage/buckets/policy_get_response.py +7 -0
- gcore/types/storage/credential_recreate_params.py +36 -0
- gcore/types/storage/location.py +24 -0
- gcore/types/storage/location_list_params.py +13 -0
- gcore/types/storage/statistic_get_usage_aggregated_params.py +24 -0
- gcore/types/storage/statistic_get_usage_series_params.py +38 -0
- gcore/types/storage/statistic_get_usage_series_response.py +12 -0
- gcore/types/storage/storage.py +101 -0
- gcore/types/storage/storage_create_params.py +44 -0
- gcore/types/storage/storage_list_params.py +39 -0
- gcore/types/storage/storage_restore_params.py +11 -0
- gcore/types/storage/storage_update_params.py +18 -0
- gcore/types/storage/usage_series.py +201 -0
- gcore/types/storage/usage_total.py +54 -0
- gcore/types/streaming/__init__.py +0 -4
- gcore/types/streaming/ai_contentmoderation_hardnudity.py +1 -1
- gcore/types/streaming/ai_contentmoderation_nsfw.py +1 -1
- gcore/types/streaming/ai_contentmoderation_softnudity.py +1 -1
- gcore/types/streaming/ai_contentmoderation_sport.py +1 -1
- gcore/types/streaming/ai_task.py +1 -5
- gcore/types/streaming/ai_task_create_params.py +2 -2
- gcore/types/streaming/ai_task_get_response.py +0 -46
- gcore/types/streaming/clip.py +2 -1
- gcore/types/streaming/create_video_param.py +13 -12
- gcore/types/streaming/max_stream_series.py +5 -5
- gcore/types/streaming/playlist.py +1 -1
- gcore/types/streaming/playlist_create_params.py +1 -1
- gcore/types/streaming/playlist_update_params.py +1 -1
- gcore/types/streaming/playlist_video.py +13 -12
- gcore/types/streaming/storage_series.py +5 -5
- gcore/types/streaming/stream.py +86 -49
- gcore/types/streaming/stream_create_clip_params.py +2 -1
- gcore/types/streaming/stream_create_params.py +9 -23
- gcore/types/streaming/stream_series.py +5 -5
- gcore/types/streaming/stream_update_params.py +9 -23
- gcore/types/streaming/video.py +53 -42
- gcore/types/streaming/video_update_params.py +13 -12
- gcore/types/streaming/vod_statistics_series.py +5 -5
- gcore/types/streaming/vod_total_stream_duration_series.py +3 -3
- gcore/types/waap/domain_list_params.py +1 -1
- gcore/types/waap/domain_update_params.py +1 -1
- gcore/types/waap/domains/advanced_rule_create_params.py +7 -4
- gcore/types/waap/domains/advanced_rule_update_params.py +6 -3
- gcore/types/waap/domains/api_path_create_params.py +4 -3
- gcore/types/waap/domains/api_path_list_params.py +3 -1
- gcore/types/waap/domains/api_path_update_params.py +5 -4
- gcore/types/waap/domains/custom_rule_create_params.py +13 -14
- gcore/types/waap/domains/custom_rule_update_params.py +12 -13
- gcore/types/waap/domains/firewall_rule_create_params.py +3 -2
- gcore/types/waap/domains/firewall_rule_update_params.py +2 -1
- gcore/types/waap/domains/insight_list_params.py +4 -2
- gcore/types/waap/domains/insight_replace_params.py +1 -1
- gcore/types/waap/domains/insight_silence_list_params.py +5 -3
- gcore/types/waap/domains/setting_update_params.py +3 -2
- gcore/types/waap/domains/statistic_get_ddos_info_params.py +6 -9
- gcore/types/waap/domains/statistic_get_events_aggregated_params.py +9 -10
- gcore/types/waap/domains/statistic_get_requests_series_params.py +8 -9
- gcore/types/waap/domains/statistic_get_traffic_series_params.py +6 -9
- gcore/types/waap/domains/waap_advanced_rule.py +3 -2
- gcore/types/waap/domains/waap_api_path.py +4 -4
- gcore/types/waap/domains/waap_api_scan_result.py +2 -2
- gcore/types/waap/domains/waap_custom_rule.py +4 -7
- gcore/types/waap/domains/waap_firewall_rule.py +3 -2
- gcore/types/waap/domains/waap_insight.py +1 -1
- gcore/types/waap/domains/waap_request_details.py +5 -4
- gcore/types/waap/waap_ip_ddos_info_model.py +3 -3
- gcore/types/waap/waap_rule_set.py +1 -1
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/METADATA +7 -2
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/RECORD +312 -192
- gcore/types/cloud/inference/inference_model.py +0 -65
- gcore/types/cloud/inference/inference_registry_credentials_create.py +0 -22
- gcore/types/cloud/inference/model_list_params.py +0 -21
- gcore/types/streaming/ai_contentmoderation_casm.py +0 -39
- gcore/types/streaming/ai_contentmoderation_weapon.py +0 -39
- gcore/types/streaming/meet_series.py +0 -23
- gcore/types/streaming/statistic_get_meet_series_params.py +0 -20
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/WHEEL +0 -0
- {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -76,6 +76,7 @@ class FileSharesResource(SyncAPIResource):
|
|
|
76
76
|
size: int,
|
|
77
77
|
access: Iterable[file_share_create_params.CreateStandardFileShareSerializerAccess] | NotGiven = NOT_GIVEN,
|
|
78
78
|
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
79
|
+
type_name: Literal["standard"] | NotGiven = NOT_GIVEN,
|
|
79
80
|
volume_type: Literal["default_share_type"] | NotGiven = NOT_GIVEN,
|
|
80
81
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
81
82
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -98,7 +99,7 @@ class FileSharesResource(SyncAPIResource):
|
|
|
98
99
|
|
|
99
100
|
protocol: File share protocol
|
|
100
101
|
|
|
101
|
-
size: File share size
|
|
102
|
+
size: File share size in GiB
|
|
102
103
|
|
|
103
104
|
access: Access Rules
|
|
104
105
|
|
|
@@ -108,7 +109,9 @@ class FileSharesResource(SyncAPIResource):
|
|
|
108
109
|
modified by the user. Tags are also integrated with cost reports, allowing cost
|
|
109
110
|
data to be filtered based on tag keys or values.
|
|
110
111
|
|
|
111
|
-
|
|
112
|
+
type_name: Standard file share type
|
|
113
|
+
|
|
114
|
+
volume_type: Deprecated. Use `type_name` instead.
|
|
112
115
|
|
|
113
116
|
extra_headers: Send extra headers
|
|
114
117
|
|
|
@@ -129,9 +132,10 @@ class FileSharesResource(SyncAPIResource):
|
|
|
129
132
|
name: str,
|
|
130
133
|
protocol: Literal["NFS"],
|
|
131
134
|
size: int,
|
|
132
|
-
volume_type: Literal["vast_share_type"],
|
|
133
135
|
share_settings: file_share_create_params.CreateVastFileShareSerializerShareSettings | NotGiven = NOT_GIVEN,
|
|
134
136
|
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
137
|
+
type_name: Literal["vast"] | NotGiven = NOT_GIVEN,
|
|
138
|
+
volume_type: Literal["vast_share_type"] | NotGiven = NOT_GIVEN,
|
|
135
139
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
136
140
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
137
141
|
extra_headers: Headers | None = None,
|
|
@@ -151,9 +155,7 @@ class FileSharesResource(SyncAPIResource):
|
|
|
151
155
|
|
|
152
156
|
protocol: File share protocol
|
|
153
157
|
|
|
154
|
-
size: File share size
|
|
155
|
-
|
|
156
|
-
volume_type: File share volume type
|
|
158
|
+
size: File share size in GiB
|
|
157
159
|
|
|
158
160
|
share_settings: Configuration settings for the share
|
|
159
161
|
|
|
@@ -163,6 +165,10 @@ class FileSharesResource(SyncAPIResource):
|
|
|
163
165
|
modified by the user. Tags are also integrated with cost reports, allowing cost
|
|
164
166
|
data to be filtered based on tag keys or values.
|
|
165
167
|
|
|
168
|
+
type_name: Vast file share type
|
|
169
|
+
|
|
170
|
+
volume_type: Deprecated. Use `type_name` instead.
|
|
171
|
+
|
|
166
172
|
extra_headers: Send extra headers
|
|
167
173
|
|
|
168
174
|
extra_query: Add additional query parameters to the request
|
|
@@ -173,7 +179,7 @@ class FileSharesResource(SyncAPIResource):
|
|
|
173
179
|
"""
|
|
174
180
|
...
|
|
175
181
|
|
|
176
|
-
@required_args(["name", "network", "protocol", "size"], ["name", "protocol", "size"
|
|
182
|
+
@required_args(["name", "network", "protocol", "size"], ["name", "protocol", "size"])
|
|
177
183
|
def create(
|
|
178
184
|
self,
|
|
179
185
|
*,
|
|
@@ -185,6 +191,7 @@ class FileSharesResource(SyncAPIResource):
|
|
|
185
191
|
size: int,
|
|
186
192
|
access: Iterable[file_share_create_params.CreateStandardFileShareSerializerAccess] | NotGiven = NOT_GIVEN,
|
|
187
193
|
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
194
|
+
type_name: Literal["standard"] | Literal["vast"] | NotGiven = NOT_GIVEN,
|
|
188
195
|
volume_type: Literal["default_share_type"] | Literal["vast_share_type"] | NotGiven = NOT_GIVEN,
|
|
189
196
|
share_settings: file_share_create_params.CreateVastFileShareSerializerShareSettings | NotGiven = NOT_GIVEN,
|
|
190
197
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -208,6 +215,7 @@ class FileSharesResource(SyncAPIResource):
|
|
|
208
215
|
"size": size,
|
|
209
216
|
"access": access,
|
|
210
217
|
"tags": tags,
|
|
218
|
+
"type_name": type_name,
|
|
211
219
|
"volume_type": volume_type,
|
|
212
220
|
"share_settings": share_settings,
|
|
213
221
|
},
|
|
@@ -537,6 +545,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
|
|
|
537
545
|
size: int,
|
|
538
546
|
access: Iterable[file_share_create_params.CreateStandardFileShareSerializerAccess] | NotGiven = NOT_GIVEN,
|
|
539
547
|
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
548
|
+
type_name: Literal["standard"] | NotGiven = NOT_GIVEN,
|
|
540
549
|
volume_type: Literal["default_share_type"] | NotGiven = NOT_GIVEN,
|
|
541
550
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
542
551
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -559,7 +568,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
|
|
|
559
568
|
|
|
560
569
|
protocol: File share protocol
|
|
561
570
|
|
|
562
|
-
size: File share size
|
|
571
|
+
size: File share size in GiB
|
|
563
572
|
|
|
564
573
|
access: Access Rules
|
|
565
574
|
|
|
@@ -569,7 +578,9 @@ class AsyncFileSharesResource(AsyncAPIResource):
|
|
|
569
578
|
modified by the user. Tags are also integrated with cost reports, allowing cost
|
|
570
579
|
data to be filtered based on tag keys or values.
|
|
571
580
|
|
|
572
|
-
|
|
581
|
+
type_name: Standard file share type
|
|
582
|
+
|
|
583
|
+
volume_type: Deprecated. Use `type_name` instead.
|
|
573
584
|
|
|
574
585
|
extra_headers: Send extra headers
|
|
575
586
|
|
|
@@ -590,9 +601,10 @@ class AsyncFileSharesResource(AsyncAPIResource):
|
|
|
590
601
|
name: str,
|
|
591
602
|
protocol: Literal["NFS"],
|
|
592
603
|
size: int,
|
|
593
|
-
volume_type: Literal["vast_share_type"],
|
|
594
604
|
share_settings: file_share_create_params.CreateVastFileShareSerializerShareSettings | NotGiven = NOT_GIVEN,
|
|
595
605
|
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
606
|
+
type_name: Literal["vast"] | NotGiven = NOT_GIVEN,
|
|
607
|
+
volume_type: Literal["vast_share_type"] | NotGiven = NOT_GIVEN,
|
|
596
608
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
597
609
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
598
610
|
extra_headers: Headers | None = None,
|
|
@@ -612,9 +624,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
|
|
|
612
624
|
|
|
613
625
|
protocol: File share protocol
|
|
614
626
|
|
|
615
|
-
size: File share size
|
|
616
|
-
|
|
617
|
-
volume_type: File share volume type
|
|
627
|
+
size: File share size in GiB
|
|
618
628
|
|
|
619
629
|
share_settings: Configuration settings for the share
|
|
620
630
|
|
|
@@ -624,6 +634,10 @@ class AsyncFileSharesResource(AsyncAPIResource):
|
|
|
624
634
|
modified by the user. Tags are also integrated with cost reports, allowing cost
|
|
625
635
|
data to be filtered based on tag keys or values.
|
|
626
636
|
|
|
637
|
+
type_name: Vast file share type
|
|
638
|
+
|
|
639
|
+
volume_type: Deprecated. Use `type_name` instead.
|
|
640
|
+
|
|
627
641
|
extra_headers: Send extra headers
|
|
628
642
|
|
|
629
643
|
extra_query: Add additional query parameters to the request
|
|
@@ -634,7 +648,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
|
|
|
634
648
|
"""
|
|
635
649
|
...
|
|
636
650
|
|
|
637
|
-
@required_args(["name", "network", "protocol", "size"], ["name", "protocol", "size"
|
|
651
|
+
@required_args(["name", "network", "protocol", "size"], ["name", "protocol", "size"])
|
|
638
652
|
async def create(
|
|
639
653
|
self,
|
|
640
654
|
*,
|
|
@@ -646,6 +660,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
|
|
|
646
660
|
size: int,
|
|
647
661
|
access: Iterable[file_share_create_params.CreateStandardFileShareSerializerAccess] | NotGiven = NOT_GIVEN,
|
|
648
662
|
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
663
|
+
type_name: Literal["standard"] | Literal["vast"] | NotGiven = NOT_GIVEN,
|
|
649
664
|
volume_type: Literal["default_share_type"] | Literal["vast_share_type"] | NotGiven = NOT_GIVEN,
|
|
650
665
|
share_settings: file_share_create_params.CreateVastFileShareSerializerShareSettings | NotGiven = NOT_GIVEN,
|
|
651
666
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -669,6 +684,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
|
|
|
669
684
|
"size": size,
|
|
670
685
|
"access": access,
|
|
671
686
|
"tags": tags,
|
|
687
|
+
"type_name": type_name,
|
|
672
688
|
"volume_type": volume_type,
|
|
673
689
|
"share_settings": share_settings,
|
|
674
690
|
},
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Dict,
|
|
5
|
+
from typing import Dict, Optional
|
|
6
6
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
|
-
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
|
|
9
|
+
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven, SequenceNotStr
|
|
10
10
|
from ..._utils import maybe_transform, async_maybe_transform
|
|
11
11
|
from ..._compat import cached_property
|
|
12
12
|
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
@@ -116,7 +116,7 @@ class FloatingIPsResource(SyncAPIResource):
|
|
|
116
116
|
region_id: int | None = None,
|
|
117
117
|
limit: int | NotGiven = NOT_GIVEN,
|
|
118
118
|
offset: int | NotGiven = NOT_GIVEN,
|
|
119
|
-
tag_key:
|
|
119
|
+
tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
120
120
|
tag_key_value: str | NotGiven = NOT_GIVEN,
|
|
121
121
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
122
122
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -344,6 +344,90 @@ class FloatingIPsResource(SyncAPIResource):
|
|
|
344
344
|
cast_to=FloatingIP,
|
|
345
345
|
)
|
|
346
346
|
|
|
347
|
+
def create_and_poll(
|
|
348
|
+
self,
|
|
349
|
+
*,
|
|
350
|
+
project_id: int | None = None,
|
|
351
|
+
region_id: int | None = None,
|
|
352
|
+
fixed_ip_address: Optional[str] | NotGiven = NOT_GIVEN,
|
|
353
|
+
port_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
354
|
+
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
355
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
356
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
357
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
358
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
359
|
+
extra_headers: Headers | None = None,
|
|
360
|
+
extra_query: Query | None = None,
|
|
361
|
+
extra_body: Body | None = None,
|
|
362
|
+
) -> FloatingIP:
|
|
363
|
+
"""
|
|
364
|
+
Create floating IP and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
|
|
365
|
+
"""
|
|
366
|
+
response = self.create(
|
|
367
|
+
project_id=project_id,
|
|
368
|
+
region_id=region_id,
|
|
369
|
+
fixed_ip_address=fixed_ip_address,
|
|
370
|
+
port_id=port_id,
|
|
371
|
+
tags=tags,
|
|
372
|
+
extra_headers=extra_headers,
|
|
373
|
+
extra_query=extra_query,
|
|
374
|
+
extra_body=extra_body,
|
|
375
|
+
timeout=timeout,
|
|
376
|
+
)
|
|
377
|
+
if not response.tasks:
|
|
378
|
+
raise ValueError("Expected at least one task to be created")
|
|
379
|
+
task = self._client.cloud.tasks.poll(
|
|
380
|
+
task_id=response.tasks[0],
|
|
381
|
+
extra_headers=extra_headers,
|
|
382
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
383
|
+
)
|
|
384
|
+
if task.created_resources is None or task.created_resources.floatingips is None:
|
|
385
|
+
raise ValueError("Task completed but created_resources or floatingips is missing")
|
|
386
|
+
floating_ip_id = task.created_resources.floatingips[0]
|
|
387
|
+
return self.get(
|
|
388
|
+
floating_ip_id=floating_ip_id,
|
|
389
|
+
project_id=project_id,
|
|
390
|
+
region_id=region_id,
|
|
391
|
+
extra_headers=extra_headers,
|
|
392
|
+
extra_query=extra_query,
|
|
393
|
+
extra_body=extra_body,
|
|
394
|
+
timeout=timeout,
|
|
395
|
+
)
|
|
396
|
+
|
|
397
|
+
def delete_and_poll(
|
|
398
|
+
self,
|
|
399
|
+
floating_ip_id: str,
|
|
400
|
+
*,
|
|
401
|
+
project_id: int | None = None,
|
|
402
|
+
region_id: int | None = None,
|
|
403
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
404
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
405
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
406
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
407
|
+
extra_headers: Headers | None = None,
|
|
408
|
+
extra_query: Query | None = None,
|
|
409
|
+
extra_body: Body | None = None,
|
|
410
|
+
) -> None:
|
|
411
|
+
"""
|
|
412
|
+
Delete floating IP and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
|
|
413
|
+
"""
|
|
414
|
+
response = self.delete(
|
|
415
|
+
floating_ip_id=floating_ip_id,
|
|
416
|
+
project_id=project_id,
|
|
417
|
+
region_id=region_id,
|
|
418
|
+
extra_headers=extra_headers,
|
|
419
|
+
extra_query=extra_query,
|
|
420
|
+
extra_body=extra_body,
|
|
421
|
+
timeout=timeout,
|
|
422
|
+
)
|
|
423
|
+
if not response.tasks:
|
|
424
|
+
raise ValueError("Expected at least one task to be created")
|
|
425
|
+
self._client.cloud.tasks.poll(
|
|
426
|
+
task_id=response.tasks[0],
|
|
427
|
+
extra_headers=extra_headers,
|
|
428
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
429
|
+
)
|
|
430
|
+
|
|
347
431
|
|
|
348
432
|
class AsyncFloatingIPsResource(AsyncAPIResource):
|
|
349
433
|
@cached_property
|
|
@@ -435,7 +519,7 @@ class AsyncFloatingIPsResource(AsyncAPIResource):
|
|
|
435
519
|
region_id: int | None = None,
|
|
436
520
|
limit: int | NotGiven = NOT_GIVEN,
|
|
437
521
|
offset: int | NotGiven = NOT_GIVEN,
|
|
438
|
-
tag_key:
|
|
522
|
+
tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
|
|
439
523
|
tag_key_value: str | NotGiven = NOT_GIVEN,
|
|
440
524
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
441
525
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -663,6 +747,90 @@ class AsyncFloatingIPsResource(AsyncAPIResource):
|
|
|
663
747
|
cast_to=FloatingIP,
|
|
664
748
|
)
|
|
665
749
|
|
|
750
|
+
async def create_and_poll(
|
|
751
|
+
self,
|
|
752
|
+
*,
|
|
753
|
+
project_id: int | None = None,
|
|
754
|
+
region_id: int | None = None,
|
|
755
|
+
fixed_ip_address: Optional[str] | NotGiven = NOT_GIVEN,
|
|
756
|
+
port_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
757
|
+
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
758
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
759
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
760
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
761
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
762
|
+
extra_headers: Headers | None = None,
|
|
763
|
+
extra_query: Query | None = None,
|
|
764
|
+
extra_body: Body | None = None,
|
|
765
|
+
) -> FloatingIP:
|
|
766
|
+
"""
|
|
767
|
+
Create floating IP and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
|
|
768
|
+
"""
|
|
769
|
+
response = await self.create(
|
|
770
|
+
project_id=project_id,
|
|
771
|
+
region_id=region_id,
|
|
772
|
+
fixed_ip_address=fixed_ip_address,
|
|
773
|
+
port_id=port_id,
|
|
774
|
+
tags=tags,
|
|
775
|
+
extra_headers=extra_headers,
|
|
776
|
+
extra_query=extra_query,
|
|
777
|
+
extra_body=extra_body,
|
|
778
|
+
timeout=timeout,
|
|
779
|
+
)
|
|
780
|
+
if not response.tasks:
|
|
781
|
+
raise ValueError("Expected at least one task to be created")
|
|
782
|
+
task = await self._client.cloud.tasks.poll(
|
|
783
|
+
task_id=response.tasks[0],
|
|
784
|
+
extra_headers=extra_headers,
|
|
785
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
786
|
+
)
|
|
787
|
+
if task.created_resources is None or task.created_resources.floatingips is None:
|
|
788
|
+
raise ValueError("Task completed but created_resources or floatingips is missing")
|
|
789
|
+
floating_ip_id = task.created_resources.floatingips[0]
|
|
790
|
+
return await self.get(
|
|
791
|
+
floating_ip_id=floating_ip_id,
|
|
792
|
+
project_id=project_id,
|
|
793
|
+
region_id=region_id,
|
|
794
|
+
extra_headers=extra_headers,
|
|
795
|
+
extra_query=extra_query,
|
|
796
|
+
extra_body=extra_body,
|
|
797
|
+
timeout=timeout,
|
|
798
|
+
)
|
|
799
|
+
|
|
800
|
+
async def delete_and_poll(
|
|
801
|
+
self,
|
|
802
|
+
floating_ip_id: str,
|
|
803
|
+
*,
|
|
804
|
+
project_id: int | None = None,
|
|
805
|
+
region_id: int | None = None,
|
|
806
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
807
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
808
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
809
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
810
|
+
extra_headers: Headers | None = None,
|
|
811
|
+
extra_query: Query | None = None,
|
|
812
|
+
extra_body: Body | None = None,
|
|
813
|
+
) -> None:
|
|
814
|
+
"""
|
|
815
|
+
Delete floating IP and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
|
|
816
|
+
"""
|
|
817
|
+
response = await self.delete(
|
|
818
|
+
floating_ip_id=floating_ip_id,
|
|
819
|
+
project_id=project_id,
|
|
820
|
+
region_id=region_id,
|
|
821
|
+
extra_headers=extra_headers,
|
|
822
|
+
extra_query=extra_query,
|
|
823
|
+
extra_body=extra_body,
|
|
824
|
+
timeout=timeout,
|
|
825
|
+
)
|
|
826
|
+
if not response.tasks:
|
|
827
|
+
raise ValueError("Expected at least one task to be created")
|
|
828
|
+
await self._client.cloud.tasks.poll(
|
|
829
|
+
task_id=response.tasks[0],
|
|
830
|
+
extra_headers=extra_headers,
|
|
831
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
832
|
+
)
|
|
833
|
+
|
|
666
834
|
|
|
667
835
|
class FloatingIPsResourceWithRawResponse:
|
|
668
836
|
def __init__(self, floating_ips: FloatingIPsResource) -> None:
|
|
@@ -686,6 +854,12 @@ class FloatingIPsResourceWithRawResponse:
|
|
|
686
854
|
self.unassign = to_raw_response_wrapper(
|
|
687
855
|
floating_ips.unassign,
|
|
688
856
|
)
|
|
857
|
+
self.create_and_poll = to_raw_response_wrapper(
|
|
858
|
+
floating_ips.create_and_poll,
|
|
859
|
+
)
|
|
860
|
+
self.delete_and_poll = to_raw_response_wrapper(
|
|
861
|
+
floating_ips.delete_and_poll,
|
|
862
|
+
)
|
|
689
863
|
|
|
690
864
|
|
|
691
865
|
class AsyncFloatingIPsResourceWithRawResponse:
|
|
@@ -710,6 +884,12 @@ class AsyncFloatingIPsResourceWithRawResponse:
|
|
|
710
884
|
self.unassign = async_to_raw_response_wrapper(
|
|
711
885
|
floating_ips.unassign,
|
|
712
886
|
)
|
|
887
|
+
self.create_and_poll = async_to_raw_response_wrapper(
|
|
888
|
+
floating_ips.create_and_poll,
|
|
889
|
+
)
|
|
890
|
+
self.delete_and_poll = async_to_raw_response_wrapper(
|
|
891
|
+
floating_ips.delete_and_poll,
|
|
892
|
+
)
|
|
713
893
|
|
|
714
894
|
|
|
715
895
|
class FloatingIPsResourceWithStreamingResponse:
|
|
@@ -734,6 +914,12 @@ class FloatingIPsResourceWithStreamingResponse:
|
|
|
734
914
|
self.unassign = to_streamed_response_wrapper(
|
|
735
915
|
floating_ips.unassign,
|
|
736
916
|
)
|
|
917
|
+
self.create_and_poll = to_streamed_response_wrapper(
|
|
918
|
+
floating_ips.create_and_poll,
|
|
919
|
+
)
|
|
920
|
+
self.delete_and_poll = to_streamed_response_wrapper(
|
|
921
|
+
floating_ips.delete_and_poll,
|
|
922
|
+
)
|
|
737
923
|
|
|
738
924
|
|
|
739
925
|
class AsyncFloatingIPsResourceWithStreamingResponse:
|
|
@@ -758,3 +944,9 @@ class AsyncFloatingIPsResourceWithStreamingResponse:
|
|
|
758
944
|
self.unassign = async_to_streamed_response_wrapper(
|
|
759
945
|
floating_ips.unassign,
|
|
760
946
|
)
|
|
947
|
+
self.create_and_poll = async_to_streamed_response_wrapper(
|
|
948
|
+
floating_ips.create_and_poll,
|
|
949
|
+
)
|
|
950
|
+
self.delete_and_poll = async_to_streamed_response_wrapper(
|
|
951
|
+
floating_ips.delete_and_poll,
|
|
952
|
+
)
|
|
@@ -16,7 +16,7 @@ from ...._response import (
|
|
|
16
16
|
)
|
|
17
17
|
from ...._base_client import make_request_options
|
|
18
18
|
from ....types.cloud.gpu_baremetal_clusters import flavor_list_params
|
|
19
|
-
from ....types.cloud.gpu_baremetal_flavor_list import GPUBaremetalFlavorList
|
|
19
|
+
from ....types.cloud.gpu_baremetal_clusters.gpu_baremetal_flavor_list import GPUBaremetalFlavorList
|
|
20
20
|
|
|
21
21
|
__all__ = ["FlavorsResource", "AsyncFlavorsResource"]
|
|
22
22
|
|