gcore 0.13.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 +101 -59
- 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 +245 -187
- 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 +65 -33
- 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 +1 -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_update_params.py +3 -1
- 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/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-0.13.0.dist-info → gcore-0.14.0.dist-info}/METADATA +1 -1
- {gcore-0.13.0.dist-info → gcore-0.14.0.dist-info}/RECORD +334 -214
- {gcore-0.13.0.dist-info → gcore-0.14.0.dist-info}/WHEEL +0 -0
- {gcore-0.13.0.dist-info → gcore-0.14.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,883 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing_extensions import Literal
|
|
7
|
+
|
|
8
|
+
import httpx
|
|
9
|
+
|
|
10
|
+
from ..._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
|
|
11
|
+
from ..._utils import maybe_transform, async_maybe_transform
|
|
12
|
+
from ..._compat import cached_property
|
|
13
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
14
|
+
from ..._response import (
|
|
15
|
+
to_raw_response_wrapper,
|
|
16
|
+
to_streamed_response_wrapper,
|
|
17
|
+
async_to_raw_response_wrapper,
|
|
18
|
+
async_to_streamed_response_wrapper,
|
|
19
|
+
)
|
|
20
|
+
from ...types.cdn import rule_template_create_params, rule_template_update_params, rule_template_replace_params
|
|
21
|
+
from ..._base_client import make_request_options
|
|
22
|
+
from ...types.cdn.rule_template import RuleTemplate
|
|
23
|
+
from ...types.cdn.rule_template_list import RuleTemplateList
|
|
24
|
+
|
|
25
|
+
__all__ = ["RuleTemplatesResource", "AsyncRuleTemplatesResource"]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class RuleTemplatesResource(SyncAPIResource):
|
|
29
|
+
@cached_property
|
|
30
|
+
def with_raw_response(self) -> RuleTemplatesResourceWithRawResponse:
|
|
31
|
+
"""
|
|
32
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
33
|
+
the raw response object instead of the parsed content.
|
|
34
|
+
|
|
35
|
+
For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
|
|
36
|
+
"""
|
|
37
|
+
return RuleTemplatesResourceWithRawResponse(self)
|
|
38
|
+
|
|
39
|
+
@cached_property
|
|
40
|
+
def with_streaming_response(self) -> RuleTemplatesResourceWithStreamingResponse:
|
|
41
|
+
"""
|
|
42
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
43
|
+
|
|
44
|
+
For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
|
|
45
|
+
"""
|
|
46
|
+
return RuleTemplatesResourceWithStreamingResponse(self)
|
|
47
|
+
|
|
48
|
+
def create(
|
|
49
|
+
self,
|
|
50
|
+
*,
|
|
51
|
+
rule: str,
|
|
52
|
+
rule_type: int,
|
|
53
|
+
name: str | Omit = omit,
|
|
54
|
+
options: rule_template_create_params.Options | Omit = omit,
|
|
55
|
+
override_origin_protocol: Optional[Literal["HTTPS", "HTTP", "MATCH"]] | Omit = omit,
|
|
56
|
+
weight: int | Omit = omit,
|
|
57
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
58
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
59
|
+
extra_headers: Headers | None = None,
|
|
60
|
+
extra_query: Query | None = None,
|
|
61
|
+
extra_body: Body | None = None,
|
|
62
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
63
|
+
) -> RuleTemplate:
|
|
64
|
+
"""
|
|
65
|
+
Create rule template
|
|
66
|
+
|
|
67
|
+
Args:
|
|
68
|
+
rule: Path to the file or folder for which the rule will be applied.
|
|
69
|
+
|
|
70
|
+
The rule is applied if the requested URI matches the rule path.
|
|
71
|
+
|
|
72
|
+
We add a leading forward slash to any rule path. Specify a path without a
|
|
73
|
+
forward slash.
|
|
74
|
+
|
|
75
|
+
rule_type: Rule type.
|
|
76
|
+
|
|
77
|
+
Possible values:
|
|
78
|
+
|
|
79
|
+
- **Type 0** - Regular expression. Must start with '^/' or '/'.
|
|
80
|
+
- **Type 1** - Regular expression. Note that for this rule type we automatically
|
|
81
|
+
add / to each rule pattern before your regular expression. This type is
|
|
82
|
+
**legacy**, please use Type 0.
|
|
83
|
+
|
|
84
|
+
name: Rule template name.
|
|
85
|
+
|
|
86
|
+
options: List of options that can be configured for the rule.
|
|
87
|
+
|
|
88
|
+
In case of `null` value the option is not added to the rule. Option inherits its
|
|
89
|
+
value from the CDN resource settings.
|
|
90
|
+
|
|
91
|
+
override_origin_protocol: Sets a protocol other than the one specified in the CDN resource settings to
|
|
92
|
+
connect to the origin.
|
|
93
|
+
|
|
94
|
+
Possible values:
|
|
95
|
+
|
|
96
|
+
- **HTTPS** - CDN servers connect to origin via HTTPS protocol.
|
|
97
|
+
- **HTTP** - CDN servers connect to origin via HTTP protocol.
|
|
98
|
+
- **MATCH** - Connection protocol is chosen automatically; in this case, content
|
|
99
|
+
on origin source should be available for the CDN both through HTTP and HTTPS
|
|
100
|
+
protocols.
|
|
101
|
+
- **null** - `originProtocol` setting is inherited from the CDN resource
|
|
102
|
+
settings.
|
|
103
|
+
|
|
104
|
+
weight: Rule execution order: from lowest (1) to highest.
|
|
105
|
+
|
|
106
|
+
If requested URI matches multiple rules, the one higher in the order of the
|
|
107
|
+
rules will be applied.
|
|
108
|
+
|
|
109
|
+
extra_headers: Send extra headers
|
|
110
|
+
|
|
111
|
+
extra_query: Add additional query parameters to the request
|
|
112
|
+
|
|
113
|
+
extra_body: Add additional JSON properties to the request
|
|
114
|
+
|
|
115
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
116
|
+
"""
|
|
117
|
+
return self._post(
|
|
118
|
+
"/cdn/resources/rule_templates"
|
|
119
|
+
if self._client._base_url_overridden
|
|
120
|
+
else "https://api.gcore.com//cdn/resources/rule_templates",
|
|
121
|
+
body=maybe_transform(
|
|
122
|
+
{
|
|
123
|
+
"rule": rule,
|
|
124
|
+
"rule_type": rule_type,
|
|
125
|
+
"name": name,
|
|
126
|
+
"options": options,
|
|
127
|
+
"override_origin_protocol": override_origin_protocol,
|
|
128
|
+
"weight": weight,
|
|
129
|
+
},
|
|
130
|
+
rule_template_create_params.RuleTemplateCreateParams,
|
|
131
|
+
),
|
|
132
|
+
options=make_request_options(
|
|
133
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
134
|
+
),
|
|
135
|
+
cast_to=RuleTemplate,
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
def update(
|
|
139
|
+
self,
|
|
140
|
+
rule_template_id: int,
|
|
141
|
+
*,
|
|
142
|
+
name: str | Omit = omit,
|
|
143
|
+
options: rule_template_update_params.Options | Omit = omit,
|
|
144
|
+
override_origin_protocol: Optional[Literal["HTTPS", "HTTP", "MATCH"]] | Omit = omit,
|
|
145
|
+
rule: str | Omit = omit,
|
|
146
|
+
rule_type: int | Omit = omit,
|
|
147
|
+
weight: int | Omit = omit,
|
|
148
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
149
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
150
|
+
extra_headers: Headers | None = None,
|
|
151
|
+
extra_query: Query | None = None,
|
|
152
|
+
extra_body: Body | None = None,
|
|
153
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
154
|
+
) -> RuleTemplate:
|
|
155
|
+
"""
|
|
156
|
+
Change rule template
|
|
157
|
+
|
|
158
|
+
Args:
|
|
159
|
+
name: Rule template name.
|
|
160
|
+
|
|
161
|
+
options: List of options that can be configured for the rule.
|
|
162
|
+
|
|
163
|
+
In case of `null` value the option is not added to the rule. Option inherits its
|
|
164
|
+
value from the CDN resource settings.
|
|
165
|
+
|
|
166
|
+
override_origin_protocol: Sets a protocol other than the one specified in the CDN resource settings to
|
|
167
|
+
connect to the origin.
|
|
168
|
+
|
|
169
|
+
Possible values:
|
|
170
|
+
|
|
171
|
+
- **HTTPS** - CDN servers connect to origin via HTTPS protocol.
|
|
172
|
+
- **HTTP** - CDN servers connect to origin via HTTP protocol.
|
|
173
|
+
- **MATCH** - Connection protocol is chosen automatically; in this case, content
|
|
174
|
+
on origin source should be available for the CDN both through HTTP and HTTPS
|
|
175
|
+
protocols.
|
|
176
|
+
- **null** - `originProtocol` setting is inherited from the CDN resource
|
|
177
|
+
settings.
|
|
178
|
+
|
|
179
|
+
rule: Path to the file or folder for which the rule will be applied.
|
|
180
|
+
|
|
181
|
+
The rule is applied if the requested URI matches the rule path.
|
|
182
|
+
|
|
183
|
+
We add a leading forward slash to any rule path. Specify a path without a
|
|
184
|
+
forward slash.
|
|
185
|
+
|
|
186
|
+
rule_type: Rule type.
|
|
187
|
+
|
|
188
|
+
Possible values:
|
|
189
|
+
|
|
190
|
+
- **Type 0** - Regular expression. Must start with '^/' or '/'.
|
|
191
|
+
- **Type 1** - Regular expression. Note that for this rule type we automatically
|
|
192
|
+
add / to each rule pattern before your regular expression. This type is
|
|
193
|
+
**legacy**, please use Type 0.
|
|
194
|
+
|
|
195
|
+
weight: Rule execution order: from lowest (1) to highest.
|
|
196
|
+
|
|
197
|
+
If requested URI matches multiple rules, the one higher in the order of the
|
|
198
|
+
rules will be applied.
|
|
199
|
+
|
|
200
|
+
extra_headers: Send extra headers
|
|
201
|
+
|
|
202
|
+
extra_query: Add additional query parameters to the request
|
|
203
|
+
|
|
204
|
+
extra_body: Add additional JSON properties to the request
|
|
205
|
+
|
|
206
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
207
|
+
"""
|
|
208
|
+
return self._patch(
|
|
209
|
+
f"/cdn/resources/rule_templates/{rule_template_id}"
|
|
210
|
+
if self._client._base_url_overridden
|
|
211
|
+
else f"https://api.gcore.com//cdn/resources/rule_templates/{rule_template_id}",
|
|
212
|
+
body=maybe_transform(
|
|
213
|
+
{
|
|
214
|
+
"name": name,
|
|
215
|
+
"options": options,
|
|
216
|
+
"override_origin_protocol": override_origin_protocol,
|
|
217
|
+
"rule": rule,
|
|
218
|
+
"rule_type": rule_type,
|
|
219
|
+
"weight": weight,
|
|
220
|
+
},
|
|
221
|
+
rule_template_update_params.RuleTemplateUpdateParams,
|
|
222
|
+
),
|
|
223
|
+
options=make_request_options(
|
|
224
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
225
|
+
),
|
|
226
|
+
cast_to=RuleTemplate,
|
|
227
|
+
)
|
|
228
|
+
|
|
229
|
+
def list(
|
|
230
|
+
self,
|
|
231
|
+
*,
|
|
232
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
233
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
234
|
+
extra_headers: Headers | None = None,
|
|
235
|
+
extra_query: Query | None = None,
|
|
236
|
+
extra_body: Body | None = None,
|
|
237
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
238
|
+
) -> RuleTemplateList:
|
|
239
|
+
"""Get rule templates list"""
|
|
240
|
+
return self._get(
|
|
241
|
+
"/cdn/resources/rule_templates"
|
|
242
|
+
if self._client._base_url_overridden
|
|
243
|
+
else "https://api.gcore.com//cdn/resources/rule_templates",
|
|
244
|
+
options=make_request_options(
|
|
245
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
246
|
+
),
|
|
247
|
+
cast_to=RuleTemplateList,
|
|
248
|
+
)
|
|
249
|
+
|
|
250
|
+
def delete(
|
|
251
|
+
self,
|
|
252
|
+
rule_template_id: int,
|
|
253
|
+
*,
|
|
254
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
255
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
256
|
+
extra_headers: Headers | None = None,
|
|
257
|
+
extra_query: Query | None = None,
|
|
258
|
+
extra_body: Body | None = None,
|
|
259
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
260
|
+
) -> None:
|
|
261
|
+
"""
|
|
262
|
+
Delete rule template
|
|
263
|
+
|
|
264
|
+
Args:
|
|
265
|
+
extra_headers: Send extra headers
|
|
266
|
+
|
|
267
|
+
extra_query: Add additional query parameters to the request
|
|
268
|
+
|
|
269
|
+
extra_body: Add additional JSON properties to the request
|
|
270
|
+
|
|
271
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
272
|
+
"""
|
|
273
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
274
|
+
return self._delete(
|
|
275
|
+
f"/cdn/resources/rule_templates/{rule_template_id}"
|
|
276
|
+
if self._client._base_url_overridden
|
|
277
|
+
else f"https://api.gcore.com//cdn/resources/rule_templates/{rule_template_id}",
|
|
278
|
+
options=make_request_options(
|
|
279
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
280
|
+
),
|
|
281
|
+
cast_to=NoneType,
|
|
282
|
+
)
|
|
283
|
+
|
|
284
|
+
def get(
|
|
285
|
+
self,
|
|
286
|
+
rule_template_id: int,
|
|
287
|
+
*,
|
|
288
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
289
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
290
|
+
extra_headers: Headers | None = None,
|
|
291
|
+
extra_query: Query | None = None,
|
|
292
|
+
extra_body: Body | None = None,
|
|
293
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
294
|
+
) -> RuleTemplate:
|
|
295
|
+
"""
|
|
296
|
+
Get rule template details
|
|
297
|
+
|
|
298
|
+
Args:
|
|
299
|
+
extra_headers: Send extra headers
|
|
300
|
+
|
|
301
|
+
extra_query: Add additional query parameters to the request
|
|
302
|
+
|
|
303
|
+
extra_body: Add additional JSON properties to the request
|
|
304
|
+
|
|
305
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
306
|
+
"""
|
|
307
|
+
return self._get(
|
|
308
|
+
f"/cdn/resources/rule_templates/{rule_template_id}"
|
|
309
|
+
if self._client._base_url_overridden
|
|
310
|
+
else f"https://api.gcore.com//cdn/resources/rule_templates/{rule_template_id}",
|
|
311
|
+
options=make_request_options(
|
|
312
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
313
|
+
),
|
|
314
|
+
cast_to=RuleTemplate,
|
|
315
|
+
)
|
|
316
|
+
|
|
317
|
+
def replace(
|
|
318
|
+
self,
|
|
319
|
+
rule_template_id: int,
|
|
320
|
+
*,
|
|
321
|
+
rule: str,
|
|
322
|
+
rule_type: int,
|
|
323
|
+
name: str | Omit = omit,
|
|
324
|
+
options: rule_template_replace_params.Options | Omit = omit,
|
|
325
|
+
override_origin_protocol: Optional[Literal["HTTPS", "HTTP", "MATCH"]] | Omit = omit,
|
|
326
|
+
weight: int | Omit = omit,
|
|
327
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
328
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
329
|
+
extra_headers: Headers | None = None,
|
|
330
|
+
extra_query: Query | None = None,
|
|
331
|
+
extra_body: Body | None = None,
|
|
332
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
333
|
+
) -> RuleTemplate:
|
|
334
|
+
"""
|
|
335
|
+
Change rule template
|
|
336
|
+
|
|
337
|
+
Args:
|
|
338
|
+
rule: Path to the file or folder for which the rule will be applied.
|
|
339
|
+
|
|
340
|
+
The rule is applied if the requested URI matches the rule path.
|
|
341
|
+
|
|
342
|
+
We add a leading forward slash to any rule path. Specify a path without a
|
|
343
|
+
forward slash.
|
|
344
|
+
|
|
345
|
+
rule_type: Rule type.
|
|
346
|
+
|
|
347
|
+
Possible values:
|
|
348
|
+
|
|
349
|
+
- **Type 0** - Regular expression. Must start with '^/' or '/'.
|
|
350
|
+
- **Type 1** - Regular expression. Note that for this rule type we automatically
|
|
351
|
+
add / to each rule pattern before your regular expression. This type is
|
|
352
|
+
**legacy**, please use Type 0.
|
|
353
|
+
|
|
354
|
+
name: Rule template name.
|
|
355
|
+
|
|
356
|
+
options: List of options that can be configured for the rule.
|
|
357
|
+
|
|
358
|
+
In case of `null` value the option is not added to the rule. Option inherits its
|
|
359
|
+
value from the CDN resource settings.
|
|
360
|
+
|
|
361
|
+
override_origin_protocol: Sets a protocol other than the one specified in the CDN resource settings to
|
|
362
|
+
connect to the origin.
|
|
363
|
+
|
|
364
|
+
Possible values:
|
|
365
|
+
|
|
366
|
+
- **HTTPS** - CDN servers connect to origin via HTTPS protocol.
|
|
367
|
+
- **HTTP** - CDN servers connect to origin via HTTP protocol.
|
|
368
|
+
- **MATCH** - Connection protocol is chosen automatically; in this case, content
|
|
369
|
+
on origin source should be available for the CDN both through HTTP and HTTPS
|
|
370
|
+
protocols.
|
|
371
|
+
- **null** - `originProtocol` setting is inherited from the CDN resource
|
|
372
|
+
settings.
|
|
373
|
+
|
|
374
|
+
weight: Rule execution order: from lowest (1) to highest.
|
|
375
|
+
|
|
376
|
+
If requested URI matches multiple rules, the one higher in the order of the
|
|
377
|
+
rules will be applied.
|
|
378
|
+
|
|
379
|
+
extra_headers: Send extra headers
|
|
380
|
+
|
|
381
|
+
extra_query: Add additional query parameters to the request
|
|
382
|
+
|
|
383
|
+
extra_body: Add additional JSON properties to the request
|
|
384
|
+
|
|
385
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
386
|
+
"""
|
|
387
|
+
return self._put(
|
|
388
|
+
f"/cdn/resources/rule_templates/{rule_template_id}"
|
|
389
|
+
if self._client._base_url_overridden
|
|
390
|
+
else f"https://api.gcore.com//cdn/resources/rule_templates/{rule_template_id}",
|
|
391
|
+
body=maybe_transform(
|
|
392
|
+
{
|
|
393
|
+
"rule": rule,
|
|
394
|
+
"rule_type": rule_type,
|
|
395
|
+
"name": name,
|
|
396
|
+
"options": options,
|
|
397
|
+
"override_origin_protocol": override_origin_protocol,
|
|
398
|
+
"weight": weight,
|
|
399
|
+
},
|
|
400
|
+
rule_template_replace_params.RuleTemplateReplaceParams,
|
|
401
|
+
),
|
|
402
|
+
options=make_request_options(
|
|
403
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
404
|
+
),
|
|
405
|
+
cast_to=RuleTemplate,
|
|
406
|
+
)
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
class AsyncRuleTemplatesResource(AsyncAPIResource):
|
|
410
|
+
@cached_property
|
|
411
|
+
def with_raw_response(self) -> AsyncRuleTemplatesResourceWithRawResponse:
|
|
412
|
+
"""
|
|
413
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
414
|
+
the raw response object instead of the parsed content.
|
|
415
|
+
|
|
416
|
+
For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
|
|
417
|
+
"""
|
|
418
|
+
return AsyncRuleTemplatesResourceWithRawResponse(self)
|
|
419
|
+
|
|
420
|
+
@cached_property
|
|
421
|
+
def with_streaming_response(self) -> AsyncRuleTemplatesResourceWithStreamingResponse:
|
|
422
|
+
"""
|
|
423
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
424
|
+
|
|
425
|
+
For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
|
|
426
|
+
"""
|
|
427
|
+
return AsyncRuleTemplatesResourceWithStreamingResponse(self)
|
|
428
|
+
|
|
429
|
+
async def create(
|
|
430
|
+
self,
|
|
431
|
+
*,
|
|
432
|
+
rule: str,
|
|
433
|
+
rule_type: int,
|
|
434
|
+
name: str | Omit = omit,
|
|
435
|
+
options: rule_template_create_params.Options | Omit = omit,
|
|
436
|
+
override_origin_protocol: Optional[Literal["HTTPS", "HTTP", "MATCH"]] | Omit = omit,
|
|
437
|
+
weight: int | Omit = omit,
|
|
438
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
439
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
440
|
+
extra_headers: Headers | None = None,
|
|
441
|
+
extra_query: Query | None = None,
|
|
442
|
+
extra_body: Body | None = None,
|
|
443
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
444
|
+
) -> RuleTemplate:
|
|
445
|
+
"""
|
|
446
|
+
Create rule template
|
|
447
|
+
|
|
448
|
+
Args:
|
|
449
|
+
rule: Path to the file or folder for which the rule will be applied.
|
|
450
|
+
|
|
451
|
+
The rule is applied if the requested URI matches the rule path.
|
|
452
|
+
|
|
453
|
+
We add a leading forward slash to any rule path. Specify a path without a
|
|
454
|
+
forward slash.
|
|
455
|
+
|
|
456
|
+
rule_type: Rule type.
|
|
457
|
+
|
|
458
|
+
Possible values:
|
|
459
|
+
|
|
460
|
+
- **Type 0** - Regular expression. Must start with '^/' or '/'.
|
|
461
|
+
- **Type 1** - Regular expression. Note that for this rule type we automatically
|
|
462
|
+
add / to each rule pattern before your regular expression. This type is
|
|
463
|
+
**legacy**, please use Type 0.
|
|
464
|
+
|
|
465
|
+
name: Rule template name.
|
|
466
|
+
|
|
467
|
+
options: List of options that can be configured for the rule.
|
|
468
|
+
|
|
469
|
+
In case of `null` value the option is not added to the rule. Option inherits its
|
|
470
|
+
value from the CDN resource settings.
|
|
471
|
+
|
|
472
|
+
override_origin_protocol: Sets a protocol other than the one specified in the CDN resource settings to
|
|
473
|
+
connect to the origin.
|
|
474
|
+
|
|
475
|
+
Possible values:
|
|
476
|
+
|
|
477
|
+
- **HTTPS** - CDN servers connect to origin via HTTPS protocol.
|
|
478
|
+
- **HTTP** - CDN servers connect to origin via HTTP protocol.
|
|
479
|
+
- **MATCH** - Connection protocol is chosen automatically; in this case, content
|
|
480
|
+
on origin source should be available for the CDN both through HTTP and HTTPS
|
|
481
|
+
protocols.
|
|
482
|
+
- **null** - `originProtocol` setting is inherited from the CDN resource
|
|
483
|
+
settings.
|
|
484
|
+
|
|
485
|
+
weight: Rule execution order: from lowest (1) to highest.
|
|
486
|
+
|
|
487
|
+
If requested URI matches multiple rules, the one higher in the order of the
|
|
488
|
+
rules will be applied.
|
|
489
|
+
|
|
490
|
+
extra_headers: Send extra headers
|
|
491
|
+
|
|
492
|
+
extra_query: Add additional query parameters to the request
|
|
493
|
+
|
|
494
|
+
extra_body: Add additional JSON properties to the request
|
|
495
|
+
|
|
496
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
497
|
+
"""
|
|
498
|
+
return await self._post(
|
|
499
|
+
"/cdn/resources/rule_templates"
|
|
500
|
+
if self._client._base_url_overridden
|
|
501
|
+
else "https://api.gcore.com//cdn/resources/rule_templates",
|
|
502
|
+
body=await async_maybe_transform(
|
|
503
|
+
{
|
|
504
|
+
"rule": rule,
|
|
505
|
+
"rule_type": rule_type,
|
|
506
|
+
"name": name,
|
|
507
|
+
"options": options,
|
|
508
|
+
"override_origin_protocol": override_origin_protocol,
|
|
509
|
+
"weight": weight,
|
|
510
|
+
},
|
|
511
|
+
rule_template_create_params.RuleTemplateCreateParams,
|
|
512
|
+
),
|
|
513
|
+
options=make_request_options(
|
|
514
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
515
|
+
),
|
|
516
|
+
cast_to=RuleTemplate,
|
|
517
|
+
)
|
|
518
|
+
|
|
519
|
+
async def update(
|
|
520
|
+
self,
|
|
521
|
+
rule_template_id: int,
|
|
522
|
+
*,
|
|
523
|
+
name: str | Omit = omit,
|
|
524
|
+
options: rule_template_update_params.Options | Omit = omit,
|
|
525
|
+
override_origin_protocol: Optional[Literal["HTTPS", "HTTP", "MATCH"]] | Omit = omit,
|
|
526
|
+
rule: str | Omit = omit,
|
|
527
|
+
rule_type: int | Omit = omit,
|
|
528
|
+
weight: int | Omit = omit,
|
|
529
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
530
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
531
|
+
extra_headers: Headers | None = None,
|
|
532
|
+
extra_query: Query | None = None,
|
|
533
|
+
extra_body: Body | None = None,
|
|
534
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
535
|
+
) -> RuleTemplate:
|
|
536
|
+
"""
|
|
537
|
+
Change rule template
|
|
538
|
+
|
|
539
|
+
Args:
|
|
540
|
+
name: Rule template name.
|
|
541
|
+
|
|
542
|
+
options: List of options that can be configured for the rule.
|
|
543
|
+
|
|
544
|
+
In case of `null` value the option is not added to the rule. Option inherits its
|
|
545
|
+
value from the CDN resource settings.
|
|
546
|
+
|
|
547
|
+
override_origin_protocol: Sets a protocol other than the one specified in the CDN resource settings to
|
|
548
|
+
connect to the origin.
|
|
549
|
+
|
|
550
|
+
Possible values:
|
|
551
|
+
|
|
552
|
+
- **HTTPS** - CDN servers connect to origin via HTTPS protocol.
|
|
553
|
+
- **HTTP** - CDN servers connect to origin via HTTP protocol.
|
|
554
|
+
- **MATCH** - Connection protocol is chosen automatically; in this case, content
|
|
555
|
+
on origin source should be available for the CDN both through HTTP and HTTPS
|
|
556
|
+
protocols.
|
|
557
|
+
- **null** - `originProtocol` setting is inherited from the CDN resource
|
|
558
|
+
settings.
|
|
559
|
+
|
|
560
|
+
rule: Path to the file or folder for which the rule will be applied.
|
|
561
|
+
|
|
562
|
+
The rule is applied if the requested URI matches the rule path.
|
|
563
|
+
|
|
564
|
+
We add a leading forward slash to any rule path. Specify a path without a
|
|
565
|
+
forward slash.
|
|
566
|
+
|
|
567
|
+
rule_type: Rule type.
|
|
568
|
+
|
|
569
|
+
Possible values:
|
|
570
|
+
|
|
571
|
+
- **Type 0** - Regular expression. Must start with '^/' or '/'.
|
|
572
|
+
- **Type 1** - Regular expression. Note that for this rule type we automatically
|
|
573
|
+
add / to each rule pattern before your regular expression. This type is
|
|
574
|
+
**legacy**, please use Type 0.
|
|
575
|
+
|
|
576
|
+
weight: Rule execution order: from lowest (1) to highest.
|
|
577
|
+
|
|
578
|
+
If requested URI matches multiple rules, the one higher in the order of the
|
|
579
|
+
rules will be applied.
|
|
580
|
+
|
|
581
|
+
extra_headers: Send extra headers
|
|
582
|
+
|
|
583
|
+
extra_query: Add additional query parameters to the request
|
|
584
|
+
|
|
585
|
+
extra_body: Add additional JSON properties to the request
|
|
586
|
+
|
|
587
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
588
|
+
"""
|
|
589
|
+
return await self._patch(
|
|
590
|
+
f"/cdn/resources/rule_templates/{rule_template_id}"
|
|
591
|
+
if self._client._base_url_overridden
|
|
592
|
+
else f"https://api.gcore.com//cdn/resources/rule_templates/{rule_template_id}",
|
|
593
|
+
body=await async_maybe_transform(
|
|
594
|
+
{
|
|
595
|
+
"name": name,
|
|
596
|
+
"options": options,
|
|
597
|
+
"override_origin_protocol": override_origin_protocol,
|
|
598
|
+
"rule": rule,
|
|
599
|
+
"rule_type": rule_type,
|
|
600
|
+
"weight": weight,
|
|
601
|
+
},
|
|
602
|
+
rule_template_update_params.RuleTemplateUpdateParams,
|
|
603
|
+
),
|
|
604
|
+
options=make_request_options(
|
|
605
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
606
|
+
),
|
|
607
|
+
cast_to=RuleTemplate,
|
|
608
|
+
)
|
|
609
|
+
|
|
610
|
+
async def list(
|
|
611
|
+
self,
|
|
612
|
+
*,
|
|
613
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
614
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
615
|
+
extra_headers: Headers | None = None,
|
|
616
|
+
extra_query: Query | None = None,
|
|
617
|
+
extra_body: Body | None = None,
|
|
618
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
619
|
+
) -> RuleTemplateList:
|
|
620
|
+
"""Get rule templates list"""
|
|
621
|
+
return await self._get(
|
|
622
|
+
"/cdn/resources/rule_templates"
|
|
623
|
+
if self._client._base_url_overridden
|
|
624
|
+
else "https://api.gcore.com//cdn/resources/rule_templates",
|
|
625
|
+
options=make_request_options(
|
|
626
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
627
|
+
),
|
|
628
|
+
cast_to=RuleTemplateList,
|
|
629
|
+
)
|
|
630
|
+
|
|
631
|
+
async def delete(
|
|
632
|
+
self,
|
|
633
|
+
rule_template_id: int,
|
|
634
|
+
*,
|
|
635
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
636
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
637
|
+
extra_headers: Headers | None = None,
|
|
638
|
+
extra_query: Query | None = None,
|
|
639
|
+
extra_body: Body | None = None,
|
|
640
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
641
|
+
) -> None:
|
|
642
|
+
"""
|
|
643
|
+
Delete rule template
|
|
644
|
+
|
|
645
|
+
Args:
|
|
646
|
+
extra_headers: Send extra headers
|
|
647
|
+
|
|
648
|
+
extra_query: Add additional query parameters to the request
|
|
649
|
+
|
|
650
|
+
extra_body: Add additional JSON properties to the request
|
|
651
|
+
|
|
652
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
653
|
+
"""
|
|
654
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
655
|
+
return await self._delete(
|
|
656
|
+
f"/cdn/resources/rule_templates/{rule_template_id}"
|
|
657
|
+
if self._client._base_url_overridden
|
|
658
|
+
else f"https://api.gcore.com//cdn/resources/rule_templates/{rule_template_id}",
|
|
659
|
+
options=make_request_options(
|
|
660
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
661
|
+
),
|
|
662
|
+
cast_to=NoneType,
|
|
663
|
+
)
|
|
664
|
+
|
|
665
|
+
async def get(
|
|
666
|
+
self,
|
|
667
|
+
rule_template_id: int,
|
|
668
|
+
*,
|
|
669
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
670
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
671
|
+
extra_headers: Headers | None = None,
|
|
672
|
+
extra_query: Query | None = None,
|
|
673
|
+
extra_body: Body | None = None,
|
|
674
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
675
|
+
) -> RuleTemplate:
|
|
676
|
+
"""
|
|
677
|
+
Get rule template details
|
|
678
|
+
|
|
679
|
+
Args:
|
|
680
|
+
extra_headers: Send extra headers
|
|
681
|
+
|
|
682
|
+
extra_query: Add additional query parameters to the request
|
|
683
|
+
|
|
684
|
+
extra_body: Add additional JSON properties to the request
|
|
685
|
+
|
|
686
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
687
|
+
"""
|
|
688
|
+
return await self._get(
|
|
689
|
+
f"/cdn/resources/rule_templates/{rule_template_id}"
|
|
690
|
+
if self._client._base_url_overridden
|
|
691
|
+
else f"https://api.gcore.com//cdn/resources/rule_templates/{rule_template_id}",
|
|
692
|
+
options=make_request_options(
|
|
693
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
694
|
+
),
|
|
695
|
+
cast_to=RuleTemplate,
|
|
696
|
+
)
|
|
697
|
+
|
|
698
|
+
async def replace(
|
|
699
|
+
self,
|
|
700
|
+
rule_template_id: int,
|
|
701
|
+
*,
|
|
702
|
+
rule: str,
|
|
703
|
+
rule_type: int,
|
|
704
|
+
name: str | Omit = omit,
|
|
705
|
+
options: rule_template_replace_params.Options | Omit = omit,
|
|
706
|
+
override_origin_protocol: Optional[Literal["HTTPS", "HTTP", "MATCH"]] | Omit = omit,
|
|
707
|
+
weight: int | Omit = omit,
|
|
708
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
709
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
710
|
+
extra_headers: Headers | None = None,
|
|
711
|
+
extra_query: Query | None = None,
|
|
712
|
+
extra_body: Body | None = None,
|
|
713
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
714
|
+
) -> RuleTemplate:
|
|
715
|
+
"""
|
|
716
|
+
Change rule template
|
|
717
|
+
|
|
718
|
+
Args:
|
|
719
|
+
rule: Path to the file or folder for which the rule will be applied.
|
|
720
|
+
|
|
721
|
+
The rule is applied if the requested URI matches the rule path.
|
|
722
|
+
|
|
723
|
+
We add a leading forward slash to any rule path. Specify a path without a
|
|
724
|
+
forward slash.
|
|
725
|
+
|
|
726
|
+
rule_type: Rule type.
|
|
727
|
+
|
|
728
|
+
Possible values:
|
|
729
|
+
|
|
730
|
+
- **Type 0** - Regular expression. Must start with '^/' or '/'.
|
|
731
|
+
- **Type 1** - Regular expression. Note that for this rule type we automatically
|
|
732
|
+
add / to each rule pattern before your regular expression. This type is
|
|
733
|
+
**legacy**, please use Type 0.
|
|
734
|
+
|
|
735
|
+
name: Rule template name.
|
|
736
|
+
|
|
737
|
+
options: List of options that can be configured for the rule.
|
|
738
|
+
|
|
739
|
+
In case of `null` value the option is not added to the rule. Option inherits its
|
|
740
|
+
value from the CDN resource settings.
|
|
741
|
+
|
|
742
|
+
override_origin_protocol: Sets a protocol other than the one specified in the CDN resource settings to
|
|
743
|
+
connect to the origin.
|
|
744
|
+
|
|
745
|
+
Possible values:
|
|
746
|
+
|
|
747
|
+
- **HTTPS** - CDN servers connect to origin via HTTPS protocol.
|
|
748
|
+
- **HTTP** - CDN servers connect to origin via HTTP protocol.
|
|
749
|
+
- **MATCH** - Connection protocol is chosen automatically; in this case, content
|
|
750
|
+
on origin source should be available for the CDN both through HTTP and HTTPS
|
|
751
|
+
protocols.
|
|
752
|
+
- **null** - `originProtocol` setting is inherited from the CDN resource
|
|
753
|
+
settings.
|
|
754
|
+
|
|
755
|
+
weight: Rule execution order: from lowest (1) to highest.
|
|
756
|
+
|
|
757
|
+
If requested URI matches multiple rules, the one higher in the order of the
|
|
758
|
+
rules will be applied.
|
|
759
|
+
|
|
760
|
+
extra_headers: Send extra headers
|
|
761
|
+
|
|
762
|
+
extra_query: Add additional query parameters to the request
|
|
763
|
+
|
|
764
|
+
extra_body: Add additional JSON properties to the request
|
|
765
|
+
|
|
766
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
767
|
+
"""
|
|
768
|
+
return await self._put(
|
|
769
|
+
f"/cdn/resources/rule_templates/{rule_template_id}"
|
|
770
|
+
if self._client._base_url_overridden
|
|
771
|
+
else f"https://api.gcore.com//cdn/resources/rule_templates/{rule_template_id}",
|
|
772
|
+
body=await async_maybe_transform(
|
|
773
|
+
{
|
|
774
|
+
"rule": rule,
|
|
775
|
+
"rule_type": rule_type,
|
|
776
|
+
"name": name,
|
|
777
|
+
"options": options,
|
|
778
|
+
"override_origin_protocol": override_origin_protocol,
|
|
779
|
+
"weight": weight,
|
|
780
|
+
},
|
|
781
|
+
rule_template_replace_params.RuleTemplateReplaceParams,
|
|
782
|
+
),
|
|
783
|
+
options=make_request_options(
|
|
784
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
785
|
+
),
|
|
786
|
+
cast_to=RuleTemplate,
|
|
787
|
+
)
|
|
788
|
+
|
|
789
|
+
|
|
790
|
+
class RuleTemplatesResourceWithRawResponse:
|
|
791
|
+
def __init__(self, rule_templates: RuleTemplatesResource) -> None:
|
|
792
|
+
self._rule_templates = rule_templates
|
|
793
|
+
|
|
794
|
+
self.create = to_raw_response_wrapper(
|
|
795
|
+
rule_templates.create,
|
|
796
|
+
)
|
|
797
|
+
self.update = to_raw_response_wrapper(
|
|
798
|
+
rule_templates.update,
|
|
799
|
+
)
|
|
800
|
+
self.list = to_raw_response_wrapper(
|
|
801
|
+
rule_templates.list,
|
|
802
|
+
)
|
|
803
|
+
self.delete = to_raw_response_wrapper(
|
|
804
|
+
rule_templates.delete,
|
|
805
|
+
)
|
|
806
|
+
self.get = to_raw_response_wrapper(
|
|
807
|
+
rule_templates.get,
|
|
808
|
+
)
|
|
809
|
+
self.replace = to_raw_response_wrapper(
|
|
810
|
+
rule_templates.replace,
|
|
811
|
+
)
|
|
812
|
+
|
|
813
|
+
|
|
814
|
+
class AsyncRuleTemplatesResourceWithRawResponse:
|
|
815
|
+
def __init__(self, rule_templates: AsyncRuleTemplatesResource) -> None:
|
|
816
|
+
self._rule_templates = rule_templates
|
|
817
|
+
|
|
818
|
+
self.create = async_to_raw_response_wrapper(
|
|
819
|
+
rule_templates.create,
|
|
820
|
+
)
|
|
821
|
+
self.update = async_to_raw_response_wrapper(
|
|
822
|
+
rule_templates.update,
|
|
823
|
+
)
|
|
824
|
+
self.list = async_to_raw_response_wrapper(
|
|
825
|
+
rule_templates.list,
|
|
826
|
+
)
|
|
827
|
+
self.delete = async_to_raw_response_wrapper(
|
|
828
|
+
rule_templates.delete,
|
|
829
|
+
)
|
|
830
|
+
self.get = async_to_raw_response_wrapper(
|
|
831
|
+
rule_templates.get,
|
|
832
|
+
)
|
|
833
|
+
self.replace = async_to_raw_response_wrapper(
|
|
834
|
+
rule_templates.replace,
|
|
835
|
+
)
|
|
836
|
+
|
|
837
|
+
|
|
838
|
+
class RuleTemplatesResourceWithStreamingResponse:
|
|
839
|
+
def __init__(self, rule_templates: RuleTemplatesResource) -> None:
|
|
840
|
+
self._rule_templates = rule_templates
|
|
841
|
+
|
|
842
|
+
self.create = to_streamed_response_wrapper(
|
|
843
|
+
rule_templates.create,
|
|
844
|
+
)
|
|
845
|
+
self.update = to_streamed_response_wrapper(
|
|
846
|
+
rule_templates.update,
|
|
847
|
+
)
|
|
848
|
+
self.list = to_streamed_response_wrapper(
|
|
849
|
+
rule_templates.list,
|
|
850
|
+
)
|
|
851
|
+
self.delete = to_streamed_response_wrapper(
|
|
852
|
+
rule_templates.delete,
|
|
853
|
+
)
|
|
854
|
+
self.get = to_streamed_response_wrapper(
|
|
855
|
+
rule_templates.get,
|
|
856
|
+
)
|
|
857
|
+
self.replace = to_streamed_response_wrapper(
|
|
858
|
+
rule_templates.replace,
|
|
859
|
+
)
|
|
860
|
+
|
|
861
|
+
|
|
862
|
+
class AsyncRuleTemplatesResourceWithStreamingResponse:
|
|
863
|
+
def __init__(self, rule_templates: AsyncRuleTemplatesResource) -> None:
|
|
864
|
+
self._rule_templates = rule_templates
|
|
865
|
+
|
|
866
|
+
self.create = async_to_streamed_response_wrapper(
|
|
867
|
+
rule_templates.create,
|
|
868
|
+
)
|
|
869
|
+
self.update = async_to_streamed_response_wrapper(
|
|
870
|
+
rule_templates.update,
|
|
871
|
+
)
|
|
872
|
+
self.list = async_to_streamed_response_wrapper(
|
|
873
|
+
rule_templates.list,
|
|
874
|
+
)
|
|
875
|
+
self.delete = async_to_streamed_response_wrapper(
|
|
876
|
+
rule_templates.delete,
|
|
877
|
+
)
|
|
878
|
+
self.get = async_to_streamed_response_wrapper(
|
|
879
|
+
rule_templates.get,
|
|
880
|
+
)
|
|
881
|
+
self.replace = async_to_streamed_response_wrapper(
|
|
882
|
+
rule_templates.replace,
|
|
883
|
+
)
|