Skip to content

Commit 278a799

Browse files
feat(api): api update
1 parent f25c8ce commit 278a799

12 files changed

Lines changed: 276 additions & 33 deletions

File tree

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 1769
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-5c876b177dbba3599b1318016d08090007ae62b19c8b16a3ca5c1f8b2f87c6da.yml
3-
openapi_spec_hash: 29e6443234745412b8d74e8728eb477c
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-39e4b2fb9790bb8423896c1bb946e7678e6b92593a16dbd5ae95b9a362dc3122.yml
3+
openapi_spec_hash: 6c754370b2fe531dcc849359b69d26c9
44
config_hash: 18e6b76de8b719dd7c9c28614ac32643

api.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ from cloudflare.types.accounts.tokens import PermissionGroupListResponse, Permis
110110

111111
Methods:
112112

113-
- <code title="get /accounts/{account_id}/tokens/permission_groups">client.accounts.tokens.permission_groups.<a href="./src/cloudflare/resources/accounts/tokens/permission_groups.py">list</a>(\*, account_id) -> <a href="./src/cloudflare/types/accounts/tokens/permission_group_list_response.py">SyncSinglePage[PermissionGroupListResponse]</a></code>
114-
- <code title="get /accounts/{account_id}/tokens/permission_groups">client.accounts.tokens.permission_groups.<a href="./src/cloudflare/resources/accounts/tokens/permission_groups.py">get</a>(\*, account_id) -> <a href="./src/cloudflare/types/accounts/tokens/permission_group_get_response.py">SyncSinglePage[PermissionGroupGetResponse]</a></code>
113+
- <code title="get /accounts/{account_id}/tokens/permission_groups">client.accounts.tokens.permission_groups.<a href="./src/cloudflare/resources/accounts/tokens/permission_groups.py">list</a>(\*, account_id, \*\*<a href="src/cloudflare/types/accounts/tokens/permission_group_list_params.py">params</a>) -> <a href="./src/cloudflare/types/accounts/tokens/permission_group_list_response.py">SyncSinglePage[PermissionGroupListResponse]</a></code>
114+
- <code title="get /accounts/{account_id}/tokens/permission_groups">client.accounts.tokens.permission_groups.<a href="./src/cloudflare/resources/accounts/tokens/permission_groups.py">get</a>(\*, account_id, \*\*<a href="src/cloudflare/types/accounts/tokens/permission_group_get_params.py">params</a>) -> <a href="./src/cloudflare/types/accounts/tokens/permission_group_get_response.py">Optional[PermissionGroupGetResponse]</a></code>
115115

116116
### Value
117117

@@ -297,7 +297,7 @@ from cloudflare.types.user.tokens import PermissionGroupListResponse
297297

298298
Methods:
299299

300-
- <code title="get /user/tokens/permission_groups">client.user.tokens.permission_groups.<a href="./src/cloudflare/resources/user/tokens/permission_groups.py">list</a>() -> <a href="./src/cloudflare/types/user/tokens/permission_group_list_response.py">SyncSinglePage[PermissionGroupListResponse]</a></code>
300+
- <code title="get /user/tokens/permission_groups">client.user.tokens.permission_groups.<a href="./src/cloudflare/resources/user/tokens/permission_groups.py">list</a>(\*\*<a href="src/cloudflare/types/user/tokens/permission_group_list_params.py">params</a>) -> <a href="./src/cloudflare/types/user/tokens/permission_group_list_response.py">SyncSinglePage[PermissionGroupListResponse]</a></code>
301301

302302
### Value
303303

src/cloudflare/resources/accounts/tokens/permission_groups.py

Lines changed: 82 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22

33
from __future__ import annotations
44

5+
from typing import Type, Optional, cast
6+
57
import httpx
68

79
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
10+
from ...._utils import maybe_transform, async_maybe_transform
811
from ...._compat import cached_property
912
from ...._resource import SyncAPIResource, AsyncAPIResource
1013
from ...._response import (
@@ -13,8 +16,10 @@
1316
async_to_raw_response_wrapper,
1417
async_to_streamed_response_wrapper,
1518
)
19+
from ...._wrappers import ResultWrapper
1620
from ....pagination import SyncSinglePage, AsyncSinglePage
1721
from ...._base_client import AsyncPaginator, make_request_options
22+
from ....types.accounts.tokens import permission_group_get_params, permission_group_list_params
1823
from ....types.accounts.tokens.permission_group_get_response import PermissionGroupGetResponse
1924
from ....types.accounts.tokens.permission_group_list_response import PermissionGroupListResponse
2025

@@ -45,6 +50,8 @@ def list(
4550
self,
4651
*,
4752
account_id: str,
53+
name: str | NotGiven = NOT_GIVEN,
54+
scope: str | NotGiven = NOT_GIVEN,
4855
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
4956
# The extra values given here take precedence over values defined on the client or passed to this method.
5057
extra_headers: Headers | None = None,
@@ -58,6 +65,10 @@ def list(
5865
Args:
5966
account_id: Account identifier tag.
6067
68+
name: Filter by the name of the permission group. The value must be URL-encoded.
69+
70+
scope: Filter by the scope of the permission group. The value must be URL-encoded.
71+
6172
extra_headers: Send extra headers
6273
6374
extra_query: Add additional query parameters to the request
@@ -72,7 +83,17 @@ def list(
7283
f"/accounts/{account_id}/tokens/permission_groups",
7384
page=SyncSinglePage[PermissionGroupListResponse],
7485
options=make_request_options(
75-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
86+
extra_headers=extra_headers,
87+
extra_query=extra_query,
88+
extra_body=extra_body,
89+
timeout=timeout,
90+
query=maybe_transform(
91+
{
92+
"name": name,
93+
"scope": scope,
94+
},
95+
permission_group_list_params.PermissionGroupListParams,
96+
),
7697
),
7798
model=PermissionGroupListResponse,
7899
)
@@ -81,19 +102,25 @@ def get(
81102
self,
82103
*,
83104
account_id: str,
105+
name: str | NotGiven = NOT_GIVEN,
106+
scope: str | NotGiven = NOT_GIVEN,
84107
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
85108
# The extra values given here take precedence over values defined on the client or passed to this method.
86109
extra_headers: Headers | None = None,
87110
extra_query: Query | None = None,
88111
extra_body: Body | None = None,
89112
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
90-
) -> SyncSinglePage[PermissionGroupGetResponse]:
113+
) -> Optional[PermissionGroupGetResponse]:
91114
"""
92115
Find all available permission groups for Account Owned API Tokens
93116
94117
Args:
95118
account_id: Account identifier tag.
96119
120+
name: Filter by the name of the permission group. The value must be URL-encoded.
121+
122+
scope: Filter by the scope of the permission group. The value must be URL-encoded.
123+
97124
extra_headers: Send extra headers
98125
99126
extra_query: Add additional query parameters to the request
@@ -104,13 +131,23 @@ def get(
104131
"""
105132
if not account_id:
106133
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
107-
return self._get_api_list(
134+
return self._get(
108135
f"/accounts/{account_id}/tokens/permission_groups",
109-
page=SyncSinglePage[PermissionGroupGetResponse],
110136
options=make_request_options(
111-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
137+
extra_headers=extra_headers,
138+
extra_query=extra_query,
139+
extra_body=extra_body,
140+
timeout=timeout,
141+
query=maybe_transform(
142+
{
143+
"name": name,
144+
"scope": scope,
145+
},
146+
permission_group_get_params.PermissionGroupGetParams,
147+
),
148+
post_parser=ResultWrapper[Optional[PermissionGroupGetResponse]]._unwrapper,
112149
),
113-
model=PermissionGroupGetResponse,
150+
cast_to=cast(Type[Optional[PermissionGroupGetResponse]], ResultWrapper[PermissionGroupGetResponse]),
114151
)
115152

116153

@@ -138,6 +175,8 @@ def list(
138175
self,
139176
*,
140177
account_id: str,
178+
name: str | NotGiven = NOT_GIVEN,
179+
scope: str | NotGiven = NOT_GIVEN,
141180
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
142181
# The extra values given here take precedence over values defined on the client or passed to this method.
143182
extra_headers: Headers | None = None,
@@ -151,6 +190,10 @@ def list(
151190
Args:
152191
account_id: Account identifier tag.
153192
193+
name: Filter by the name of the permission group. The value must be URL-encoded.
194+
195+
scope: Filter by the scope of the permission group. The value must be URL-encoded.
196+
154197
extra_headers: Send extra headers
155198
156199
extra_query: Add additional query parameters to the request
@@ -165,28 +208,44 @@ def list(
165208
f"/accounts/{account_id}/tokens/permission_groups",
166209
page=AsyncSinglePage[PermissionGroupListResponse],
167210
options=make_request_options(
168-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
211+
extra_headers=extra_headers,
212+
extra_query=extra_query,
213+
extra_body=extra_body,
214+
timeout=timeout,
215+
query=maybe_transform(
216+
{
217+
"name": name,
218+
"scope": scope,
219+
},
220+
permission_group_list_params.PermissionGroupListParams,
221+
),
169222
),
170223
model=PermissionGroupListResponse,
171224
)
172225

173-
def get(
226+
async def get(
174227
self,
175228
*,
176229
account_id: str,
230+
name: str | NotGiven = NOT_GIVEN,
231+
scope: str | NotGiven = NOT_GIVEN,
177232
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
178233
# The extra values given here take precedence over values defined on the client or passed to this method.
179234
extra_headers: Headers | None = None,
180235
extra_query: Query | None = None,
181236
extra_body: Body | None = None,
182237
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
183-
) -> AsyncPaginator[PermissionGroupGetResponse, AsyncSinglePage[PermissionGroupGetResponse]]:
238+
) -> Optional[PermissionGroupGetResponse]:
184239
"""
185240
Find all available permission groups for Account Owned API Tokens
186241
187242
Args:
188243
account_id: Account identifier tag.
189244
245+
name: Filter by the name of the permission group. The value must be URL-encoded.
246+
247+
scope: Filter by the scope of the permission group. The value must be URL-encoded.
248+
190249
extra_headers: Send extra headers
191250
192251
extra_query: Add additional query parameters to the request
@@ -197,13 +256,23 @@ def get(
197256
"""
198257
if not account_id:
199258
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
200-
return self._get_api_list(
259+
return await self._get(
201260
f"/accounts/{account_id}/tokens/permission_groups",
202-
page=AsyncSinglePage[PermissionGroupGetResponse],
203261
options=make_request_options(
204-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
262+
extra_headers=extra_headers,
263+
extra_query=extra_query,
264+
extra_body=extra_body,
265+
timeout=timeout,
266+
query=await async_maybe_transform(
267+
{
268+
"name": name,
269+
"scope": scope,
270+
},
271+
permission_group_get_params.PermissionGroupGetParams,
272+
),
273+
post_parser=ResultWrapper[Optional[PermissionGroupGetResponse]]._unwrapper,
205274
),
206-
model=PermissionGroupGetResponse,
275+
cast_to=cast(Type[Optional[PermissionGroupGetResponse]], ResultWrapper[PermissionGroupGetResponse]),
207276
)
208277

209278

src/cloudflare/resources/user/tokens/permission_groups.py

Lines changed: 60 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import httpx
66

77
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
8+
from ...._utils import maybe_transform
89
from ...._compat import cached_property
910
from ...._resource import SyncAPIResource, AsyncAPIResource
1011
from ...._response import (
@@ -15,6 +16,7 @@
1516
)
1617
from ....pagination import SyncSinglePage, AsyncSinglePage
1718
from ...._base_client import AsyncPaginator, make_request_options
19+
from ....types.user.tokens import permission_group_list_params
1820
from ....types.user.tokens.permission_group_list_response import PermissionGroupListResponse
1921

2022
__all__ = ["PermissionGroupsResource", "AsyncPermissionGroupsResource"]
@@ -43,19 +45,46 @@ def with_streaming_response(self) -> PermissionGroupsResourceWithStreamingRespon
4345
def list(
4446
self,
4547
*,
48+
name: str | NotGiven = NOT_GIVEN,
49+
scope: str | NotGiven = NOT_GIVEN,
4650
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
4751
# The extra values given here take precedence over values defined on the client or passed to this method.
4852
extra_headers: Headers | None = None,
4953
extra_query: Query | None = None,
5054
extra_body: Body | None = None,
5155
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
5256
) -> SyncSinglePage[PermissionGroupListResponse]:
53-
"""Find all available permission groups for API Tokens"""
57+
"""
58+
Find all available permission groups for API Tokens
59+
60+
Args:
61+
name: Filter by the name of the permission group. The value must be URL-encoded.
62+
63+
scope: Filter by the scope of the permission group. The value must be URL-encoded.
64+
65+
extra_headers: Send extra headers
66+
67+
extra_query: Add additional query parameters to the request
68+
69+
extra_body: Add additional JSON properties to the request
70+
71+
timeout: Override the client-level default timeout for this request, in seconds
72+
"""
5473
return self._get_api_list(
5574
"/user/tokens/permission_groups",
5675
page=SyncSinglePage[PermissionGroupListResponse],
5776
options=make_request_options(
58-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
77+
extra_headers=extra_headers,
78+
extra_query=extra_query,
79+
extra_body=extra_body,
80+
timeout=timeout,
81+
query=maybe_transform(
82+
{
83+
"name": name,
84+
"scope": scope,
85+
},
86+
permission_group_list_params.PermissionGroupListParams,
87+
),
5988
),
6089
model=PermissionGroupListResponse,
6190
)
@@ -84,19 +113,46 @@ def with_streaming_response(self) -> AsyncPermissionGroupsResourceWithStreamingR
84113
def list(
85114
self,
86115
*,
116+
name: str | NotGiven = NOT_GIVEN,
117+
scope: str | NotGiven = NOT_GIVEN,
87118
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
88119
# The extra values given here take precedence over values defined on the client or passed to this method.
89120
extra_headers: Headers | None = None,
90121
extra_query: Query | None = None,
91122
extra_body: Body | None = None,
92123
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
93124
) -> AsyncPaginator[PermissionGroupListResponse, AsyncSinglePage[PermissionGroupListResponse]]:
94-
"""Find all available permission groups for API Tokens"""
125+
"""
126+
Find all available permission groups for API Tokens
127+
128+
Args:
129+
name: Filter by the name of the permission group. The value must be URL-encoded.
130+
131+
scope: Filter by the scope of the permission group. The value must be URL-encoded.
132+
133+
extra_headers: Send extra headers
134+
135+
extra_query: Add additional query parameters to the request
136+
137+
extra_body: Add additional JSON properties to the request
138+
139+
timeout: Override the client-level default timeout for this request, in seconds
140+
"""
95141
return self._get_api_list(
96142
"/user/tokens/permission_groups",
97143
page=AsyncSinglePage[PermissionGroupListResponse],
98144
options=make_request_options(
99-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
145+
extra_headers=extra_headers,
146+
extra_query=extra_query,
147+
extra_body=extra_body,
148+
timeout=timeout,
149+
query=maybe_transform(
150+
{
151+
"name": name,
152+
"scope": scope,
153+
},
154+
permission_group_list_params.PermissionGroupListParams,
155+
),
100156
),
101157
model=PermissionGroupListResponse,
102158
)

src/cloudflare/types/accounts/tokens/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,7 @@
33
from __future__ import annotations
44

55
from .value_update_params import ValueUpdateParams as ValueUpdateParams
6+
from .permission_group_get_params import PermissionGroupGetParams as PermissionGroupGetParams
7+
from .permission_group_list_params import PermissionGroupListParams as PermissionGroupListParams
68
from .permission_group_get_response import PermissionGroupGetResponse as PermissionGroupGetResponse
79
from .permission_group_list_response import PermissionGroupListResponse as PermissionGroupListResponse
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import Required, TypedDict
6+
7+
__all__ = ["PermissionGroupGetParams"]
8+
9+
10+
class PermissionGroupGetParams(TypedDict, total=False):
11+
account_id: Required[str]
12+
"""Account identifier tag."""
13+
14+
name: str
15+
"""Filter by the name of the permission group. The value must be URL-encoded."""
16+
17+
scope: str
18+
"""Filter by the scope of the permission group. The value must be URL-encoded."""

0 commit comments

Comments
 (0)