gcore 0.10.0__py3-none-any.whl → 0.12.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/reserved_fixed_ips.py +608 -0
- 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 +1125 -223
- 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 +1046 -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.12.0.dist-info}/METADATA +7 -2
- {gcore-0.10.0.dist-info → gcore-0.12.0.dist-info}/RECORD +313 -193
- 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.12.0.dist-info}/WHEEL +0 -0
- {gcore-0.10.0.dist-info → gcore-0.12.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
|
|
7
|
+
from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
|
|
8
|
+
from ...._compat import cached_property
|
|
9
|
+
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
10
|
+
from ...._response import (
|
|
11
|
+
to_raw_response_wrapper,
|
|
12
|
+
to_streamed_response_wrapper,
|
|
13
|
+
async_to_raw_response_wrapper,
|
|
14
|
+
async_to_streamed_response_wrapper,
|
|
15
|
+
)
|
|
16
|
+
from ...._base_client import make_request_options
|
|
17
|
+
from ....types.storage.buckets.policy_get_response import PolicyGetResponse
|
|
18
|
+
|
|
19
|
+
__all__ = ["PolicyResource", "AsyncPolicyResource"]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class PolicyResource(SyncAPIResource):
|
|
23
|
+
@cached_property
|
|
24
|
+
def with_raw_response(self) -> PolicyResourceWithRawResponse:
|
|
25
|
+
"""
|
|
26
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
27
|
+
the raw response object instead of the parsed content.
|
|
28
|
+
|
|
29
|
+
For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
|
|
30
|
+
"""
|
|
31
|
+
return PolicyResourceWithRawResponse(self)
|
|
32
|
+
|
|
33
|
+
@cached_property
|
|
34
|
+
def with_streaming_response(self) -> PolicyResourceWithStreamingResponse:
|
|
35
|
+
"""
|
|
36
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
37
|
+
|
|
38
|
+
For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
|
|
39
|
+
"""
|
|
40
|
+
return PolicyResourceWithStreamingResponse(self)
|
|
41
|
+
|
|
42
|
+
def create(
|
|
43
|
+
self,
|
|
44
|
+
bucket_name: str,
|
|
45
|
+
*,
|
|
46
|
+
storage_id: int,
|
|
47
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
48
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
49
|
+
extra_headers: Headers | None = None,
|
|
50
|
+
extra_query: Query | None = None,
|
|
51
|
+
extra_body: Body | None = None,
|
|
52
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
53
|
+
) -> None:
|
|
54
|
+
"""
|
|
55
|
+
Applies a public read policy to the S3 bucket, allowing anonymous users to
|
|
56
|
+
download/access all objects in the bucket via HTTP GET requests. This makes the
|
|
57
|
+
bucket suitable for static website hosting, public file sharing, or CDN
|
|
58
|
+
integration. Only grants read access - users cannot upload, modify, or delete
|
|
59
|
+
objects without proper authentication.
|
|
60
|
+
|
|
61
|
+
Args:
|
|
62
|
+
extra_headers: Send extra headers
|
|
63
|
+
|
|
64
|
+
extra_query: Add additional query parameters to the request
|
|
65
|
+
|
|
66
|
+
extra_body: Add additional JSON properties to the request
|
|
67
|
+
|
|
68
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
69
|
+
"""
|
|
70
|
+
if not bucket_name:
|
|
71
|
+
raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
|
|
72
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
73
|
+
return self._post(
|
|
74
|
+
f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
|
|
75
|
+
options=make_request_options(
|
|
76
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
77
|
+
),
|
|
78
|
+
cast_to=NoneType,
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
def delete(
|
|
82
|
+
self,
|
|
83
|
+
bucket_name: str,
|
|
84
|
+
*,
|
|
85
|
+
storage_id: int,
|
|
86
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
87
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
88
|
+
extra_headers: Headers | None = None,
|
|
89
|
+
extra_query: Query | None = None,
|
|
90
|
+
extra_body: Body | None = None,
|
|
91
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
92
|
+
) -> None:
|
|
93
|
+
"""
|
|
94
|
+
Removes the public read policy from an S3 bucket, making all objects private and
|
|
95
|
+
accessible only with proper authentication credentials. After this operation,
|
|
96
|
+
anonymous users will no longer be able to access bucket contents via HTTP
|
|
97
|
+
requests.
|
|
98
|
+
|
|
99
|
+
Args:
|
|
100
|
+
extra_headers: Send extra headers
|
|
101
|
+
|
|
102
|
+
extra_query: Add additional query parameters to the request
|
|
103
|
+
|
|
104
|
+
extra_body: Add additional JSON properties to the request
|
|
105
|
+
|
|
106
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
107
|
+
"""
|
|
108
|
+
if not bucket_name:
|
|
109
|
+
raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
|
|
110
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
111
|
+
return self._delete(
|
|
112
|
+
f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
|
|
113
|
+
options=make_request_options(
|
|
114
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
115
|
+
),
|
|
116
|
+
cast_to=NoneType,
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
def get(
|
|
120
|
+
self,
|
|
121
|
+
bucket_name: str,
|
|
122
|
+
*,
|
|
123
|
+
storage_id: int,
|
|
124
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
125
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
126
|
+
extra_headers: Headers | None = None,
|
|
127
|
+
extra_query: Query | None = None,
|
|
128
|
+
extra_body: Body | None = None,
|
|
129
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
130
|
+
) -> PolicyGetResponse:
|
|
131
|
+
"""
|
|
132
|
+
Returns whether the S3 bucket is currently configured for public read access.
|
|
133
|
+
Shows if anonymous users can download objects from the bucket via HTTP requests.
|
|
134
|
+
|
|
135
|
+
Args:
|
|
136
|
+
extra_headers: Send extra headers
|
|
137
|
+
|
|
138
|
+
extra_query: Add additional query parameters to the request
|
|
139
|
+
|
|
140
|
+
extra_body: Add additional JSON properties to the request
|
|
141
|
+
|
|
142
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
143
|
+
"""
|
|
144
|
+
if not bucket_name:
|
|
145
|
+
raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
|
|
146
|
+
return self._get(
|
|
147
|
+
f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
|
|
148
|
+
options=make_request_options(
|
|
149
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
150
|
+
),
|
|
151
|
+
cast_to=PolicyGetResponse,
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
class AsyncPolicyResource(AsyncAPIResource):
|
|
156
|
+
@cached_property
|
|
157
|
+
def with_raw_response(self) -> AsyncPolicyResourceWithRawResponse:
|
|
158
|
+
"""
|
|
159
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
160
|
+
the raw response object instead of the parsed content.
|
|
161
|
+
|
|
162
|
+
For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
|
|
163
|
+
"""
|
|
164
|
+
return AsyncPolicyResourceWithRawResponse(self)
|
|
165
|
+
|
|
166
|
+
@cached_property
|
|
167
|
+
def with_streaming_response(self) -> AsyncPolicyResourceWithStreamingResponse:
|
|
168
|
+
"""
|
|
169
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
170
|
+
|
|
171
|
+
For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
|
|
172
|
+
"""
|
|
173
|
+
return AsyncPolicyResourceWithStreamingResponse(self)
|
|
174
|
+
|
|
175
|
+
async def create(
|
|
176
|
+
self,
|
|
177
|
+
bucket_name: str,
|
|
178
|
+
*,
|
|
179
|
+
storage_id: int,
|
|
180
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
181
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
182
|
+
extra_headers: Headers | None = None,
|
|
183
|
+
extra_query: Query | None = None,
|
|
184
|
+
extra_body: Body | None = None,
|
|
185
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
186
|
+
) -> None:
|
|
187
|
+
"""
|
|
188
|
+
Applies a public read policy to the S3 bucket, allowing anonymous users to
|
|
189
|
+
download/access all objects in the bucket via HTTP GET requests. This makes the
|
|
190
|
+
bucket suitable for static website hosting, public file sharing, or CDN
|
|
191
|
+
integration. Only grants read access - users cannot upload, modify, or delete
|
|
192
|
+
objects without proper authentication.
|
|
193
|
+
|
|
194
|
+
Args:
|
|
195
|
+
extra_headers: Send extra headers
|
|
196
|
+
|
|
197
|
+
extra_query: Add additional query parameters to the request
|
|
198
|
+
|
|
199
|
+
extra_body: Add additional JSON properties to the request
|
|
200
|
+
|
|
201
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
202
|
+
"""
|
|
203
|
+
if not bucket_name:
|
|
204
|
+
raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
|
|
205
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
206
|
+
return await self._post(
|
|
207
|
+
f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
|
|
208
|
+
options=make_request_options(
|
|
209
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
210
|
+
),
|
|
211
|
+
cast_to=NoneType,
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
async def delete(
|
|
215
|
+
self,
|
|
216
|
+
bucket_name: str,
|
|
217
|
+
*,
|
|
218
|
+
storage_id: int,
|
|
219
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
220
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
221
|
+
extra_headers: Headers | None = None,
|
|
222
|
+
extra_query: Query | None = None,
|
|
223
|
+
extra_body: Body | None = None,
|
|
224
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
225
|
+
) -> None:
|
|
226
|
+
"""
|
|
227
|
+
Removes the public read policy from an S3 bucket, making all objects private and
|
|
228
|
+
accessible only with proper authentication credentials. After this operation,
|
|
229
|
+
anonymous users will no longer be able to access bucket contents via HTTP
|
|
230
|
+
requests.
|
|
231
|
+
|
|
232
|
+
Args:
|
|
233
|
+
extra_headers: Send extra headers
|
|
234
|
+
|
|
235
|
+
extra_query: Add additional query parameters to the request
|
|
236
|
+
|
|
237
|
+
extra_body: Add additional JSON properties to the request
|
|
238
|
+
|
|
239
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
240
|
+
"""
|
|
241
|
+
if not bucket_name:
|
|
242
|
+
raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
|
|
243
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
244
|
+
return await self._delete(
|
|
245
|
+
f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
|
|
246
|
+
options=make_request_options(
|
|
247
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
248
|
+
),
|
|
249
|
+
cast_to=NoneType,
|
|
250
|
+
)
|
|
251
|
+
|
|
252
|
+
async def get(
|
|
253
|
+
self,
|
|
254
|
+
bucket_name: str,
|
|
255
|
+
*,
|
|
256
|
+
storage_id: int,
|
|
257
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
258
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
259
|
+
extra_headers: Headers | None = None,
|
|
260
|
+
extra_query: Query | None = None,
|
|
261
|
+
extra_body: Body | None = None,
|
|
262
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
263
|
+
) -> PolicyGetResponse:
|
|
264
|
+
"""
|
|
265
|
+
Returns whether the S3 bucket is currently configured for public read access.
|
|
266
|
+
Shows if anonymous users can download objects from the bucket via HTTP requests.
|
|
267
|
+
|
|
268
|
+
Args:
|
|
269
|
+
extra_headers: Send extra headers
|
|
270
|
+
|
|
271
|
+
extra_query: Add additional query parameters to the request
|
|
272
|
+
|
|
273
|
+
extra_body: Add additional JSON properties to the request
|
|
274
|
+
|
|
275
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
276
|
+
"""
|
|
277
|
+
if not bucket_name:
|
|
278
|
+
raise ValueError(f"Expected a non-empty value for `bucket_name` but received {bucket_name!r}")
|
|
279
|
+
return await self._get(
|
|
280
|
+
f"/storage/provisioning/v1/storage/{storage_id}/s3/bucket/{bucket_name}/policy",
|
|
281
|
+
options=make_request_options(
|
|
282
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
283
|
+
),
|
|
284
|
+
cast_to=PolicyGetResponse,
|
|
285
|
+
)
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
class PolicyResourceWithRawResponse:
|
|
289
|
+
def __init__(self, policy: PolicyResource) -> None:
|
|
290
|
+
self._policy = policy
|
|
291
|
+
|
|
292
|
+
self.create = to_raw_response_wrapper(
|
|
293
|
+
policy.create,
|
|
294
|
+
)
|
|
295
|
+
self.delete = to_raw_response_wrapper(
|
|
296
|
+
policy.delete,
|
|
297
|
+
)
|
|
298
|
+
self.get = to_raw_response_wrapper(
|
|
299
|
+
policy.get,
|
|
300
|
+
)
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
class AsyncPolicyResourceWithRawResponse:
|
|
304
|
+
def __init__(self, policy: AsyncPolicyResource) -> None:
|
|
305
|
+
self._policy = policy
|
|
306
|
+
|
|
307
|
+
self.create = async_to_raw_response_wrapper(
|
|
308
|
+
policy.create,
|
|
309
|
+
)
|
|
310
|
+
self.delete = async_to_raw_response_wrapper(
|
|
311
|
+
policy.delete,
|
|
312
|
+
)
|
|
313
|
+
self.get = async_to_raw_response_wrapper(
|
|
314
|
+
policy.get,
|
|
315
|
+
)
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
class PolicyResourceWithStreamingResponse:
|
|
319
|
+
def __init__(self, policy: PolicyResource) -> None:
|
|
320
|
+
self._policy = policy
|
|
321
|
+
|
|
322
|
+
self.create = to_streamed_response_wrapper(
|
|
323
|
+
policy.create,
|
|
324
|
+
)
|
|
325
|
+
self.delete = to_streamed_response_wrapper(
|
|
326
|
+
policy.delete,
|
|
327
|
+
)
|
|
328
|
+
self.get = to_streamed_response_wrapper(
|
|
329
|
+
policy.get,
|
|
330
|
+
)
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
class AsyncPolicyResourceWithStreamingResponse:
|
|
334
|
+
def __init__(self, policy: AsyncPolicyResource) -> None:
|
|
335
|
+
self._policy = policy
|
|
336
|
+
|
|
337
|
+
self.create = async_to_streamed_response_wrapper(
|
|
338
|
+
policy.create,
|
|
339
|
+
)
|
|
340
|
+
self.delete = async_to_streamed_response_wrapper(
|
|
341
|
+
policy.delete,
|
|
342
|
+
)
|
|
343
|
+
self.get = async_to_streamed_response_wrapper(
|
|
344
|
+
policy.get,
|
|
345
|
+
)
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
|
|
7
|
+
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
|
|
8
|
+
from ..._utils import maybe_transform, async_maybe_transform
|
|
9
|
+
from ..._compat import cached_property
|
|
10
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
11
|
+
from ..._response import (
|
|
12
|
+
to_raw_response_wrapper,
|
|
13
|
+
to_streamed_response_wrapper,
|
|
14
|
+
async_to_raw_response_wrapper,
|
|
15
|
+
async_to_streamed_response_wrapper,
|
|
16
|
+
)
|
|
17
|
+
from ..._base_client import make_request_options
|
|
18
|
+
from ...types.storage import credential_recreate_params
|
|
19
|
+
from ...types.storage.storage import Storage
|
|
20
|
+
|
|
21
|
+
__all__ = ["CredentialsResource", "AsyncCredentialsResource"]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class CredentialsResource(SyncAPIResource):
|
|
25
|
+
@cached_property
|
|
26
|
+
def with_raw_response(self) -> CredentialsResourceWithRawResponse:
|
|
27
|
+
"""
|
|
28
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
29
|
+
the raw response object instead of the parsed content.
|
|
30
|
+
|
|
31
|
+
For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
|
|
32
|
+
"""
|
|
33
|
+
return CredentialsResourceWithRawResponse(self)
|
|
34
|
+
|
|
35
|
+
@cached_property
|
|
36
|
+
def with_streaming_response(self) -> CredentialsResourceWithStreamingResponse:
|
|
37
|
+
"""
|
|
38
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
39
|
+
|
|
40
|
+
For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
|
|
41
|
+
"""
|
|
42
|
+
return CredentialsResourceWithStreamingResponse(self)
|
|
43
|
+
|
|
44
|
+
def recreate(
|
|
45
|
+
self,
|
|
46
|
+
storage_id: int,
|
|
47
|
+
*,
|
|
48
|
+
delete_sftp_password: bool | NotGiven = NOT_GIVEN,
|
|
49
|
+
generate_s3_keys: bool | NotGiven = NOT_GIVEN,
|
|
50
|
+
generate_sftp_password: bool | NotGiven = NOT_GIVEN,
|
|
51
|
+
reset_sftp_keys: bool | NotGiven = NOT_GIVEN,
|
|
52
|
+
sftp_password: str | NotGiven = NOT_GIVEN,
|
|
53
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
54
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
55
|
+
extra_headers: Headers | None = None,
|
|
56
|
+
extra_query: Query | None = None,
|
|
57
|
+
extra_body: Body | None = None,
|
|
58
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
59
|
+
) -> Storage:
|
|
60
|
+
"""
|
|
61
|
+
Generates new access credentials for the storage (S3 keys for S3 storage, SFTP
|
|
62
|
+
password for SFTP storage).
|
|
63
|
+
|
|
64
|
+
Args:
|
|
65
|
+
delete_sftp_password: Remove the SFTP password, disabling password authentication. Only applicable to
|
|
66
|
+
SFTP storage type.
|
|
67
|
+
|
|
68
|
+
generate_s3_keys: Generate new S3 access and secret keys for S3 storage. Only applicable to S3
|
|
69
|
+
storage type.
|
|
70
|
+
|
|
71
|
+
generate_sftp_password: Generate a new random password for SFTP access. Only applicable to SFTP storage
|
|
72
|
+
type.
|
|
73
|
+
|
|
74
|
+
reset_sftp_keys: Reset/remove all SSH keys associated with the SFTP storage. Only applicable to
|
|
75
|
+
SFTP storage type.
|
|
76
|
+
|
|
77
|
+
sftp_password: Set a custom password for SFTP access. Only applicable to SFTP storage type.
|
|
78
|
+
|
|
79
|
+
extra_headers: Send extra headers
|
|
80
|
+
|
|
81
|
+
extra_query: Add additional query parameters to the request
|
|
82
|
+
|
|
83
|
+
extra_body: Add additional JSON properties to the request
|
|
84
|
+
|
|
85
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
86
|
+
"""
|
|
87
|
+
return self._post(
|
|
88
|
+
f"/storage/provisioning/v1/storage/{storage_id}/credentials",
|
|
89
|
+
body=maybe_transform(
|
|
90
|
+
{
|
|
91
|
+
"delete_sftp_password": delete_sftp_password,
|
|
92
|
+
"generate_s3_keys": generate_s3_keys,
|
|
93
|
+
"generate_sftp_password": generate_sftp_password,
|
|
94
|
+
"reset_sftp_keys": reset_sftp_keys,
|
|
95
|
+
"sftp_password": sftp_password,
|
|
96
|
+
},
|
|
97
|
+
credential_recreate_params.CredentialRecreateParams,
|
|
98
|
+
),
|
|
99
|
+
options=make_request_options(
|
|
100
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
101
|
+
),
|
|
102
|
+
cast_to=Storage,
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
class AsyncCredentialsResource(AsyncAPIResource):
|
|
107
|
+
@cached_property
|
|
108
|
+
def with_raw_response(self) -> AsyncCredentialsResourceWithRawResponse:
|
|
109
|
+
"""
|
|
110
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
111
|
+
the raw response object instead of the parsed content.
|
|
112
|
+
|
|
113
|
+
For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
|
|
114
|
+
"""
|
|
115
|
+
return AsyncCredentialsResourceWithRawResponse(self)
|
|
116
|
+
|
|
117
|
+
@cached_property
|
|
118
|
+
def with_streaming_response(self) -> AsyncCredentialsResourceWithStreamingResponse:
|
|
119
|
+
"""
|
|
120
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
121
|
+
|
|
122
|
+
For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
|
|
123
|
+
"""
|
|
124
|
+
return AsyncCredentialsResourceWithStreamingResponse(self)
|
|
125
|
+
|
|
126
|
+
async def recreate(
|
|
127
|
+
self,
|
|
128
|
+
storage_id: int,
|
|
129
|
+
*,
|
|
130
|
+
delete_sftp_password: bool | NotGiven = NOT_GIVEN,
|
|
131
|
+
generate_s3_keys: bool | NotGiven = NOT_GIVEN,
|
|
132
|
+
generate_sftp_password: bool | NotGiven = NOT_GIVEN,
|
|
133
|
+
reset_sftp_keys: bool | NotGiven = NOT_GIVEN,
|
|
134
|
+
sftp_password: str | NotGiven = NOT_GIVEN,
|
|
135
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
136
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
137
|
+
extra_headers: Headers | None = None,
|
|
138
|
+
extra_query: Query | None = None,
|
|
139
|
+
extra_body: Body | None = None,
|
|
140
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
141
|
+
) -> Storage:
|
|
142
|
+
"""
|
|
143
|
+
Generates new access credentials for the storage (S3 keys for S3 storage, SFTP
|
|
144
|
+
password for SFTP storage).
|
|
145
|
+
|
|
146
|
+
Args:
|
|
147
|
+
delete_sftp_password: Remove the SFTP password, disabling password authentication. Only applicable to
|
|
148
|
+
SFTP storage type.
|
|
149
|
+
|
|
150
|
+
generate_s3_keys: Generate new S3 access and secret keys for S3 storage. Only applicable to S3
|
|
151
|
+
storage type.
|
|
152
|
+
|
|
153
|
+
generate_sftp_password: Generate a new random password for SFTP access. Only applicable to SFTP storage
|
|
154
|
+
type.
|
|
155
|
+
|
|
156
|
+
reset_sftp_keys: Reset/remove all SSH keys associated with the SFTP storage. Only applicable to
|
|
157
|
+
SFTP storage type.
|
|
158
|
+
|
|
159
|
+
sftp_password: Set a custom password for SFTP access. Only applicable to SFTP storage type.
|
|
160
|
+
|
|
161
|
+
extra_headers: Send extra headers
|
|
162
|
+
|
|
163
|
+
extra_query: Add additional query parameters to the request
|
|
164
|
+
|
|
165
|
+
extra_body: Add additional JSON properties to the request
|
|
166
|
+
|
|
167
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
168
|
+
"""
|
|
169
|
+
return await self._post(
|
|
170
|
+
f"/storage/provisioning/v1/storage/{storage_id}/credentials",
|
|
171
|
+
body=await async_maybe_transform(
|
|
172
|
+
{
|
|
173
|
+
"delete_sftp_password": delete_sftp_password,
|
|
174
|
+
"generate_s3_keys": generate_s3_keys,
|
|
175
|
+
"generate_sftp_password": generate_sftp_password,
|
|
176
|
+
"reset_sftp_keys": reset_sftp_keys,
|
|
177
|
+
"sftp_password": sftp_password,
|
|
178
|
+
},
|
|
179
|
+
credential_recreate_params.CredentialRecreateParams,
|
|
180
|
+
),
|
|
181
|
+
options=make_request_options(
|
|
182
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
183
|
+
),
|
|
184
|
+
cast_to=Storage,
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
class CredentialsResourceWithRawResponse:
|
|
189
|
+
def __init__(self, credentials: CredentialsResource) -> None:
|
|
190
|
+
self._credentials = credentials
|
|
191
|
+
|
|
192
|
+
self.recreate = to_raw_response_wrapper(
|
|
193
|
+
credentials.recreate,
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
class AsyncCredentialsResourceWithRawResponse:
|
|
198
|
+
def __init__(self, credentials: AsyncCredentialsResource) -> None:
|
|
199
|
+
self._credentials = credentials
|
|
200
|
+
|
|
201
|
+
self.recreate = async_to_raw_response_wrapper(
|
|
202
|
+
credentials.recreate,
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
class CredentialsResourceWithStreamingResponse:
|
|
207
|
+
def __init__(self, credentials: CredentialsResource) -> None:
|
|
208
|
+
self._credentials = credentials
|
|
209
|
+
|
|
210
|
+
self.recreate = to_streamed_response_wrapper(
|
|
211
|
+
credentials.recreate,
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
class AsyncCredentialsResourceWithStreamingResponse:
|
|
216
|
+
def __init__(self, credentials: AsyncCredentialsResource) -> None:
|
|
217
|
+
self._credentials = credentials
|
|
218
|
+
|
|
219
|
+
self.recreate = async_to_streamed_response_wrapper(
|
|
220
|
+
credentials.recreate,
|
|
221
|
+
)
|