Skip to content

Commit c4f868e

Browse files
chore(api): update composite API spec
1 parent 019d753 commit c4f868e

9 files changed

Lines changed: 422 additions & 2 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: 2317
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare/cloudflare-0e70a586436827af2a83ef5365d1de2f32be0c7d777b110ee15d341aa79259fd.yml
3-
openapi_spec_hash: 37aa89fa53a885c495224e060ad7b3eb
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare/cloudflare-54bd86a0d11e5777fbe6c4fb8730c59b58bd1e2c0ac834ac060c9a25c09fc7e9.yml
3+
openapi_spec_hash: 4ac9d21f9fad202efc68bda8af37bdbf
44
config_hash: fb00b1d45d83236f53f8ef08adb2db5c

src/cloudflare/resources/ai_gateway/ai_gateway.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ def update(
255255
retry_backoff: Optional[Literal["constant", "linear", "exponential"]] | Omit = omit,
256256
retry_delay: Optional[int] | Omit = omit,
257257
retry_max_attempts: Optional[int] | Omit = omit,
258+
spend_limits: Optional[ai_gateway_update_params.SpendLimits] | Omit = omit,
258259
store_id: Optional[str] | Omit = omit,
259260
stripe: Optional[ai_gateway_update_params.Stripe] | Omit = omit,
260261
workers_ai_billing_mode: Literal["postpaid"] | Omit = omit,
@@ -314,6 +315,7 @@ def update(
314315
"retry_backoff": retry_backoff,
315316
"retry_delay": retry_delay,
316317
"retry_max_attempts": retry_max_attempts,
318+
"spend_limits": spend_limits,
317319
"store_id": store_id,
318320
"stripe": stripe,
319321
"workers_ai_billing_mode": workers_ai_billing_mode,
@@ -627,6 +629,7 @@ async def update(
627629
retry_backoff: Optional[Literal["constant", "linear", "exponential"]] | Omit = omit,
628630
retry_delay: Optional[int] | Omit = omit,
629631
retry_max_attempts: Optional[int] | Omit = omit,
632+
spend_limits: Optional[ai_gateway_update_params.SpendLimits] | Omit = omit,
630633
store_id: Optional[str] | Omit = omit,
631634
stripe: Optional[ai_gateway_update_params.Stripe] | Omit = omit,
632635
workers_ai_billing_mode: Literal["postpaid"] | Omit = omit,
@@ -686,6 +689,7 @@ async def update(
686689
"retry_backoff": retry_backoff,
687690
"retry_delay": retry_delay,
688691
"retry_max_attempts": retry_max_attempts,
692+
"spend_limits": spend_limits,
689693
"store_id": store_id,
690694
"stripe": stripe,
691695
"workers_ai_billing_mode": workers_ai_billing_mode,

src/cloudflare/types/ai_gateway/ai_gateway_create_response.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@
1818
"GuardrailsPrompt",
1919
"GuardrailsResponse",
2020
"Otel",
21+
"SpendLimits",
22+
"SpendLimitsRule",
23+
"SpendLimitsRuleMetadata",
24+
"SpendLimitsRuleMetadataMode",
25+
"SpendLimitsRuleMetadataUnionMember1",
26+
"SpendLimitsRuleModel",
27+
"SpendLimitsRuleModelMatch",
28+
"SpendLimitsRuleProvider",
29+
"SpendLimitsRuleProviderMatch",
2130
"Stripe",
2231
"StripeUsageEvent",
2332
]
@@ -128,6 +137,59 @@ class Otel(BaseModel):
128137
content_type: Optional[Literal["json", "protobuf"]] = None
129138

130139

140+
class SpendLimitsRuleMetadataMode(BaseModel):
141+
mode: Literal["partition"]
142+
143+
144+
class SpendLimitsRuleMetadataUnionMember1(BaseModel):
145+
mode: Literal["match"]
146+
147+
value: str
148+
149+
150+
SpendLimitsRuleMetadata: TypeAlias = Union[SpendLimitsRuleMetadataMode, SpendLimitsRuleMetadataUnionMember1]
151+
152+
153+
class SpendLimitsRuleModelMatch(BaseModel):
154+
match: str
155+
156+
157+
SpendLimitsRuleModel: TypeAlias = Union[Literal["partition"], SpendLimitsRuleModelMatch]
158+
159+
160+
class SpendLimitsRuleProviderMatch(BaseModel):
161+
match: str
162+
163+
164+
SpendLimitsRuleProvider: TypeAlias = Union[Literal["partition"], SpendLimitsRuleProviderMatch]
165+
166+
167+
class SpendLimitsRule(BaseModel):
168+
id: str
169+
170+
limit: float
171+
172+
limit_type: Literal["cost"] = FieldInfo(alias="limitType")
173+
174+
window: int
175+
176+
enabled: Optional[bool] = None
177+
178+
metadata: Optional[Dict[str, SpendLimitsRuleMetadata]] = None
179+
180+
model: Optional[SpendLimitsRuleModel] = None
181+
182+
provider: Optional[SpendLimitsRuleProvider] = None
183+
184+
technique: Optional[Literal["fixed", "sliding"]] = None
185+
186+
187+
class SpendLimits(BaseModel):
188+
enabled: Optional[bool] = None
189+
190+
rules: Optional[List[SpendLimitsRule]] = None
191+
192+
131193
class StripeUsageEvent(BaseModel):
132194
payload: str
133195

@@ -185,6 +247,8 @@ class AIGatewayCreateResponse(BaseModel):
185247
retry_max_attempts: Optional[int] = None
186248
"""Maximum number of retry attempts for failed requests (1-5)"""
187249

250+
spend_limits: Optional[SpendLimits] = None
251+
188252
store_id: Optional[str] = None
189253

190254
stripe: Optional[Stripe] = None

src/cloudflare/types/ai_gateway/ai_gateway_delete_response.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@
1818
"GuardrailsPrompt",
1919
"GuardrailsResponse",
2020
"Otel",
21+
"SpendLimits",
22+
"SpendLimitsRule",
23+
"SpendLimitsRuleMetadata",
24+
"SpendLimitsRuleMetadataMode",
25+
"SpendLimitsRuleMetadataUnionMember1",
26+
"SpendLimitsRuleModel",
27+
"SpendLimitsRuleModelMatch",
28+
"SpendLimitsRuleProvider",
29+
"SpendLimitsRuleProviderMatch",
2130
"Stripe",
2231
"StripeUsageEvent",
2332
]
@@ -128,6 +137,59 @@ class Otel(BaseModel):
128137
content_type: Optional[Literal["json", "protobuf"]] = None
129138

130139

140+
class SpendLimitsRuleMetadataMode(BaseModel):
141+
mode: Literal["partition"]
142+
143+
144+
class SpendLimitsRuleMetadataUnionMember1(BaseModel):
145+
mode: Literal["match"]
146+
147+
value: str
148+
149+
150+
SpendLimitsRuleMetadata: TypeAlias = Union[SpendLimitsRuleMetadataMode, SpendLimitsRuleMetadataUnionMember1]
151+
152+
153+
class SpendLimitsRuleModelMatch(BaseModel):
154+
match: str
155+
156+
157+
SpendLimitsRuleModel: TypeAlias = Union[Literal["partition"], SpendLimitsRuleModelMatch]
158+
159+
160+
class SpendLimitsRuleProviderMatch(BaseModel):
161+
match: str
162+
163+
164+
SpendLimitsRuleProvider: TypeAlias = Union[Literal["partition"], SpendLimitsRuleProviderMatch]
165+
166+
167+
class SpendLimitsRule(BaseModel):
168+
id: str
169+
170+
limit: float
171+
172+
limit_type: Literal["cost"] = FieldInfo(alias="limitType")
173+
174+
window: int
175+
176+
enabled: Optional[bool] = None
177+
178+
metadata: Optional[Dict[str, SpendLimitsRuleMetadata]] = None
179+
180+
model: Optional[SpendLimitsRuleModel] = None
181+
182+
provider: Optional[SpendLimitsRuleProvider] = None
183+
184+
technique: Optional[Literal["fixed", "sliding"]] = None
185+
186+
187+
class SpendLimits(BaseModel):
188+
enabled: Optional[bool] = None
189+
190+
rules: Optional[List[SpendLimitsRule]] = None
191+
192+
131193
class StripeUsageEvent(BaseModel):
132194
payload: str
133195

@@ -185,6 +247,8 @@ class AIGatewayDeleteResponse(BaseModel):
185247
retry_max_attempts: Optional[int] = None
186248
"""Maximum number of retry attempts for failed requests (1-5)"""
187249

250+
spend_limits: Optional[SpendLimits] = None
251+
188252
store_id: Optional[str] = None
189253

190254
stripe: Optional[Stripe] = None

src/cloudflare/types/ai_gateway/ai_gateway_get_response.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@
1818
"GuardrailsPrompt",
1919
"GuardrailsResponse",
2020
"Otel",
21+
"SpendLimits",
22+
"SpendLimitsRule",
23+
"SpendLimitsRuleMetadata",
24+
"SpendLimitsRuleMetadataMode",
25+
"SpendLimitsRuleMetadataUnionMember1",
26+
"SpendLimitsRuleModel",
27+
"SpendLimitsRuleModelMatch",
28+
"SpendLimitsRuleProvider",
29+
"SpendLimitsRuleProviderMatch",
2130
"Stripe",
2231
"StripeUsageEvent",
2332
]
@@ -128,6 +137,59 @@ class Otel(BaseModel):
128137
content_type: Optional[Literal["json", "protobuf"]] = None
129138

130139

140+
class SpendLimitsRuleMetadataMode(BaseModel):
141+
mode: Literal["partition"]
142+
143+
144+
class SpendLimitsRuleMetadataUnionMember1(BaseModel):
145+
mode: Literal["match"]
146+
147+
value: str
148+
149+
150+
SpendLimitsRuleMetadata: TypeAlias = Union[SpendLimitsRuleMetadataMode, SpendLimitsRuleMetadataUnionMember1]
151+
152+
153+
class SpendLimitsRuleModelMatch(BaseModel):
154+
match: str
155+
156+
157+
SpendLimitsRuleModel: TypeAlias = Union[Literal["partition"], SpendLimitsRuleModelMatch]
158+
159+
160+
class SpendLimitsRuleProviderMatch(BaseModel):
161+
match: str
162+
163+
164+
SpendLimitsRuleProvider: TypeAlias = Union[Literal["partition"], SpendLimitsRuleProviderMatch]
165+
166+
167+
class SpendLimitsRule(BaseModel):
168+
id: str
169+
170+
limit: float
171+
172+
limit_type: Literal["cost"] = FieldInfo(alias="limitType")
173+
174+
window: int
175+
176+
enabled: Optional[bool] = None
177+
178+
metadata: Optional[Dict[str, SpendLimitsRuleMetadata]] = None
179+
180+
model: Optional[SpendLimitsRuleModel] = None
181+
182+
provider: Optional[SpendLimitsRuleProvider] = None
183+
184+
technique: Optional[Literal["fixed", "sliding"]] = None
185+
186+
187+
class SpendLimits(BaseModel):
188+
enabled: Optional[bool] = None
189+
190+
rules: Optional[List[SpendLimitsRule]] = None
191+
192+
131193
class StripeUsageEvent(BaseModel):
132194
payload: str
133195

@@ -185,6 +247,8 @@ class AIGatewayGetResponse(BaseModel):
185247
retry_max_attempts: Optional[int] = None
186248
"""Maximum number of retry attempts for failed requests (1-5)"""
187249

250+
spend_limits: Optional[SpendLimits] = None
251+
188252
store_id: Optional[str] = None
189253

190254
stripe: Optional[Stripe] = None

src/cloudflare/types/ai_gateway/ai_gateway_list_response.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@
1818
"GuardrailsPrompt",
1919
"GuardrailsResponse",
2020
"Otel",
21+
"SpendLimits",
22+
"SpendLimitsRule",
23+
"SpendLimitsRuleMetadata",
24+
"SpendLimitsRuleMetadataMode",
25+
"SpendLimitsRuleMetadataUnionMember1",
26+
"SpendLimitsRuleModel",
27+
"SpendLimitsRuleModelMatch",
28+
"SpendLimitsRuleProvider",
29+
"SpendLimitsRuleProviderMatch",
2130
"Stripe",
2231
"StripeUsageEvent",
2332
]
@@ -128,6 +137,59 @@ class Otel(BaseModel):
128137
content_type: Optional[Literal["json", "protobuf"]] = None
129138

130139

140+
class SpendLimitsRuleMetadataMode(BaseModel):
141+
mode: Literal["partition"]
142+
143+
144+
class SpendLimitsRuleMetadataUnionMember1(BaseModel):
145+
mode: Literal["match"]
146+
147+
value: str
148+
149+
150+
SpendLimitsRuleMetadata: TypeAlias = Union[SpendLimitsRuleMetadataMode, SpendLimitsRuleMetadataUnionMember1]
151+
152+
153+
class SpendLimitsRuleModelMatch(BaseModel):
154+
match: str
155+
156+
157+
SpendLimitsRuleModel: TypeAlias = Union[Literal["partition"], SpendLimitsRuleModelMatch]
158+
159+
160+
class SpendLimitsRuleProviderMatch(BaseModel):
161+
match: str
162+
163+
164+
SpendLimitsRuleProvider: TypeAlias = Union[Literal["partition"], SpendLimitsRuleProviderMatch]
165+
166+
167+
class SpendLimitsRule(BaseModel):
168+
id: str
169+
170+
limit: float
171+
172+
limit_type: Literal["cost"] = FieldInfo(alias="limitType")
173+
174+
window: int
175+
176+
enabled: Optional[bool] = None
177+
178+
metadata: Optional[Dict[str, SpendLimitsRuleMetadata]] = None
179+
180+
model: Optional[SpendLimitsRuleModel] = None
181+
182+
provider: Optional[SpendLimitsRuleProvider] = None
183+
184+
technique: Optional[Literal["fixed", "sliding"]] = None
185+
186+
187+
class SpendLimits(BaseModel):
188+
enabled: Optional[bool] = None
189+
190+
rules: Optional[List[SpendLimitsRule]] = None
191+
192+
131193
class StripeUsageEvent(BaseModel):
132194
payload: str
133195

@@ -185,6 +247,8 @@ class AIGatewayListResponse(BaseModel):
185247
retry_max_attempts: Optional[int] = None
186248
"""Maximum number of retry attempts for failed requests (1-5)"""
187249

250+
spend_limits: Optional[SpendLimits] = None
251+
188252
store_id: Optional[str] = None
189253

190254
stripe: Optional[Stripe] = None

0 commit comments

Comments
 (0)