Skip to content

Commit 3a4cf52

Browse files
committed
feat(workers): update generated types and methods
1 parent d85575b commit 3a4cf52

6 files changed

Lines changed: 439 additions & 2 deletions

File tree

src/cloudflare/resources/workers/api.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ Types:
222222
from cloudflare.types.workers.scripts import (
223223
SecretUpdateResponse,
224224
SecretListResponse,
225+
SecretBulkUpdateResponse,
225226
SecretGetResponse,
226227
)
227228
```
@@ -231,6 +232,7 @@ Methods:
231232
- <code title="put /accounts/{account_id}/workers/scripts/{script_name}/secrets">client.workers.scripts.secrets.<a href="./src/cloudflare/resources/workers/scripts/secrets.py">update</a>(script_name, \*, account_id, \*\*<a href="src/cloudflare/types/workers/scripts/secret_update_params.py">params</a>) -> <a href="./src/cloudflare/types/workers/scripts/secret_update_response.py">Optional[SecretUpdateResponse]</a></code>
232233
- <code title="get /accounts/{account_id}/workers/scripts/{script_name}/secrets">client.workers.scripts.secrets.<a href="./src/cloudflare/resources/workers/scripts/secrets.py">list</a>(script_name, \*, account_id) -> <a href="./src/cloudflare/types/workers/scripts/secret_list_response.py">SyncSinglePage[SecretListResponse]</a></code>
233234
- <code title="delete /accounts/{account_id}/workers/scripts/{script_name}/secrets/{secret_name}">client.workers.scripts.secrets.<a href="./src/cloudflare/resources/workers/scripts/secrets.py">delete</a>(secret_name, \*, account_id, script_name, \*\*<a href="src/cloudflare/types/workers/scripts/secret_delete_params.py">params</a>) -> object</code>
235+
- <code title="patch /accounts/{account_id}/workers/scripts/{script_name}/secrets-bulk">client.workers.scripts.secrets.<a href="./src/cloudflare/resources/workers/scripts/secrets.py">bulk_update</a>(script_name, \*, account_id, \*\*<a href="src/cloudflare/types/workers/scripts/secret_bulk_update_params.py">params</a>) -> <a href="./src/cloudflare/types/workers/scripts/secret_bulk_update_response.py">Optional[SecretBulkUpdateResponse]</a></code>
234236
- <code title="get /accounts/{account_id}/workers/scripts/{script_name}/secrets/{secret_name}">client.workers.scripts.secrets.<a href="./src/cloudflare/resources/workers/scripts/secrets.py">get</a>(secret_name, \*, account_id, script_name, \*\*<a href="src/cloudflare/types/workers/scripts/secret_get_params.py">params</a>) -> <a href="./src/cloudflare/types/workers/scripts/secret_get_response.py">Optional[SecretGetResponse]</a></code>
235237

236238
### ScriptAndVersionSettings

src/cloudflare/resources/workers/scripts/secrets.py

Lines changed: 166 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from __future__ import annotations
44

5-
from typing import Any, List, Type, Optional, cast
5+
from typing import Any, Dict, List, Type, Optional, cast
66
from typing_extensions import Literal, overload
77

88
import httpx
@@ -20,10 +20,16 @@
2020
from ...._wrappers import ResultWrapper
2121
from ....pagination import SyncSinglePage, AsyncSinglePage
2222
from ...._base_client import AsyncPaginator, make_request_options
23-
from ....types.workers.scripts import secret_get_params, secret_delete_params, secret_update_params
23+
from ....types.workers.scripts import (
24+
secret_get_params,
25+
secret_delete_params,
26+
secret_update_params,
27+
secret_bulk_update_params,
28+
)
2429
from ....types.workers.scripts.secret_get_response import SecretGetResponse
2530
from ....types.workers.scripts.secret_list_response import SecretListResponse
2631
from ....types.workers.scripts.secret_update_response import SecretUpdateResponse
32+
from ....types.workers.scripts.secret_bulk_update_response import SecretBulkUpdateResponse
2733

2834
__all__ = ["SecretsResource", "AsyncSecretsResource"]
2935

@@ -312,6 +318,79 @@ def delete(
312318
cast_to=cast(Type[object], ResultWrapper[object]),
313319
)
314320

321+
def bulk_update(
322+
self,
323+
script_name: str,
324+
*,
325+
account_id: str,
326+
secrets: Dict[str, Optional[secret_bulk_update_params.Secrets]] | Omit = omit,
327+
version_tags: Dict[str, object] | Omit = omit,
328+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
329+
# The extra values given here take precedence over values defined on the client or passed to this method.
330+
extra_headers: Headers | None = None,
331+
extra_query: Query | None = None,
332+
extra_body: Body | None = None,
333+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
334+
) -> Optional[SecretBulkUpdateResponse]:
335+
"""
336+
Create, update, or delete multiple secrets on a script in a single operation
337+
using JSON Merge Patch (RFC 7396).
338+
339+
Usage:
340+
341+
- To create or update a secret, set its value to a secret object.
342+
- To delete a secret, set its value to `null`.
343+
- Secrets not included in the request are left unchanged.
344+
345+
Args:
346+
account_id: Identifier.
347+
348+
script_name: Name of the script, used in URLs and route configuration.
349+
350+
secrets:
351+
Map of secret names to secret values:
352+
353+
- Set to a secret object to create or update.
354+
- Set to `null` to delete.
355+
- Omit to leave unchanged.
356+
357+
version_tags: Optional version tags to apply to the new script version.
358+
359+
extra_headers: Send extra headers
360+
361+
extra_query: Add additional query parameters to the request
362+
363+
extra_body: Add additional JSON properties to the request
364+
365+
timeout: Override the client-level default timeout for this request, in seconds
366+
"""
367+
if not account_id:
368+
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
369+
if not script_name:
370+
raise ValueError(f"Expected a non-empty value for `script_name` but received {script_name!r}")
371+
return self._patch(
372+
path_template(
373+
"/accounts/{account_id}/workers/scripts/{script_name}/secrets-bulk",
374+
account_id=account_id,
375+
script_name=script_name,
376+
),
377+
body=maybe_transform(
378+
{
379+
"secrets": secrets,
380+
"version_tags": version_tags,
381+
},
382+
secret_bulk_update_params.SecretBulkUpdateParams,
383+
),
384+
options=make_request_options(
385+
extra_headers=extra_headers,
386+
extra_query=extra_query,
387+
extra_body=extra_body,
388+
timeout=timeout,
389+
post_parser=ResultWrapper[Optional[SecretBulkUpdateResponse]]._unwrapper,
390+
),
391+
cast_to=cast(Type[Optional[SecretBulkUpdateResponse]], ResultWrapper[SecretBulkUpdateResponse]),
392+
)
393+
315394
def get(
316395
self,
317396
secret_name: str,
@@ -662,6 +741,79 @@ async def delete(
662741
cast_to=cast(Type[object], ResultWrapper[object]),
663742
)
664743

744+
async def bulk_update(
745+
self,
746+
script_name: str,
747+
*,
748+
account_id: str,
749+
secrets: Dict[str, Optional[secret_bulk_update_params.Secrets]] | Omit = omit,
750+
version_tags: Dict[str, object] | Omit = omit,
751+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
752+
# The extra values given here take precedence over values defined on the client or passed to this method.
753+
extra_headers: Headers | None = None,
754+
extra_query: Query | None = None,
755+
extra_body: Body | None = None,
756+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
757+
) -> Optional[SecretBulkUpdateResponse]:
758+
"""
759+
Create, update, or delete multiple secrets on a script in a single operation
760+
using JSON Merge Patch (RFC 7396).
761+
762+
Usage:
763+
764+
- To create or update a secret, set its value to a secret object.
765+
- To delete a secret, set its value to `null`.
766+
- Secrets not included in the request are left unchanged.
767+
768+
Args:
769+
account_id: Identifier.
770+
771+
script_name: Name of the script, used in URLs and route configuration.
772+
773+
secrets:
774+
Map of secret names to secret values:
775+
776+
- Set to a secret object to create or update.
777+
- Set to `null` to delete.
778+
- Omit to leave unchanged.
779+
780+
version_tags: Optional version tags to apply to the new script version.
781+
782+
extra_headers: Send extra headers
783+
784+
extra_query: Add additional query parameters to the request
785+
786+
extra_body: Add additional JSON properties to the request
787+
788+
timeout: Override the client-level default timeout for this request, in seconds
789+
"""
790+
if not account_id:
791+
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
792+
if not script_name:
793+
raise ValueError(f"Expected a non-empty value for `script_name` but received {script_name!r}")
794+
return await self._patch(
795+
path_template(
796+
"/accounts/{account_id}/workers/scripts/{script_name}/secrets-bulk",
797+
account_id=account_id,
798+
script_name=script_name,
799+
),
800+
body=await async_maybe_transform(
801+
{
802+
"secrets": secrets,
803+
"version_tags": version_tags,
804+
},
805+
secret_bulk_update_params.SecretBulkUpdateParams,
806+
),
807+
options=make_request_options(
808+
extra_headers=extra_headers,
809+
extra_query=extra_query,
810+
extra_body=extra_body,
811+
timeout=timeout,
812+
post_parser=ResultWrapper[Optional[SecretBulkUpdateResponse]]._unwrapper,
813+
),
814+
cast_to=cast(Type[Optional[SecretBulkUpdateResponse]], ResultWrapper[SecretBulkUpdateResponse]),
815+
)
816+
665817
async def get(
666818
self,
667819
secret_name: str,
@@ -739,6 +891,9 @@ def __init__(self, secrets: SecretsResource) -> None:
739891
self.delete = to_raw_response_wrapper(
740892
secrets.delete,
741893
)
894+
self.bulk_update = to_raw_response_wrapper(
895+
secrets.bulk_update,
896+
)
742897
self.get = to_raw_response_wrapper(
743898
secrets.get,
744899
)
@@ -757,6 +912,9 @@ def __init__(self, secrets: AsyncSecretsResource) -> None:
757912
self.delete = async_to_raw_response_wrapper(
758913
secrets.delete,
759914
)
915+
self.bulk_update = async_to_raw_response_wrapper(
916+
secrets.bulk_update,
917+
)
760918
self.get = async_to_raw_response_wrapper(
761919
secrets.get,
762920
)
@@ -775,6 +933,9 @@ def __init__(self, secrets: SecretsResource) -> None:
775933
self.delete = to_streamed_response_wrapper(
776934
secrets.delete,
777935
)
936+
self.bulk_update = to_streamed_response_wrapper(
937+
secrets.bulk_update,
938+
)
778939
self.get = to_streamed_response_wrapper(
779940
secrets.get,
780941
)
@@ -793,6 +954,9 @@ def __init__(self, secrets: AsyncSecretsResource) -> None:
793954
self.delete = async_to_streamed_response_wrapper(
794955
secrets.delete,
795956
)
957+
self.bulk_update = async_to_streamed_response_wrapper(
958+
secrets.bulk_update,
959+
)
796960
self.get = async_to_streamed_response_wrapper(
797961
secrets.get,
798962
)

src/cloudflare/types/workers/scripts/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,11 @@
2929
from .deployment_create_params import DeploymentCreateParams as DeploymentCreateParams
3030
from .deployment_list_response import DeploymentListResponse as DeploymentListResponse
3131
from .schedule_update_response import ScheduleUpdateResponse as ScheduleUpdateResponse
32+
from .secret_bulk_update_params import SecretBulkUpdateParams as SecretBulkUpdateParams
3233
from .subdomain_create_response import SubdomainCreateResponse as SubdomainCreateResponse
3334
from .subdomain_delete_response import SubdomainDeleteResponse as SubdomainDeleteResponse
3435
from .deployment_delete_response import DeploymentDeleteResponse as DeploymentDeleteResponse
36+
from .secret_bulk_update_response import SecretBulkUpdateResponse as SecretBulkUpdateResponse
3537
from .script_and_version_setting_edit_params import (
3638
ScriptAndVersionSettingEditParams as ScriptAndVersionSettingEditParams,
3739
)
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing import Dict, List, Union, Optional
6+
from typing_extensions import Literal, Required, TypeAlias, TypedDict
7+
8+
__all__ = [
9+
"SecretBulkUpdateParams",
10+
"Secrets",
11+
"SecretsWorkersBindingKindSecretText",
12+
"SecretsWorkersBindingKindSecretKey",
13+
]
14+
15+
16+
class SecretBulkUpdateParams(TypedDict, total=False):
17+
account_id: Required[str]
18+
"""Identifier."""
19+
20+
secrets: Dict[str, Optional[Secrets]]
21+
"""Map of secret names to secret values:
22+
23+
- Set to a secret object to create or update.
24+
- Set to `null` to delete.
25+
- Omit to leave unchanged.
26+
"""
27+
28+
version_tags: Dict[str, object]
29+
"""Optional version tags to apply to the new script version."""
30+
31+
32+
class SecretsWorkersBindingKindSecretText(TypedDict, total=False):
33+
name: Required[str]
34+
"""A JavaScript variable name for the binding."""
35+
36+
text: Required[str]
37+
"""The secret value to use."""
38+
39+
type: Required[Literal["secret_text"]]
40+
"""The kind of resource that the binding provides."""
41+
42+
43+
class SecretsWorkersBindingKindSecretKey(TypedDict, total=False):
44+
algorithm: Required[object]
45+
"""Algorithm-specific key parameters.
46+
47+
[Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#algorithm).
48+
"""
49+
50+
format: Required[Literal["raw", "pkcs8", "spki", "jwk"]]
51+
"""Data format of the key.
52+
53+
[Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#format).
54+
"""
55+
56+
name: Required[str]
57+
"""A JavaScript variable name for the binding."""
58+
59+
type: Required[Literal["secret_key"]]
60+
"""The kind of resource that the binding provides."""
61+
62+
usages: Required[
63+
List[Literal["encrypt", "decrypt", "sign", "verify", "deriveKey", "deriveBits", "wrapKey", "unwrapKey"]]
64+
]
65+
"""Allowed operations with the key.
66+
67+
[Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#keyUsages).
68+
"""
69+
70+
key_base64: str
71+
"""Base64-encoded key data. Required if `format` is "raw", "pkcs8", or "spki"."""
72+
73+
key_jwk: object
74+
"""
75+
Key data in
76+
[JSON Web Key](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#json_web_key)
77+
format. Required if `format` is "jwk".
78+
"""
79+
80+
81+
Secrets: TypeAlias = Union[SecretsWorkersBindingKindSecretText, SecretsWorkersBindingKindSecretKey]
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing import Dict, List, Union
4+
from typing_extensions import Literal, Annotated, TypeAlias
5+
6+
from ...._utils import PropertyInfo
7+
from ...._models import BaseModel
8+
9+
__all__ = [
10+
"SecretBulkUpdateResponse",
11+
"SecretBulkUpdateResponseItem",
12+
"SecretBulkUpdateResponseItemWorkersBindingKindSecretText",
13+
"SecretBulkUpdateResponseItemWorkersBindingKindSecretKey",
14+
]
15+
16+
17+
class SecretBulkUpdateResponseItemWorkersBindingKindSecretText(BaseModel):
18+
name: str
19+
"""A JavaScript variable name for the binding."""
20+
21+
type: Literal["secret_text"]
22+
"""The kind of resource that the binding provides."""
23+
24+
25+
class SecretBulkUpdateResponseItemWorkersBindingKindSecretKey(BaseModel):
26+
algorithm: object
27+
"""Algorithm-specific key parameters.
28+
29+
[Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#algorithm).
30+
"""
31+
32+
format: Literal["raw", "pkcs8", "spki", "jwk"]
33+
"""Data format of the key.
34+
35+
[Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#format).
36+
"""
37+
38+
name: str
39+
"""A JavaScript variable name for the binding."""
40+
41+
type: Literal["secret_key"]
42+
"""The kind of resource that the binding provides."""
43+
44+
usages: List[Literal["encrypt", "decrypt", "sign", "verify", "deriveKey", "deriveBits", "wrapKey", "unwrapKey"]]
45+
"""Allowed operations with the key.
46+
47+
[Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#keyUsages).
48+
"""
49+
50+
51+
SecretBulkUpdateResponseItem: TypeAlias = Annotated[
52+
Union[
53+
SecretBulkUpdateResponseItemWorkersBindingKindSecretText,
54+
SecretBulkUpdateResponseItemWorkersBindingKindSecretKey,
55+
],
56+
PropertyInfo(discriminator="type"),
57+
]
58+
59+
SecretBulkUpdateResponse: TypeAlias = Dict[str, SecretBulkUpdateResponseItem]

0 commit comments

Comments
 (0)