Skip to content

Commit db75dd8

Browse files
feat: feat(api): add AI Gateway Dynamic Routing endpoints
* feat(api): add AI Gateway Dynamic Routing endpoints
1 parent e4f787b commit db75dd8

27 files changed

+5694
-2
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 1996
1+
configured_endpoints: 2008
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-8d1c797be2f62cfe7299595bbd18a1b3761024b586866b48be9e0f27d54ace89.yml
33
openapi_spec_hash: 46a8341906b1026e5a969579c8a10b14
4-
config_hash: d1101915de2a8b526a1fe20a9f7314ca
4+
config_hash: 4f7156f8131682ce0acd20f172d81e18

api.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10052,6 +10052,51 @@ Methods:
1005210052
- <code title="delete /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/evaluations/{id}">client.ai_gateway.evaluations.<a href="./src/cloudflare/resources/ai_gateway/evaluations.py">delete</a>(id, \*, account_id, gateway_id) -> <a href="./src/cloudflare/types/ai_gateway/evaluation_delete_response.py">EvaluationDeleteResponse</a></code>
1005310053
- <code title="get /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/evaluations/{id}">client.ai_gateway.evaluations.<a href="./src/cloudflare/resources/ai_gateway/evaluations.py">get</a>(id, \*, account_id, gateway_id) -> <a href="./src/cloudflare/types/ai_gateway/evaluation_get_response.py">EvaluationGetResponse</a></code>
1005410054

10055+
## DynamicRouting
10056+
10057+
Types:
10058+
10059+
```python
10060+
from cloudflare.types.ai_gateway import (
10061+
DynamicRoutingCreateResponse,
10062+
DynamicRoutingUpdateResponse,
10063+
DynamicRoutingListResponse,
10064+
DynamicRoutingDeleteResponse,
10065+
DynamicRoutingCreateDeploymentResponse,
10066+
DynamicRoutingCreateVersionResponse,
10067+
DynamicRoutingGetResponse,
10068+
DynamicRoutingGetVersionResponse,
10069+
DynamicRoutingListDeploymentsResponse,
10070+
DynamicRoutingListVersionsResponse,
10071+
)
10072+
```
10073+
10074+
Methods:
10075+
10076+
- <code title="post /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes">client.ai_gateway.dynamic_routing.<a href="./src/cloudflare/resources/ai_gateway/dynamic_routing.py">create</a>(gateway_id, \*, account_id, \*\*<a href="src/cloudflare/types/ai_gateway/dynamic_routing_create_params.py">params</a>) -> <a href="./src/cloudflare/types/ai_gateway/dynamic_routing_create_response.py">DynamicRoutingCreateResponse</a></code>
10077+
- <code title="patch /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}">client.ai_gateway.dynamic_routing.<a href="./src/cloudflare/resources/ai_gateway/dynamic_routing.py">update</a>(id, \*, account_id, gateway_id, \*\*<a href="src/cloudflare/types/ai_gateway/dynamic_routing_update_params.py">params</a>) -> <a href="./src/cloudflare/types/ai_gateway/dynamic_routing_update_response.py">DynamicRoutingUpdateResponse</a></code>
10078+
- <code title="get /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes">client.ai_gateway.dynamic_routing.<a href="./src/cloudflare/resources/ai_gateway/dynamic_routing.py">list</a>(gateway_id, \*, account_id) -> <a href="./src/cloudflare/types/ai_gateway/dynamic_routing_list_response.py">DynamicRoutingListResponse</a></code>
10079+
- <code title="delete /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}">client.ai_gateway.dynamic_routing.<a href="./src/cloudflare/resources/ai_gateway/dynamic_routing.py">delete</a>(id, \*, account_id, gateway_id) -> <a href="./src/cloudflare/types/ai_gateway/dynamic_routing_delete_response.py">DynamicRoutingDeleteResponse</a></code>
10080+
- <code title="post /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}/deployments">client.ai_gateway.dynamic_routing.<a href="./src/cloudflare/resources/ai_gateway/dynamic_routing.py">create_deployment</a>(id, \*, account_id, gateway_id, \*\*<a href="src/cloudflare/types/ai_gateway/dynamic_routing_create_deployment_params.py">params</a>) -> <a href="./src/cloudflare/types/ai_gateway/dynamic_routing_create_deployment_response.py">DynamicRoutingCreateDeploymentResponse</a></code>
10081+
- <code title="post /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}/versions">client.ai_gateway.dynamic_routing.<a href="./src/cloudflare/resources/ai_gateway/dynamic_routing.py">create_version</a>(id, \*, account_id, gateway_id, \*\*<a href="src/cloudflare/types/ai_gateway/dynamic_routing_create_version_params.py">params</a>) -> <a href="./src/cloudflare/types/ai_gateway/dynamic_routing_create_version_response.py">DynamicRoutingCreateVersionResponse</a></code>
10082+
- <code title="get /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}">client.ai_gateway.dynamic_routing.<a href="./src/cloudflare/resources/ai_gateway/dynamic_routing.py">get</a>(id, \*, account_id, gateway_id) -> <a href="./src/cloudflare/types/ai_gateway/dynamic_routing_get_response.py">DynamicRoutingGetResponse</a></code>
10083+
- <code title="get /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}/versions/{version_id}">client.ai_gateway.dynamic_routing.<a href="./src/cloudflare/resources/ai_gateway/dynamic_routing.py">get_version</a>(version_id, \*, account_id, gateway_id, id) -> <a href="./src/cloudflare/types/ai_gateway/dynamic_routing_get_version_response.py">DynamicRoutingGetVersionResponse</a></code>
10084+
- <code title="get /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}/deployments">client.ai_gateway.dynamic_routing.<a href="./src/cloudflare/resources/ai_gateway/dynamic_routing.py">list_deployments</a>(id, \*, account_id, gateway_id) -> <a href="./src/cloudflare/types/ai_gateway/dynamic_routing_list_deployments_response.py">DynamicRoutingListDeploymentsResponse</a></code>
10085+
- <code title="get /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}/versions">client.ai_gateway.dynamic_routing.<a href="./src/cloudflare/resources/ai_gateway/dynamic_routing.py">list_versions</a>(id, \*, account_id, gateway_id) -> <a href="./src/cloudflare/types/ai_gateway/dynamic_routing_list_versions_response.py">DynamicRoutingListVersionsResponse</a></code>
10086+
10087+
## ProviderConfigs
10088+
10089+
Types:
10090+
10091+
```python
10092+
from cloudflare.types.ai_gateway import ProviderConfigCreateResponse, ProviderConfigListResponse
10093+
```
10094+
10095+
Methods:
10096+
10097+
- <code title="post /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/provider_configs">client.ai_gateway.provider_configs.<a href="./src/cloudflare/resources/ai_gateway/provider_configs.py">create</a>(gateway_id, \*, account_id, \*\*<a href="src/cloudflare/types/ai_gateway/provider_config_create_params.py">params</a>) -> <a href="./src/cloudflare/types/ai_gateway/provider_config_create_response.py">ProviderConfigCreateResponse</a></code>
10098+
- <code title="get /accounts/{account_id}/ai-gateway/gateways/{gateway_id}/provider_configs">client.ai_gateway.provider_configs.<a href="./src/cloudflare/resources/ai_gateway/provider_configs.py">list</a>(gateway_id, \*, account_id, \*\*<a href="src/cloudflare/types/ai_gateway/provider_config_list_params.py">params</a>) -> <a href="./src/cloudflare/types/ai_gateway/provider_config_list_response.py">SyncV4PagePaginationArray[ProviderConfigListResponse]</a></code>
10099+
1005510100
## URLs
1005610101

1005710102
Types:

src/cloudflare/resources/ai_gateway/__init__.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@
4040
EvaluationsResourceWithStreamingResponse,
4141
AsyncEvaluationsResourceWithStreamingResponse,
4242
)
43+
from .dynamic_routing import (
44+
DynamicRoutingResource,
45+
AsyncDynamicRoutingResource,
46+
DynamicRoutingResourceWithRawResponse,
47+
AsyncDynamicRoutingResourceWithRawResponse,
48+
DynamicRoutingResourceWithStreamingResponse,
49+
AsyncDynamicRoutingResourceWithStreamingResponse,
50+
)
4351
from .evaluation_types import (
4452
EvaluationTypesResource,
4553
AsyncEvaluationTypesResource,
@@ -48,6 +56,14 @@
4856
EvaluationTypesResourceWithStreamingResponse,
4957
AsyncEvaluationTypesResourceWithStreamingResponse,
5058
)
59+
from .provider_configs import (
60+
ProviderConfigsResource,
61+
AsyncProviderConfigsResource,
62+
ProviderConfigsResourceWithRawResponse,
63+
AsyncProviderConfigsResourceWithRawResponse,
64+
ProviderConfigsResourceWithStreamingResponse,
65+
AsyncProviderConfigsResourceWithStreamingResponse,
66+
)
5167

5268
__all__ = [
5369
"EvaluationTypesResource",
@@ -74,6 +90,18 @@
7490
"AsyncEvaluationsResourceWithRawResponse",
7591
"EvaluationsResourceWithStreamingResponse",
7692
"AsyncEvaluationsResourceWithStreamingResponse",
93+
"DynamicRoutingResource",
94+
"AsyncDynamicRoutingResource",
95+
"DynamicRoutingResourceWithRawResponse",
96+
"AsyncDynamicRoutingResourceWithRawResponse",
97+
"DynamicRoutingResourceWithStreamingResponse",
98+
"AsyncDynamicRoutingResourceWithStreamingResponse",
99+
"ProviderConfigsResource",
100+
"AsyncProviderConfigsResource",
101+
"ProviderConfigsResourceWithRawResponse",
102+
"AsyncProviderConfigsResourceWithRawResponse",
103+
"ProviderConfigsResourceWithStreamingResponse",
104+
"AsyncProviderConfigsResourceWithStreamingResponse",
77105
"URLsResource",
78106
"AsyncURLsResource",
79107
"URLsResourceWithRawResponse",

src/cloudflare/resources/ai_gateway/ai_gateway.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,14 @@
5252
)
5353
from ...pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray
5454
from ..._base_client import AsyncPaginator, make_request_options
55+
from .dynamic_routing import (
56+
DynamicRoutingResource,
57+
AsyncDynamicRoutingResource,
58+
DynamicRoutingResourceWithRawResponse,
59+
AsyncDynamicRoutingResourceWithRawResponse,
60+
DynamicRoutingResourceWithStreamingResponse,
61+
AsyncDynamicRoutingResourceWithStreamingResponse,
62+
)
5563
from .evaluation_types import (
5664
EvaluationTypesResource,
5765
AsyncEvaluationTypesResource,
@@ -60,6 +68,14 @@
6068
EvaluationTypesResourceWithStreamingResponse,
6169
AsyncEvaluationTypesResourceWithStreamingResponse,
6270
)
71+
from .provider_configs import (
72+
ProviderConfigsResource,
73+
AsyncProviderConfigsResource,
74+
ProviderConfigsResourceWithRawResponse,
75+
AsyncProviderConfigsResourceWithRawResponse,
76+
ProviderConfigsResourceWithStreamingResponse,
77+
AsyncProviderConfigsResourceWithStreamingResponse,
78+
)
6379
from ...types.ai_gateway import ai_gateway_list_params, ai_gateway_create_params, ai_gateway_update_params
6480
from ...types.ai_gateway.ai_gateway_get_response import AIGatewayGetResponse
6581
from ...types.ai_gateway.ai_gateway_list_response import AIGatewayListResponse
@@ -87,6 +103,14 @@ def datasets(self) -> DatasetsResource:
87103
def evaluations(self) -> EvaluationsResource:
88104
return EvaluationsResource(self._client)
89105

106+
@cached_property
107+
def dynamic_routing(self) -> DynamicRoutingResource:
108+
return DynamicRoutingResource(self._client)
109+
110+
@cached_property
111+
def provider_configs(self) -> ProviderConfigsResource:
112+
return ProviderConfigsResource(self._client)
113+
90114
@cached_property
91115
def urls(self) -> URLsResource:
92116
return URLsResource(self._client)
@@ -415,6 +439,14 @@ def datasets(self) -> AsyncDatasetsResource:
415439
def evaluations(self) -> AsyncEvaluationsResource:
416440
return AsyncEvaluationsResource(self._client)
417441

442+
@cached_property
443+
def dynamic_routing(self) -> AsyncDynamicRoutingResource:
444+
return AsyncDynamicRoutingResource(self._client)
445+
446+
@cached_property
447+
def provider_configs(self) -> AsyncProviderConfigsResource:
448+
return AsyncProviderConfigsResource(self._client)
449+
418450
@cached_property
419451
def urls(self) -> AsyncURLsResource:
420452
return AsyncURLsResource(self._client)
@@ -762,6 +794,14 @@ def datasets(self) -> DatasetsResourceWithRawResponse:
762794
def evaluations(self) -> EvaluationsResourceWithRawResponse:
763795
return EvaluationsResourceWithRawResponse(self._ai_gateway.evaluations)
764796

797+
@cached_property
798+
def dynamic_routing(self) -> DynamicRoutingResourceWithRawResponse:
799+
return DynamicRoutingResourceWithRawResponse(self._ai_gateway.dynamic_routing)
800+
801+
@cached_property
802+
def provider_configs(self) -> ProviderConfigsResourceWithRawResponse:
803+
return ProviderConfigsResourceWithRawResponse(self._ai_gateway.provider_configs)
804+
765805
@cached_property
766806
def urls(self) -> URLsResourceWithRawResponse:
767807
return URLsResourceWithRawResponse(self._ai_gateway.urls)
@@ -803,6 +843,14 @@ def datasets(self) -> AsyncDatasetsResourceWithRawResponse:
803843
def evaluations(self) -> AsyncEvaluationsResourceWithRawResponse:
804844
return AsyncEvaluationsResourceWithRawResponse(self._ai_gateway.evaluations)
805845

846+
@cached_property
847+
def dynamic_routing(self) -> AsyncDynamicRoutingResourceWithRawResponse:
848+
return AsyncDynamicRoutingResourceWithRawResponse(self._ai_gateway.dynamic_routing)
849+
850+
@cached_property
851+
def provider_configs(self) -> AsyncProviderConfigsResourceWithRawResponse:
852+
return AsyncProviderConfigsResourceWithRawResponse(self._ai_gateway.provider_configs)
853+
806854
@cached_property
807855
def urls(self) -> AsyncURLsResourceWithRawResponse:
808856
return AsyncURLsResourceWithRawResponse(self._ai_gateway.urls)
@@ -844,6 +892,14 @@ def datasets(self) -> DatasetsResourceWithStreamingResponse:
844892
def evaluations(self) -> EvaluationsResourceWithStreamingResponse:
845893
return EvaluationsResourceWithStreamingResponse(self._ai_gateway.evaluations)
846894

895+
@cached_property
896+
def dynamic_routing(self) -> DynamicRoutingResourceWithStreamingResponse:
897+
return DynamicRoutingResourceWithStreamingResponse(self._ai_gateway.dynamic_routing)
898+
899+
@cached_property
900+
def provider_configs(self) -> ProviderConfigsResourceWithStreamingResponse:
901+
return ProviderConfigsResourceWithStreamingResponse(self._ai_gateway.provider_configs)
902+
847903
@cached_property
848904
def urls(self) -> URLsResourceWithStreamingResponse:
849905
return URLsResourceWithStreamingResponse(self._ai_gateway.urls)
@@ -885,6 +941,14 @@ def datasets(self) -> AsyncDatasetsResourceWithStreamingResponse:
885941
def evaluations(self) -> AsyncEvaluationsResourceWithStreamingResponse:
886942
return AsyncEvaluationsResourceWithStreamingResponse(self._ai_gateway.evaluations)
887943

944+
@cached_property
945+
def dynamic_routing(self) -> AsyncDynamicRoutingResourceWithStreamingResponse:
946+
return AsyncDynamicRoutingResourceWithStreamingResponse(self._ai_gateway.dynamic_routing)
947+
948+
@cached_property
949+
def provider_configs(self) -> AsyncProviderConfigsResourceWithStreamingResponse:
950+
return AsyncProviderConfigsResourceWithStreamingResponse(self._ai_gateway.provider_configs)
951+
888952
@cached_property
889953
def urls(self) -> AsyncURLsResourceWithStreamingResponse:
890954
return AsyncURLsResourceWithStreamingResponse(self._ai_gateway.urls)

0 commit comments

Comments
 (0)