44
55import httpx
66
7- from ..._types import Body , Query , Headers , NoneType , NotGiven , not_given
7+ from ..._types import Body , Omit , Query , Headers , NoneType , NotGiven , omit , not_given
8+ from ..._utils import maybe_transform , async_maybe_transform
89from ..._compat import cached_property
910from ..._resource import SyncAPIResource , AsyncAPIResource
1011from ..._response import (
1314 async_to_raw_response_wrapper ,
1415 async_to_streamed_response_wrapper ,
1516)
17+ from ...types .admin import secret_create_params
1618from ..._base_client import make_request_options
19+ from ...types .admin .secret_response import SecretResponse
1720from ...types .admin .secret_list_response import SecretListResponse
1821
1922__all__ = ["SecretsResource" , "AsyncSecretsResource" ]
@@ -39,6 +42,48 @@ def with_streaming_response(self) -> SecretsResourceWithStreamingResponse:
3942 """
4043 return SecretsResourceWithStreamingResponse (self )
4144
45+ def create (
46+ self ,
47+ secret_key : str ,
48+ * ,
49+ value : str ,
50+ description : str | Omit = omit ,
51+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
52+ # The extra values given here take precedence over values defined on the client or passed to this method.
53+ extra_headers : Headers | None = None ,
54+ extra_query : Query | None = None ,
55+ extra_body : Body | None = None ,
56+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
57+ ) -> SecretResponse :
58+ """
59+ Create or update a secret
60+
61+ Args:
62+ extra_headers: Send extra headers
63+
64+ extra_query: Add additional query parameters to the request
65+
66+ extra_body: Add additional JSON properties to the request
67+
68+ timeout: Override the client-level default timeout for this request, in seconds
69+ """
70+ if not secret_key :
71+ raise ValueError (f"Expected a non-empty value for `secret_key` but received { secret_key !r} " )
72+ return self ._post (
73+ f"/v1/admin/secrets/{ secret_key } " ,
74+ body = maybe_transform (
75+ {
76+ "value" : value ,
77+ "description" : description ,
78+ },
79+ secret_create_params .SecretCreateParams ,
80+ ),
81+ options = make_request_options (
82+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
83+ ),
84+ cast_to = SecretResponse ,
85+ )
86+
4287 def list (
4388 self ,
4489 * ,
@@ -113,6 +158,48 @@ def with_streaming_response(self) -> AsyncSecretsResourceWithStreamingResponse:
113158 """
114159 return AsyncSecretsResourceWithStreamingResponse (self )
115160
161+ async def create (
162+ self ,
163+ secret_key : str ,
164+ * ,
165+ value : str ,
166+ description : str | Omit = omit ,
167+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
168+ # The extra values given here take precedence over values defined on the client or passed to this method.
169+ extra_headers : Headers | None = None ,
170+ extra_query : Query | None = None ,
171+ extra_body : Body | None = None ,
172+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
173+ ) -> SecretResponse :
174+ """
175+ Create or update a secret
176+
177+ Args:
178+ extra_headers: Send extra headers
179+
180+ extra_query: Add additional query parameters to the request
181+
182+ extra_body: Add additional JSON properties to the request
183+
184+ timeout: Override the client-level default timeout for this request, in seconds
185+ """
186+ if not secret_key :
187+ raise ValueError (f"Expected a non-empty value for `secret_key` but received { secret_key !r} " )
188+ return await self ._post (
189+ f"/v1/admin/secrets/{ secret_key } " ,
190+ body = await async_maybe_transform (
191+ {
192+ "value" : value ,
193+ "description" : description ,
194+ },
195+ secret_create_params .SecretCreateParams ,
196+ ),
197+ options = make_request_options (
198+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
199+ ),
200+ cast_to = SecretResponse ,
201+ )
202+
116203 async def list (
117204 self ,
118205 * ,
@@ -171,6 +258,9 @@ class SecretsResourceWithRawResponse:
171258 def __init__ (self , secrets : SecretsResource ) -> None :
172259 self ._secrets = secrets
173260
261+ self .create = to_raw_response_wrapper (
262+ secrets .create ,
263+ )
174264 self .list = to_raw_response_wrapper (
175265 secrets .list ,
176266 )
@@ -183,6 +273,9 @@ class AsyncSecretsResourceWithRawResponse:
183273 def __init__ (self , secrets : AsyncSecretsResource ) -> None :
184274 self ._secrets = secrets
185275
276+ self .create = async_to_raw_response_wrapper (
277+ secrets .create ,
278+ )
186279 self .list = async_to_raw_response_wrapper (
187280 secrets .list ,
188281 )
@@ -195,6 +288,9 @@ class SecretsResourceWithStreamingResponse:
195288 def __init__ (self , secrets : SecretsResource ) -> None :
196289 self ._secrets = secrets
197290
291+ self .create = to_streamed_response_wrapper (
292+ secrets .create ,
293+ )
198294 self .list = to_streamed_response_wrapper (
199295 secrets .list ,
200296 )
@@ -207,6 +303,9 @@ class AsyncSecretsResourceWithStreamingResponse:
207303 def __init__ (self , secrets : AsyncSecretsResource ) -> None :
208304 self ._secrets = secrets
209305
306+ self .create = async_to_streamed_response_wrapper (
307+ secrets .create ,
308+ )
210309 self .list = async_to_streamed_response_wrapper (
211310 secrets .list ,
212311 )
0 commit comments