Skip to content

Commit 3de5454

Browse files
stainless-app[bot]stainless-bot
authored andcommitted
feat(api): update via SDK Studio (#995)
1 parent 349941a commit 3de5454

30 files changed

+3263
-1
lines changed

.stats.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
configured_endpoints: 1343
1+
configured_endpoints: 1352
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-e3875d4464358c7aee5cbb9a4e0e39f0e400536dfadb684e8f217a2800897d0e.yml

api.md

+51
Original file line numberDiff line numberDiff line change
@@ -3131,6 +3131,7 @@ Types:
31313131

31323132
```python
31333133
from cloudflare.types.page_shield import (
3134+
Policy,
31343135
PolicyCreateResponse,
31353136
PolicyUpdateResponse,
31363137
PolicyListResponse,
@@ -3172,6 +3173,19 @@ Methods:
31723173
- <code title="get /zones/{zone_id}/page_shield/scripts">client.page_shield.scripts.<a href="./src/cloudflare/resources/page_shield/scripts.py">list</a>(\*, zone_id, \*\*<a href="src/cloudflare/types/page_shield/script_list_params.py">params</a>) -> <a href="./src/cloudflare/types/page_shield/script.py">SyncSinglePage[Script]</a></code>
31733174
- <code title="get /zones/{zone_id}/page_shield/scripts/{script_id}">client.page_shield.scripts.<a href="./src/cloudflare/resources/page_shield/scripts.py">get</a>(script_id, \*, zone_id) -> <a href="./src/cloudflare/types/page_shield/script_get_response.py">Optional</a></code>
31743175

3176+
## Cookies
3177+
3178+
Types:
3179+
3180+
```python
3181+
from cloudflare.types.page_shield import CookieListResponse, CookieGetResponse
3182+
```
3183+
3184+
Methods:
3185+
3186+
- <code title="get /zones/{zone_id}/page_shield/cookies">client.page_shield.cookies.<a href="./src/cloudflare/resources/page_shield/cookies.py">list</a>(\*, zone_id, \*\*<a href="src/cloudflare/types/page_shield/cookie_list_params.py">params</a>) -> <a href="./src/cloudflare/types/page_shield/cookie_list_response.py">SyncSinglePage[CookieListResponse]</a></code>
3187+
- <code title="get /zones/{zone_id}/page_shield/cookies/{cookie_id}">client.page_shield.cookies.<a href="./src/cloudflare/resources/page_shield/cookies.py">get</a>(cookie_id, \*, zone_id) -> <a href="./src/cloudflare/types/page_shield/cookie_get_response.py">Optional</a></code>
3188+
31753189
# Rulesets
31763190

31773191
Types:
@@ -7882,3 +7896,40 @@ from cloudflare.types.ai_gateway import LogGetResponse
78827896
Methods:
78837897

78847898
- <code title="get /accounts/{account_id}/ai-gateway/gateways/{id}/logs">client.ai_gateway.logs.<a href="./src/cloudflare/resources/ai_gateway/logs.py">get</a>(id, \*, account_id, \*\*<a href="src/cloudflare/types/ai_gateway/log_get_params.py">params</a>) -> <a href="./src/cloudflare/types/ai_gateway/log_get_response.py">LogGetResponse</a></code>
7899+
7900+
# Iam
7901+
7902+
## PermissionGroups
7903+
7904+
Types:
7905+
7906+
```python
7907+
from cloudflare.types.iam import PermissionGroupListResponse, PermissionGroupGetResponse
7908+
```
7909+
7910+
Methods:
7911+
7912+
- <code title="get /accounts/{account_id}/iam/permission_groups">client.iam.permission_groups.<a href="./src/cloudflare/resources/iam/permission_groups.py">list</a>(\*, account_id, \*\*<a href="src/cloudflare/types/iam/permission_group_list_params.py">params</a>) -> <a href="./src/cloudflare/types/iam/permission_group_list_response.py">SyncV4PagePaginationArray[object]</a></code>
7913+
- <code title="get /accounts/{account_id}/iam/permission_groups/{permission_group_id}">client.iam.permission_groups.<a href="./src/cloudflare/resources/iam/permission_groups.py">get</a>(permission_group_id, \*, account_id) -> <a href="./src/cloudflare/types/iam/permission_group_get_response.py">PermissionGroupGetResponse</a></code>
7914+
7915+
## ResourceGroups
7916+
7917+
Types:
7918+
7919+
```python
7920+
from cloudflare.types.iam import (
7921+
ResourceGroupCreateResponse,
7922+
ResourceGroupUpdateResponse,
7923+
ResourceGroupListResponse,
7924+
ResourceGroupDeleteResponse,
7925+
ResourceGroupGetResponse,
7926+
)
7927+
```
7928+
7929+
Methods:
7930+
7931+
- <code title="post /accounts/{account_id}/iam/resource_groups">client.iam.resource_groups.<a href="./src/cloudflare/resources/iam/resource_groups.py">create</a>(\*, account_id, \*\*<a href="src/cloudflare/types/iam/resource_group_create_params.py">params</a>) -> <a href="./src/cloudflare/types/iam/resource_group_create_response.py">ResourceGroupCreateResponse</a></code>
7932+
- <code title="put /accounts/{account_id}/iam/resource_groups/{resource_group_id}">client.iam.resource_groups.<a href="./src/cloudflare/resources/iam/resource_groups.py">update</a>(resource_group_id, \*, account_id, \*\*<a href="src/cloudflare/types/iam/resource_group_update_params.py">params</a>) -> <a href="./src/cloudflare/types/iam/resource_group_update_response.py">ResourceGroupUpdateResponse</a></code>
7933+
- <code title="get /accounts/{account_id}/iam/resource_groups">client.iam.resource_groups.<a href="./src/cloudflare/resources/iam/resource_groups.py">list</a>(\*, account_id, \*\*<a href="src/cloudflare/types/iam/resource_group_list_params.py">params</a>) -> <a href="./src/cloudflare/types/iam/resource_group_list_response.py">SyncV4PagePaginationArray[object]</a></code>
7934+
- <code title="delete /accounts/{account_id}/iam/resource_groups/{resource_group_id}">client.iam.resource_groups.<a href="./src/cloudflare/resources/iam/resource_groups.py">delete</a>(resource_group_id, \*, account_id) -> <a href="./src/cloudflare/types/iam/resource_group_delete_response.py">Optional</a></code>
7935+
- <code title="get /accounts/{account_id}/iam/resource_groups/{resource_group_id}">client.iam.resource_groups.<a href="./src/cloudflare/resources/iam/resource_groups.py">get</a>(resource_group_id, \*, account_id) -> <a href="./src/cloudflare/types/iam/resource_group_get_response.py">ResourceGroupGetResponse</a></code>

src/cloudflare/_client.py

+8
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ class Cloudflare(SyncAPIClient):
130130
cloudforce_one: resources.CloudforceOneResource
131131
event_notifications: resources.EventNotificationsResource
132132
ai_gateway: resources.AIGatewayResource
133+
iam: resources.IamResource
133134
with_raw_response: CloudflareWithRawResponse
134135
with_streaming_response: CloudflareWithStreamedResponse
135136

@@ -288,6 +289,7 @@ def __init__(
288289
self.cloudforce_one = resources.CloudforceOneResource(self)
289290
self.event_notifications = resources.EventNotificationsResource(self)
290291
self.ai_gateway = resources.AIGatewayResource(self)
292+
self.iam = resources.IamResource(self)
291293
self.with_raw_response = CloudflareWithRawResponse(self)
292294
self.with_streaming_response = CloudflareWithStreamedResponse(self)
293295

@@ -549,6 +551,7 @@ class AsyncCloudflare(AsyncAPIClient):
549551
cloudforce_one: resources.AsyncCloudforceOneResource
550552
event_notifications: resources.AsyncEventNotificationsResource
551553
ai_gateway: resources.AsyncAIGatewayResource
554+
iam: resources.AsyncIamResource
552555
with_raw_response: AsyncCloudflareWithRawResponse
553556
with_streaming_response: AsyncCloudflareWithStreamedResponse
554557

@@ -707,6 +710,7 @@ def __init__(
707710
self.cloudforce_one = resources.AsyncCloudforceOneResource(self)
708711
self.event_notifications = resources.AsyncEventNotificationsResource(self)
709712
self.ai_gateway = resources.AsyncAIGatewayResource(self)
713+
self.iam = resources.AsyncIamResource(self)
710714
self.with_raw_response = AsyncCloudflareWithRawResponse(self)
711715
self.with_streaming_response = AsyncCloudflareWithStreamedResponse(self)
712716

@@ -979,6 +983,7 @@ def __init__(self, client: Cloudflare) -> None:
979983
self.cloudforce_one = resources.CloudforceOneResourceWithRawResponse(client.cloudforce_one)
980984
self.event_notifications = resources.EventNotificationsResourceWithRawResponse(client.event_notifications)
981985
self.ai_gateway = resources.AIGatewayResourceWithRawResponse(client.ai_gateway)
986+
self.iam = resources.IamResourceWithRawResponse(client.iam)
982987

983988

984989
class AsyncCloudflareWithRawResponse:
@@ -1080,6 +1085,7 @@ def __init__(self, client: AsyncCloudflare) -> None:
10801085
self.cloudforce_one = resources.AsyncCloudforceOneResourceWithRawResponse(client.cloudforce_one)
10811086
self.event_notifications = resources.AsyncEventNotificationsResourceWithRawResponse(client.event_notifications)
10821087
self.ai_gateway = resources.AsyncAIGatewayResourceWithRawResponse(client.ai_gateway)
1088+
self.iam = resources.AsyncIamResourceWithRawResponse(client.iam)
10831089

10841090

10851091
class CloudflareWithStreamedResponse:
@@ -1181,6 +1187,7 @@ def __init__(self, client: Cloudflare) -> None:
11811187
self.cloudforce_one = resources.CloudforceOneResourceWithStreamingResponse(client.cloudforce_one)
11821188
self.event_notifications = resources.EventNotificationsResourceWithStreamingResponse(client.event_notifications)
11831189
self.ai_gateway = resources.AIGatewayResourceWithStreamingResponse(client.ai_gateway)
1190+
self.iam = resources.IamResourceWithStreamingResponse(client.iam)
11841191

11851192

11861193
class AsyncCloudflareWithStreamedResponse:
@@ -1290,6 +1297,7 @@ def __init__(self, client: AsyncCloudflare) -> None:
12901297
client.event_notifications
12911298
)
12921299
self.ai_gateway = resources.AsyncAIGatewayResourceWithStreamingResponse(client.ai_gateway)
1300+
self.iam = resources.AsyncIamResourceWithStreamingResponse(client.iam)
12931301

12941302

12951303
Client = Cloudflare

src/cloudflare/resources/__init__.py

+14
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@
4040
DNSResourceWithStreamingResponse,
4141
AsyncDNSResourceWithStreamingResponse,
4242
)
43+
from .iam import (
44+
IamResource,
45+
AsyncIamResource,
46+
IamResourceWithRawResponse,
47+
AsyncIamResourceWithRawResponse,
48+
IamResourceWithStreamingResponse,
49+
AsyncIamResourceWithStreamingResponse,
50+
)
4351
from .ips import (
4452
IPsResource,
4553
AsyncIPsResource,
@@ -1164,4 +1172,10 @@
11641172
"AsyncAIGatewayResourceWithRawResponse",
11651173
"AIGatewayResourceWithStreamingResponse",
11661174
"AsyncAIGatewayResourceWithStreamingResponse",
1175+
"IamResource",
1176+
"AsyncIamResource",
1177+
"IamResourceWithRawResponse",
1178+
"AsyncIamResourceWithRawResponse",
1179+
"IamResourceWithStreamingResponse",
1180+
"AsyncIamResourceWithStreamingResponse",
11671181
]
+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from .iam import (
4+
IamResource,
5+
AsyncIamResource,
6+
IamResourceWithRawResponse,
7+
AsyncIamResourceWithRawResponse,
8+
IamResourceWithStreamingResponse,
9+
AsyncIamResourceWithStreamingResponse,
10+
)
11+
from .resource_groups import (
12+
ResourceGroupsResource,
13+
AsyncResourceGroupsResource,
14+
ResourceGroupsResourceWithRawResponse,
15+
AsyncResourceGroupsResourceWithRawResponse,
16+
ResourceGroupsResourceWithStreamingResponse,
17+
AsyncResourceGroupsResourceWithStreamingResponse,
18+
)
19+
from .permission_groups import (
20+
PermissionGroupsResource,
21+
AsyncPermissionGroupsResource,
22+
PermissionGroupsResourceWithRawResponse,
23+
AsyncPermissionGroupsResourceWithRawResponse,
24+
PermissionGroupsResourceWithStreamingResponse,
25+
AsyncPermissionGroupsResourceWithStreamingResponse,
26+
)
27+
28+
__all__ = [
29+
"PermissionGroupsResource",
30+
"AsyncPermissionGroupsResource",
31+
"PermissionGroupsResourceWithRawResponse",
32+
"AsyncPermissionGroupsResourceWithRawResponse",
33+
"PermissionGroupsResourceWithStreamingResponse",
34+
"AsyncPermissionGroupsResourceWithStreamingResponse",
35+
"ResourceGroupsResource",
36+
"AsyncResourceGroupsResource",
37+
"ResourceGroupsResourceWithRawResponse",
38+
"AsyncResourceGroupsResourceWithRawResponse",
39+
"ResourceGroupsResourceWithStreamingResponse",
40+
"AsyncResourceGroupsResourceWithStreamingResponse",
41+
"IamResource",
42+
"AsyncIamResource",
43+
"IamResourceWithRawResponse",
44+
"AsyncIamResourceWithRawResponse",
45+
"IamResourceWithStreamingResponse",
46+
"AsyncIamResourceWithStreamingResponse",
47+
]

src/cloudflare/resources/iam/iam.py

+112
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from ..._compat import cached_property
6+
from ..._resource import SyncAPIResource, AsyncAPIResource
7+
from .resource_groups import (
8+
ResourceGroupsResource,
9+
AsyncResourceGroupsResource,
10+
ResourceGroupsResourceWithRawResponse,
11+
AsyncResourceGroupsResourceWithRawResponse,
12+
ResourceGroupsResourceWithStreamingResponse,
13+
AsyncResourceGroupsResourceWithStreamingResponse,
14+
)
15+
from .permission_groups import (
16+
PermissionGroupsResource,
17+
AsyncPermissionGroupsResource,
18+
PermissionGroupsResourceWithRawResponse,
19+
AsyncPermissionGroupsResourceWithRawResponse,
20+
PermissionGroupsResourceWithStreamingResponse,
21+
AsyncPermissionGroupsResourceWithStreamingResponse,
22+
)
23+
24+
__all__ = ["IamResource", "AsyncIamResource"]
25+
26+
27+
class IamResource(SyncAPIResource):
28+
@cached_property
29+
def permission_groups(self) -> PermissionGroupsResource:
30+
return PermissionGroupsResource(self._client)
31+
32+
@cached_property
33+
def resource_groups(self) -> ResourceGroupsResource:
34+
return ResourceGroupsResource(self._client)
35+
36+
@cached_property
37+
def with_raw_response(self) -> IamResourceWithRawResponse:
38+
return IamResourceWithRawResponse(self)
39+
40+
@cached_property
41+
def with_streaming_response(self) -> IamResourceWithStreamingResponse:
42+
return IamResourceWithStreamingResponse(self)
43+
44+
45+
class AsyncIamResource(AsyncAPIResource):
46+
@cached_property
47+
def permission_groups(self) -> AsyncPermissionGroupsResource:
48+
return AsyncPermissionGroupsResource(self._client)
49+
50+
@cached_property
51+
def resource_groups(self) -> AsyncResourceGroupsResource:
52+
return AsyncResourceGroupsResource(self._client)
53+
54+
@cached_property
55+
def with_raw_response(self) -> AsyncIamResourceWithRawResponse:
56+
return AsyncIamResourceWithRawResponse(self)
57+
58+
@cached_property
59+
def with_streaming_response(self) -> AsyncIamResourceWithStreamingResponse:
60+
return AsyncIamResourceWithStreamingResponse(self)
61+
62+
63+
class IamResourceWithRawResponse:
64+
def __init__(self, iam: IamResource) -> None:
65+
self._iam = iam
66+
67+
@cached_property
68+
def permission_groups(self) -> PermissionGroupsResourceWithRawResponse:
69+
return PermissionGroupsResourceWithRawResponse(self._iam.permission_groups)
70+
71+
@cached_property
72+
def resource_groups(self) -> ResourceGroupsResourceWithRawResponse:
73+
return ResourceGroupsResourceWithRawResponse(self._iam.resource_groups)
74+
75+
76+
class AsyncIamResourceWithRawResponse:
77+
def __init__(self, iam: AsyncIamResource) -> None:
78+
self._iam = iam
79+
80+
@cached_property
81+
def permission_groups(self) -> AsyncPermissionGroupsResourceWithRawResponse:
82+
return AsyncPermissionGroupsResourceWithRawResponse(self._iam.permission_groups)
83+
84+
@cached_property
85+
def resource_groups(self) -> AsyncResourceGroupsResourceWithRawResponse:
86+
return AsyncResourceGroupsResourceWithRawResponse(self._iam.resource_groups)
87+
88+
89+
class IamResourceWithStreamingResponse:
90+
def __init__(self, iam: IamResource) -> None:
91+
self._iam = iam
92+
93+
@cached_property
94+
def permission_groups(self) -> PermissionGroupsResourceWithStreamingResponse:
95+
return PermissionGroupsResourceWithStreamingResponse(self._iam.permission_groups)
96+
97+
@cached_property
98+
def resource_groups(self) -> ResourceGroupsResourceWithStreamingResponse:
99+
return ResourceGroupsResourceWithStreamingResponse(self._iam.resource_groups)
100+
101+
102+
class AsyncIamResourceWithStreamingResponse:
103+
def __init__(self, iam: AsyncIamResource) -> None:
104+
self._iam = iam
105+
106+
@cached_property
107+
def permission_groups(self) -> AsyncPermissionGroupsResourceWithStreamingResponse:
108+
return AsyncPermissionGroupsResourceWithStreamingResponse(self._iam.permission_groups)
109+
110+
@cached_property
111+
def resource_groups(self) -> AsyncResourceGroupsResourceWithStreamingResponse:
112+
return AsyncResourceGroupsResourceWithStreamingResponse(self._iam.resource_groups)

0 commit comments

Comments
 (0)