gcore 0.12.0__py3-none-any.whl → 0.14.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/__init__.py +3 -1
- gcore/_base_client.py +9 -9
- gcore/_client.py +25 -10
- gcore/_models.py +10 -4
- gcore/_qs.py +7 -7
- gcore/_types.py +18 -11
- gcore/_utils/_transform.py +2 -2
- gcore/_utils/_utils.py +4 -4
- gcore/_version.py +1 -1
- gcore/pagination.py +137 -0
- gcore/resources/__init__.py +14 -0
- gcore/resources/cdn/__init__.py +201 -0
- gcore/resources/cdn/audit_log.py +406 -0
- gcore/resources/cdn/cdn.py +957 -0
- gcore/resources/cdn/certificates.py +1062 -0
- gcore/resources/cdn/ip_ranges.py +224 -0
- gcore/resources/cdn/logs/__init__.py +33 -0
- gcore/resources/cdn/logs/logs.py +1424 -0
- gcore/resources/cdn/logs/settings.py +1081 -0
- gcore/resources/cdn/logs_uploader/__init__.py +61 -0
- gcore/resources/cdn/logs_uploader/configs.py +868 -0
- gcore/resources/cdn/logs_uploader/logs_uploader.py +166 -0
- gcore/resources/cdn/logs_uploader/policies.py +1060 -0
- gcore/resources/cdn/logs_uploader/targets.py +811 -0
- gcore/resources/cdn/metrics.py +419 -0
- gcore/resources/cdn/network_capacity.py +139 -0
- gcore/resources/cdn/origin_groups.py +1496 -0
- gcore/resources/cdn/resources/__init__.py +47 -0
- gcore/resources/cdn/resources/resources.py +2060 -0
- gcore/resources/cdn/resources/rules.py +1027 -0
- gcore/resources/cdn/resources/shield.py +259 -0
- gcore/resources/cdn/rule_templates.py +883 -0
- gcore/resources/cdn/shields.py +139 -0
- gcore/resources/cdn/statistics.py +1408 -0
- gcore/resources/cdn/trusted_ca_certificates.py +592 -0
- gcore/resources/cloud/audit_logs.py +33 -29
- gcore/resources/cloud/baremetal/flavors.py +21 -17
- gcore/resources/cloud/baremetal/images.py +19 -15
- gcore/resources/cloud/baremetal/servers.py +141 -119
- gcore/resources/cloud/billing_reservations.py +41 -33
- gcore/resources/cloud/cloud.py +24 -0
- gcore/resources/cloud/cost_reports.py +149 -119
- gcore/resources/cloud/file_shares/access_rules.py +25 -13
- gcore/resources/cloud/file_shares/file_shares.py +107 -71
- gcore/resources/cloud/floating_ips.py +270 -52
- gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +13 -9
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +275 -65
- gcore/resources/cloud/gpu_baremetal_clusters/images.py +69 -53
- gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +9 -5
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +151 -127
- gcore/resources/cloud/inference/api_keys.py +51 -31
- gcore/resources/cloud/inference/applications/deployments.py +49 -31
- gcore/resources/cloud/inference/applications/templates.py +17 -9
- gcore/resources/cloud/inference/deployments/deployments.py +171 -139
- gcore/resources/cloud/inference/deployments/logs.py +17 -13
- gcore/resources/cloud/inference/flavors.py +21 -13
- gcore/resources/cloud/inference/inference.py +9 -5
- gcore/resources/cloud/inference/registry_credentials.py +45 -25
- gcore/resources/cloud/inference/secrets.py +45 -25
- gcore/resources/cloud/instances/flavors.py +17 -13
- gcore/resources/cloud/instances/images.py +153 -129
- gcore/resources/cloud/instances/instances.py +287 -213
- gcore/resources/cloud/instances/interfaces.py +165 -161
- gcore/resources/cloud/instances/metrics.py +9 -5
- gcore/resources/cloud/ip_ranges.py +25 -15
- gcore/resources/cloud/k8s/clusters/clusters.py +151 -87
- gcore/resources/cloud/k8s/clusters/nodes.py +19 -11
- gcore/resources/cloud/k8s/clusters/pools/nodes.py +19 -11
- gcore/resources/cloud/k8s/clusters/pools/pools.py +83 -59
- gcore/resources/cloud/k8s/flavors.py +13 -9
- gcore/resources/cloud/k8s/k8s.py +9 -5
- gcore/resources/cloud/load_balancers/flavors.py +11 -7
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +103 -83
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +77 -57
- gcore/resources/cloud/load_balancers/listeners.py +125 -105
- gcore/resources/cloud/load_balancers/load_balancers.py +155 -123
- gcore/resources/cloud/load_balancers/metrics.py +9 -5
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +25 -17
- gcore/resources/cloud/load_balancers/pools/members.py +31 -23
- gcore/resources/cloud/load_balancers/pools/pools.py +155 -129
- gcore/resources/cloud/load_balancers/statuses.py +17 -9
- gcore/resources/cloud/networks/networks.py +79 -55
- gcore/resources/cloud/networks/routers.py +75 -47
- gcore/resources/cloud/networks/subnets.py +105 -81
- gcore/resources/cloud/placement_groups.py +33 -17
- gcore/resources/cloud/projects.py +53 -41
- gcore/resources/cloud/quotas/quotas.py +25 -13
- gcore/resources/cloud/quotas/requests.py +41 -25
- gcore/resources/cloud/regions.py +25 -23
- gcore/resources/cloud/registries/artifacts.py +17 -9
- gcore/resources/cloud/registries/registries.py +55 -29
- gcore/resources/cloud/registries/repositories.py +17 -9
- gcore/resources/cloud/registries/tags.py +9 -5
- gcore/resources/cloud/registries/users.py +65 -35
- gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +123 -107
- gcore/resources/cloud/reserved_fixed_ips/vip.py +45 -25
- gcore/resources/cloud/secrets.py +43 -27
- gcore/resources/cloud/security_groups/rules.py +55 -43
- gcore/resources/cloud/security_groups/security_groups.py +79 -47
- gcore/resources/cloud/ssh_keys.py +51 -31
- gcore/resources/cloud/tasks.py +57 -45
- gcore/resources/cloud/usage_reports.py +27 -23
- gcore/resources/cloud/users/role_assignments.py +49 -33
- gcore/resources/cloud/volumes.py +237 -201
- gcore/resources/dns/dns.py +17 -13
- gcore/resources/dns/locations.py +29 -17
- gcore/resources/dns/metrics.py +13 -9
- gcore/resources/dns/pickers/pickers.py +5 -5
- gcore/resources/dns/pickers/presets.py +9 -5
- gcore/resources/dns/zones/dnssec.py +19 -11
- gcore/resources/dns/zones/rrsets.py +149 -91
- gcore/resources/dns/zones/zones.py +247 -189
- gcore/resources/fastedge/apps/apps.py +105 -89
- gcore/resources/fastedge/apps/logs.py +25 -21
- gcore/resources/fastedge/binaries.py +33 -17
- gcore/resources/fastedge/fastedge.py +5 -5
- gcore/resources/fastedge/kv_stores.py +43 -31
- gcore/resources/fastedge/secrets.py +69 -45
- gcore/resources/fastedge/statistics.py +25 -17
- gcore/resources/fastedge/templates.py +59 -39
- gcore/resources/iam/api_tokens.py +43 -27
- gcore/resources/iam/iam.py +5 -5
- gcore/resources/iam/users.py +97 -65
- gcore/resources/security/bgp_announces.py +27 -19
- gcore/resources/security/events.py +23 -19
- gcore/resources/security/profile_templates.py +9 -5
- gcore/resources/security/profiles.py +69 -45
- gcore/resources/storage/buckets/buckets.py +37 -25
- gcore/resources/storage/buckets/cors.py +19 -11
- gcore/resources/storage/buckets/lifecycle.py +19 -11
- gcore/resources/storage/buckets/policy.py +25 -13
- gcore/resources/storage/credentials.py +19 -15
- gcore/resources/storage/locations.py +13 -9
- gcore/resources/storage/statistics.py +39 -31
- gcore/resources/storage/storage.py +105 -69
- gcore/resources/streaming/ai_tasks.py +307 -197
- gcore/resources/streaming/broadcasts.py +63 -35
- gcore/resources/streaming/directories.py +65 -39
- gcore/resources/streaming/players.py +47 -31
- gcore/resources/streaming/playlists.py +189 -123
- gcore/resources/streaming/quality_sets.py +69 -39
- gcore/resources/streaming/restreams.py +47 -27
- gcore/resources/streaming/statistics.py +613 -407
- gcore/resources/streaming/streams/overlays.py +107 -67
- gcore/resources/streaming/streams/streams.py +403 -263
- gcore/resources/streaming/videos/subtitles.py +131 -75
- gcore/resources/streaming/videos/videos.py +429 -279
- gcore/resources/waap/advanced_rules.py +9 -5
- gcore/resources/waap/custom_page_sets.py +99 -75
- gcore/resources/waap/domains/advanced_rules.py +157 -99
- gcore/resources/waap/domains/api_discovery.py +71 -47
- gcore/resources/waap/domains/api_path_groups.py +9 -5
- gcore/resources/waap/domains/api_paths.py +79 -83
- gcore/resources/waap/domains/custom_rules.py +89 -59
- gcore/resources/waap/domains/domains.py +59 -41
- gcore/resources/waap/domains/firewall_rules.py +83 -55
- gcore/resources/waap/domains/insight_silences.py +59 -39
- gcore/resources/waap/domains/insights.py +39 -27
- gcore/resources/waap/domains/settings.py +21 -13
- gcore/resources/waap/domains/statistics.py +99 -75
- gcore/resources/waap/insights.py +23 -21
- gcore/resources/waap/ip_info/ip_info.py +70 -38
- gcore/resources/waap/ip_info/metrics.py +11 -7
- gcore/resources/waap/organizations.py +17 -13
- gcore/resources/waap/statistics.py +9 -5
- gcore/resources/waap/tags.py +17 -17
- gcore/resources/waap/waap.py +5 -5
- gcore/types/cdn/__init__.py +80 -0
- gcore/types/cdn/audit_log_list_params.py +73 -0
- gcore/types/cdn/ca_certificate.py +53 -0
- gcore/types/cdn/ca_certificate_list.py +10 -0
- gcore/types/cdn/cdn_account.py +86 -0
- gcore/types/cdn/cdn_account_limits.py +27 -0
- gcore/types/cdn/cdn_audit_log_entry.py +66 -0
- gcore/types/cdn/cdn_available_features.py +46 -0
- gcore/types/cdn/cdn_list_purge_statuses_params.py +67 -0
- gcore/types/cdn/cdn_log_entry.py +70 -0
- gcore/types/cdn/cdn_metrics.py +22 -0
- gcore/types/cdn/cdn_metrics_groups.py +13 -0
- gcore/types/cdn/cdn_metrics_values.py +19 -0
- gcore/types/cdn/cdn_resource.py +1977 -0
- gcore/types/cdn/cdn_resource_list.py +10 -0
- gcore/types/cdn/cdn_update_account_params.py +15 -0
- gcore/types/cdn/certificate_create_params.py +51 -0
- gcore/types/cdn/certificate_get_status_params.py +14 -0
- gcore/types/cdn/certificate_list_params.py +29 -0
- gcore/types/cdn/certificate_replace_params.py +39 -0
- gcore/types/cdn/log_download_params.py +279 -0
- gcore/types/cdn/log_list_params.py +273 -0
- gcore/types/cdn/logs/__init__.py +7 -0
- gcore/types/cdn/logs/log_settings.py +172 -0
- gcore/types/cdn/logs/setting_create_params.py +200 -0
- gcore/types/cdn/logs/setting_update_params.py +200 -0
- gcore/types/cdn/logs_aggregated_stats.py +23 -0
- gcore/types/cdn/logs_uploader/__init__.py +23 -0
- gcore/types/cdn/logs_uploader/config_create_params.py +32 -0
- gcore/types/cdn/logs_uploader/config_list_params.py +16 -0
- gcore/types/cdn/logs_uploader/config_replace_params.py +32 -0
- gcore/types/cdn/logs_uploader/config_update_params.py +32 -0
- gcore/types/cdn/logs_uploader/logs_uploader_config.py +51 -0
- gcore/types/cdn/logs_uploader/logs_uploader_config_list.py +10 -0
- gcore/types/cdn/logs_uploader/logs_uploader_policy.py +73 -0
- gcore/types/cdn/logs_uploader/logs_uploader_policy_list.py +10 -0
- gcore/types/cdn/logs_uploader/logs_uploader_target.py +236 -0
- gcore/types/cdn/logs_uploader/logs_uploader_target_list.py +10 -0
- gcore/types/cdn/logs_uploader/policy_create_params.py +61 -0
- gcore/types/cdn/logs_uploader/policy_list_fields_response.py +8 -0
- gcore/types/cdn/logs_uploader/policy_list_params.py +16 -0
- gcore/types/cdn/logs_uploader/policy_replace_params.py +61 -0
- gcore/types/cdn/logs_uploader/policy_update_params.py +61 -0
- gcore/types/cdn/logs_uploader/target_create_params.py +249 -0
- gcore/types/cdn/logs_uploader/target_list_params.py +16 -0
- gcore/types/cdn/logs_uploader/target_replace_params.py +249 -0
- gcore/types/cdn/logs_uploader/target_update_params.py +249 -0
- gcore/types/cdn/logs_uploader_validation.py +23 -0
- gcore/types/cdn/metric_list_params.py +168 -0
- gcore/types/cdn/network_capacity.py +22 -0
- gcore/types/cdn/origin_group_create_params.py +184 -0
- gcore/types/cdn/origin_group_list_params.py +24 -0
- gcore/types/cdn/origin_group_replace_params.py +190 -0
- gcore/types/cdn/origin_group_update_params.py +190 -0
- gcore/types/cdn/origin_groups.py +212 -0
- gcore/types/cdn/origin_groups_list.py +10 -0
- gcore/types/cdn/public_ip_list.py +15 -0
- gcore/types/cdn/public_network_list.py +15 -0
- gcore/types/cdn/purge_status.py +55 -0
- gcore/types/cdn/resource_aggregated_stats.py +80 -0
- gcore/types/cdn/resource_create_params.py +1825 -0
- gcore/types/cdn/resource_list_params.py +107 -0
- gcore/types/cdn/resource_prefetch_params.py +17 -0
- gcore/types/cdn/resource_purge_params.py +71 -0
- gcore/types/cdn/resource_replace_params.py +1803 -0
- gcore/types/cdn/resource_update_params.py +1794 -0
- gcore/types/cdn/resource_usage_stats.py +111 -0
- gcore/types/cdn/resources/__init__.py +11 -0
- gcore/types/cdn/resources/cdn_resource_rule.py +1695 -0
- gcore/types/cdn/resources/origin_shielding.py +15 -0
- gcore/types/cdn/resources/rule_create_params.py +1652 -0
- gcore/types/cdn/resources/rule_list_response.py +10 -0
- gcore/types/cdn/resources/rule_replace_params.py +1654 -0
- gcore/types/cdn/resources/rule_update_params.py +1654 -0
- gcore/types/cdn/resources/shield_replace_params.py +16 -0
- gcore/types/cdn/rule_template.py +1666 -0
- gcore/types/cdn/rule_template_create_params.py +1636 -0
- gcore/types/cdn/rule_template_list.py +10 -0
- gcore/types/cdn/rule_template_replace_params.py +1636 -0
- gcore/types/cdn/rule_template_update_params.py +1636 -0
- gcore/types/cdn/shield_aggregated_stats.py +23 -0
- gcore/types/cdn/shield_list_response.py +25 -0
- gcore/types/cdn/ssl_detail.py +62 -0
- gcore/types/cdn/ssl_detail_list.py +10 -0
- gcore/types/cdn/ssl_request_status.py +135 -0
- gcore/types/cdn/statistic_get_logs_usage_aggregated_params.py +42 -0
- gcore/types/cdn/statistic_get_logs_usage_series_params.py +35 -0
- gcore/types/cdn/statistic_get_resource_usage_aggregated_params.py +151 -0
- gcore/types/cdn/statistic_get_resource_usage_series_params.py +131 -0
- gcore/types/cdn/statistic_get_shield_usage_aggregated_params.py +42 -0
- gcore/types/cdn/statistic_get_shield_usage_series_params.py +25 -0
- gcore/types/cdn/trusted_ca_certificate_create_params.py +23 -0
- gcore/types/cdn/trusted_ca_certificate_list_params.py +29 -0
- gcore/types/cdn/trusted_ca_certificate_replace_params.py +15 -0
- gcore/types/cdn/usage_series_stats.py +31 -0
- gcore/types/cloud/__init__.py +2 -0
- gcore/types/cloud/file_share.py +4 -0
- gcore/types/cloud/file_share_create_params.py +20 -0
- gcore/types/cloud/file_share_update_params.py +40 -3
- gcore/types/cloud/floating_ip.py +1 -1
- gcore/types/cloud/floating_ip_detailed.py +1 -1
- gcore/types/cloud/floating_ip_update_params.py +43 -0
- gcore/types/cloud/gpu_baremetal_cluster_action_params.py +46 -0
- gcore/types/cloud/inference/inference_deployment.py +3 -1
- gcore/types/cloud/instance_create_params.py +3 -1
- gcore/types/cloud/k8s/cluster_create_params.py +46 -4
- gcore/types/cloud/k8s/cluster_update_params.py +60 -6
- gcore/types/cloud/k8s/clusters/pool_update_params.py +1 -1
- gcore/types/cloud/k8s/k8s_cluster.py +40 -3
- gcore/types/cloud/load_balancer_update_params.py +3 -1
- gcore/types/cloud/network_update_params.py +3 -1
- gcore/types/cloud/networks/subnet_update_params.py +3 -1
- gcore/types/cloud/registries/user_create_multiple_params.py +5 -3
- gcore/types/cloud/registries/user_create_params.py +5 -3
- gcore/types/cloud/registry_create_params.py +5 -3
- gcore/types/cloud/security_group_update_params.py +3 -1
- gcore/types/cloud/ssh_key_created.py +6 -3
- gcore/types/cloud/volume_update_params.py +3 -1
- gcore/types/dns/zone_get_statistics_params.py +12 -9
- gcore/types/dns/zone_get_statistics_response.py +3 -1
- gcore/types/dns/zone_import_params.py +21 -15
- gcore/types/dns/zones/dns_output_rrset.py +7 -3
- gcore/types/iam/account_overview.py +7 -2
- gcore/types/iam/user.py +7 -2
- gcore/types/iam/user_detailed.py +7 -2
- gcore/types/iam/user_invite_params.py +4 -1
- gcore/types/iam/user_update.py +7 -2
- gcore/types/iam/user_update_params.py +7 -2
- gcore/types/streaming/ai_contentmoderation_hardnudity.py +6 -4
- gcore/types/streaming/ai_contentmoderation_nsfw.py +6 -4
- gcore/types/streaming/ai_contentmoderation_softnudity.py +6 -4
- gcore/types/streaming/ai_contentmoderation_sport.py +6 -4
- gcore/types/streaming/ai_task.py +20 -11
- gcore/types/streaming/ai_task_create_params.py +20 -11
- gcore/types/streaming/ai_task_get_response.py +5 -4
- gcore/types/streaming/ai_task_list_params.py +11 -5
- gcore/types/streaming/clip.py +33 -22
- gcore/types/streaming/create_video_param.py +75 -43
- gcore/types/streaming/playlist.py +7 -5
- gcore/types/streaming/playlist_create_params.py +7 -5
- gcore/types/streaming/playlist_update_params.py +7 -5
- gcore/types/streaming/playlist_video.py +75 -43
- gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +7 -4
- gcore/types/streaming/stream.py +207 -136
- gcore/types/streaming/stream_create_clip_params.py +33 -22
- gcore/types/streaming/stream_create_params.py +41 -24
- gcore/types/streaming/stream_update_params.py +41 -24
- gcore/types/streaming/video.py +138 -76
- gcore/types/streaming/video_list_params.py +4 -2
- gcore/types/streaming/video_update_params.py +75 -43
- gcore/types/waap/__init__.py +2 -1
- gcore/types/waap/domain_update_params.py +2 -2
- gcore/types/waap/domains/advanced_rule_create_params.py +26 -18
- gcore/types/waap/domains/advanced_rule_list_params.py +10 -7
- gcore/types/waap/domains/advanced_rule_update_params.py +22 -17
- gcore/types/waap/domains/api_path_create_params.py +0 -3
- gcore/types/waap/domains/api_path_update_params.py +1 -3
- gcore/types/waap/domains/custom_rule_create_params.py +36 -35
- gcore/types/waap/domains/custom_rule_update_params.py +31 -33
- gcore/types/waap/domains/firewall_rule_create_params.py +6 -6
- gcore/types/waap/domains/firewall_rule_update_params.py +5 -5
- gcore/types/waap/domains/waap_advanced_rule.py +17 -9
- gcore/types/waap/domains/waap_custom_rule.py +5 -2
- gcore/types/waap/domains/waap_firewall_rule.py +1 -1
- gcore/types/waap/domains/waap_insight.py +1 -1
- gcore/types/waap/insight_list_types_params.py +1 -1
- gcore/types/waap/ip_info_get_top_urls_response.py +3 -12
- gcore/types/waap/{ip_info_get_ip_info_response.py → waap_ip_info.py} +2 -2
- gcore/types/waap/waap_top_url.py +13 -0
- {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/METADATA +1 -1
- {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/RECORD +340 -218
- {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/WHEEL +0 -0
- {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -7,7 +7,7 @@ from typing_extensions import Literal
|
|
|
7
7
|
|
|
8
8
|
import httpx
|
|
9
9
|
|
|
10
|
-
from ...._types import
|
|
10
|
+
from ...._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
|
|
11
11
|
from ...._utils import maybe_transform, async_maybe_transform
|
|
12
12
|
from ...._compat import cached_property
|
|
13
13
|
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
@@ -50,11 +50,11 @@ class RulesResource(SyncAPIResource):
|
|
|
50
50
|
*,
|
|
51
51
|
project_id: int | None = None,
|
|
52
52
|
region_id: int | None = None,
|
|
53
|
-
description: str |
|
|
54
|
-
direction: Literal["egress", "ingress"] |
|
|
55
|
-
ethertype: Literal["IPv4", "IPv6"] |
|
|
56
|
-
port_range_max: Optional[int] |
|
|
57
|
-
port_range_min: Optional[int] |
|
|
53
|
+
description: str | Omit = omit,
|
|
54
|
+
direction: Literal["egress", "ingress"] | Omit = omit,
|
|
55
|
+
ethertype: Literal["IPv4", "IPv6"] | Omit = omit,
|
|
56
|
+
port_range_max: Optional[int] | Omit = omit,
|
|
57
|
+
port_range_min: Optional[int] | Omit = omit,
|
|
58
58
|
protocol: Literal[
|
|
59
59
|
"ah",
|
|
60
60
|
"any",
|
|
@@ -81,15 +81,15 @@ class RulesResource(SyncAPIResource):
|
|
|
81
81
|
"udplite",
|
|
82
82
|
"vrrp",
|
|
83
83
|
]
|
|
84
|
-
|
|
|
85
|
-
remote_group_id: str |
|
|
86
|
-
remote_ip_prefix: Optional[str] |
|
|
84
|
+
| Omit = omit,
|
|
85
|
+
remote_group_id: str | Omit = omit,
|
|
86
|
+
remote_ip_prefix: Optional[str] | Omit = omit,
|
|
87
87
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
88
88
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
89
89
|
extra_headers: Headers | None = None,
|
|
90
90
|
extra_query: Query | None = None,
|
|
91
91
|
extra_body: Body | None = None,
|
|
92
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
92
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
93
93
|
) -> SecurityGroupRule:
|
|
94
94
|
"""
|
|
95
95
|
Add a new rule to an existing security group.
|
|
@@ -126,7 +126,9 @@ class RulesResource(SyncAPIResource):
|
|
|
126
126
|
if not group_id:
|
|
127
127
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
128
128
|
return self._post(
|
|
129
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules"
|
|
129
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules"
|
|
130
|
+
if self._client._base_url_overridden
|
|
131
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules",
|
|
130
132
|
body=maybe_transform(
|
|
131
133
|
{
|
|
132
134
|
"description": description,
|
|
@@ -157,7 +159,7 @@ class RulesResource(SyncAPIResource):
|
|
|
157
159
|
extra_headers: Headers | None = None,
|
|
158
160
|
extra_query: Query | None = None,
|
|
159
161
|
extra_body: Body | None = None,
|
|
160
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
162
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
161
163
|
) -> None:
|
|
162
164
|
"""
|
|
163
165
|
Delete a specific rule from a security group.
|
|
@@ -179,7 +181,9 @@ class RulesResource(SyncAPIResource):
|
|
|
179
181
|
raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
|
|
180
182
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
181
183
|
return self._delete(
|
|
182
|
-
f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
|
|
184
|
+
f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
|
|
185
|
+
if self._client._base_url_overridden
|
|
186
|
+
else f"https://api.gcore.com//cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
|
|
183
187
|
options=make_request_options(
|
|
184
188
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
185
189
|
),
|
|
@@ -194,10 +198,10 @@ class RulesResource(SyncAPIResource):
|
|
|
194
198
|
region_id: int | None = None,
|
|
195
199
|
direction: Literal["egress", "ingress"],
|
|
196
200
|
security_group_id: str,
|
|
197
|
-
description: str |
|
|
198
|
-
ethertype: Optional[Literal["IPv4", "IPv6"]] |
|
|
199
|
-
port_range_max: Optional[int] |
|
|
200
|
-
port_range_min: Optional[int] |
|
|
201
|
+
description: str | Omit = omit,
|
|
202
|
+
ethertype: Optional[Literal["IPv4", "IPv6"]] | Omit = omit,
|
|
203
|
+
port_range_max: Optional[int] | Omit = omit,
|
|
204
|
+
port_range_min: Optional[int] | Omit = omit,
|
|
201
205
|
protocol: Literal[
|
|
202
206
|
"ah",
|
|
203
207
|
"any",
|
|
@@ -224,15 +228,15 @@ class RulesResource(SyncAPIResource):
|
|
|
224
228
|
"udplite",
|
|
225
229
|
"vrrp",
|
|
226
230
|
]
|
|
227
|
-
|
|
|
228
|
-
remote_group_id: Optional[str] |
|
|
229
|
-
remote_ip_prefix: Optional[str] |
|
|
231
|
+
| Omit = omit,
|
|
232
|
+
remote_group_id: Optional[str] | Omit = omit,
|
|
233
|
+
remote_ip_prefix: Optional[str] | Omit = omit,
|
|
230
234
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
231
235
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
232
236
|
extra_headers: Headers | None = None,
|
|
233
237
|
extra_query: Query | None = None,
|
|
234
238
|
extra_body: Body | None = None,
|
|
235
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
239
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
236
240
|
) -> SecurityGroupRule:
|
|
237
241
|
"""
|
|
238
242
|
Update the configuration of an existing security group rule.
|
|
@@ -273,7 +277,9 @@ class RulesResource(SyncAPIResource):
|
|
|
273
277
|
if not rule_id:
|
|
274
278
|
raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
|
|
275
279
|
return self._put(
|
|
276
|
-
f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
|
|
280
|
+
f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
|
|
281
|
+
if self._client._base_url_overridden
|
|
282
|
+
else f"https://api.gcore.com//cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
|
|
277
283
|
body=maybe_transform(
|
|
278
284
|
{
|
|
279
285
|
"direction": direction,
|
|
@@ -321,11 +327,11 @@ class AsyncRulesResource(AsyncAPIResource):
|
|
|
321
327
|
*,
|
|
322
328
|
project_id: int | None = None,
|
|
323
329
|
region_id: int | None = None,
|
|
324
|
-
description: str |
|
|
325
|
-
direction: Literal["egress", "ingress"] |
|
|
326
|
-
ethertype: Literal["IPv4", "IPv6"] |
|
|
327
|
-
port_range_max: Optional[int] |
|
|
328
|
-
port_range_min: Optional[int] |
|
|
330
|
+
description: str | Omit = omit,
|
|
331
|
+
direction: Literal["egress", "ingress"] | Omit = omit,
|
|
332
|
+
ethertype: Literal["IPv4", "IPv6"] | Omit = omit,
|
|
333
|
+
port_range_max: Optional[int] | Omit = omit,
|
|
334
|
+
port_range_min: Optional[int] | Omit = omit,
|
|
329
335
|
protocol: Literal[
|
|
330
336
|
"ah",
|
|
331
337
|
"any",
|
|
@@ -352,15 +358,15 @@ class AsyncRulesResource(AsyncAPIResource):
|
|
|
352
358
|
"udplite",
|
|
353
359
|
"vrrp",
|
|
354
360
|
]
|
|
355
|
-
|
|
|
356
|
-
remote_group_id: str |
|
|
357
|
-
remote_ip_prefix: Optional[str] |
|
|
361
|
+
| Omit = omit,
|
|
362
|
+
remote_group_id: str | Omit = omit,
|
|
363
|
+
remote_ip_prefix: Optional[str] | Omit = omit,
|
|
358
364
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
359
365
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
360
366
|
extra_headers: Headers | None = None,
|
|
361
367
|
extra_query: Query | None = None,
|
|
362
368
|
extra_body: Body | None = None,
|
|
363
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
369
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
364
370
|
) -> SecurityGroupRule:
|
|
365
371
|
"""
|
|
366
372
|
Add a new rule to an existing security group.
|
|
@@ -397,7 +403,9 @@ class AsyncRulesResource(AsyncAPIResource):
|
|
|
397
403
|
if not group_id:
|
|
398
404
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
399
405
|
return await self._post(
|
|
400
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules"
|
|
406
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules"
|
|
407
|
+
if self._client._base_url_overridden
|
|
408
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/rules",
|
|
401
409
|
body=await async_maybe_transform(
|
|
402
410
|
{
|
|
403
411
|
"description": description,
|
|
@@ -428,7 +436,7 @@ class AsyncRulesResource(AsyncAPIResource):
|
|
|
428
436
|
extra_headers: Headers | None = None,
|
|
429
437
|
extra_query: Query | None = None,
|
|
430
438
|
extra_body: Body | None = None,
|
|
431
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
439
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
432
440
|
) -> None:
|
|
433
441
|
"""
|
|
434
442
|
Delete a specific rule from a security group.
|
|
@@ -450,7 +458,9 @@ class AsyncRulesResource(AsyncAPIResource):
|
|
|
450
458
|
raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
|
|
451
459
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
452
460
|
return await self._delete(
|
|
453
|
-
f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
|
|
461
|
+
f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
|
|
462
|
+
if self._client._base_url_overridden
|
|
463
|
+
else f"https://api.gcore.com//cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
|
|
454
464
|
options=make_request_options(
|
|
455
465
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
456
466
|
),
|
|
@@ -465,10 +475,10 @@ class AsyncRulesResource(AsyncAPIResource):
|
|
|
465
475
|
region_id: int | None = None,
|
|
466
476
|
direction: Literal["egress", "ingress"],
|
|
467
477
|
security_group_id: str,
|
|
468
|
-
description: str |
|
|
469
|
-
ethertype: Optional[Literal["IPv4", "IPv6"]] |
|
|
470
|
-
port_range_max: Optional[int] |
|
|
471
|
-
port_range_min: Optional[int] |
|
|
478
|
+
description: str | Omit = omit,
|
|
479
|
+
ethertype: Optional[Literal["IPv4", "IPv6"]] | Omit = omit,
|
|
480
|
+
port_range_max: Optional[int] | Omit = omit,
|
|
481
|
+
port_range_min: Optional[int] | Omit = omit,
|
|
472
482
|
protocol: Literal[
|
|
473
483
|
"ah",
|
|
474
484
|
"any",
|
|
@@ -495,15 +505,15 @@ class AsyncRulesResource(AsyncAPIResource):
|
|
|
495
505
|
"udplite",
|
|
496
506
|
"vrrp",
|
|
497
507
|
]
|
|
498
|
-
|
|
|
499
|
-
remote_group_id: Optional[str] |
|
|
500
|
-
remote_ip_prefix: Optional[str] |
|
|
508
|
+
| Omit = omit,
|
|
509
|
+
remote_group_id: Optional[str] | Omit = omit,
|
|
510
|
+
remote_ip_prefix: Optional[str] | Omit = omit,
|
|
501
511
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
502
512
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
503
513
|
extra_headers: Headers | None = None,
|
|
504
514
|
extra_query: Query | None = None,
|
|
505
515
|
extra_body: Body | None = None,
|
|
506
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
516
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
507
517
|
) -> SecurityGroupRule:
|
|
508
518
|
"""
|
|
509
519
|
Update the configuration of an existing security group rule.
|
|
@@ -544,7 +554,9 @@ class AsyncRulesResource(AsyncAPIResource):
|
|
|
544
554
|
if not rule_id:
|
|
545
555
|
raise ValueError(f"Expected a non-empty value for `rule_id` but received {rule_id!r}")
|
|
546
556
|
return await self._put(
|
|
547
|
-
f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
|
|
557
|
+
f"/cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}"
|
|
558
|
+
if self._client._base_url_overridden
|
|
559
|
+
else f"https://api.gcore.com//cloud/v1/securitygrouprules/{project_id}/{region_id}/{rule_id}",
|
|
548
560
|
body=await async_maybe_transform(
|
|
549
561
|
{
|
|
550
562
|
"direction": direction,
|
|
@@ -14,7 +14,7 @@ from .rules import (
|
|
|
14
14
|
RulesResourceWithStreamingResponse,
|
|
15
15
|
AsyncRulesResourceWithStreamingResponse,
|
|
16
16
|
)
|
|
17
|
-
from ...._types import
|
|
17
|
+
from ...._types import Body, Omit, Query, Headers, NoneType, NotGiven, SequenceNotStr, omit, not_given
|
|
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,13 +68,13 @@ 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: SequenceNotStr[str] |
|
|
71
|
+
instances: SequenceNotStr[str] | Omit = omit,
|
|
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,
|
|
75
75
|
extra_query: Query | None = None,
|
|
76
76
|
extra_body: Body | None = None,
|
|
77
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
77
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
78
78
|
) -> SecurityGroup:
|
|
79
79
|
"""
|
|
80
80
|
Create a new security group with the specified configuration.
|
|
@@ -97,7 +97,9 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
97
97
|
if region_id is None:
|
|
98
98
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
99
99
|
return self._post(
|
|
100
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}"
|
|
100
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}"
|
|
101
|
+
if self._client._base_url_overridden
|
|
102
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}",
|
|
101
103
|
body=maybe_transform(
|
|
102
104
|
{
|
|
103
105
|
"security_group": security_group,
|
|
@@ -117,15 +119,15 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
117
119
|
*,
|
|
118
120
|
project_id: int | None = None,
|
|
119
121
|
region_id: int | None = None,
|
|
120
|
-
changed_rules: Iterable[security_group_update_params.ChangedRule] |
|
|
121
|
-
name: str |
|
|
122
|
-
tags: Optional[TagUpdateMapParam] |
|
|
122
|
+
changed_rules: Iterable[security_group_update_params.ChangedRule] | Omit = omit,
|
|
123
|
+
name: str | Omit = omit,
|
|
124
|
+
tags: Optional[TagUpdateMapParam] | Omit = omit,
|
|
123
125
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
124
126
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
125
127
|
extra_headers: Headers | None = None,
|
|
126
128
|
extra_query: Query | None = None,
|
|
127
129
|
extra_body: Body | None = None,
|
|
128
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
130
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
129
131
|
) -> SecurityGroup:
|
|
130
132
|
"""
|
|
131
133
|
Update the configuration of an existing security group.
|
|
@@ -138,7 +140,9 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
138
140
|
tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
|
|
139
141
|
key-value pairs to add or update tags. Set tag values to `null` to remove tags.
|
|
140
142
|
Unspecified tags remain unchanged. Read-only tags are always preserved and
|
|
141
|
-
cannot be modified.
|
|
143
|
+
cannot be modified.
|
|
144
|
+
|
|
145
|
+
**Examples:**
|
|
142
146
|
|
|
143
147
|
- **Add/update tags:**
|
|
144
148
|
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
@@ -170,7 +174,9 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
170
174
|
if not group_id:
|
|
171
175
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
172
176
|
return self._patch(
|
|
173
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
177
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
178
|
+
if self._client._base_url_overridden
|
|
179
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
|
|
174
180
|
body=maybe_transform(
|
|
175
181
|
{
|
|
176
182
|
"changed_rules": changed_rules,
|
|
@@ -190,16 +196,16 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
190
196
|
*,
|
|
191
197
|
project_id: int | None = None,
|
|
192
198
|
region_id: int | None = None,
|
|
193
|
-
limit: int |
|
|
194
|
-
offset: int |
|
|
195
|
-
tag_key: SequenceNotStr[str] |
|
|
196
|
-
tag_key_value: str |
|
|
199
|
+
limit: int | Omit = omit,
|
|
200
|
+
offset: int | Omit = omit,
|
|
201
|
+
tag_key: SequenceNotStr[str] | Omit = omit,
|
|
202
|
+
tag_key_value: str | Omit = omit,
|
|
197
203
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
198
204
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
199
205
|
extra_headers: Headers | None = None,
|
|
200
206
|
extra_query: Query | None = None,
|
|
201
207
|
extra_body: Body | None = None,
|
|
202
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
208
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
203
209
|
) -> SyncOffsetPage[SecurityGroup]:
|
|
204
210
|
"""
|
|
205
211
|
List all security groups in the specified project and region.
|
|
@@ -226,7 +232,9 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
226
232
|
if region_id is None:
|
|
227
233
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
228
234
|
return self._get_api_list(
|
|
229
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}"
|
|
235
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}"
|
|
236
|
+
if self._client._base_url_overridden
|
|
237
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}",
|
|
230
238
|
page=SyncOffsetPage[SecurityGroup],
|
|
231
239
|
options=make_request_options(
|
|
232
240
|
extra_headers=extra_headers,
|
|
@@ -257,7 +265,7 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
257
265
|
extra_headers: Headers | None = None,
|
|
258
266
|
extra_query: Query | None = None,
|
|
259
267
|
extra_body: Body | None = None,
|
|
260
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
268
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
261
269
|
) -> None:
|
|
262
270
|
"""
|
|
263
271
|
Delete a specific security group and all its associated rules.
|
|
@@ -279,7 +287,9 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
279
287
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
280
288
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
281
289
|
return self._delete(
|
|
282
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
290
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
291
|
+
if self._client._base_url_overridden
|
|
292
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
|
|
283
293
|
options=make_request_options(
|
|
284
294
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
285
295
|
),
|
|
@@ -298,7 +308,7 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
298
308
|
extra_headers: Headers | None = None,
|
|
299
309
|
extra_query: Query | None = None,
|
|
300
310
|
extra_body: Body | None = None,
|
|
301
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
311
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
302
312
|
) -> SecurityGroup:
|
|
303
313
|
"""
|
|
304
314
|
Create a deep copy of an existing security group.
|
|
@@ -321,7 +331,9 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
321
331
|
if not group_id:
|
|
322
332
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
323
333
|
return self._post(
|
|
324
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy"
|
|
334
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy"
|
|
335
|
+
if self._client._base_url_overridden
|
|
336
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy",
|
|
325
337
|
body=maybe_transform({"name": name}, security_group_copy_params.SecurityGroupCopyParams),
|
|
326
338
|
options=make_request_options(
|
|
327
339
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
@@ -340,7 +352,7 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
340
352
|
extra_headers: Headers | None = None,
|
|
341
353
|
extra_query: Query | None = None,
|
|
342
354
|
extra_body: Body | None = None,
|
|
343
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
355
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
344
356
|
) -> SecurityGroup:
|
|
345
357
|
"""
|
|
346
358
|
Get detailed information about a specific security group.
|
|
@@ -361,7 +373,9 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
361
373
|
if not group_id:
|
|
362
374
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
363
375
|
return self._get(
|
|
364
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
376
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
377
|
+
if self._client._base_url_overridden
|
|
378
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
|
|
365
379
|
options=make_request_options(
|
|
366
380
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
367
381
|
),
|
|
@@ -379,7 +393,7 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
379
393
|
extra_headers: Headers | None = None,
|
|
380
394
|
extra_query: Query | None = None,
|
|
381
395
|
extra_body: Body | None = None,
|
|
382
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
396
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
383
397
|
) -> SecurityGroup:
|
|
384
398
|
"""
|
|
385
399
|
Revert a security group to its previous state.
|
|
@@ -400,7 +414,9 @@ class SecurityGroupsResource(SyncAPIResource):
|
|
|
400
414
|
if not group_id:
|
|
401
415
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
402
416
|
return self._post(
|
|
403
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert"
|
|
417
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert"
|
|
418
|
+
if self._client._base_url_overridden
|
|
419
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert",
|
|
404
420
|
options=make_request_options(
|
|
405
421
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
406
422
|
),
|
|
@@ -438,13 +454,13 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
438
454
|
project_id: int | None = None,
|
|
439
455
|
region_id: int | None = None,
|
|
440
456
|
security_group: security_group_create_params.SecurityGroup,
|
|
441
|
-
instances: SequenceNotStr[str] |
|
|
457
|
+
instances: SequenceNotStr[str] | Omit = omit,
|
|
442
458
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
443
459
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
444
460
|
extra_headers: Headers | None = None,
|
|
445
461
|
extra_query: Query | None = None,
|
|
446
462
|
extra_body: Body | None = None,
|
|
447
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
463
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
448
464
|
) -> SecurityGroup:
|
|
449
465
|
"""
|
|
450
466
|
Create a new security group with the specified configuration.
|
|
@@ -467,7 +483,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
467
483
|
if region_id is None:
|
|
468
484
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
469
485
|
return await self._post(
|
|
470
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}"
|
|
486
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}"
|
|
487
|
+
if self._client._base_url_overridden
|
|
488
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}",
|
|
471
489
|
body=await async_maybe_transform(
|
|
472
490
|
{
|
|
473
491
|
"security_group": security_group,
|
|
@@ -487,15 +505,15 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
487
505
|
*,
|
|
488
506
|
project_id: int | None = None,
|
|
489
507
|
region_id: int | None = None,
|
|
490
|
-
changed_rules: Iterable[security_group_update_params.ChangedRule] |
|
|
491
|
-
name: str |
|
|
492
|
-
tags: Optional[TagUpdateMapParam] |
|
|
508
|
+
changed_rules: Iterable[security_group_update_params.ChangedRule] | Omit = omit,
|
|
509
|
+
name: str | Omit = omit,
|
|
510
|
+
tags: Optional[TagUpdateMapParam] | Omit = omit,
|
|
493
511
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
494
512
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
495
513
|
extra_headers: Headers | None = None,
|
|
496
514
|
extra_query: Query | None = None,
|
|
497
515
|
extra_body: Body | None = None,
|
|
498
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
516
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
499
517
|
) -> SecurityGroup:
|
|
500
518
|
"""
|
|
501
519
|
Update the configuration of an existing security group.
|
|
@@ -508,7 +526,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
508
526
|
tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
|
|
509
527
|
key-value pairs to add or update tags. Set tag values to `null` to remove tags.
|
|
510
528
|
Unspecified tags remain unchanged. Read-only tags are always preserved and
|
|
511
|
-
cannot be modified.
|
|
529
|
+
cannot be modified.
|
|
530
|
+
|
|
531
|
+
**Examples:**
|
|
512
532
|
|
|
513
533
|
- **Add/update tags:**
|
|
514
534
|
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
@@ -540,7 +560,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
540
560
|
if not group_id:
|
|
541
561
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
542
562
|
return await self._patch(
|
|
543
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
563
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
564
|
+
if self._client._base_url_overridden
|
|
565
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
|
|
544
566
|
body=await async_maybe_transform(
|
|
545
567
|
{
|
|
546
568
|
"changed_rules": changed_rules,
|
|
@@ -560,16 +582,16 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
560
582
|
*,
|
|
561
583
|
project_id: int | None = None,
|
|
562
584
|
region_id: int | None = None,
|
|
563
|
-
limit: int |
|
|
564
|
-
offset: int |
|
|
565
|
-
tag_key: SequenceNotStr[str] |
|
|
566
|
-
tag_key_value: str |
|
|
585
|
+
limit: int | Omit = omit,
|
|
586
|
+
offset: int | Omit = omit,
|
|
587
|
+
tag_key: SequenceNotStr[str] | Omit = omit,
|
|
588
|
+
tag_key_value: str | Omit = omit,
|
|
567
589
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
568
590
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
569
591
|
extra_headers: Headers | None = None,
|
|
570
592
|
extra_query: Query | None = None,
|
|
571
593
|
extra_body: Body | None = None,
|
|
572
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
594
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
573
595
|
) -> AsyncPaginator[SecurityGroup, AsyncOffsetPage[SecurityGroup]]:
|
|
574
596
|
"""
|
|
575
597
|
List all security groups in the specified project and region.
|
|
@@ -596,7 +618,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
596
618
|
if region_id is None:
|
|
597
619
|
region_id = self._client._get_cloud_region_id_path_param()
|
|
598
620
|
return self._get_api_list(
|
|
599
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}"
|
|
621
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}"
|
|
622
|
+
if self._client._base_url_overridden
|
|
623
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}",
|
|
600
624
|
page=AsyncOffsetPage[SecurityGroup],
|
|
601
625
|
options=make_request_options(
|
|
602
626
|
extra_headers=extra_headers,
|
|
@@ -627,7 +651,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
627
651
|
extra_headers: Headers | None = None,
|
|
628
652
|
extra_query: Query | None = None,
|
|
629
653
|
extra_body: Body | None = None,
|
|
630
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
654
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
631
655
|
) -> None:
|
|
632
656
|
"""
|
|
633
657
|
Delete a specific security group and all its associated rules.
|
|
@@ -649,7 +673,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
649
673
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
650
674
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
651
675
|
return await self._delete(
|
|
652
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
676
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
677
|
+
if self._client._base_url_overridden
|
|
678
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
|
|
653
679
|
options=make_request_options(
|
|
654
680
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
655
681
|
),
|
|
@@ -668,7 +694,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
668
694
|
extra_headers: Headers | None = None,
|
|
669
695
|
extra_query: Query | None = None,
|
|
670
696
|
extra_body: Body | None = None,
|
|
671
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
697
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
672
698
|
) -> SecurityGroup:
|
|
673
699
|
"""
|
|
674
700
|
Create a deep copy of an existing security group.
|
|
@@ -691,7 +717,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
691
717
|
if not group_id:
|
|
692
718
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
693
719
|
return await self._post(
|
|
694
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy"
|
|
720
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy"
|
|
721
|
+
if self._client._base_url_overridden
|
|
722
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy",
|
|
695
723
|
body=await async_maybe_transform({"name": name}, security_group_copy_params.SecurityGroupCopyParams),
|
|
696
724
|
options=make_request_options(
|
|
697
725
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
@@ -710,7 +738,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
710
738
|
extra_headers: Headers | None = None,
|
|
711
739
|
extra_query: Query | None = None,
|
|
712
740
|
extra_body: Body | None = None,
|
|
713
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
741
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
714
742
|
) -> SecurityGroup:
|
|
715
743
|
"""
|
|
716
744
|
Get detailed information about a specific security group.
|
|
@@ -731,7 +759,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
731
759
|
if not group_id:
|
|
732
760
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
733
761
|
return await self._get(
|
|
734
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
762
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}"
|
|
763
|
+
if self._client._base_url_overridden
|
|
764
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}",
|
|
735
765
|
options=make_request_options(
|
|
736
766
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
737
767
|
),
|
|
@@ -749,7 +779,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
749
779
|
extra_headers: Headers | None = None,
|
|
750
780
|
extra_query: Query | None = None,
|
|
751
781
|
extra_body: Body | None = None,
|
|
752
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
782
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
753
783
|
) -> SecurityGroup:
|
|
754
784
|
"""
|
|
755
785
|
Revert a security group to its previous state.
|
|
@@ -770,7 +800,9 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
|
|
|
770
800
|
if not group_id:
|
|
771
801
|
raise ValueError(f"Expected a non-empty value for `group_id` but received {group_id!r}")
|
|
772
802
|
return await self._post(
|
|
773
|
-
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert"
|
|
803
|
+
f"/cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert"
|
|
804
|
+
if self._client._base_url_overridden
|
|
805
|
+
else f"https://api.gcore.com//cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/revert",
|
|
774
806
|
options=make_request_options(
|
|
775
807
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
776
808
|
),
|