diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0c2ecec6..86b0e83d 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.20.0" + ".": "0.21.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index af8fa5c8..cd19e79d 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 633 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gcore%2Fgcore-cf3ae8749ead0412e761136b7c81a9ca98dd46ca9ef76c1f700cb1ecc814630d.yml -openapi_spec_hash: d5b2b66116339bbe16ec0bbff5b6366f -config_hash: e759f29c457a9e3ac5031e760c36594a +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gcore%2Fgcore-9377b474dea790cb05261b341252967ecb7791d5aa9b102f2241a8b8826c11ab.yml +openapi_spec_hash: c6a8c5e78604079deb242a0dd3d48cba +config_hash: 814c5f622b6b26a5556a87031051c797 diff --git a/CHANGELOG.md b/CHANGELOG.md index c8ad9677..d53b3ef1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.21.0 (2025-11-17) + +Full Changelog: [v0.20.0...v0.21.0](https://github.com/G-Core/gcore-python/compare/v0.20.0...v0.21.0) + +### Features + +* **api:** aggregated API specs update ([0d13f58](https://github.com/G-Core/gcore-python/commit/0d13f58d129067316254f9907aebf3057495ca8d)) + ## 0.20.0 (2025-11-11) Full Changelog: [v0.19.0...v0.20.0](https://github.com/G-Core/gcore-python/compare/v0.19.0...v0.20.0) diff --git a/pyproject.toml b/pyproject.toml index 6b4e68cb..4639d182 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "gcore" -version = "0.20.0" +version = "0.21.0" description = "The official Python library for the gcore API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/gcore/_version.py b/src/gcore/_version.py index 0013e79a..13d7c069 100644 --- a/src/gcore/_version.py +++ b/src/gcore/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "gcore" -__version__ = "0.20.0" # x-release-please-version +__version__ = "0.21.0" # x-release-please-version diff --git a/src/gcore/resources/cdn/resources/resources.py b/src/gcore/resources/cdn/resources/resources.py index 5dc03672..1757c8f3 100644 --- a/src/gcore/resources/cdn/resources/resources.py +++ b/src/gcore/resources/cdn/resources/resources.py @@ -154,11 +154,11 @@ def create( proxy_ssl_ca: ID of the trusted CA certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_data: ID of the SSL certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_enabled: Enables or disables SSL certificate validation of the origin server before completing any connection. @@ -288,11 +288,11 @@ def update( proxy_ssl_ca: ID of the trusted CA certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_data: ID of the SSL certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_enabled: Enables or disables SSL certificate validation of the origin server before completing any connection. @@ -731,16 +731,16 @@ def purge( Args: paths: **Purge by pattern** clears the cache that matches the pattern. - Use \\** operator, which replaces any number of symbols in your path. It's - important to note that wildcard usage (\\**) is permitted only at the end of a + Use _ operator, which replaces any number of symbols in your path. It's + important to note that wildcard usage (_) is permitted only at the end of a pattern. Query string added to any patterns will be ignored, and purge request will be processed as if there weren't any parameters. - Purge by pattern is recursive. Both /path and /path\\** will result in recursive + Purge by pattern is recursive. Both /path and /path* will result in recursive purging, meaning all content under the specified path will be affected. As such, - using the pattern /path\\** is functionally equivalent to simply using /path. + using the pattern /path* is functionally equivalent to simply using /path. extra_headers: Send extra headers @@ -886,11 +886,11 @@ def replace( proxy_ssl_ca: ID of the trusted CA certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_data: ID of the SSL certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_enabled: Enables or disables SSL certificate validation of the origin server before completing any connection. @@ -1064,11 +1064,11 @@ async def create( proxy_ssl_ca: ID of the trusted CA certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_data: ID of the SSL certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_enabled: Enables or disables SSL certificate validation of the origin server before completing any connection. @@ -1198,11 +1198,11 @@ async def update( proxy_ssl_ca: ID of the trusted CA certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_data: ID of the SSL certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_enabled: Enables or disables SSL certificate validation of the origin server before completing any connection. @@ -1641,16 +1641,16 @@ async def purge( Args: paths: **Purge by pattern** clears the cache that matches the pattern. - Use \\** operator, which replaces any number of symbols in your path. It's - important to note that wildcard usage (\\**) is permitted only at the end of a + Use _ operator, which replaces any number of symbols in your path. It's + important to note that wildcard usage (_) is permitted only at the end of a pattern. Query string added to any patterns will be ignored, and purge request will be processed as if there weren't any parameters. - Purge by pattern is recursive. Both /path and /path\\** will result in recursive + Purge by pattern is recursive. Both /path and /path* will result in recursive purging, meaning all content under the specified path will be affected. As such, - using the pattern /path\\** is functionally equivalent to simply using /path. + using the pattern /path* is functionally equivalent to simply using /path. extra_headers: Send extra headers @@ -1796,11 +1796,11 @@ async def replace( proxy_ssl_ca: ID of the trusted CA certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_data: ID of the SSL certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. proxy_ssl_enabled: Enables or disables SSL certificate validation of the origin server before completing any connection. diff --git a/src/gcore/resources/cloud/audit_logs.py b/src/gcore/resources/cloud/audit_logs.py index 0e942e4e..f92e7daa 100644 --- a/src/gcore/resources/cloud/audit_logs.py +++ b/src/gcore/resources/cloud/audit_logs.py @@ -156,7 +156,9 @@ def list( resource_id: SequenceNotStr[str] | Omit = omit, search_field: str | Omit = omit, sorting: Literal["asc", "desc"] | Omit = omit, + source_user_ips: SequenceNotStr[str] | Omit = omit, to_timestamp: Union[str, datetime] | Omit = omit, + user_agents: SequenceNotStr[str] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -194,9 +196,15 @@ def list( sorting: (DEPRECATED Use '`order_by`' instead) Sorting by timestamp. Oldest first, or most recent first + source_user_ips: Originating IP address of the client making the request. Several options can be + specified. + to_timestamp: ISO formatted datetime string. Ending timestamp until which user actions are requested + user_agents: User-Agent string identifying the client making the request. Several options can + be specified. + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -226,7 +234,9 @@ def list( "resource_id": resource_id, "search_field": search_field, "sorting": sorting, + "source_user_ips": source_user_ips, "to_timestamp": to_timestamp, + "user_agents": user_agents, }, audit_log_list_params.AuditLogListParams, ), @@ -365,7 +375,9 @@ def list( resource_id: SequenceNotStr[str] | Omit = omit, search_field: str | Omit = omit, sorting: Literal["asc", "desc"] | Omit = omit, + source_user_ips: SequenceNotStr[str] | Omit = omit, to_timestamp: Union[str, datetime] | Omit = omit, + user_agents: SequenceNotStr[str] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -403,9 +415,15 @@ def list( sorting: (DEPRECATED Use '`order_by`' instead) Sorting by timestamp. Oldest first, or most recent first + source_user_ips: Originating IP address of the client making the request. Several options can be + specified. + to_timestamp: ISO formatted datetime string. Ending timestamp until which user actions are requested + user_agents: User-Agent string identifying the client making the request. Several options can + be specified. + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -435,7 +453,9 @@ def list( "resource_id": resource_id, "search_field": search_field, "sorting": sorting, + "source_user_ips": source_user_ips, "to_timestamp": to_timestamp, + "user_agents": user_agents, }, audit_log_list_params.AuditLogListParams, ), diff --git a/src/gcore/resources/cloud/baremetal/servers.py b/src/gcore/resources/cloud/baremetal/servers.py index 39be2ae6..29c23154 100644 --- a/src/gcore/resources/cloud/baremetal/servers.py +++ b/src/gcore/resources/cloud/baremetal/servers.py @@ -120,8 +120,8 @@ def create( name_template: If you want server names to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. - Supported placeholders are: `{`ip_octets`}` (last 3 octets of the IP), - `{`two_ip_octets`}`, and `{`one_ip_octet`}`. + Supported placeholders are: `{ip_octets}` (last 3 octets of the IP), + `{two_ip_octets}`, and `{one_ip_octet}`. password: For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user @@ -611,8 +611,8 @@ async def create( name_template: If you want server names to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. - Supported placeholders are: `{`ip_octets`}` (last 3 octets of the IP), - `{`two_ip_octets`}`, and `{`one_ip_octet`}`. + Supported placeholders are: `{ip_octets}` (last 3 octets of the IP), + `{two_ip_octets}`, and `{one_ip_octet}`. password: For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user diff --git a/src/gcore/resources/cloud/file_shares/file_shares.py b/src/gcore/resources/cloud/file_shares/file_shares.py index ac6cd603..a9097c32 100644 --- a/src/gcore/resources/cloud/file_shares/file_shares.py +++ b/src/gcore/resources/cloud/file_shares/file_shares.py @@ -267,15 +267,20 @@ def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. @@ -790,15 +795,20 @@ async def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. diff --git a/src/gcore/resources/cloud/floating_ips.py b/src/gcore/resources/cloud/floating_ips.py index d28227ee..07729b29 100644 --- a/src/gcore/resources/cloud/floating_ips.py +++ b/src/gcore/resources/cloud/floating_ips.py @@ -18,6 +18,7 @@ ) from ...pagination import SyncOffsetPage, AsyncOffsetPage from ...types.cloud import ( + FloatingIPStatus, floating_ip_list_params, floating_ip_assign_params, floating_ip_create_params, @@ -26,6 +27,7 @@ from ..._base_client import AsyncPaginator, make_request_options from ...types.cloud.floating_ip import FloatingIP from ...types.cloud.task_id_list import TaskIDList +from ...types.cloud.floating_ip_status import FloatingIPStatus from ...types.cloud.floating_ip_detailed import FloatingIPDetailed from ...types.cloud.tag_update_map_param import TagUpdateMapParam @@ -154,15 +156,20 @@ def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. @@ -196,6 +203,7 @@ def list( region_id: int | None = None, limit: int | Omit = omit, offset: int | Omit = omit, + status: FloatingIPStatus | Omit = omit, tag_key: SequenceNotStr[str] | Omit = omit, tag_key_value: str | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -218,6 +226,9 @@ def list( offset: Optional. Offset value is used to exclude the first set of records from the result + status: Filter by floating IP status. DOWN - unassigned (available). ACTIVE - attached + to a port (in use). ERROR - error state. + tag_key: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2 tag_key_value: Optional. Filter by tag key-value pairs. @@ -246,6 +257,7 @@ def list( { "limit": limit, "offset": offset, + "status": status, "tag_key": tag_key, "tag_key_value": tag_key_value, }, @@ -647,15 +659,20 @@ async def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. @@ -689,6 +706,7 @@ def list( region_id: int | None = None, limit: int | Omit = omit, offset: int | Omit = omit, + status: FloatingIPStatus | Omit = omit, tag_key: SequenceNotStr[str] | Omit = omit, tag_key_value: str | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -711,6 +729,9 @@ def list( offset: Optional. Offset value is used to exclude the first set of records from the result + status: Filter by floating IP status. DOWN - unassigned (available). ACTIVE - attached + to a port (in use). ERROR - error state. + tag_key: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2 tag_key_value: Optional. Filter by tag key-value pairs. @@ -739,6 +760,7 @@ def list( { "limit": limit, "offset": offset, + "status": status, "tag_key": tag_key, "tag_key_value": tag_key_value, }, diff --git a/src/gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py b/src/gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py index 2847eea2..32023e05 100644 --- a/src/gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +++ b/src/gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py @@ -351,15 +351,20 @@ def action( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. @@ -1070,15 +1075,20 @@ async def action( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. diff --git a/src/gcore/resources/cloud/gpu_virtual_clusters/gpu_virtual_clusters.py b/src/gcore/resources/cloud/gpu_virtual_clusters/gpu_virtual_clusters.py index 7711ec5a..59d7b44a 100644 --- a/src/gcore/resources/cloud/gpu_virtual_clusters/gpu_virtual_clusters.py +++ b/src/gcore/resources/cloud/gpu_virtual_clusters/gpu_virtual_clusters.py @@ -563,15 +563,20 @@ def action( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. @@ -1209,15 +1214,20 @@ async def action( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. diff --git a/src/gcore/resources/cloud/inference/deployments/deployments.py b/src/gcore/resources/cloud/inference/deployments/deployments.py index cecda529..2d1488c5 100644 --- a/src/gcore/resources/cloud/inference/deployments/deployments.py +++ b/src/gcore/resources/cloud/inference/deployments/deployments.py @@ -109,7 +109,7 @@ def create( ValidationError will be raised. auth_enabled: Set to `true` to enable API key authentication for the inference instance. - `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required + `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required for the requests to the instance if enabled. This field is deprecated and will be removed in the future. Use `api_keys` field instead.If `auth_enabled` and `api_keys` are both specified, a ValidationError will be raised. @@ -214,7 +214,7 @@ def update( and auth will be disabled on the deployment. auth_enabled: Set to `true` to enable API key authentication for the inference instance. - `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required + `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required for the requests to the instance if enabled. This field is deprecated and will be removed in the future. Use `api_keys` field instead.If `auth_enabled` and `api_keys` are both specified, a ValidationError will be raised. @@ -808,7 +808,7 @@ async def create( ValidationError will be raised. auth_enabled: Set to `true` to enable API key authentication for the inference instance. - `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required + `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required for the requests to the instance if enabled. This field is deprecated and will be removed in the future. Use `api_keys` field instead.If `auth_enabled` and `api_keys` are both specified, a ValidationError will be raised. @@ -913,7 +913,7 @@ async def update( and auth will be disabled on the deployment. auth_enabled: Set to `true` to enable API key authentication for the inference instance. - `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required + `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required for the requests to the instance if enabled. This field is deprecated and will be removed in the future. Use `api_keys` field instead.If `auth_enabled` and `api_keys` are both specified, a ValidationError will be raised. diff --git a/src/gcore/resources/cloud/instances/instances.py b/src/gcore/resources/cloud/instances/instances.py index f26959d7..3c127361 100644 --- a/src/gcore/resources/cloud/instances/instances.py +++ b/src/gcore/resources/cloud/instances/instances.py @@ -183,8 +183,8 @@ def create( name_template: If you want the instance name to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during - provisioning. Supported placeholders are: `{`ip_octets`}` (last 3 octets of the - IP), `{`two_ip_octets`}`, and `{`one_ip_octet`}`. + provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the + IP), `{two_ip_octets}`, and `{one_ip_octet}`. password: For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user @@ -371,15 +371,20 @@ def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. @@ -1601,8 +1606,8 @@ async def create( name_template: If you want the instance name to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during - provisioning. Supported placeholders are: `{`ip_octets`}` (last 3 octets of the - IP), `{`two_ip_octets`}`, and `{`one_ip_octet`}`. + provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the + IP), `{two_ip_octets}`, and `{one_ip_octet}`. password: For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user @@ -1789,15 +1794,20 @@ async def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. diff --git a/src/gcore/resources/cloud/load_balancers/load_balancers.py b/src/gcore/resources/cloud/load_balancers/load_balancers.py index 3a9dcf02..aeb5d194 100644 --- a/src/gcore/resources/cloud/load_balancers/load_balancers.py +++ b/src/gcore/resources/cloud/load_balancers/load_balancers.py @@ -272,15 +272,20 @@ def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. @@ -965,15 +970,20 @@ async def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. diff --git a/src/gcore/resources/cloud/networks/networks.py b/src/gcore/resources/cloud/networks/networks.py index 715bdb23..9d4aba78 100644 --- a/src/gcore/resources/cloud/networks/networks.py +++ b/src/gcore/resources/cloud/networks/networks.py @@ -228,15 +228,20 @@ def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. @@ -654,15 +659,20 @@ async def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. diff --git a/src/gcore/resources/cloud/networks/subnets.py b/src/gcore/resources/cloud/networks/subnets.py index ce14818d..4a1a74f8 100644 --- a/src/gcore/resources/cloud/networks/subnets.py +++ b/src/gcore/resources/cloud/networks/subnets.py @@ -262,15 +262,20 @@ def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. @@ -721,15 +726,20 @@ async def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. diff --git a/src/gcore/resources/cloud/security_groups/security_groups.py b/src/gcore/resources/cloud/security_groups/security_groups.py index 5961799b..5a9cc544 100644 --- a/src/gcore/resources/cloud/security_groups/security_groups.py +++ b/src/gcore/resources/cloud/security_groups/security_groups.py @@ -145,15 +145,20 @@ def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. @@ -517,15 +522,20 @@ async def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. diff --git a/src/gcore/resources/cloud/volumes.py b/src/gcore/resources/cloud/volumes.py index 0c22d025..e62095fa 100644 --- a/src/gcore/resources/cloud/volumes.py +++ b/src/gcore/resources/cloud/volumes.py @@ -347,15 +347,20 @@ def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. @@ -1588,15 +1593,20 @@ async def update( - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. diff --git a/src/gcore/resources/dns/zones/rrsets.py b/src/gcore/resources/dns/zones/rrsets.py index 15085076..b1ab12a5 100644 --- a/src/gcore/resources/dns/zones/rrsets.py +++ b/src/gcore/resources/dns/zones/rrsets.py @@ -91,7 +91,7 @@ def create( For example, sort records by proximity to user, shuffle based on weights and return not more than 3: - `"pickers": [ { "type": "geodistance" }, { "type": "`weighted_shuffle`" }, { "type": "`first_n`", "limit": 3 } ]` + `"pickers": [ { "type": "geodistance" }, { "type": "weighted_shuffle" }, { "type": "first_n", "limit": 3 } ]` #### geodns filter @@ -168,7 +168,7 @@ def create( `"meta": {"default": true}`. Example: - `"pickers": [ { "type": "geodns", "strict": false }, { "type": "default" }, { "type": "`first_n`", "limit": 2 } ]` + `"pickers": [ { "type": "geodns", "strict": false }, { "type": "default" }, { "type": "first_n", "limit": 2 } ]` #### geodistance mutator @@ -179,20 +179,20 @@ def create( `[52.520008, 13.404954]`.; In this configuration the only "nearest" to the requestor record to be returned: - `"pickers": [ { "type": "geodistance" }, { "type": "`first_n`", "limit": 1 } ]` + `"pickers": [ { "type": "geodistance" }, { "type": "first_n", "limit": 1 } ]` #### `weighted_shuffle` mutator The resource records are rearranged in random order based on the `weight` metadata. Default weight (if not specified) is 50. - Example: `"pickers": [ { "type": "`weighted_shuffle`" } ]` + Example: `"pickers": [ { "type": "weighted_shuffle" } ]` #### `first_n` filter Slices first N (N specified as a limit parameter value) resource records. - Example: `"pickers": [ { "type": "`first_n`", "limit": 1 } ]` returns only the + Example: `"pickers": [ { "type": "first_n", "limit": 1 } ]` returns only the first resource record. ##### limit parameter @@ -547,7 +547,7 @@ async def create( For example, sort records by proximity to user, shuffle based on weights and return not more than 3: - `"pickers": [ { "type": "geodistance" }, { "type": "`weighted_shuffle`" }, { "type": "`first_n`", "limit": 3 } ]` + `"pickers": [ { "type": "geodistance" }, { "type": "weighted_shuffle" }, { "type": "first_n", "limit": 3 } ]` #### geodns filter @@ -624,7 +624,7 @@ async def create( `"meta": {"default": true}`. Example: - `"pickers": [ { "type": "geodns", "strict": false }, { "type": "default" }, { "type": "`first_n`", "limit": 2 } ]` + `"pickers": [ { "type": "geodns", "strict": false }, { "type": "default" }, { "type": "first_n", "limit": 2 } ]` #### geodistance mutator @@ -635,20 +635,20 @@ async def create( `[52.520008, 13.404954]`.; In this configuration the only "nearest" to the requestor record to be returned: - `"pickers": [ { "type": "geodistance" }, { "type": "`first_n`", "limit": 1 } ]` + `"pickers": [ { "type": "geodistance" }, { "type": "first_n", "limit": 1 } ]` #### `weighted_shuffle` mutator The resource records are rearranged in random order based on the `weight` metadata. Default weight (if not specified) is 50. - Example: `"pickers": [ { "type": "`weighted_shuffle`" } ]` + Example: `"pickers": [ { "type": "weighted_shuffle" } ]` #### `first_n` filter Slices first N (N specified as a limit parameter value) resource records. - Example: `"pickers": [ { "type": "`first_n`", "limit": 1 } ]` returns only the + Example: `"pickers": [ { "type": "first_n", "limit": 1 } ]` returns only the first resource record. ##### limit parameter diff --git a/src/gcore/resources/dns/zones/zones.py b/src/gcore/resources/dns/zones/zones.py index 765d77eb..94bf34c2 100644 --- a/src/gcore/resources/dns/zones/zones.py +++ b/src/gcore/resources/dns/zones/zones.py @@ -200,7 +200,7 @@ def list( Args: id: to pass several ids `id=1&id=3&id=5...` - client_id: to pass several `client_ids` `client_id=1&`client_id`=3&`client_id`=5...` + client_id: to pass several `client_ids` `client_id=1&client_id=3&client_id=5...` dynamic: Zones with dynamic RRsets @@ -837,7 +837,7 @@ async def list( Args: id: to pass several ids `id=1&id=3&id=5...` - client_id: to pass several `client_ids` `client_id=1&`client_id`=3&`client_id`=5...` + client_id: to pass several `client_ids` `client_id=1&client_id=3&client_id=5...` dynamic: Zones with dynamic RRsets diff --git a/src/gcore/types/cdn/cdn_resource.py b/src/gcore/types/cdn/cdn_resource.py index 007d4be8..b0302fb4 100644 --- a/src/gcore/types/cdn/cdn_resource.py +++ b/src/gcore/types/cdn/cdn_resource.py @@ -187,7 +187,7 @@ class OptionsCors(BaseModel): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -195,7 +195,7 @@ class OptionsCors(BaseModel): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: Optional[bool] = None @@ -918,7 +918,7 @@ class OptionsReferrerACL(BaseModel): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Literal["allow", "deny"] @@ -1008,7 +1008,7 @@ class OptionsRewrite(BaseModel): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: bool @@ -1461,7 +1461,7 @@ class Options(BaseModel): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] = None @@ -1495,8 +1495,7 @@ class Options(BaseModel): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Optional[OptionsHostHeader] = FieldInfo(alias="hostHeader", default=None) @@ -1870,13 +1869,13 @@ class CdnResource(BaseModel): proxy_ssl_ca: Optional[int] = None """ID of the trusted CA certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. """ proxy_ssl_data: Optional[int] = None """ID of the SSL certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. """ proxy_ssl_enabled: Optional[bool] = None diff --git a/src/gcore/types/cdn/resource_create_params.py b/src/gcore/types/cdn/resource_create_params.py index ce9dad10..8bbcce76 100644 --- a/src/gcore/types/cdn/resource_create_params.py +++ b/src/gcore/types/cdn/resource_create_params.py @@ -138,13 +138,13 @@ class ResourceCreateParams(TypedDict, total=False): proxy_ssl_ca: Optional[int] """ID of the trusted CA certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. """ proxy_ssl_data: Optional[int] """ID of the SSL certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. """ proxy_ssl_enabled: bool @@ -310,7 +310,7 @@ class OptionsCors(TypedDict, total=False): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -318,7 +318,7 @@ class OptionsCors(TypedDict, total=False): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: bool @@ -1041,7 +1041,7 @@ class OptionsReferrerACL(TypedDict, total=False): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Required[Literal["allow", "deny"]] @@ -1127,7 +1127,7 @@ class OptionsRewrite(TypedDict, total=False): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: Required[bool] @@ -1582,7 +1582,7 @@ class Options(TypedDict, total=False): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] @@ -1616,8 +1616,7 @@ class Options(TypedDict, total=False): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Annotated[Optional[OptionsHostHeader], PropertyInfo(alias="hostHeader")] diff --git a/src/gcore/types/cdn/resource_purge_params.py b/src/gcore/types/cdn/resource_purge_params.py index 5342995f..f55c4797 100644 --- a/src/gcore/types/cdn/resource_purge_params.py +++ b/src/gcore/types/cdn/resource_purge_params.py @@ -43,16 +43,16 @@ class PurgeByPattern(TypedDict, total=False): paths: SequenceNotStr[str] """**Purge by pattern** clears the cache that matches the pattern. - Use \\** operator, which replaces any number of symbols in your path. It's - important to note that wildcard usage (\\**) is permitted only at the end of a + Use _ operator, which replaces any number of symbols in your path. It's + important to note that wildcard usage (_) is permitted only at the end of a pattern. Query string added to any patterns will be ignored, and purge request will be processed as if there weren't any parameters. - Purge by pattern is recursive. Both /path and /path\\** will result in recursive + Purge by pattern is recursive. Both /path and /path* will result in recursive purging, meaning all content under the specified path will be affected. As such, - using the pattern /path\\** is functionally equivalent to simply using /path. + using the pattern /path* is functionally equivalent to simply using /path. """ diff --git a/src/gcore/types/cdn/resource_replace_params.py b/src/gcore/types/cdn/resource_replace_params.py index 58e21ac4..0d888ff0 100644 --- a/src/gcore/types/cdn/resource_replace_params.py +++ b/src/gcore/types/cdn/resource_replace_params.py @@ -116,13 +116,13 @@ class ResourceReplaceParams(TypedDict, total=False): proxy_ssl_ca: Optional[int] """ID of the trusted CA certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. """ proxy_ssl_data: Optional[int] """ID of the SSL certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. """ proxy_ssl_enabled: bool @@ -288,7 +288,7 @@ class OptionsCors(TypedDict, total=False): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -296,7 +296,7 @@ class OptionsCors(TypedDict, total=False): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: bool @@ -1019,7 +1019,7 @@ class OptionsReferrerACL(TypedDict, total=False): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Required[Literal["allow", "deny"]] @@ -1105,7 +1105,7 @@ class OptionsRewrite(TypedDict, total=False): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: Required[bool] @@ -1560,7 +1560,7 @@ class Options(TypedDict, total=False): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] @@ -1594,8 +1594,7 @@ class Options(TypedDict, total=False): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Annotated[Optional[OptionsHostHeader], PropertyInfo(alias="hostHeader")] diff --git a/src/gcore/types/cdn/resource_update_params.py b/src/gcore/types/cdn/resource_update_params.py index a382bda2..2a8bd492 100644 --- a/src/gcore/types/cdn/resource_update_params.py +++ b/src/gcore/types/cdn/resource_update_params.py @@ -116,13 +116,13 @@ class ResourceUpdateParams(TypedDict, total=False): proxy_ssl_ca: Optional[int] """ID of the trusted CA certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. """ proxy_ssl_data: Optional[int] """ID of the SSL certificate used to verify an origin. - It can be used only with `"`proxy_ssl_enabled`": true`. + It can be used only with `"proxy_ssl_enabled": true`. """ proxy_ssl_enabled: bool @@ -279,7 +279,7 @@ class OptionsCors(TypedDict, total=False): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -287,7 +287,7 @@ class OptionsCors(TypedDict, total=False): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: bool @@ -1010,7 +1010,7 @@ class OptionsReferrerACL(TypedDict, total=False): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Required[Literal["allow", "deny"]] @@ -1096,7 +1096,7 @@ class OptionsRewrite(TypedDict, total=False): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: Required[bool] @@ -1551,7 +1551,7 @@ class Options(TypedDict, total=False): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] @@ -1585,8 +1585,7 @@ class Options(TypedDict, total=False): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Annotated[Optional[OptionsHostHeader], PropertyInfo(alias="hostHeader")] diff --git a/src/gcore/types/cdn/resources/cdn_resource_rule.py b/src/gcore/types/cdn/resources/cdn_resource_rule.py index 8f66f00c..268172bc 100644 --- a/src/gcore/types/cdn/resources/cdn_resource_rule.py +++ b/src/gcore/types/cdn/resources/cdn_resource_rule.py @@ -182,7 +182,7 @@ class OptionsCors(BaseModel): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -190,7 +190,7 @@ class OptionsCors(BaseModel): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: Optional[bool] = None @@ -895,7 +895,7 @@ class OptionsReferrerACL(BaseModel): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Literal["allow", "deny"] @@ -985,7 +985,7 @@ class OptionsRewrite(BaseModel): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: bool @@ -1369,7 +1369,7 @@ class Options(BaseModel): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] = None @@ -1403,8 +1403,7 @@ class Options(BaseModel): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Optional[OptionsHostHeader] = FieldInfo(alias="hostHeader", default=None) diff --git a/src/gcore/types/cdn/resources/rule_create_params.py b/src/gcore/types/cdn/resources/rule_create_params.py index 4d80f7c6..ca1e05a9 100644 --- a/src/gcore/types/cdn/resources/rule_create_params.py +++ b/src/gcore/types/cdn/resources/rule_create_params.py @@ -258,7 +258,7 @@ class OptionsCors(TypedDict, total=False): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -266,7 +266,7 @@ class OptionsCors(TypedDict, total=False): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: bool @@ -971,7 +971,7 @@ class OptionsReferrerACL(TypedDict, total=False): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Required[Literal["allow", "deny"]] @@ -1057,7 +1057,7 @@ class OptionsRewrite(TypedDict, total=False): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: Required[bool] @@ -1443,7 +1443,7 @@ class Options(TypedDict, total=False): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] @@ -1477,8 +1477,7 @@ class Options(TypedDict, total=False): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Annotated[Optional[OptionsHostHeader], PropertyInfo(alias="hostHeader")] diff --git a/src/gcore/types/cdn/resources/rule_replace_params.py b/src/gcore/types/cdn/resources/rule_replace_params.py index c6bf65cc..c1bf7fea 100644 --- a/src/gcore/types/cdn/resources/rule_replace_params.py +++ b/src/gcore/types/cdn/resources/rule_replace_params.py @@ -260,7 +260,7 @@ class OptionsCors(TypedDict, total=False): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -268,7 +268,7 @@ class OptionsCors(TypedDict, total=False): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: bool @@ -973,7 +973,7 @@ class OptionsReferrerACL(TypedDict, total=False): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Required[Literal["allow", "deny"]] @@ -1059,7 +1059,7 @@ class OptionsRewrite(TypedDict, total=False): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: Required[bool] @@ -1445,7 +1445,7 @@ class Options(TypedDict, total=False): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] @@ -1479,8 +1479,7 @@ class Options(TypedDict, total=False): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Annotated[Optional[OptionsHostHeader], PropertyInfo(alias="hostHeader")] diff --git a/src/gcore/types/cdn/resources/rule_update_params.py b/src/gcore/types/cdn/resources/rule_update_params.py index e04e0c93..24b47a1b 100644 --- a/src/gcore/types/cdn/resources/rule_update_params.py +++ b/src/gcore/types/cdn/resources/rule_update_params.py @@ -260,7 +260,7 @@ class OptionsCors(TypedDict, total=False): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -268,7 +268,7 @@ class OptionsCors(TypedDict, total=False): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: bool @@ -973,7 +973,7 @@ class OptionsReferrerACL(TypedDict, total=False): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Required[Literal["allow", "deny"]] @@ -1059,7 +1059,7 @@ class OptionsRewrite(TypedDict, total=False): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: Required[bool] @@ -1445,7 +1445,7 @@ class Options(TypedDict, total=False): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] @@ -1479,8 +1479,7 @@ class Options(TypedDict, total=False): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Annotated[Optional[OptionsHostHeader], PropertyInfo(alias="hostHeader")] diff --git a/src/gcore/types/cdn/rule_template.py b/src/gcore/types/cdn/rule_template.py index 1d7b8693..d42b39f1 100644 --- a/src/gcore/types/cdn/rule_template.py +++ b/src/gcore/types/cdn/rule_template.py @@ -182,7 +182,7 @@ class OptionsCors(BaseModel): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -190,7 +190,7 @@ class OptionsCors(BaseModel): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: Optional[bool] = None @@ -895,7 +895,7 @@ class OptionsReferrerACL(BaseModel): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Literal["allow", "deny"] @@ -985,7 +985,7 @@ class OptionsRewrite(BaseModel): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: bool @@ -1369,7 +1369,7 @@ class Options(BaseModel): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] = None @@ -1403,8 +1403,7 @@ class Options(BaseModel): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Optional[OptionsHostHeader] = FieldInfo(alias="hostHeader", default=None) diff --git a/src/gcore/types/cdn/rule_template_create_params.py b/src/gcore/types/cdn/rule_template_create_params.py index 30d52eba..7c9c0fbb 100644 --- a/src/gcore/types/cdn/rule_template_create_params.py +++ b/src/gcore/types/cdn/rule_template_create_params.py @@ -242,7 +242,7 @@ class OptionsCors(TypedDict, total=False): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -250,7 +250,7 @@ class OptionsCors(TypedDict, total=False): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: bool @@ -955,7 +955,7 @@ class OptionsReferrerACL(TypedDict, total=False): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Required[Literal["allow", "deny"]] @@ -1041,7 +1041,7 @@ class OptionsRewrite(TypedDict, total=False): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: Required[bool] @@ -1427,7 +1427,7 @@ class Options(TypedDict, total=False): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] @@ -1461,8 +1461,7 @@ class Options(TypedDict, total=False): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Annotated[Optional[OptionsHostHeader], PropertyInfo(alias="hostHeader")] diff --git a/src/gcore/types/cdn/rule_template_replace_params.py b/src/gcore/types/cdn/rule_template_replace_params.py index ccb47c56..d0790a32 100644 --- a/src/gcore/types/cdn/rule_template_replace_params.py +++ b/src/gcore/types/cdn/rule_template_replace_params.py @@ -242,7 +242,7 @@ class OptionsCors(TypedDict, total=False): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -250,7 +250,7 @@ class OptionsCors(TypedDict, total=False): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: bool @@ -955,7 +955,7 @@ class OptionsReferrerACL(TypedDict, total=False): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Required[Literal["allow", "deny"]] @@ -1041,7 +1041,7 @@ class OptionsRewrite(TypedDict, total=False): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: Required[bool] @@ -1427,7 +1427,7 @@ class Options(TypedDict, total=False): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] @@ -1461,8 +1461,7 @@ class Options(TypedDict, total=False): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Annotated[Optional[OptionsHostHeader], PropertyInfo(alias="hostHeader")] diff --git a/src/gcore/types/cdn/rule_template_update_params.py b/src/gcore/types/cdn/rule_template_update_params.py index 2be5eb7e..eb5be71b 100644 --- a/src/gcore/types/cdn/rule_template_update_params.py +++ b/src/gcore/types/cdn/rule_template_update_params.py @@ -242,7 +242,7 @@ class OptionsCors(TypedDict, total=False): Possible values: - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be - uploaded for requests from any domain. `"value": ["\\**"]` + uploaded for requests from any domain. `"value": ["*"]` - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field. @@ -250,7 +250,7 @@ class OptionsCors(TypedDict, total=False): - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the "Access-Control-Allow-Origin" - header in the response. `"value": ["$`http_origin`"]` + header in the response. `"value": ["$http_origin"]` """ always: bool @@ -955,7 +955,7 @@ class OptionsReferrerACL(TypedDict, total=False): Examples: - `example.com` - - `\\**.example.com` + - `*.example.com` """ policy_type: Required[Literal["allow", "deny"]] @@ -1041,7 +1041,7 @@ class OptionsRewrite(TypedDict, total=False): Example: - - `/(.\\**) /media/$1` + - `/(.*) /media/$1` """ enabled: Required[bool] @@ -1427,7 +1427,7 @@ class Options(TypedDict, total=False): 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If you enable it in CDN resource and want to use `gzipON` and `brotli_compression` in a rule, you have to specify - `"`fetch_compressed`": false` in the rule. + `"fetch_compressed": false` in the rule. """ follow_origin_redirect: Optional[OptionsFollowOriginRedirect] @@ -1461,8 +1461,7 @@ class Options(TypedDict, total=False): options enabled. 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in rules. If you enable `fetch_compressed` in CDN resource and want to enable - `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for - rules. + `gzipON` in rules, you need to specify `"fetch_compressed":false` for rules. """ host_header: Annotated[Optional[OptionsHostHeader], PropertyInfo(alias="hostHeader")] diff --git a/src/gcore/types/cloud/audit_log_entry.py b/src/gcore/types/cloud/audit_log_entry.py index 810184ea..3dd7ea87 100644 --- a/src/gcore/types/cloud/audit_log_entry.py +++ b/src/gcore/types/cloud/audit_log_entry.py @@ -238,6 +238,9 @@ class AuditLogEntry(BaseModel): resources: List[Resource] """Resources""" + source_user_ip: Optional[str] = None + """User IP that made the request""" + task_id: Optional[str] = None """Task ID""" @@ -250,5 +253,8 @@ class AuditLogEntry(BaseModel): total_price: Optional[TotalPrice] = None """Total resource price VAT inclusive""" + user_agent: Optional[str] = None + """User-Agent that made the request""" + user_id: int """User ID""" diff --git a/src/gcore/types/cloud/audit_log_list_params.py b/src/gcore/types/cloud/audit_log_list_params.py index 09a75554..cec69e6a 100644 --- a/src/gcore/types/cloud/audit_log_list_params.py +++ b/src/gcore/types/cloud/audit_log_list_params.py @@ -152,8 +152,20 @@ class AuditLogListParams(TypedDict, total=False): Oldest first, or most recent first """ + source_user_ips: SequenceNotStr[str] + """Originating IP address of the client making the request. + + Several options can be specified. + """ + to_timestamp: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] """ISO formatted datetime string. Ending timestamp until which user actions are requested """ + + user_agents: SequenceNotStr[str] + """User-Agent string identifying the client making the request. + + Several options can be specified. + """ diff --git a/src/gcore/types/cloud/baremetal/server_create_params.py b/src/gcore/types/cloud/baremetal/server_create_params.py index ba70700a..fb749577 100644 --- a/src/gcore/types/cloud/baremetal/server_create_params.py +++ b/src/gcore/types/cloud/baremetal/server_create_params.py @@ -67,8 +67,8 @@ class ServerCreateParams(TypedDict, total=False): If you want server names to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. - Supported placeholders are: `{`ip_octets`}` (last 3 octets of the IP), - `{`two_ip_octets`}`, and `{`one_ip_octet`}`. + Supported placeholders are: `{ip_octets}` (last 3 octets of the IP), + `{two_ip_octets}`, and `{one_ip_octet}`. """ password: str diff --git a/src/gcore/types/cloud/file_share_update_params.py b/src/gcore/types/cloud/file_share_update_params.py index fc03f7c5..ca8df7d9 100644 --- a/src/gcore/types/cloud/file_share_update_params.py +++ b/src/gcore/types/cloud/file_share_update_params.py @@ -35,15 +35,20 @@ class FileShareUpdateParams(TypedDict, total=False): - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. """ diff --git a/src/gcore/types/cloud/floating_ip.py b/src/gcore/types/cloud/floating_ip.py index 61d3995d..6d7cb0d1 100644 --- a/src/gcore/types/cloud/floating_ip.py +++ b/src/gcore/types/cloud/floating_ip.py @@ -45,7 +45,11 @@ class FloatingIP(BaseModel): """Router ID""" status: Optional[FloatingIPStatus] = None - """Floating IP status""" + """Floating IP status. + + DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - + error state. + """ tags: List[Tag] """List of key-value tags associated with the resource. diff --git a/src/gcore/types/cloud/floating_ip_detailed.py b/src/gcore/types/cloud/floating_ip_detailed.py index 1692fc87..41f9ad36 100644 --- a/src/gcore/types/cloud/floating_ip_detailed.py +++ b/src/gcore/types/cloud/floating_ip_detailed.py @@ -190,7 +190,11 @@ class FloatingIPDetailed(BaseModel): """Router ID""" status: Optional[FloatingIPStatus] = None - """Floating IP status""" + """Floating IP status. + + DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - + error state. + """ tags: List[Tag] """List of key-value tags associated with the resource. diff --git a/src/gcore/types/cloud/floating_ip_list_params.py b/src/gcore/types/cloud/floating_ip_list_params.py index 97017a38..4eb3b7e2 100644 --- a/src/gcore/types/cloud/floating_ip_list_params.py +++ b/src/gcore/types/cloud/floating_ip_list_params.py @@ -5,6 +5,7 @@ from typing_extensions import TypedDict from ..._types import SequenceNotStr +from .floating_ip_status import FloatingIPStatus __all__ = ["FloatingIPListParams"] @@ -25,6 +26,13 @@ class FloatingIPListParams(TypedDict, total=False): Offset value is used to exclude the first set of records from the result """ + status: FloatingIPStatus + """Filter by floating IP status. + + DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - + error state. + """ + tag_key: SequenceNotStr[str] """Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2""" diff --git a/src/gcore/types/cloud/floating_ip_update_params.py b/src/gcore/types/cloud/floating_ip_update_params.py index 59b962fe..13dfa1d0 100644 --- a/src/gcore/types/cloud/floating_ip_update_params.py +++ b/src/gcore/types/cloud/floating_ip_update_params.py @@ -29,15 +29,20 @@ class FloatingIPUpdateParams(TypedDict, total=False): - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. """ diff --git a/src/gcore/types/cloud/gpu_baremetal_cluster_action_params.py b/src/gcore/types/cloud/gpu_baremetal_cluster_action_params.py index 66c88a9f..506d3619 100644 --- a/src/gcore/types/cloud/gpu_baremetal_cluster_action_params.py +++ b/src/gcore/types/cloud/gpu_baremetal_cluster_action_params.py @@ -32,15 +32,20 @@ class GPUBaremetalClusterActionParams(TypedDict, total=False): - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. """ diff --git a/src/gcore/types/cloud/gpu_virtual_cluster_action_params.py b/src/gcore/types/cloud/gpu_virtual_cluster_action_params.py index 0c5f99b8..9319deff 100644 --- a/src/gcore/types/cloud/gpu_virtual_cluster_action_params.py +++ b/src/gcore/types/cloud/gpu_virtual_cluster_action_params.py @@ -84,15 +84,20 @@ class UpdateTagsGPUClusterSerializer(TypedDict, total=False): - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. """ diff --git a/src/gcore/types/cloud/inference/deployment_create_params.py b/src/gcore/types/cloud/inference/deployment_create_params.py index 9886738e..ace2531f 100644 --- a/src/gcore/types/cloud/inference/deployment_create_params.py +++ b/src/gcore/types/cloud/inference/deployment_create_params.py @@ -75,7 +75,7 @@ class DeploymentCreateParams(TypedDict, total=False): auth_enabled: bool """Set to `true` to enable API key authentication for the inference instance. - `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required + `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required for the requests to the instance if enabled. This field is deprecated and will be removed in the future. Use `api_keys` field instead.If `auth_enabled` and `api_keys` are both specified, a ValidationError will be raised. diff --git a/src/gcore/types/cloud/inference/deployment_update_params.py b/src/gcore/types/cloud/inference/deployment_update_params.py index 047799c7..26b2042d 100644 --- a/src/gcore/types/cloud/inference/deployment_update_params.py +++ b/src/gcore/types/cloud/inference/deployment_update_params.py @@ -56,7 +56,7 @@ class DeploymentUpdateParams(TypedDict, total=False): auth_enabled: bool """Set to `true` to enable API key authentication for the inference instance. - `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required + `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required for the requests to the instance if enabled. This field is deprecated and will be removed in the future. Use `api_keys` field instead.If `auth_enabled` and `api_keys` are both specified, a ValidationError will be raised. diff --git a/src/gcore/types/cloud/inference/inference_deployment.py b/src/gcore/types/cloud/inference/inference_deployment.py index bd0ab822..bc24f8d1 100644 --- a/src/gcore/types/cloud/inference/inference_deployment.py +++ b/src/gcore/types/cloud/inference/inference_deployment.py @@ -184,7 +184,7 @@ class InferenceDeployment(BaseModel): auth_enabled: bool """`true` if instance uses API key authentication. - `"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required + `"Authorization": "Bearer *****"` or `"X-Api-Key": "*****"` header is required for the requests to the instance if enabled. """ diff --git a/src/gcore/types/cloud/instance_create_params.py b/src/gcore/types/cloud/instance_create_params.py index b2acd4a1..0362ecb1 100644 --- a/src/gcore/types/cloud/instance_create_params.py +++ b/src/gcore/types/cloud/instance_create_params.py @@ -77,8 +77,8 @@ class InstanceCreateParams(TypedDict, total=False): If you want the instance name to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during - provisioning. Supported placeholders are: `{`ip_octets`}` (last 3 octets of the - IP), `{`two_ip_octets`}`, and `{`one_ip_octet`}`. + provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the + IP), `{two_ip_octets}`, and `{one_ip_octet}`. """ password: str diff --git a/src/gcore/types/cloud/instance_update_params.py b/src/gcore/types/cloud/instance_update_params.py index a04fb983..78235205 100644 --- a/src/gcore/types/cloud/instance_update_params.py +++ b/src/gcore/types/cloud/instance_update_params.py @@ -32,15 +32,20 @@ class InstanceUpdateParams(TypedDict, total=False): - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. """ diff --git a/src/gcore/types/cloud/load_balancer_update_params.py b/src/gcore/types/cloud/load_balancer_update_params.py index 0870d49c..28fa42f9 100644 --- a/src/gcore/types/cloud/load_balancer_update_params.py +++ b/src/gcore/types/cloud/load_balancer_update_params.py @@ -41,15 +41,20 @@ class LoadBalancerUpdateParams(TypedDict, total=False): - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. """ diff --git a/src/gcore/types/cloud/network_update_params.py b/src/gcore/types/cloud/network_update_params.py index 76a08699..8f9f5b85 100644 --- a/src/gcore/types/cloud/network_update_params.py +++ b/src/gcore/types/cloud/network_update_params.py @@ -32,15 +32,20 @@ class NetworkUpdateParams(TypedDict, total=False): - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. """ diff --git a/src/gcore/types/cloud/networks/subnet_update_params.py b/src/gcore/types/cloud/networks/subnet_update_params.py index 122b546d..0a79030b 100644 --- a/src/gcore/types/cloud/networks/subnet_update_params.py +++ b/src/gcore/types/cloud/networks/subnet_update_params.py @@ -50,15 +50,20 @@ class SubnetUpdateParams(TypedDict, total=False): - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. """ diff --git a/src/gcore/types/cloud/security_group_update_params.py b/src/gcore/types/cloud/security_group_update_params.py index dbc8fa10..d085c208 100644 --- a/src/gcore/types/cloud/security_group_update_params.py +++ b/src/gcore/types/cloud/security_group_update_params.py @@ -33,15 +33,20 @@ class SecurityGroupUpdateParams(TypedDict, total=False): - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. """ diff --git a/src/gcore/types/cloud/task_id_list.py b/src/gcore/types/cloud/task_id_list.py index 7796e645..a4ad68d2 100644 --- a/src/gcore/types/cloud/task_id_list.py +++ b/src/gcore/types/cloud/task_id_list.py @@ -13,7 +13,7 @@ class TaskIDList(BaseModel): Use these IDs to monitor operation progress: - - `GET /v1/tasks/{`task_id`}` - Check individual task status and details Poll - task status until completion (`FINISHED`/`ERROR`) before proceeding with - dependent operations. + - `GET /v1/tasks/{task_id}` - Check individual task status and details Poll task + status until completion (`FINISHED`/`ERROR`) before proceeding with dependent + operations. """ diff --git a/src/gcore/types/cloud/volume_update_params.py b/src/gcore/types/cloud/volume_update_params.py index cf8b7815..09cf5e3f 100644 --- a/src/gcore/types/cloud/volume_update_params.py +++ b/src/gcore/types/cloud/volume_update_params.py @@ -32,15 +32,20 @@ class VolumeUpdateParams(TypedDict, total=False): - **Add/update tags:** `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or updates existing ones. - - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags. + + - **Delete tags:** `{'tags': {'old_tag': null}}` removes specific tags. + - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only tags are preserved). + - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates specified tags. + - **Mixed operations:** - `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}` + `{'tags': {'environment': 'production', 'cost_center': 'engineering', 'deprecated_tag': null}}` adds/updates 'environment' and '`cost_center`' while removing '`deprecated_tag`', preserving other existing tags. + - **Replace all:** first delete existing tags with null values, then add new ones in the same request. """ diff --git a/src/gcore/types/dns/zone_list_params.py b/src/gcore/types/dns/zone_list_params.py index 256ed922..1bee33db 100644 --- a/src/gcore/types/dns/zone_list_params.py +++ b/src/gcore/types/dns/zone_list_params.py @@ -19,7 +19,7 @@ class ZoneListParams(TypedDict, total=False): case_sensitive: bool client_id: Iterable[int] - """to pass several `client_ids` `client_id=1&`client_id`=3&`client_id`=5...`""" + """to pass several `client_ids` `client_id=1&client_id=3&client_id=5...`""" dynamic: bool """Zones with dynamic RRsets""" diff --git a/src/gcore/types/streaming/stream.py b/src/gcore/types/streaming/stream.py index 8db7262a..9a43c77c 100644 --- a/src/gcore/types/streaming/stream.py +++ b/src/gcore/types/streaming/stream.py @@ -359,8 +359,9 @@ class Stream(BaseModel): Small latency values may lead to packet loss when jitter or retransmissions occur, while very large values introduce unnecessary end-to-end delay. - \\**Incorrect or low default value is one of the most common reasons for packet - loss, frames loss, and bad picture.\\** + + _Incorrect or low default value is one of the most common reasons for packet + loss, frames loss, and bad picture._ We therefore recommend setting latency manually rather than relying on the default, to ensure the buffer is correctly sized for your environment. A diff --git a/src/gcore/types/streaming/video.py b/src/gcore/types/streaming/video.py index 9af59437..30c725c2 100644 --- a/src/gcore/types/streaming/video.py +++ b/src/gcore/types/streaming/video.py @@ -468,7 +468,7 @@ class Video(BaseModel): video. It is unique for each video, generated randomly and set automatically by the system. - Format of usage in URL is \\**.../videos/{`client_id`}\\__{slug}/...\\** + Format of usage in URL is _.../videos/{`client_id`}\\__{slug}/..._ Example: diff --git a/src/gcore/types/waap/domains/custom_rule_create_params.py b/src/gcore/types/waap/domains/custom_rule_create_params.py index cdd1397d..19c17b6d 100644 --- a/src/gcore/types/waap/domains/custom_rule_create_params.py +++ b/src/gcore/types/waap/domains/custom_rule_create_params.py @@ -279,7 +279,7 @@ class ConditionURL(TypedDict, total=False): `match_type`: - **Exact/Contains**: plain text matching (e.g., `/admin`, must comply with - `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))\\*\\++,=\\//\\--\\..\\%%]+$`). + `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))*\\++,=\\//\\--\\..\\%%]+$`). - **Regex**: a valid regular expression (e.g., `^/upload(/\\dd+)?/\\ww+`). Lookahead/lookbehind constructs are forbidden. """ diff --git a/src/gcore/types/waap/domains/custom_rule_update_params.py b/src/gcore/types/waap/domains/custom_rule_update_params.py index b9144fba..7a1ec114 100644 --- a/src/gcore/types/waap/domains/custom_rule_update_params.py +++ b/src/gcore/types/waap/domains/custom_rule_update_params.py @@ -279,7 +279,7 @@ class ConditionURL(TypedDict, total=False): `match_type`: - **Exact/Contains**: plain text matching (e.g., `/admin`, must comply with - `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))\\*\\++,=\\//\\--\\..\\%%]+$`). + `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))*\\++,=\\//\\--\\..\\%%]+$`). - **Regex**: a valid regular expression (e.g., `^/upload(/\\dd+)?/\\ww+`). Lookahead/lookbehind constructs are forbidden. """ diff --git a/src/gcore/types/waap/domains/waap_custom_rule.py b/src/gcore/types/waap/domains/waap_custom_rule.py index 0a3ba958..25bc3234 100644 --- a/src/gcore/types/waap/domains/waap_custom_rule.py +++ b/src/gcore/types/waap/domains/waap_custom_rule.py @@ -257,7 +257,7 @@ class ConditionURL(BaseModel): `match_type`: - **Exact/Contains**: plain text matching (e.g., `/admin`, must comply with - `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))\\*\\++,=\\//\\--\\..\\%%]+$`). + `^[\\ww!\\$$~:#\\[[\\]]@\\((\\))*\\++,=\\//\\--\\..\\%%]+$`). - **Regex**: a valid regular expression (e.g., `^/upload(/\\dd+)?/\\ww+`). Lookahead/lookbehind constructs are forbidden. """ diff --git a/tests/api_resources/cloud/test_audit_logs.py b/tests/api_resources/cloud/test_audit_logs.py index 60dd5b14..924f869c 100644 --- a/tests/api_resources/cloud/test_audit_logs.py +++ b/tests/api_resources/cloud/test_audit_logs.py @@ -38,7 +38,9 @@ def test_method_list_with_all_params(self, client: Gcore) -> None: resource_id=["string"], search_field="default", sorting="asc", + source_user_ips=["203.0.113.42", "192.168.1.100"], to_timestamp=parse_datetime("2019-11-14T10:30:32Z"), + user_agents=["Mozilla/5.0", "MyApp/1.0.0"], ) assert_matches_type(SyncOffsetPage[AuditLogEntry], audit_log, path=["response"]) @@ -87,7 +89,9 @@ async def test_method_list_with_all_params(self, async_client: AsyncGcore) -> No resource_id=["string"], search_field="default", sorting="asc", + source_user_ips=["203.0.113.42", "192.168.1.100"], to_timestamp=parse_datetime("2019-11-14T10:30:32Z"), + user_agents=["Mozilla/5.0", "MyApp/1.0.0"], ) assert_matches_type(AsyncOffsetPage[AuditLogEntry], audit_log, path=["response"]) diff --git a/tests/api_resources/cloud/test_floating_ips.py b/tests/api_resources/cloud/test_floating_ips.py index 4b31820b..9768e23c 100644 --- a/tests/api_resources/cloud/test_floating_ips.py +++ b/tests/api_resources/cloud/test_floating_ips.py @@ -138,6 +138,7 @@ def test_method_list_with_all_params(self, client: Gcore) -> None: region_id=1, limit=1000, offset=0, + status="ACTIVE", tag_key=["key1", "key2"], tag_key_value="tag_key_value", ) @@ -490,6 +491,7 @@ async def test_method_list_with_all_params(self, async_client: AsyncGcore) -> No region_id=1, limit=1000, offset=0, + status="ACTIVE", tag_key=["key1", "key2"], tag_key_value="tag_key_value", )