Compare commits

...

4403 commits

Author SHA1 Message Date
Musa Jundi
ac1ae1cb4f
Merge pull request #2663 from cloudflare/release-please--branches--main--changes--next
release: 4.3.1
2025-06-16 16:42:51 -05:00
stainless-app[bot]
1a32133afb
release: 4.3.1 2025-06-16 20:02:49 +00:00
stainless-app[bot]
8917497520 fix(api): Update zone subscription paths 2025-06-16 20:02:24 +00:00
stainless-app[bot]
c8ae1c4a73 chore(internal): update conftest.py 2025-06-16 18:58:33 +00:00
stainless-app[bot]
8b3ce06fc7 codegen metadata 2025-06-16 18:27:09 +00:00
Musa Jundi
d6670b63bd
Merge pull request #2655 from cloudflare/release-please--branches--main--changes--next
release: 4.3.0
2025-06-16 13:16:30 -05:00
stainless-app[bot]
7926da91e6
release: 4.3.0 2025-06-16 17:56:12 +00:00
stainless-app[bot]
320184d824 codegen metadata 2025-06-16 17:54:10 +00:00
stainless-app[bot]
4ebf402430 codegen metadata 2025-06-16 16:18:28 +00:00
stainless-app[bot]
d7212f1a49 codegen metadata 2025-06-16 16:16:32 +00:00
stainless-app[bot]
07a2a5f767 codegen metadata 2025-06-16 16:14:17 +00:00
stainless-app[bot]
a7c1bd0a1e codegen metadata 2025-06-16 16:09:56 +00:00
stainless-app[bot]
056581dc85 codegen metadata 2025-06-16 16:04:21 +00:00
stainless-app[bot]
a102a1bef3 codegen metadata 2025-06-16 16:00:21 +00:00
stainless-app[bot]
c34ffc9b4c codegen metadata 2025-06-16 15:21:07 +00:00
stainless-app[bot]
0ffbbc908d codegen metadata 2025-06-16 15:19:09 +00:00
stainless-app[bot]
eed581b908 feat(api): api update 2025-06-16 14:56:11 +00:00
stainless-app[bot]
4c166b5177 codegen metadata 2025-06-16 14:37:49 +00:00
stainless-app[bot]
0291352a03 chore(tests): add tests for httpx client instantiation & proxies 2025-06-16 14:19:14 +00:00
stainless-app[bot]
07bbf757e7 codegen metadata 2025-06-12 17:23:19 +00:00
stainless-app[bot]
09930a5ad4 chore(internal): codegen related update 2025-06-12 17:14:23 +00:00
stainless-app[bot]
3bcfa29698 codegen metadata 2025-06-12 17:08:45 +00:00
stainless-app[bot]
35c6110e79 codegen metadata 2025-06-12 17:03:20 +00:00
stainless-app[bot]
9da70d6b74 codegen metadata 2025-06-12 16:58:37 +00:00
stainless-app[bot]
d4795c5d22 fix(api): 'name' and 'type' are required on dns_record 2025-06-12 16:56:30 +00:00
stainless-app[bot]
fceaf952e4 fix(client): correctly parse binary response | stream 2025-06-12 16:48:16 +00:00
stainless-app[bot]
c96a4a2945 codegen metadata 2025-06-12 16:44:40 +00:00
stainless-app[bot]
504317bcf0 codegen metadata 2025-06-12 16:42:25 +00:00
stainless-app[bot]
98fee4a292 feat(api): api update 2025-06-12 16:24:34 +00:00
stainless-app[bot]
348095e34f codegen metadata 2025-06-12 16:22:16 +00:00
stainless-app[bot]
0e3aa91845 codegen metadata 2025-06-12 16:06:58 +00:00
stainless-app[bot]
41338e3dd5 codegen metadata 2025-06-12 16:00:59 +00:00
stainless-app[bot]
2d18032c67 codegen metadata 2025-06-12 15:16:25 +00:00
stainless-app[bot]
d1e83c5d09 codegen metadata 2025-06-12 14:03:30 +00:00
stainless-app[bot]
cc4533e355 chore(tests): run tests in parallel 2025-06-12 10:32:15 +00:00
stainless-app[bot]
8db9c20ccb codegen metadata 2025-06-12 06:09:33 +00:00
stainless-app[bot]
6121b3ba11 codegen metadata 2025-06-12 01:50:59 +00:00
stainless-app[bot]
df432e7609 codegen metadata 2025-06-11 23:31:57 +00:00
stainless-app[bot]
9c8559d70a codegen metadata 2025-06-11 23:29:51 +00:00
stainless-app[bot]
c9cbf7e211 codegen metadata 2025-06-11 20:45:10 +00:00
stainless-app[bot]
5de1381d4d codegen metadata 2025-06-11 20:22:11 +00:00
stainless-app[bot]
30ed065576 codegen metadata 2025-06-11 20:06:52 +00:00
stainless-app[bot]
993fdb40b7 codegen metadata 2025-06-11 19:41:16 +00:00
stainless-app[bot]
f21d1cd0bd codegen metadata 2025-06-11 19:31:29 +00:00
stainless-app[bot]
fa43851595 chore(api): Fix edge IPs variant names 2025-06-11 19:19:18 +00:00
stainless-app[bot]
6130ecc4dc codegen metadata 2025-06-11 18:29:50 +00:00
stainless-app[bot]
cdba5080f6 codegen metadata 2025-06-11 18:27:39 +00:00
stainless-app[bot]
75784282c4 codegen metadata 2025-06-11 18:25:33 +00:00
stainless-app[bot]
43f3f5e8c9 codegen metadata 2025-06-11 18:15:32 +00:00
stainless-app[bot]
8dad1e946d codegen metadata 2025-06-11 18:11:29 +00:00
stainless-app[bot]
281c1cb68a codegen metadata 2025-06-11 18:09:26 +00:00
stainless-app[bot]
5f179bd1ee codegen metadata 2025-06-11 17:55:28 +00:00
stainless-app[bot]
30e933cbe5 codegen metadata 2025-06-11 17:53:23 +00:00
stainless-app[bot]
247e55ddab codegen metadata 2025-06-11 17:51:20 +00:00
stainless-app[bot]
5b9ca588f5 feat(api): api update 2025-06-11 17:46:12 +00:00
stainless-app[bot]
332065cd40 fix(AI): Add explicit variant names for union types 2025-06-11 17:15:45 +00:00
stainless-app[bot]
25eef72907 codegen metadata 2025-06-11 17:08:52 +00:00
stainless-app[bot]
ae14989860 codegen metadata 2025-06-11 17:06:44 +00:00
stainless-app[bot]
490c4a7cf1 fix(DLP): Add explicit variant names 2025-06-11 17:04:41 +00:00
stainless-app[bot]
2b5c16bd01 codegen metadata 2025-06-11 17:02:40 +00:00
stainless-app[bot]
5824050255 feat(api): api update 2025-06-11 15:00:17 +00:00
stainless-app[bot]
b70af3b52d codegen metadata 2025-06-11 13:55:08 +00:00
stainless-app[bot]
e5208e5870 codegen metadata 2025-06-11 13:34:20 +00:00
stainless-app[bot]
ada93e7971 codegen metadata 2025-06-11 13:05:26 +00:00
stainless-app[bot]
fbf6b19996 codegen metadata 2025-06-11 12:24:51 +00:00
stainless-app[bot]
ab85801ef2 codegen metadata 2025-06-11 10:58:20 +00:00
stainless-app[bot]
666946a5de feat(api): api update 2025-06-11 10:39:10 +00:00
stainless-app[bot]
5a1cebf4fb codegen metadata 2025-06-11 10:16:16 +00:00
stainless-app[bot]
bde7bba347 feat(api): api update 2025-06-11 10:01:18 +00:00
stainless-app[bot]
638a408467 feat(api): api update 2025-06-11 09:50:43 +00:00
stainless-app[bot]
e78504b2c6 codegen metadata 2025-06-11 09:26:18 +00:00
stainless-app[bot]
e8a25d6857 feat(api): api update 2025-06-11 09:24:04 +00:00
stainless-app[bot]
681873a149 codegen metadata 2025-06-11 06:09:12 +00:00
stainless-app[bot]
7aea492684 codegen metadata 2025-06-10 21:02:36 +00:00
stainless-app[bot]
daade1056c codegen metadata 2025-06-10 20:33:43 +00:00
stainless-app[bot]
e25254e09a codegen metadata 2025-06-10 20:31:38 +00:00
stainless-app[bot]
a44e5e2abc codegen metadata 2025-06-10 19:20:55 +00:00
stainless-app[bot]
f77967cc93 codegen metadata 2025-06-10 19:11:48 +00:00
stainless-app[bot]
7ed5dbaf85 codegen metadata 2025-06-10 18:00:11 +00:00
stainless-app[bot]
07360b2995 codegen metadata 2025-06-10 17:58:14 +00:00
stainless-app[bot]
9b7fd43d70 codegen metadata 2025-06-10 17:56:07 +00:00
stainless-app[bot]
9329e893d3 codegen metadata 2025-06-10 17:54:16 +00:00
stainless-app[bot]
5777e787d6 fix: add missing properties 2025-06-10 17:29:26 +00:00
stainless-app[bot]
b7c8c9bf70 codegen metadata 2025-06-10 17:10:05 +00:00
stainless-app[bot]
c23b742aae codegen metadata 2025-06-10 17:03:49 +00:00
stainless-app[bot]
e7ee4790ca codegen metadata 2025-06-10 15:24:53 +00:00
stainless-app[bot]
12f91c834a codegen metadata 2025-06-10 13:02:37 +00:00
stainless-app[bot]
c6a8e46d6a feat(api): api update 2025-06-10 12:33:21 +00:00
stainless-app[bot]
a99409b2c4 codegen metadata 2025-06-10 12:23:50 +00:00
stainless-app[bot]
59e8394259 codegen metadata 2025-06-10 11:24:12 +00:00
stainless-app[bot]
6bface0539 codegen metadata 2025-06-10 09:37:09 +00:00
stainless-app[bot]
ac82fc9c4b codegen metadata 2025-06-10 06:09:06 +00:00
stainless-app[bot]
ee2b098c13 codegen metadata 2025-06-10 06:07:10 +00:00
stainless-app[bot]
ac32dfd9b4 codegen metadata 2025-06-10 00:00:20 +00:00
stainless-app[bot]
804d2090b0 codegen metadata 2025-06-09 22:18:01 +00:00
stainless-app[bot]
63b2c62191 codegen metadata 2025-06-09 21:17:22 +00:00
stainless-app[bot]
dd486ca988 codegen metadata 2025-06-09 21:06:25 +00:00
stainless-app[bot]
8b2358aebd codegen metadata 2025-06-09 18:39:23 +00:00
stainless-app[bot]
ccdf2978e5 codegen metadata 2025-06-09 18:24:49 +00:00
stainless-app[bot]
dcfb0036e6 feat(api): api update 2025-06-09 17:20:01 +00:00
stainless-app[bot]
cb5769e139 fix(config): Diagnostic errors 2025-06-06 19:44:34 +00:00
stainless-app[bot]
5d271a4267 fix: add back kv.namespaces bulk methods
They have been moved to kv.namespaces.keys by mistake.
2025-06-06 19:24:21 +00:00
stainless-app[bot]
3fa3634276 codegen metadata 2025-06-06 17:56:19 +00:00
stainless-app[bot]
67c2f9016f codegen metadata 2025-06-05 19:46:59 +00:00
stainless-app[bot]
956c552db2 codegen metadata 2025-06-05 19:15:54 +00:00
stainless-app[bot]
6844e77d68 codegen metadata 2025-06-05 19:13:38 +00:00
stainless-app[bot]
b232e391f5 codegen metadata 2025-06-05 19:11:30 +00:00
stainless-app[bot]
7fce06647a codegen metadata 2025-06-05 19:09:42 +00:00
stainless-app[bot]
187690c42c codegen metadata 2025-06-05 18:59:27 +00:00
stainless-app[bot]
d6e8de6c5e codegen metadata 2025-06-05 18:54:49 +00:00
stainless-app[bot]
a1f094d6b2 codegen metadata 2025-06-05 18:26:01 +00:00
stainless-app[bot]
41069fe111 feat(api): fix account ID types
Change type of account_id path parameter from 'number' to 'string' for Cloudforce threat event and Magic Transit connector endpoints
2025-06-05 18:07:48 +00:00
stainless-app[bot]
0328fccbd5 codegen metadata 2025-06-05 17:57:56 +00:00
stainless-app[bot]
2604f3e0f9 codegen metadata 2025-06-05 17:18:47 +00:00
stainless-app[bot]
aa144bed24 codegen metadata 2025-06-05 17:16:33 +00:00
stainless-app[bot]
05ab171a9d codegen metadata 2025-06-05 17:14:23 +00:00
stainless-app[bot]
114cda31cc codegen metadata 2025-06-05 17:10:27 +00:00
stainless-app[bot]
531510b8f3 codegen metadata 2025-06-05 17:08:41 +00:00
stainless-app[bot]
ee716a27c4 codegen metadata 2025-06-05 16:54:38 +00:00
stainless-app[bot]
c81d4cefa7 feat(api): api update 2025-06-05 16:47:23 +00:00
stainless-app[bot]
a5f7dc7757 feat(api): Add new bulk deletion endpoint for ZT infra targets 2025-06-05 16:43:53 +00:00
stainless-app[bot]
8aca85028a codegen metadata 2025-06-05 16:29:38 +00:00
stainless-app[bot]
ad5aa879fd feat(api): api update 2025-06-05 16:24:24 +00:00
stainless-app[bot]
01b04a5c33 codegen metadata 2025-06-05 16:14:42 +00:00
stainless-app[bot]
ddf1d63e1a codegen metadata 2025-06-05 15:26:25 +00:00
stainless-app[bot]
a23ce796f4 codegen metadata 2025-06-05 15:02:51 +00:00
stainless-app[bot]
f2635a8db1 codegen metadata 2025-06-05 14:36:31 +00:00
stainless-app[bot]
0dc99df1b5 codegen metadata 2025-06-05 12:23:53 +00:00
stainless-app[bot]
ecb14f81db codegen metadata 2025-06-05 11:32:27 +00:00
stainless-app[bot]
bbd2ec14f8 codegen metadata 2025-06-05 06:11:24 +00:00
stainless-app[bot]
5bb2e3a54f codegen metadata 2025-06-04 23:31:53 +00:00
stainless-app[bot]
09f900c702 codegen metadata 2025-06-04 23:27:05 +00:00
stainless-app[bot]
1895824b4c codegen metadata 2025-06-04 22:09:23 +00:00
stainless-app[bot]
feef780db5 codegen metadata 2025-06-04 21:21:04 +00:00
stainless-app[bot]
256931e6ee codegen metadata 2025-06-04 20:13:57 +00:00
stainless-app[bot]
f0bc6f2c1c feat(api): api update 2025-06-04 19:23:25 +00:00
stainless-app[bot]
064a80caf7 codegen metadata 2025-06-04 18:43:38 +00:00
stainless-app[bot]
8285a2a510 codegen metadata 2025-06-04 18:41:42 +00:00
stainless-app[bot]
ff06097767 feat(api): api update 2025-06-04 18:14:11 +00:00
stainless-app[bot]
03902e72f4 codegen metadata 2025-06-04 18:07:09 +00:00
stainless-app[bot]
48a269c950 codegen metadata 2025-06-04 17:53:21 +00:00
stainless-app[bot]
226447b1bb codegen metadata 2025-06-04 17:51:12 +00:00
stainless-app[bot]
3166598cf9 codegen metadata 2025-06-04 17:29:57 +00:00
stainless-app[bot]
107eec12be codegen metadata 2025-06-04 17:24:53 +00:00
stainless-app[bot]
bd76d627d7 codegen metadata 2025-06-04 17:12:32 +00:00
stainless-app[bot]
79d4fc9c93 codegen metadata 2025-06-04 17:02:39 +00:00
stainless-app[bot]
a08321665b codegen metadata 2025-06-04 16:53:08 +00:00
stainless-app[bot]
2e22aa3d15 codegen metadata 2025-06-04 16:43:51 +00:00
stainless-app[bot]
f288008c4c codegen metadata 2025-06-04 16:41:56 +00:00
stainless-app[bot]
ad389fb2d9 codegen metadata 2025-06-04 16:03:27 +00:00
stainless-app[bot]
3cd208b548 feat(api): api update 2025-06-04 15:01:10 +00:00
stainless-app[bot]
42e4d7b3e5 codegen metadata 2025-06-04 13:38:45 +00:00
stainless-app[bot]
843e74b394 codegen metadata 2025-06-04 13:32:15 +00:00
stainless-app[bot]
e209fe93a2 codegen metadata 2025-06-04 12:22:23 +00:00
stainless-app[bot]
694e7bdd19 feat(api): api update 2025-06-04 11:24:24 +00:00
stainless-app[bot]
fc4f23e1bf codegen metadata 2025-06-04 09:21:59 +00:00
stainless-app[bot]
a763b1181d codegen metadata 2025-06-04 06:08:42 +00:00
stainless-app[bot]
fc2d801cd3 codegen metadata 2025-06-04 00:10:50 +00:00
stainless-app[bot]
63e9021ee7 feat(api): api update 2025-06-04 00:08:42 +00:00
stainless-app[bot]
c232d9c43d codegen metadata 2025-06-03 21:55:03 +00:00
stainless-app[bot]
64fe2fc930 codegen metadata 2025-06-03 21:43:53 +00:00
stainless-app[bot]
9cbf3ba16e codegen metadata 2025-06-03 21:23:02 +00:00
stainless-app[bot]
99801fefe8 codegen metadata 2025-06-03 21:16:35 +00:00
stainless-app[bot]
784cbd8a41 feat(api): api update 2025-06-03 21:09:47 +00:00
stainless-app[bot]
4ec79187ba codegen metadata 2025-06-03 20:38:41 +00:00
stainless-app[bot]
d18d161e2c codegen metadata 2025-06-03 20:36:41 +00:00
stainless-app[bot]
c90dc29462 codegen metadata 2025-06-03 18:43:20 +00:00
stainless-app[bot]
412746b62c codegen metadata 2025-06-03 18:27:45 +00:00
stainless-app[bot]
756dc87dde
fix(workers): correctly use multipart while uploading scripts (#2661)
* fix(workers): correctly use multipart while uploading scripts

* fix(examples): use correct json serialising method

---------

Co-authored-by: Robert Craigie <robert@craigie.dev>
2025-06-03 19:22:09 +01:00
stainless-app[bot]
420b061e23 codegen metadata 2025-06-03 18:16:20 +00:00
stainless-app[bot]
230ab49f3c codegen metadata 2025-06-03 16:40:13 +00:00
stainless-app[bot]
683d427b63 codegen metadata 2025-06-03 16:07:33 +00:00
stainless-app[bot]
daa38c323b codegen metadata 2025-06-03 16:05:28 +00:00
stainless-app[bot]
a563edc852 codegen metadata 2025-06-03 15:46:48 +00:00
stainless-app[bot]
6d09569da5 codegen metadata 2025-06-03 15:14:39 +00:00
stainless-app[bot]
eda71210a3 codegen metadata 2025-06-03 14:34:54 +00:00
stainless-app[bot]
c174702c79 codegen metadata 2025-06-03 13:12:07 +00:00
stainless-app[bot]
526e8208d3 codegen metadata 2025-06-03 12:22:56 +00:00
stainless-app[bot]
dd17de0e55 codegen metadata 2025-06-03 11:38:19 +00:00
stainless-app[bot]
8156cfcf29 codegen metadata 2025-06-03 11:30:11 +00:00
stainless-app[bot]
1b314dccb5 codegen metadata 2025-06-03 10:02:11 +00:00
stainless-app[bot]
26b49cf554 codegen metadata 2025-06-03 08:41:06 +00:00
stainless-app[bot]
ef1e121d6f codegen metadata 2025-06-03 06:08:14 +00:00
stainless-app[bot]
a9e83cbe9c codegen metadata 2025-06-03 00:06:53 +00:00
stainless-app[bot]
9358ffc1a3 codegen metadata 2025-06-02 23:23:32 +00:00
stainless-app[bot]
31b5859708 codegen metadata 2025-06-02 23:02:26 +00:00
stainless-app[bot]
1fe1799406 codegen metadata 2025-06-02 22:26:15 +00:00
stainless-app[bot]
991e0fc1e1 codegen metadata 2025-06-02 19:55:19 +00:00
stainless-app[bot]
0ebcb1d9d7 codegen metadata 2025-06-02 19:06:36 +00:00
stainless-app[bot]
c73f7da0b9 feat(api): api update 2025-06-02 19:04:31 +00:00
stainless-app[bot]
1cc4487501 feat(api): Add IAM User Groups and AutoRAG 2025-06-02 18:27:25 +00:00
stainless-app[bot]
1239774eae feat(api): api update 2025-06-02 18:14:00 +00:00
stainless-app[bot]
de3c3670bc codegen metadata 2025-06-02 18:05:06 +00:00
stainless-app[bot]
70c6acb46d feat(api): api update 2025-06-02 18:02:24 +00:00
stainless-app[bot]
f430026e5b feat(api): api update 2025-06-02 17:58:39 +00:00
stainless-app[bot]
21f6032e38 codegen metadata 2025-06-02 17:53:12 +00:00
stainless-app[bot]
88ec221710 feat(client): add follow_redirects request option 2025-06-02 17:45:41 +00:00
stainless-app[bot]
80e2782269 codegen metadata 2025-06-02 17:25:56 +00:00
stainless-app[bot]
69d5705493 feat(api): api update 2025-06-02 17:16:01 +00:00
stainless-app[bot]
9376e78a79 codegen metadata 2025-06-02 16:31:49 +00:00
stainless-app[bot]
a2d07437f9 codegen metadata 2025-06-02 15:49:09 +00:00
stainless-app[bot]
0e54f805e6 codegen metadata 2025-06-02 15:39:50 +00:00
stainless-app[bot]
e3b60cb7b5 codegen metadata 2025-06-02 15:35:12 +00:00
stainless-app[bot]
adae794692 codegen metadata 2025-06-02 15:00:54 +00:00
stainless-app[bot]
c24c53d46d codegen metadata 2025-06-02 13:30:07 +00:00
stainless-app[bot]
7543822b83 codegen metadata 2025-06-02 13:26:14 +00:00
stainless-app[bot]
82c33e17a5 codegen metadata 2025-06-02 10:50:00 +00:00
stainless-app[bot]
07f3fd366e chore(docs): remove unnecessary param examples 2025-06-02 10:47:02 +00:00
stainless-app[bot]
315f0b0ffb codegen metadata 2025-06-02 10:23:15 +00:00
stainless-app[bot]
8781542734 chore(docs): remove reference to rye shell 2025-06-02 10:13:03 +00:00
stainless-app[bot]
b1b3e6706a codegen metadata 2025-06-02 09:58:52 +00:00
stainless-app[bot]
1231168273 codegen metadata 2025-06-02 09:51:27 +00:00
stainless-app[bot]
953ea469bc feat(api): api update 2025-06-02 06:46:48 +00:00
stainless-app[bot]
1a1599f9eb codegen metadata 2025-06-02 06:05:14 +00:00
stainless-app[bot]
fd86d0565f codegen metadata 2025-06-01 06:05:10 +00:00
stainless-app[bot]
d688d8cae0 codegen metadata 2025-05-31 06:06:53 +00:00
stainless-app[bot]
b33f26b293 codegen metadata 2025-05-31 00:18:15 +00:00
stainless-app[bot]
60adcfe666 codegen metadata 2025-05-30 22:42:27 +00:00
stainless-app[bot]
2d0e1b2650 codegen metadata 2025-05-30 21:13:45 +00:00
stainless-app[bot]
3ce565b426 codegen metadata 2025-05-30 20:31:52 +00:00
stainless-app[bot]
c3cbead8bf codegen metadata 2025-05-30 18:54:51 +00:00
stainless-app[bot]
ef0e95365d feat(api): api update 2025-05-30 18:03:35 +00:00
stainless-app[bot]
0e03991763 codegen metadata 2025-05-30 17:48:50 +00:00
stainless-app[bot]
deef46a631 codegen metadata 2025-05-30 17:40:59 +00:00
stainless-app[bot]
cc777e3735 codegen metadata 2025-05-30 17:06:29 +00:00
stainless-app[bot]
ef47630032 codegen metadata 2025-05-30 16:59:57 +00:00
stainless-app[bot]
202c8af03e codegen metadata 2025-05-30 16:13:41 +00:00
stainless-app[bot]
4be105433a codegen metadata 2025-05-30 16:02:11 +00:00
stainless-app[bot]
dfc2734221 codegen metadata 2025-05-30 15:57:20 +00:00
stainless-app[bot]
c57d2f0df9 codegen metadata 2025-05-30 15:43:50 +00:00
stainless-app[bot]
fa4d155e34 codegen metadata 2025-05-30 14:52:38 +00:00
stainless-app[bot]
0efabf029d codegen metadata 2025-05-30 14:40:08 +00:00
stainless-app[bot]
583b2c0e67 codegen metadata 2025-05-30 14:16:09 +00:00
stainless-app[bot]
ccc6796fb7 codegen metadata 2025-05-30 14:10:20 +00:00
stainless-app[bot]
7626a4ad33 codegen metadata 2025-05-30 14:07:23 +00:00
stainless-app[bot]
f46bda50c6 codegen metadata 2025-05-30 13:50:37 +00:00
stainless-app[bot]
06432e9cb6 codegen metadata 2025-05-30 12:54:57 +00:00
stainless-app[bot]
104f49313b codegen metadata 2025-05-30 12:38:40 +00:00
stainless-app[bot]
d3ecf74d52 codegen metadata 2025-05-30 10:30:16 +00:00
stainless-app[bot]
677bc09c92 feat(api): api update 2025-05-30 10:27:22 +00:00
stainless-app[bot]
0562d99243 codegen metadata 2025-05-30 08:59:56 +00:00
stainless-app[bot]
a2b0366e00 codegen metadata 2025-05-30 08:56:08 +00:00
stainless-app[bot]
24bc11cf22 codegen metadata 2025-05-30 06:17:14 +00:00
stainless-app[bot]
929b9cc9f2 codegen metadata 2025-05-30 06:12:43 +00:00
stainless-app[bot]
12ce5aeec1 codegen metadata 2025-05-29 21:05:46 +00:00
stainless-app[bot]
d40bf552be codegen metadata 2025-05-29 20:59:17 +00:00
stainless-app[bot]
1e52865c88 codegen metadata 2025-05-29 20:18:21 +00:00
stainless-app[bot]
6dc8518be6 codegen metadata 2025-05-29 18:11:01 +00:00
stainless-app[bot]
ba9e07e4ea codegen metadata 2025-05-29 17:44:26 +00:00
stainless-app[bot]
5a9d7b1949 codegen metadata 2025-05-29 17:31:58 +00:00
stainless-app[bot]
1c06a6b21e feat(api): api update 2025-05-29 17:21:27 +00:00
stainless-app[bot]
2cf223a2f5 codegen metadata 2025-05-29 16:32:49 +00:00
stainless-app[bot]
2253c4f71c codegen metadata 2025-05-29 16:19:42 +00:00
stainless-app[bot]
e176282397 codegen metadata 2025-05-29 15:38:04 +00:00
stainless-app[bot]
f177f81f52 codegen metadata 2025-05-29 14:00:00 +00:00
stainless-app[bot]
e7d96a210e codegen metadata 2025-05-29 13:57:56 +00:00
stainless-app[bot]
311500a7ac codegen metadata 2025-05-29 13:25:35 +00:00
stainless-app[bot]
e934bc7192 codegen metadata 2025-05-29 12:01:04 +00:00
stainless-app[bot]
c6f66707fe codegen metadata 2025-05-29 09:10:03 +00:00
stainless-app[bot]
3396ea19fd codegen metadata 2025-05-29 09:06:42 +00:00
stainless-app[bot]
ad75922803 feat(api): api update 2025-05-29 08:46:16 +00:00
stainless-app[bot]
3bd3de86dc codegen metadata 2025-05-29 06:06:43 +00:00
stainless-app[bot]
56b5d17251 codegen metadata 2025-05-28 21:22:10 +00:00
stainless-app[bot]
cc53052ce0 chore(api): mark some methods as deprecated 2025-05-28 20:19:19 +00:00
stainless-app[bot]
6fa8c01474 feat(api): api update 2025-05-28 20:13:33 +00:00
stainless-app[bot]
a62ea1f4e0 codegen metadata 2025-05-28 19:08:42 +00:00
stainless-app[bot]
498e0aaeda codegen metadata 2025-05-28 18:59:14 +00:00
stainless-app[bot]
c91c959452 codegen metadata 2025-05-28 18:44:07 +00:00
stainless-app[bot]
cd1fa23f46 codegen metadata 2025-05-28 18:06:00 +00:00
stainless-app[bot]
04408711c3 codegen metadata 2025-05-28 17:37:33 +00:00
stainless-app[bot]
5d6c45bf10 codegen metadata 2025-05-28 15:56:10 +00:00
stainless-app[bot]
8e3a146193 codegen metadata 2025-05-28 15:44:19 +00:00
stainless-app[bot]
a774fae24d codegen metadata 2025-05-28 15:07:28 +00:00
stainless-app[bot]
947a0f6bc1 codegen metadata 2025-05-28 15:04:25 +00:00
stainless-app[bot]
3d9fc8ead6 codegen metadata 2025-05-28 14:43:10 +00:00
stainless-app[bot]
850feb65f0 codegen metadata 2025-05-28 14:33:38 +00:00
stainless-app[bot]
9423ba35e4 codegen metadata 2025-05-28 13:23:05 +00:00
stainless-app[bot]
05dbc9b5d5 codegen metadata 2025-05-28 11:54:14 +00:00
stainless-app[bot]
e8497e451c codegen metadata 2025-05-28 06:06:56 +00:00
stainless-app[bot]
95584868de codegen metadata 2025-05-28 01:37:57 +00:00
stainless-app[bot]
06a669a653 codegen metadata 2025-05-28 00:28:53 +00:00
stainless-app[bot]
dc416deb22 codegen metadata 2025-05-28 00:06:00 +00:00
stainless-app[bot]
1f908ce175 codegen metadata 2025-05-27 23:56:14 +00:00
stainless-app[bot]
e78bbede6d fix(docs/api): remove references to nonexistent types 2025-05-27 19:45:38 +00:00
stainless-app[bot]
e0fa8ba5d6 feat(api): api update 2025-05-27 19:15:07 +00:00
stainless-app[bot]
32626187b1 codegen metadata 2025-05-27 18:45:23 +00:00
stainless-app[bot]
fac321f4a3 codegen metadata 2025-05-27 17:47:10 +00:00
stainless-app[bot]
b2b853973c codegen metadata 2025-05-27 17:45:03 +00:00
stainless-app[bot]
3ad25b0e41 codegen metadata 2025-05-27 17:20:58 +00:00
stainless-app[bot]
7b05258d1b codegen metadata 2025-05-27 17:16:37 +00:00
stainless-app[bot]
52f048d71c codegen metadata 2025-05-27 17:01:32 +00:00
stainless-app[bot]
3116eff364 codegen metadata 2025-05-27 16:55:50 +00:00
stainless-app[bot]
67747514e2 codegen metadata 2025-05-27 16:29:13 +00:00
stainless-app[bot]
9e0f67e129 codegen metadata 2025-05-27 16:24:41 +00:00
stainless-app[bot]
538f06cf66 codegen metadata 2025-05-27 15:53:08 +00:00
stainless-app[bot]
43c314341d codegen metadata 2025-05-27 15:50:09 +00:00
stainless-app[bot]
8bbdb09158 codegen metadata 2025-05-27 15:41:16 +00:00
stainless-app[bot]
eb55e4138e codegen metadata 2025-05-27 15:07:31 +00:00
stainless-app[bot]
5fdf1d676b chore(internal): codegen related update 2025-05-27 14:23:01 +00:00
stainless-app[bot]
543bc5b80e codegen metadata 2025-05-27 14:14:07 +00:00
stainless-app[bot]
9fa89b53c5 codegen metadata 2025-05-27 13:42:36 +00:00
stainless-app[bot]
fd0cac5130 codegen metadata 2025-05-27 13:40:34 +00:00
stainless-app[bot]
7ec9f75255 feat(api): api update 2025-05-27 11:10:17 +00:00
stainless-app[bot]
eb4baecf1b codegen metadata 2025-05-27 06:11:05 +00:00
stainless-app[bot]
eb08f599d6 feat(infrastructure_targets): swap DELETE handler to new endpoint 2025-05-27 04:37:38 +00:00
stainless-app[bot]
748c4e824a codegen metadata 2025-05-26 15:24:38 +00:00
stainless-app[bot]
2ef0d84f11 codegen metadata 2025-05-26 15:06:28 +00:00
stainless-app[bot]
24c4cbbcfb codegen metadata 2025-05-26 13:54:06 +00:00
stainless-app[bot]
cb3b0407e8 codegen metadata 2025-05-26 11:52:56 +00:00
stainless-app[bot]
ff73ba2a19 feat(api): api update 2025-05-26 09:40:50 +00:00
stainless-app[bot]
4876ef7892 codegen metadata 2025-05-26 08:47:51 +00:00
stainless-app[bot]
1950fab970 codegen metadata 2025-05-26 08:26:07 +00:00
stainless-app[bot]
7404be07cb codegen metadata 2025-05-26 06:07:15 +00:00
stainless-app[bot]
a53617dc69 codegen metadata 2025-05-26 06:05:13 +00:00
stainless-app[bot]
84682dd063 codegen metadata 2025-05-25 23:33:08 +00:00
stainless-app[bot]
c9fb679f92 codegen metadata 2025-05-23 22:25:29 +00:00
stainless-app[bot]
32c371551f feat(api): Add infrastructure targets bulk deletion endpoint 2025-05-23 20:39:52 +00:00
stainless-app[bot]
de2b2d002a codegen metadata 2025-05-23 19:59:12 +00:00
stainless-app[bot]
730a028452 feat(api): api update 2025-05-23 19:11:21 +00:00
stainless-app[bot]
5b6e8e6693 feat(api): api update 2025-05-23 18:49:20 +00:00
stainless-app[bot]
8f9b7f968a codegen metadata 2025-05-23 18:12:24 +00:00
stainless-app[bot]
a3e6097150 codegen metadata 2025-05-23 18:05:45 +00:00
stainless-app[bot]
9c7bd6a869 codegen metadata 2025-05-23 18:00:15 +00:00
stainless-app[bot]
7dbd84c034 codegen metadata 2025-05-23 17:58:08 +00:00
stainless-app[bot]
c07a179cab feat(api): api update 2025-05-23 14:35:45 +00:00
stainless-app[bot]
8c98391fca codegen metadata 2025-05-23 14:32:06 +00:00
stainless-app[bot]
3eebc2869e codegen metadata 2025-05-23 14:29:12 +00:00
stainless-app[bot]
a80d32c6c1 codegen metadata 2025-05-23 14:14:39 +00:00
stainless-app[bot]
546caeef89 codegen metadata 2025-05-23 14:12:43 +00:00
stainless-app[bot]
138a7497bd codegen metadata 2025-05-23 13:08:04 +00:00
stainless-app[bot]
0706852017 codegen metadata 2025-05-23 12:27:20 +00:00
stainless-app[bot]
7a3837abea feat(api): api update 2025-05-23 10:28:46 +00:00
stainless-app[bot]
a4ea37c362 codegen metadata 2025-05-23 09:11:27 +00:00
stainless-app[bot]
95e8cb98fe codegen metadata 2025-05-23 08:38:43 +00:00
stainless-app[bot]
6d18f33ed7 codegen metadata 2025-05-23 06:11:21 +00:00
stainless-app[bot]
89cf966cf7 feat(dex): map endpoints into namespaces 2025-05-23 02:47:47 +00:00
stainless-app[bot]
19c43b9f32 codegen metadata 2025-05-22 22:42:37 +00:00
stainless-app[bot]
c33634ece6 feat(api): api update 2025-05-22 21:43:00 +00:00
stainless-app[bot]
f051fda39c codegen metadata 2025-05-22 21:23:19 +00:00
stainless-app[bot]
4e36104852 feat(api): api update 2025-05-22 21:14:55 +00:00
stainless-app[bot]
d8d12f0b21 codegen metadata 2025-05-22 19:52:08 +00:00
stainless-app[bot]
594d40d72b codegen metadata 2025-05-22 18:30:02 +00:00
stainless-app[bot]
6234f43d5d codegen metadata 2025-05-22 18:28:08 +00:00
stainless-app[bot]
1b5bb1c805 codegen metadata 2025-05-22 17:57:16 +00:00
stainless-app[bot]
5154be1187 codegen metadata 2025-05-22 17:35:51 +00:00
stainless-app[bot]
4f8670399f codegen metadata 2025-05-22 17:05:52 +00:00
stainless-app[bot]
385a5e4732 codegen metadata 2025-05-22 16:51:23 +00:00
stainless-app[bot]
c2f7a6e3ec codegen metadata 2025-05-22 16:44:51 +00:00
stainless-app[bot]
257bcc824b codegen metadata 2025-05-22 16:15:34 +00:00
stainless-app[bot]
78d01a77cb feat(api): api update 2025-05-22 16:04:00 +00:00
stainless-app[bot]
bea25385a0 codegen metadata 2025-05-22 15:49:11 +00:00
stainless-app[bot]
fbbc7a55ba codegen metadata 2025-05-22 15:08:26 +00:00
stainless-app[bot]
2c8a8d3f0b codegen metadata 2025-05-22 15:06:21 +00:00
stainless-app[bot]
8f35fe123b codegen metadata 2025-05-22 14:27:10 +00:00
stainless-app[bot]
2c876743c0 codegen metadata 2025-05-22 14:25:08 +00:00
stainless-app[bot]
9c340b31db feat(api): api update 2025-05-22 14:05:53 +00:00
stainless-app[bot]
0c32e14eba codegen metadata 2025-05-22 10:55:04 +00:00
stainless-app[bot]
9c36dabe91 codegen metadata 2025-05-22 06:06:37 +00:00
stainless-app[bot]
a4e3a9393c codegen metadata 2025-05-21 23:24:01 +00:00
stainless-app[bot]
304403d83c codegen metadata 2025-05-21 23:21:56 +00:00
stainless-app[bot]
e6f9fe168c codegen metadata 2025-05-21 22:41:52 +00:00
stainless-app[bot]
2e842fe5c7 codegen metadata 2025-05-21 21:30:22 +00:00
stainless-app[bot]
3b58f153b4 codegen metadata 2025-05-21 21:30:21 +00:00
stainless-app[bot]
c667ae580c feat(api): api update 2025-05-21 21:30:19 +00:00
stainless-app[bot]
0d3f55f34a codegen metadata 2025-05-21 21:30:17 +00:00
stainless-app[bot]
9c64ad74c9 codegen metadata 2025-05-21 21:30:15 +00:00
stainless-app[bot]
7340bf1f3f codegen metadata 2025-05-21 21:30:14 +00:00
stainless-app[bot]
118bc56a88 codegen metadata 2025-05-21 21:30:12 +00:00
stainless-app[bot]
297c0a5ee1 codegen metadata 2025-05-21 21:30:10 +00:00
stainless-app[bot]
e920acd059 codegen metadata 2025-05-21 21:30:08 +00:00
stainless-app[bot]
53fa55d9ed codegen metadata 2025-05-21 21:30:06 +00:00
stainless-app[bot]
b5d205a6c4 codegen metadata 2025-05-21 21:30:05 +00:00
stainless-app[bot]
0eba680cab codegen metadata 2025-05-21 21:30:03 +00:00
stainless-app[bot]
f487fd1b7f chore(docs): grammar improvements 2025-05-21 21:30:00 +00:00
Michael Girouard
475b534aad
Merge pull request #2654 from cloudflare/release-please--branches--main--changes--next
release: 4.2.0
2025-05-21 15:18:03 -04:00
stainless-app[bot]
4b96b39a68
release: 4.2.0 2025-05-21 14:50:17 +00:00
stainless-app[bot]
b1a034bb4a codegen metadata 2025-05-21 14:47:59 +00:00
stainless-app[bot]
8e191f1932 codegen metadata 2025-05-21 14:28:34 +00:00
stainless-app[bot]
157a4e665b codegen metadata 2025-05-21 13:51:49 +00:00
stainless-app[bot]
41537ba9ec codegen metadata 2025-05-21 13:49:47 +00:00
stainless-app[bot]
71b91898dd codegen metadata 2025-05-21 10:35:14 +00:00
stainless-app[bot]
8d12317a18 codegen metadata 2025-05-21 10:00:58 +00:00
stainless-app[bot]
a94f532064 codegen metadata 2025-05-21 09:17:29 +00:00
stainless-app[bot]
3aa3fa29e6 codegen metadata 2025-05-21 07:18:53 +00:00
stainless-app[bot]
05d0d852b0 codegen metadata 2025-05-21 07:14:36 +00:00
stainless-app[bot]
e5821fa94b codegen metadata 2025-05-21 06:10:50 +00:00
Jacob Bednarz
417b029521
bump test timeout to 30m 2025-05-21 10:28:24 +10:00
stainless-app[bot]
136a09be1f feat(api): api update 2025-05-20 21:02:07 +00:00
stainless-app[bot]
72f73f9208 codegen metadata 2025-05-20 21:00:09 +00:00
stainless-app[bot]
064f77360a codegen metadata 2025-05-20 19:48:30 +00:00
stainless-app[bot]
607deba07a feat(api): api update 2025-05-20 18:52:53 +00:00
stainless-app[bot]
3a38efda7b feat(api): api update 2025-05-20 18:41:14 +00:00
stainless-app[bot]
ad29ea4521 codegen metadata 2025-05-20 17:55:03 +00:00
stainless-app[bot]
8b82e7aa63 codegen metadata 2025-05-20 17:25:52 +00:00
stainless-app[bot]
b7fb4fa2d4 codegen metadata 2025-05-20 17:07:43 +00:00
stainless-app[bot]
64e4fd55ba codegen metadata 2025-05-20 17:02:36 +00:00
stainless-app[bot]
36e746a308 codegen metadata 2025-05-20 16:17:36 +00:00
stainless-app[bot]
8b2eda8d72 codegen metadata 2025-05-20 15:39:20 +00:00
stainless-app[bot]
e84a1cca20 codegen metadata 2025-05-20 15:02:43 +00:00
stainless-app[bot]
c6034b66bb codegen metadata 2025-05-20 06:17:26 +00:00
stainless-app[bot]
199ab374bf codegen metadata 2025-05-20 06:06:01 +00:00
stainless-app[bot]
00af2c6602 codegen metadata 2025-05-20 00:25:16 +00:00
stainless-app[bot]
19c0409fbe feat(api): api update 2025-05-19 23:00:56 +00:00
stainless-app[bot]
4101e4058f codegen metadata 2025-05-19 19:26:50 +00:00
stainless-app[bot]
cd1ce1deda codegen metadata 2025-05-19 18:47:29 +00:00
stainless-app[bot]
3632e3d656 feat(api): api update 2025-05-19 18:18:16 +00:00
stainless-app[bot]
540aeadb84 codegen metadata 2025-05-19 17:49:56 +00:00
stainless-app[bot]
e02eaae02e codegen metadata 2025-05-19 17:30:59 +00:00
stainless-app[bot]
16877d69d3 codegen metadata 2025-05-19 17:18:09 +00:00
stainless-app[bot]
2ed75a500e codegen metadata 2025-05-19 17:07:56 +00:00
stainless-app[bot]
22da63a72c codegen metadata 2025-05-19 17:03:24 +00:00
stainless-app[bot]
6438215080 codegen metadata 2025-05-19 16:49:44 +00:00
stainless-app[bot]
219ed43eb1 codegen metadata 2025-05-19 16:23:37 +00:00
stainless-app[bot]
4ed10d9425 feat(api): api update 2025-05-19 15:16:24 +00:00
stainless-app[bot]
334a510cd9 codegen metadata 2025-05-19 11:28:19 +00:00
stainless-app[bot]
5b30d442ae codegen metadata 2025-05-19 06:07:02 +00:00
stainless-app[bot]
bc1ab4a91a codegen metadata 2025-05-19 01:45:06 +00:00
stainless-app[bot]
54ae33bdaf test(magic_transit): skip failing prism tests 2025-05-19 01:05:36 +00:00
stainless-app[bot]
cce8aa1254 codegen metadata 2025-05-18 06:10:22 +00:00
stainless-app[bot]
36caebc37f codegen metadata 2025-05-17 06:08:41 +00:00
stainless-app[bot]
542b143d19 feat(api): api update 2025-05-16 23:22:02 +00:00
stainless-app[bot]
a2f9775b95 codegen metadata 2025-05-16 21:12:56 +00:00
stainless-app[bot]
718d9c8e68 codegen metadata 2025-05-16 20:41:48 +00:00
stainless-app[bot]
c18a098640 fix(client): fix bug in Python SDK when subresource has the same name as its parent 2025-05-16 20:24:28 +00:00
stainless-app[bot]
ad23dc6f54 codegen metadata 2025-05-16 19:56:10 +00:00
stainless-app[bot]
7487db21a9 codegen metadata 2025-05-16 19:54:09 +00:00
stainless-app[bot]
14f8fbaa08 codegen metadata 2025-05-16 17:52:34 +00:00
stainless-app[bot]
d5269dd27f codegen metadata 2025-05-16 17:48:26 +00:00
stainless-app[bot]
26e271148b feat(api): api update 2025-05-16 16:52:37 +00:00
stainless-app[bot]
1a0f354a27 codegen metadata 2025-05-16 15:39:12 +00:00
stainless-app[bot]
dd64495bc4 codegen metadata 2025-05-16 15:36:19 +00:00
stainless-app[bot]
fd0de51424 codegen metadata 2025-05-16 15:02:40 +00:00
stainless-app[bot]
ddd19ae299 codegen metadata 2025-05-16 14:41:15 +00:00
stainless-app[bot]
8925395310 codegen metadata 2025-05-16 14:15:40 +00:00
stainless-app[bot]
242c3141dc codegen metadata 2025-05-16 13:45:39 +00:00
stainless-app[bot]
31d7a86232 codegen metadata 2025-05-16 13:38:37 +00:00
stainless-app[bot]
90bc46cdd7 codegen metadata 2025-05-16 11:55:38 +00:00
stainless-app[bot]
0ae9745c22 codegen metadata 2025-05-16 10:18:51 +00:00
stainless-app[bot]
6e07ae1be3 codegen metadata 2025-05-16 10:15:20 +00:00
stainless-app[bot]
0e13a9b098 codegen metadata 2025-05-16 02:16:03 +00:00
stainless-app[bot]
f97b094bf0 codegen metadata 2025-05-15 22:13:55 +00:00
stainless-app[bot]
91316eea8a feat(api): api update 2025-05-15 20:37:51 +00:00
stainless-app[bot]
de6f1d0f6c codegen metadata 2025-05-15 20:27:46 +00:00
stainless-app[bot]
d7201d232c codegen metadata 2025-05-15 20:04:36 +00:00
stainless-app[bot]
bc7133dd7f feat(api): api update 2025-05-15 19:30:14 +00:00
stainless-app[bot]
7d694e1836 codegen metadata 2025-05-15 18:47:01 +00:00
stainless-app[bot]
e725155771 codegen metadata 2025-05-15 17:14:21 +00:00
stainless-app[bot]
a92fc6233f codegen metadata 2025-05-15 16:41:55 +00:00
stainless-app[bot]
bcca7546e5 codegen metadata 2025-05-15 16:27:18 +00:00
stainless-app[bot]
ee0f955a3b codegen metadata 2025-05-15 15:25:05 +00:00
stainless-app[bot]
70376269a7 codegen metadata 2025-05-15 15:06:23 +00:00
stainless-app[bot]
b29892e925 codegen metadata 2025-05-15 14:40:31 +00:00
stainless-app[bot]
62c78b4da4 codegen metadata 2025-05-15 14:32:17 +00:00
stainless-app[bot]
67a7cb1fda codegen metadata 2025-05-15 14:28:53 +00:00
stainless-app[bot]
a40a8998d8 codegen metadata 2025-05-15 14:12:44 +00:00
stainless-app[bot]
d1ff3b01c5 codegen metadata 2025-05-15 14:07:35 +00:00
stainless-app[bot]
3afa589549 codegen metadata 2025-05-15 13:40:49 +00:00
stainless-app[bot]
1a92d199bb codegen metadata 2025-05-15 12:41:19 +00:00
stainless-app[bot]
a9bc47fb44 chore(ci): fix installation instructions 2025-05-15 12:26:45 +00:00
stainless-app[bot]
b5e03a6d83 codegen metadata 2025-05-15 06:12:30 +00:00
stainless-app[bot]
6fa22edc2e feat(api): manual updates 2025-05-15 01:13:55 +00:00
stainless-app[bot]
e4d4ff5267 feat(api): manual updates 2025-05-15 01:08:31 +00:00
stainless-app[bot]
db8e9307e4 codegen metadata 2025-05-15 00:02:45 +00:00
stainless-app[bot]
0c6081a5f6 codegen metadata 2025-05-14 23:33:45 +00:00
stainless-app[bot]
c8af26d72d chore(ci): upload sdks to package manager 2025-05-14 23:10:02 +00:00
stainless-app[bot]
6e80064515 codegen metadata 2025-05-14 22:46:23 +00:00
stainless-app[bot]
3b99726040 codegen metadata 2025-05-14 21:43:01 +00:00
stainless-app[bot]
cb7a1ca974 codegen metadata 2025-05-14 21:33:13 +00:00
stainless-app[bot]
a8b57a5e46 codegen metadata 2025-05-14 20:51:04 +00:00
stainless-app[bot]
253d1ad723 codegen metadata 2025-05-14 20:47:46 +00:00
stainless-app[bot]
591f73d0cb codegen metadata 2025-05-14 20:09:03 +00:00
stainless-app[bot]
4ed5e61825 codegen metadata 2025-05-14 19:57:09 +00:00
stainless-app[bot]
381bce72b4 codegen metadata 2025-05-14 19:36:05 +00:00
stainless-app[bot]
1739dc82a5 codegen metadata 2025-05-14 19:32:42 +00:00
stainless-app[bot]
e424320e50 codegen metadata 2025-05-14 19:20:42 +00:00
stainless-app[bot]
5366c80121 codegen metadata 2025-05-14 19:16:26 +00:00
stainless-app[bot]
900a341b92 codegen metadata 2025-05-14 19:07:02 +00:00
stainless-app[bot]
1685ab7e4e codegen metadata 2025-05-14 18:43:34 +00:00
stainless-app[bot]
e75c6eb917 codegen metadata 2025-05-14 17:44:14 +00:00
stainless-app[bot]
644a41917a codegen metadata 2025-05-14 17:38:49 +00:00
stainless-app[bot]
bb4bd218a1 feat(api): api update 2025-05-14 17:35:24 +00:00
stainless-app[bot]
b79fd2fdef codegen metadata 2025-05-14 17:18:19 +00:00
stainless-app[bot]
29147073fa feat(api): api update 2025-05-14 16:30:11 +00:00
stainless-app[bot]
88f8c8a04a codegen metadata 2025-05-14 15:49:23 +00:00
stainless-app[bot]
1062bfb456 codegen metadata 2025-05-13 22:42:24 +00:00
stainless-app[bot]
1675067fb1 codegen metadata 2025-05-13 01:29:30 +00:00
stainless-app[bot]
977d5c7201 feat(device_settings): swap list to get endpoint 2025-05-13 00:46:29 +00:00
stainless-app[bot]
7e4626961b fix(package): support direct resource imports 2025-05-09 14:19:40 +00:00
stainless-app[bot]
7b734a186d chore(internal): avoid errors for isinstance checks on proxies 2025-05-08 12:42:06 +00:00
stainless-app[bot]
b1fdd1187e chore(internal): codegen related update 2025-05-08 10:42:01 +00:00
stainless-app[bot]
703aae6518 codegen metadata 2025-05-08 04:16:47 +00:00
stainless-app[bot]
0cdd87f49a codegen metadata 2025-05-07 09:57:21 +00:00
stainless-app[bot]
6b721a6807 codegen metadata 2025-05-07 05:29:26 +00:00
stainless-app[bot]
bf8e983290 codegen metadata 2025-05-07 04:00:41 +00:00
stainless-app[bot]
1e88f505eb codegen metadata 2025-05-07 03:54:33 +00:00
stainless-app[bot]
15854a9bac codegen metadata 2025-05-07 03:51:41 +00:00
stainless-app[bot]
ad8c04deff codegen metadata 2025-05-06 23:32:27 +00:00
stainless-app[bot]
649d2039b2 codegen metadata 2025-05-06 09:48:21 -04:00
stainless-app[bot]
5fe7ea9b5b fix(urlscanner): don't unwwrap scan response 2025-05-06 09:48:21 -04:00
stainless-app[bot]
bfc0dd8d66 codegen metadata 2025-05-06 09:48:21 -04:00
stainless-app[bot]
03e79c10da feat(api): api update 2025-05-06 09:48:21 -04:00
stainless-app[bot]
7b3a51bc15 feat(schema_validation): add mapped endpoints 2025-05-06 09:48:20 -04:00
stainless-app[bot]
1daf1c28c6 codegen metadata 2025-05-06 09:48:20 -04:00
stainless-app[bot]
edfddf31cf feat(api): api update 2025-05-06 09:48:20 -04:00
stainless-app[bot]
b895d1478d codegen metadata 2025-05-06 09:48:20 -04:00
stainless-app[bot]
8c5439cb8d codegen metadata 2025-05-06 09:48:20 -04:00
stainless-app[bot]
c8a0db8796 fix(api): fix path placeholders 2025-05-06 09:48:20 -04:00
stainless-app[bot]
be32215fc9 feat(api): api update 2025-05-06 09:48:20 -04:00
stainless-app[bot]
84b83b541b codegen metadata 2025-05-06 09:48:20 -04:00
stainless-app[bot]
b234613b5f codegen metadata 2025-05-06 09:48:19 -04:00
stainless-app[bot]
6c7acdcbcf codegen metadata 2025-05-06 09:48:19 -04:00
stainless-app[bot]
59019001da feat(api): api update 2025-05-06 09:48:19 -04:00
stainless-app[bot]
577f8f63ab codegen metadata 2025-05-06 09:48:19 -04:00
stainless-app[bot]
2d00c506e8 codegen metadata 2025-05-06 09:48:19 -04:00
stainless-app[bot]
ba166b3698 feat(api): api update 2025-05-06 09:48:19 -04:00
stainless-app[bot]
552d99deb7 codegen metadata 2025-05-06 09:48:19 -04:00
stainless-app[bot]
d0e8d73cf4 codegen metadata 2025-05-06 09:48:19 -04:00
stainless-app[bot]
d487232e26 feat(api): api update 2025-05-06 09:48:19 -04:00
stainless-app[bot]
17cb705744 feat(api): api update 2025-05-06 09:48:18 -04:00
stainless-app[bot]
92d1bed8e1 codegen metadata 2025-05-06 09:48:18 -04:00
stainless-app[bot]
d1de8e655f codegen metadata 2025-05-06 09:48:18 -04:00
stainless-app[bot]
1cdbf1c5e0 codegen metadata 2025-05-06 09:48:18 -04:00
stainless-app[bot]
194e957232 codegen metadata 2025-05-06 09:48:18 -04:00
stainless-app[bot]
5fa9150dd8 codegen metadata 2025-05-06 09:48:18 -04:00
stainless-app[bot]
c0baa5fb1d codegen metadata 2025-05-06 09:48:18 -04:00
stainless-app[bot]
701819b09f codegen metadata 2025-05-06 09:48:18 -04:00
stainless-app[bot]
4beeff9c87 feat(threat_events): add list support 2025-05-06 09:48:17 -04:00
stainless-app[bot]
c5794681c7 codegen metadata 2025-05-06 09:48:17 -04:00
stainless-app[bot]
f6dbb4a1c5 test(api): skip invalid prism assertions 2025-05-06 09:48:17 -04:00
stainless-app[bot]
649cb244d8 codegen metadata 2025-05-06 09:48:17 -04:00
stainless-app[bot]
1bb92c8521 codegen metadata 2025-05-06 09:48:17 -04:00
stainless-app[bot]
461dac60ff codegen metadata 2025-05-06 09:48:17 -04:00
stainless-app[bot]
752ed983a7 codegen metadata 2025-05-06 09:48:17 -04:00
stainless-app[bot]
5ad6267fc2 feat(api): api update 2025-05-06 09:48:17 -04:00
stainless-app[bot]
c3cf9ac6ad codegen metadata 2025-05-06 09:48:17 -04:00
stainless-app[bot]
c4a4eb79f5 codegen metadata 2025-05-06 09:48:16 -04:00
stainless-app[bot]
a6249b7c10 codegen metadata 2025-05-06 09:48:16 -04:00
stainless-app[bot]
84758cf903 codegen metadata 2025-05-06 09:48:16 -04:00
stainless-app[bot]
ad34b4d852 codegen metadata 2025-05-06 09:48:16 -04:00
stainless-app[bot]
f5d07b9dc1 feat(api): api update 2025-05-06 09:48:16 -04:00
stainless-app[bot]
720a4f09c0 codegen metadata 2025-05-06 09:48:16 -04:00
stainless-app[bot]
2828953dd2 codegen metadata 2025-05-06 09:48:16 -04:00
stainless-app[bot]
380250fe78 codegen metadata 2025-05-06 09:48:16 -04:00
stainless-app[bot]
fd54a7bb9a codegen metadata 2025-05-06 09:48:16 -04:00
stainless-app[bot]
a5ddb11d12 codegen metadata 2025-05-06 09:48:15 -04:00
stainless-app[bot]
a132738127 codegen metadata 2025-05-06 09:48:15 -04:00
stainless-app[bot]
3d7b02f8ae codegen metadata 2025-05-06 09:48:15 -04:00
stainless-app[bot]
11b7bbb7d4 codegen metadata 2025-05-06 09:48:15 -04:00
stainless-app[bot]
179f185205 codegen metadata 2025-05-06 09:48:15 -04:00
stainless-app[bot]
d094bebf65 codegen metadata 2025-05-06 09:48:15 -04:00
stainless-app[bot]
a72fb0adc2 codegen metadata 2025-05-06 09:48:15 -04:00
stainless-app[bot]
c29e981e2f codegen metadata 2025-05-06 09:48:15 -04:00
stainless-app[bot]
3dc14a1316 codegen metadata 2025-05-06 09:48:14 -04:00
stainless-app[bot]
597c59eb8e codegen metadata 2025-05-06 09:48:14 -04:00
stainless-app[bot]
4476835630 codegen metadata 2025-05-06 09:48:14 -04:00
stainless-app[bot]
07ab04d997 codegen metadata 2025-05-06 09:48:14 -04:00
stainless-app[bot]
ef764d481e feat(api): api update 2025-05-06 09:48:14 -04:00
stainless-app[bot]
f381a9801f feat(api): api update 2025-05-06 09:48:14 -04:00
stainless-app[bot]
ce7c6e970b codegen metadata 2025-05-06 09:48:14 -04:00
stainless-app[bot]
39426ec6a4 codegen metadata 2025-05-06 09:48:14 -04:00
stainless-app[bot]
3f15a22269 codegen metadata 2025-05-06 09:48:14 -04:00
stainless-app[bot]
ef1b563ebf codegen metadata 2025-05-06 09:48:13 -04:00
stainless-app[bot]
e09e0ee0e0 codegen metadata 2025-05-06 09:48:13 -04:00
stainless-app[bot]
c189b32b1e codegen metadata 2025-05-06 09:48:13 -04:00
stainless-app[bot]
ecac54cf17 codegen metadata 2025-05-06 09:48:13 -04:00
stainless-app[bot]
a45728adfa feat(api): api update 2025-05-06 09:48:13 -04:00
stainless-app[bot]
d900af34c1 codegen metadata 2025-05-06 09:48:13 -04:00
stainless-app[bot]
2248053e09 codegen metadata 2025-05-06 09:48:13 -04:00
stainless-app[bot]
a13c51da77 codegen metadata 2025-05-06 09:48:13 -04:00
stainless-app[bot]
4f2fe11cd2 feat(api): api update 2025-05-06 09:48:13 -04:00
stainless-app[bot]
b403b70201 codegen metadata 2025-05-06 09:48:12 -04:00
stainless-app[bot]
e9cab7ecc8 codegen metadata 2025-05-06 09:48:12 -04:00
stainless-app[bot]
fdf68a82b0 codegen metadata 2025-05-06 09:48:12 -04:00
stainless-app[bot]
7fdb3acba4 codegen metadata 2025-05-06 09:48:12 -04:00
stainless-app[bot]
5c405cef86 feat(access_settings): add CRUD support 2025-05-06 09:48:12 -04:00
stainless-app[bot]
1788a7256c codegen metadata 2025-05-06 09:48:12 -04:00
stainless-app[bot]
c2b6ce133d codegen metadata 2025-05-06 09:48:12 -04:00
stainless-app[bot]
0c0e90cd32 codegen metadata 2025-05-06 09:48:12 -04:00
stainless-app[bot]
b2d2377811 codegen metadata 2025-05-06 09:48:11 -04:00
stainless-app[bot]
c6ce7806c7 codegen metadata 2025-05-06 09:48:11 -04:00
stainless-app[bot]
1e0b357bb6 codegen metadata 2025-05-06 09:48:11 -04:00
stainless-app[bot]
fceef0cd04 codegen metadata 2025-05-06 09:48:11 -04:00
stainless-app[bot]
dd52a57ceb codegen metadata 2025-05-06 09:48:11 -04:00
stainless-app[bot]
7e458e7669 feat(api): api update 2025-05-06 09:48:11 -04:00
stainless-app[bot]
6aa431d66b codegen metadata 2025-05-06 09:48:11 -04:00
stainless-app[bot]
afabde3c77 codegen metadata 2025-05-06 09:48:11 -04:00
stainless-app[bot]
7701fc5b27 codegen metadata 2025-05-06 09:48:10 -04:00
stainless-app[bot]
8f5755fb5f codegen metadata 2025-05-06 09:48:10 -04:00
stainless-app[bot]
d18dee35a6 codegen metadata 2025-05-06 09:48:10 -04:00
stainless-app[bot]
19aec0a498 codegen metadata 2025-05-06 09:48:10 -04:00
stainless-app[bot]
71032c2a95 codegen metadata 2025-05-06 09:48:10 -04:00
stainless-app[bot]
58eae895be codegen metadata 2025-05-06 09:48:10 -04:00
stainless-app[bot]
11d079b31b codegen metadata 2025-05-06 09:48:10 -04:00
stainless-app[bot]
7c07fb27ec codegen metadata 2025-05-06 09:48:10 -04:00
stainless-app[bot]
5667406657 codegen metadata 2025-05-06 09:48:10 -04:00
stainless-app[bot]
07074f1588 feat(api): api update 2025-05-06 09:48:09 -04:00
stainless-app[bot]
04834e7b5f feat(api): api update 2025-05-06 09:48:09 -04:00
stainless-app[bot]
faafd4e1ed codegen metadata 2025-05-06 09:48:09 -04:00
stainless-app[bot]
d2d1c246d0 feat(api): update path placeholders 2025-05-06 09:48:09 -04:00
stainless-app[bot]
95796251b5 codegen metadata 2025-05-06 09:48:09 -04:00
stainless-app[bot]
a7f790a0c8 codegen metadata 2025-05-06 09:48:09 -04:00
stainless-app[bot]
1a4aa1bc2b codegen metadata 2025-05-06 09:48:09 -04:00
stainless-app[bot]
f49710ab9f codegen metadata 2025-05-06 09:48:09 -04:00
stainless-app[bot]
c364ea9a4e codegen metadata 2025-05-06 09:48:08 -04:00
stainless-app[bot]
94d09b839e codegen metadata 2025-05-06 09:48:08 -04:00
stainless-app[bot]
14837411e9 codegen metadata 2025-05-06 09:48:08 -04:00
stainless-app[bot]
c05d148535 codegen metadata 2025-05-06 09:48:08 -04:00
stainless-app[bot]
ed77a9c883 codegen metadata 2025-05-06 09:48:08 -04:00
stainless-app[bot]
75e914b4b4 codegen metadata 2025-05-06 09:48:08 -04:00
stainless-app[bot]
19019e26ec codegen metadata 2025-05-06 09:48:08 -04:00
stainless-app[bot]
ecc0b17e46 feat(api): api update 2025-05-06 09:48:08 -04:00
stainless-app[bot]
1a5e6ff2cc codegen metadata 2025-05-06 09:48:07 -04:00
stainless-app[bot]
ea379f5c19 codegen metadata 2025-05-06 09:48:07 -04:00
stainless-app[bot]
fcfe4febd0 codegen metadata 2025-05-06 09:48:07 -04:00
stainless-app[bot]
8cac6ad3cd codegen metadata 2025-05-06 09:48:07 -04:00
stainless-app[bot]
9fe503be8d codegen metadata 2025-05-06 09:48:07 -04:00
stainless-app[bot]
6750cf364f feat(api): api update 2025-05-06 09:48:07 -04:00
stainless-app[bot]
fdc3e4182e codegen metadata 2025-05-06 09:48:07 -04:00
stainless-app[bot]
17f7fc563d codegen metadata 2025-05-06 09:48:07 -04:00
stainless-app[bot]
ee8f1e3bcf codegen metadata 2025-05-06 09:48:07 -04:00
stainless-app[bot]
220dd057c9 codegen metadata 2025-05-06 09:48:06 -04:00
stainless-app[bot]
a989c2bb34 codegen metadata 2025-05-06 09:48:06 -04:00
stainless-app[bot]
d36269376d codegen metadata 2025-05-06 09:48:06 -04:00
stainless-app[bot]
0b00d971c8 feat(api): api update 2025-05-06 09:48:06 -04:00
stainless-app[bot]
40f0ef1365 codegen metadata 2025-05-06 09:48:06 -04:00
stainless-app[bot]
4d3b7b7c1b codegen metadata 2025-05-06 09:48:06 -04:00
stainless-app[bot]
039e41c2c5 codegen metadata 2025-05-06 09:48:06 -04:00
stainless-app[bot]
bd2ff86ff4 codegen metadata 2025-05-06 09:48:06 -04:00
stainless-app[bot]
ad8b7f2098 codegen metadata 2025-05-06 09:48:06 -04:00
stainless-app[bot]
82c29874a8 codegen metadata 2025-05-06 09:48:05 -04:00
stainless-app[bot]
d7b7407130 codegen metadata 2025-05-06 09:48:05 -04:00
stainless-app[bot]
33327c7a0c codegen metadata 2025-05-06 09:48:05 -04:00
stainless-app[bot]
d546ce8923 codegen metadata 2025-05-06 09:48:05 -04:00
stainless-app[bot]
03e9458b14 codegen metadata 2025-05-06 09:48:05 -04:00
stainless-app[bot]
0e950d65a7 feat(api): api update 2025-05-06 09:48:05 -04:00
stainless-app[bot]
ff1a1776e7 codegen metadata 2025-05-06 09:48:05 -04:00
stainless-app[bot]
d1f26b4740 codegen metadata 2025-05-06 09:48:05 -04:00
stainless-app[bot]
ff60f913cf codegen metadata 2025-05-06 09:48:04 -04:00
stainless-app[bot]
305bc1d5fe codegen metadata 2025-05-06 09:48:04 -04:00
stainless-app[bot]
86f69ea8ab codegen metadata 2025-05-06 09:48:04 -04:00
stainless-app[bot]
db99f314d4 codegen metadata 2025-05-06 09:48:04 -04:00
stainless-app[bot]
e4c01bc132 codegen metadata 2025-05-06 09:48:04 -04:00
stainless-app[bot]
2b51c9c2c6 codegen metadata 2025-05-06 09:48:04 -04:00
stainless-app[bot]
23d7f1ca8f feat(api): api update 2025-05-06 09:48:04 -04:00
stainless-app[bot]
0c6f4a1c25 feat(api): api update 2025-05-06 09:48:04 -04:00
stainless-app[bot]
a2ddb17158 codegen metadata 2025-05-06 09:48:03 -04:00
stainless-app[bot]
a99b147a33 codegen metadata 2025-05-06 09:48:03 -04:00
stainless-app[bot]
1fbd77ba3a codegen metadata 2025-05-06 09:48:03 -04:00
stainless-app[bot]
0306df1d4d codegen metadata 2025-05-06 09:48:03 -04:00
stainless-app[bot]
3a3462dcb5 codegen metadata 2025-05-06 09:48:03 -04:00
stainless-app[bot]
20295df888 feat(api): api update 2025-05-06 09:48:03 -04:00
stainless-app[bot]
bf6d4b9fbf codegen metadata 2025-05-06 09:48:03 -04:00
stainless-app[bot]
f8baa7506f codegen metadata 2025-05-06 09:48:03 -04:00
stainless-app[bot]
1a5cf12542 codegen metadata 2025-05-06 09:48:03 -04:00
stainless-app[bot]
8812e3c3a4 codegen metadata 2025-05-06 09:48:02 -04:00
stainless-app[bot]
62394cbd35 codegen metadata 2025-05-06 09:48:02 -04:00
stainless-app[bot]
6c59fd59d2 codegen metadata 2025-05-06 09:48:02 -04:00
stainless-app[bot]
37c83d5820 codegen metadata 2025-05-06 09:48:02 -04:00
stainless-app[bot]
31192943ef codegen metadata 2025-05-06 09:48:02 -04:00
stainless-app[bot]
9edf66cb3c codegen metadata 2025-05-06 09:48:02 -04:00
stainless-app[bot]
ba2b47ac12 feat(api): api update 2025-05-06 09:48:02 -04:00
stainless-app[bot]
d04eeca866 codegen metadata 2025-05-06 09:48:02 -04:00
stainless-app[bot]
775028af14 codegen metadata 2025-05-06 09:48:01 -04:00
stainless-app[bot]
0732d2b286 codegen metadata 2025-05-06 09:48:01 -04:00
stainless-app[bot]
0d61d2a953 codegen metadata 2025-05-06 09:48:01 -04:00
stainless-app[bot]
97ed9b24d0 codegen metadata 2025-05-06 09:48:01 -04:00
stainless-app[bot]
676ac089f6 feat(api): api update 2025-05-06 09:48:01 -04:00
stainless-app[bot]
3f6045dffd codegen metadata 2025-05-06 09:48:01 -04:00
stainless-app[bot]
9ca549e242 feat(api): api update 2025-05-06 09:48:01 -04:00
stainless-app[bot]
d078d8290e codegen metadata 2025-05-06 09:48:01 -04:00
stainless-app[bot]
71efbfaf56 feat(api): api update 2025-05-06 09:48:00 -04:00
stainless-app[bot]
3697eacbd3 codegen metadata 2025-05-06 09:48:00 -04:00
stainless-app[bot]
d391777ce6 codegen metadata 2025-05-06 09:48:00 -04:00
stainless-app[bot]
af68ef6ac4 feat(api): api update 2025-05-06 09:48:00 -04:00
stainless-app[bot]
e749879ab0 feat(api): api update 2025-05-06 09:48:00 -04:00
stainless-app[bot]
66684b6c5a codegen metadata 2025-05-06 09:48:00 -04:00
stainless-app[bot]
4f4710ea85 codegen metadata 2025-05-06 09:48:00 -04:00
stainless-app[bot]
e3ba5c153d codegen metadata 2025-05-06 09:48:00 -04:00
stainless-app[bot]
8b3c388f9d codegen metadata 2025-05-06 09:47:59 -04:00
stainless-app[bot]
d2136c38fb codegen metadata 2025-05-06 09:47:59 -04:00
stainless-app[bot]
4a847fe1b5 codegen metadata 2025-05-06 09:47:59 -04:00
stainless-app[bot]
b2cfa5d064 feat(api): api update 2025-05-06 09:47:59 -04:00
stainless-app[bot]
e2276987c7 codegen metadata 2025-05-06 09:47:59 -04:00
stainless-app[bot]
d045812f3a codegen metadata 2025-05-06 09:47:59 -04:00
stainless-app[bot]
37004e6049 codegen metadata 2025-05-06 09:47:59 -04:00
stainless-app[bot]
d61b25a7e2 feat(api): api update 2025-05-06 09:47:59 -04:00
stainless-app[bot]
5cbdb5e773 feat(api): api update 2025-05-06 09:47:58 -04:00
stainless-app[bot]
1c2fb5a49f chore: broadly detect json family of content-type headers 2025-05-06 09:47:58 -04:00
stainless-app[bot]
a40f4376af codegen metadata 2025-05-06 09:47:58 -04:00
stainless-app[bot]
e761fc9c05 codegen metadata 2025-05-06 09:47:58 -04:00
stainless-app[bot]
1fe10e72b8 codegen metadata 2025-05-06 09:47:58 -04:00
stainless-app[bot]
8fea9cb064 chore(ci): only use depot for staging repos 2025-05-06 09:47:58 -04:00
stainless-app[bot]
47a7356a3c codegen metadata 2025-05-06 09:47:58 -04:00
stainless-app[bot]
67ee23a7ac chore(ci): run on more branches and use depot runners 2025-05-06 09:47:58 -04:00
stainless-app[bot]
004208ba4e codegen metadata 2025-05-06 09:47:58 -04:00
stainless-app[bot]
02d39ccd1a codegen metadata 2025-05-06 09:47:57 -04:00
stainless-app[bot]
41ecfcc5d5 codegen metadata 2025-05-06 09:47:57 -04:00
stainless-app[bot]
8ca04ea4ae chore(internal): minor formatting changes 2025-05-06 09:47:57 -04:00
stainless-app[bot]
f6b85e011f codegen metadata 2025-05-06 09:47:57 -04:00
stainless-app[bot]
9344bc8a4b codegen metadata 2025-05-06 09:47:57 -04:00
stainless-app[bot]
563ea64e06 feat(api): api update 2025-05-06 09:47:57 -04:00
stainless-app[bot]
b7696e2a48 codegen metadata 2025-05-06 09:47:57 -04:00
stainless-app[bot]
cd5d257652 codegen metadata 2025-05-06 09:47:56 -04:00
stainless-app[bot]
a4f55b62b2 codegen metadata 2025-05-06 09:47:56 -04:00
stainless-app[bot]
be4674648e feat(api): api update 2025-05-06 09:47:56 -04:00
stainless-app[bot]
6834a83123 feat(api): api update 2025-05-06 09:47:56 -04:00
stainless-app[bot]
f331b9cd75 codegen metadata 2025-05-06 09:47:56 -04:00
stainless-app[bot]
4f76ce8034 codegen metadata 2025-05-06 09:47:56 -04:00
stainless-app[bot]
06145e2f14 codegen metadata 2025-05-06 09:47:56 -04:00
stainless-app[bot]
e9809cfbae feat(api): api update 2025-05-06 09:47:56 -04:00
stainless-app[bot]
d450f544d6 codegen metadata 2025-05-06 09:47:56 -04:00
stainless-app[bot]
012add4d67 fix(pydantic v1): more robust ModelField.annotation check 2025-05-06 09:47:55 -04:00
stainless-app[bot]
baedf673e4 chore(internal): refactor retries to not use recursion 2025-05-06 09:47:55 -04:00
stainless-app[bot]
fff82c307f feat(api): api update 2025-05-06 09:47:55 -04:00
stainless-app[bot]
128fbe63aa chore(internal): fix list file params 2025-05-06 09:47:55 -04:00
stainless-app[bot]
7b274325e2 codegen metadata 2025-05-06 09:47:55 -04:00
stainless-app[bot]
885373e610 feat(api): api update 2025-05-06 09:47:55 -04:00
stainless-app[bot]
af978d0298 chore(internal): import reformatting 2025-05-06 09:47:55 -04:00
stainless-app[bot]
b38f0ace9a chore(ci): add timeout thresholds for CI jobs 2025-05-06 09:47:54 -04:00
stainless-app[bot]
7d76f9d101 feat(api): api update 2025-05-06 09:47:54 -04:00
stainless-app[bot]
695b9045e9 codegen metadata 2025-05-06 09:47:54 -04:00
stainless-app[bot]
c01bbd3e6c codegen metadata 2025-05-06 09:47:54 -04:00
stainless-app[bot]
cf53e28855 codegen metadata 2025-05-06 09:47:54 -04:00
stainless-app[bot]
7f1372ea2a codegen metadata 2025-05-06 09:47:54 -04:00
stainless-app[bot]
0f6dce048b codegen metadata 2025-05-06 09:47:54 -04:00
stainless-app[bot]
199a88be63 codegen metadata 2025-05-06 09:47:54 -04:00
stainless-app[bot]
2c61aa3ac9 codegen metadata 2025-05-06 09:47:53 -04:00
stainless-app[bot]
f86f76f379 codegen metadata 2025-05-06 09:47:53 -04:00
stainless-app[bot]
4aa7131b3c codegen metadata 2025-05-06 09:47:53 -04:00
stainless-app[bot]
2afcb5ca3c codegen metadata 2025-05-06 09:47:53 -04:00
stainless-app[bot]
f6204c6b2f codegen metadata 2025-05-06 09:47:53 -04:00
stainless-app[bot]
db33638b9f codegen metadata 2025-05-06 09:47:53 -04:00
stainless-app[bot]
8ab8c4eb4b codegen metadata 2025-05-06 09:47:53 -04:00
stainless-app[bot]
778f78115d codegen metadata 2025-05-06 09:47:53 -04:00
stainless-app[bot]
d87ddb6242 codegen metadata 2025-05-06 09:47:52 -04:00
stainless-app[bot]
4798d43f42 codegen metadata 2025-05-06 09:47:52 -04:00
stainless-app[bot]
204b88ab27 feat(api): api update 2025-05-06 09:47:52 -04:00
stainless-app[bot]
da9bafdbe1 codegen metadata 2025-05-06 09:47:52 -04:00
stainless-app[bot]
8aef5949b2 feat(api): api update 2025-05-06 09:47:52 -04:00
stainless-app[bot]
26dd72372e codegen metadata 2025-05-06 09:47:52 -04:00
stainless-app[bot]
989c450d67 codegen metadata 2025-05-06 09:47:52 -04:00
stainless-app[bot]
66d9ea12ae codegen metadata 2025-05-06 09:47:52 -04:00
stainless-app[bot]
0c71dd55bf codegen metadata 2025-05-06 09:47:52 -04:00
stainless-app[bot]
7e24b935de codegen metadata 2025-05-06 09:47:51 -04:00
stainless-app[bot]
f0e33192d4 codegen metadata 2025-05-06 09:47:51 -04:00
stainless-app[bot]
5ef54c7e5e codegen metadata 2025-05-06 09:47:51 -04:00
stainless-app[bot]
6a8f351e0d codegen metadata 2025-05-06 09:47:51 -04:00
stainless-app[bot]
dff3ef1ca2 codegen metadata 2025-05-06 09:47:51 -04:00
stainless-app[bot]
4b3192ce5c codegen metadata 2025-05-06 09:47:51 -04:00
stainless-app[bot]
4c327b919a codegen metadata 2025-05-06 09:47:51 -04:00
stainless-app[bot]
4a3e172e60 codegen metadata 2025-05-06 09:47:51 -04:00
stainless-app[bot]
e7719ca1b9 feat(api): api update 2025-05-06 09:47:51 -04:00
stainless-app[bot]
37cf1c632b codegen metadata 2025-05-06 09:47:50 -04:00
stainless-app[bot]
3c7d7cf028 codegen metadata 2025-05-06 09:47:50 -04:00
stainless-app[bot]
dfa191a224 chore(internal): update models test 2025-05-06 09:47:50 -04:00
stainless-app[bot]
d9e5c67d57 codegen metadata 2025-05-06 09:47:50 -04:00
stainless-app[bot]
8b27e754bf codegen metadata 2025-05-06 09:47:50 -04:00
stainless-app[bot]
a280770a67 codegen metadata 2025-05-06 09:47:50 -04:00
stainless-app[bot]
e84e11bd29 codegen metadata 2025-05-06 09:47:50 -04:00
stainless-app[bot]
f87b664fee codegen metadata 2025-05-06 09:47:50 -04:00
stainless-app[bot]
786e044ffd feat(api): api update 2025-05-06 09:47:50 -04:00
stainless-app[bot]
b8fca2df54 codegen metadata 2025-05-06 09:47:49 -04:00
stainless-app[bot]
9fa1796063 codegen metadata 2025-05-06 09:47:49 -04:00
stainless-app[bot]
8cefbce049 codegen metadata 2025-05-06 09:47:49 -04:00
stainless-app[bot]
30c1a25280 codegen metadata 2025-05-06 09:47:49 -04:00
stainless-app[bot]
4151b24379 codegen metadata 2025-05-06 09:47:49 -04:00
stainless-app[bot]
d1a800bd62 codegen metadata 2025-05-06 09:47:49 -04:00
stainless-app[bot]
ebd43ba06f codegen metadata 2025-05-06 09:47:49 -04:00
stainless-app[bot]
408a32105a codegen metadata 2025-05-06 09:47:49 -04:00
stainless-app[bot]
d6da944485 codegen metadata 2025-05-06 09:47:48 -04:00
stainless-app[bot]
ef3241155b codegen metadata 2025-05-06 09:47:48 -04:00
stainless-app[bot]
1f8dd7cf49 feat(api): api update 2025-05-06 09:47:48 -04:00
stainless-app[bot]
8495fc472b codegen metadata 2025-05-06 09:47:48 -04:00
stainless-app[bot]
911baa9178 codegen metadata 2025-05-06 09:47:48 -04:00
stainless-app[bot]
5f108a7da1 codegen metadata 2025-05-06 09:47:48 -04:00
stainless-app[bot]
8a59c82a62 codegen metadata 2025-05-06 09:47:48 -04:00
stainless-app[bot]
d944593979 codegen metadata 2025-05-06 09:47:48 -04:00
stainless-app[bot]
6b4fb7364f codegen metadata 2025-05-06 09:47:47 -04:00
stainless-app[bot]
6c2e97608d codegen metadata 2025-05-06 09:47:47 -04:00
stainless-app[bot]
a7b06ba519 codegen metadata 2025-05-06 09:47:47 -04:00
stainless-app[bot]
a759138802 codegen metadata 2025-05-06 09:47:47 -04:00
stainless-app[bot]
d3b07f1989 codegen metadata 2025-05-06 09:47:47 -04:00
stainless-app[bot]
04febc51d5 codegen metadata 2025-05-06 09:47:47 -04:00
stainless-app[bot]
3c85796579 codegen metadata 2025-05-06 09:47:47 -04:00
stainless-app[bot]
18a53df5be codegen metadata 2025-05-06 09:47:47 -04:00
stainless-app[bot]
13751bd24b codegen metadata 2025-05-06 09:47:47 -04:00
stainless-app[bot]
3e0c3d21b2 codegen metadata 2025-05-06 09:47:46 -04:00
stainless-app[bot]
c8156f66af feat(api): api update 2025-05-06 09:47:46 -04:00
stainless-app[bot]
e2c3f0e925 codegen metadata 2025-05-06 09:47:46 -04:00
stainless-app[bot]
913a2f17d3 codegen metadata 2025-05-06 09:47:46 -04:00
stainless-app[bot]
8caed87d4c feat(api): api update 2025-05-06 09:47:46 -04:00
stainless-app[bot]
f95f44872f codegen metadata 2025-05-06 09:47:46 -04:00
stainless-app[bot]
608d92209e feat(api): api update 2025-05-06 09:47:46 -04:00
stainless-app[bot]
51535d72cf docs: add Workers Script Upload example 2025-05-06 09:47:46 -04:00
stainless-app[bot]
3faea45157 feat(api): api update 2025-05-06 09:47:45 -04:00
stainless-app[bot]
2d18890966 codegen metadata 2025-05-06 09:47:45 -04:00
stainless-app[bot]
a0bdfecf96 feat(api): api update 2025-05-06 09:47:45 -04:00
stainless-app[bot]
60555df79a codegen metadata 2025-05-06 09:47:45 -04:00
stainless-app[bot]
4b5aa76925 codegen metadata 2025-05-06 09:47:45 -04:00
stainless-app[bot]
875b226008 codegen metadata 2025-05-06 09:47:45 -04:00
stainless-app[bot]
55bdd142fe codegen metadata 2025-05-06 09:47:45 -04:00
stainless-app[bot]
f79941a810 chore(internal): base client updates 2025-05-06 09:47:45 -04:00
stainless-app[bot]
3f093ce43d codegen metadata 2025-05-06 09:47:44 -04:00
stainless-app[bot]
669e3a2cd5 chore(internal): bump pyright version 2025-05-06 09:47:44 -04:00
stainless-app[bot]
3563caf13e feat(api): api update 2025-05-06 09:47:44 -04:00
stainless-app[bot]
4f16970993 feat(api): api update 2025-05-06 09:47:44 -04:00
stainless-app[bot]
0cd03dc03b codegen metadata 2025-05-06 09:47:44 -04:00
stainless-app[bot]
95b38c1055 codegen metadata 2025-05-06 09:47:44 -04:00
stainless-app[bot]
4cd628c6a8 codegen metadata 2025-05-06 09:47:44 -04:00
stainless-app[bot]
3496867059 codegen metadata 2025-05-06 09:47:44 -04:00
stainless-app[bot]
619680a821 codegen metadata 2025-05-06 09:47:44 -04:00
stainless-app[bot]
1721bdeee5 feat(api): api update 2025-05-06 09:47:43 -04:00
stainless-app[bot]
31d8cdb16a feat(api): api update 2025-05-06 09:47:43 -04:00
stainless-app[bot]
18c412a620 feat(api): api update 2025-05-06 09:47:43 -04:00
stainless-app[bot]
b1ca732ef2 codegen metadata 2025-05-06 09:47:43 -04:00
stainless-app[bot]
f2a2601eb9 codegen metadata 2025-05-06 09:47:43 -04:00
stainless-app[bot]
31d114adba codegen metadata 2025-05-06 09:47:43 -04:00
stainless-app[bot]
a41dac604c codegen metadata 2025-05-06 09:47:43 -04:00
stainless-app[bot]
d55225fdc6 feat(api): api update 2025-05-06 09:47:43 -04:00
stainless-app[bot]
cc95551376 feat(api): api update 2025-05-06 09:47:42 -04:00
stainless-app[bot]
e6289234b0 codegen metadata 2025-05-06 09:47:42 -04:00
stainless-app[bot]
38d255e3fa codegen metadata 2025-05-06 09:47:42 -04:00
stainless-app[bot]
fdd636ea04 feat(api): api update 2025-05-06 09:47:42 -04:00
stainless-app[bot]
49799344bd codegen metadata 2025-05-06 09:47:42 -04:00
stainless-app[bot]
2791ca0f13 codegen metadata 2025-05-06 09:47:42 -04:00
stainless-app[bot]
39eee8115c feat(api): api update 2025-05-06 09:47:42 -04:00
stainless-app[bot]
6298c3d18f codegen metadata 2025-05-06 09:47:41 -04:00
stainless-app[bot]
fbcee1293c codegen metadata 2025-05-06 09:47:41 -04:00
stainless-app[bot]
7acc8ad35c chore: more workers fixes 2025-05-06 09:47:41 -04:00
stainless-app[bot]
4986e298df fix: correct workers upload types 2025-05-06 09:47:41 -04:00
stainless-app[bot]
f6fc8fd816 codegen metadata 2025-05-06 09:47:41 -04:00
stainless-app[bot]
777a87352e codegen metadata 2025-05-06 09:47:41 -04:00
stainless-app[bot]
1049a59c57 codegen metadata 2025-05-06 09:47:41 -04:00
stainless-app[bot]
daad33b1d3 codegen metadata 2025-05-06 09:47:41 -04:00
stainless-app[bot]
13bb1b5659 feat(api): api update 2025-05-06 09:47:41 -04:00
stainless-app[bot]
bef97cb4c5 feat(api): api update 2025-05-06 09:47:40 -04:00
stainless-app[bot]
94013898de feat(api): api update 2025-05-06 09:47:40 -04:00
stainless-app[bot]
8c680ab101 feat(api): api update 2025-05-06 09:47:40 -04:00
stainless-app[bot]
a19067b84f codegen metadata 2025-05-06 09:47:40 -04:00
stainless-app[bot]
b3bb180dc1 codegen metadata 2025-05-06 09:47:40 -04:00
stainless-app[bot]
e87711d7aa codegen metadata 2025-05-06 09:47:40 -04:00
stainless-app[bot]
f9ac4bd1d9 codegen metadata 2025-05-06 09:47:40 -04:00
stainless-app[bot]
5c84e05ec1 codegen metadata 2025-05-06 09:47:40 -04:00
stainless-app[bot]
5517a90563 codegen metadata 2025-05-06 09:47:39 -04:00
stainless-app[bot]
2c537a459e codegen metadata 2025-05-06 09:47:39 -04:00
stainless-app[bot]
007f4495f0 codegen metadata 2025-05-06 09:47:39 -04:00
stainless-app[bot]
60e0273652 chore(client): minor internal fixes 2025-05-06 09:47:39 -04:00
stainless-app[bot]
0cad077c08 feat(api): api update 2025-05-06 09:47:39 -04:00
stainless-app[bot]
d3bede256c codegen metadata 2025-05-06 09:47:39 -04:00
stainless-app[bot]
6586194d66 chore(internal): update pyright settings 2025-05-06 09:47:39 -04:00
stainless-app[bot]
95e70afa30 codegen metadata 2025-05-06 09:47:39 -04:00
stainless-app[bot]
d11c055b98 codegen metadata 2025-05-06 09:47:39 -04:00
stainless-app[bot]
60f39ca17a codegen metadata 2025-05-06 09:47:38 -04:00
stainless-app[bot]
6cd14e4015 codegen metadata 2025-05-06 09:47:38 -04:00
stainless-app[bot]
dd3c2d99bd codegen metadata 2025-05-06 09:47:38 -04:00
stainless-app[bot]
d70cd0843d codegen metadata 2025-05-06 09:47:38 -04:00
stainless-app[bot]
40fb5d7837 codegen metadata 2025-05-06 09:47:38 -04:00
stainless-app[bot]
05ca0d93a1 codegen metadata 2025-05-06 09:47:38 -04:00
stainless-app[bot]
ad8669ffa6 feat(api): api update 2025-05-06 09:47:38 -04:00
stainless-app[bot]
d4c2a27e26 feat(api): api update 2025-05-06 09:47:37 -04:00
stainless-app[bot]
67998d3696 codegen metadata 2025-05-06 09:47:37 -04:00
stainless-app[bot]
fb41d15660 codegen metadata 2025-05-06 09:47:37 -04:00
stainless-app[bot]
fa6eeff3b3 codegen metadata 2025-05-06 09:47:37 -04:00
stainless-app[bot]
25f146de21 feat(api): api update 2025-05-06 09:47:37 -04:00
stainless-app[bot]
b8a08463e9 codegen metadata 2025-05-06 09:47:37 -04:00
stainless-app[bot]
1dbea20306 fix(perf): optimize some hot paths 2025-05-06 09:47:37 -04:00
stainless-app[bot]
4f27679963 fix(perf): skip traversing types for NotGiven values 2025-05-06 09:47:37 -04:00
stainless-app[bot]
e571768cba codegen metadata 2025-05-06 09:47:37 -04:00
stainless-app[bot]
95872a7bf1 codegen metadata 2025-05-06 09:47:36 -04:00
stainless-app[bot]
da737397d0 feat(api): api update 2025-05-06 09:47:36 -04:00
stainless-app[bot]
7d7101f719 codegen metadata 2025-05-06 09:47:36 -04:00
stainless-app[bot]
25e996e0fb codegen metadata 2025-05-06 09:47:36 -04:00
stainless-app[bot]
a9ebbad8a7 codegen metadata 2025-05-06 09:47:36 -04:00
stainless-app[bot]
6c59419247 codegen metadata 2025-05-06 09:47:36 -04:00
stainless-app[bot]
bdfd4fe2be feat: support API versioning (#2651) 2025-05-06 09:47:36 -04:00
stainless-app[bot]
10458c5825 test(api): skip failing tests for python 2025-05-06 09:47:36 -04:00
stainless-app[bot]
8bd8510dbb feat(devices): add next generation under devices 2025-05-06 09:47:35 -04:00
stainless-app[bot]
e36630197c chore(internal): update shared response info for optional fields 2025-05-06 09:47:35 -04:00
stainless-app[bot]
025f13868f codegen metadata 2025-05-06 09:47:35 -04:00
stainless-app[bot]
ba19d769d4 codegen metadata 2025-05-06 09:47:35 -04:00
stainless-app[bot]
5ed9984510 codegen metadata 2025-05-06 09:47:35 -04:00
stainless-app[bot]
31433acb6d codegen metadata 2025-05-06 09:47:35 -04:00
stainless-app[bot]
7bf12be43b codegen metadata 2025-05-06 09:47:35 -04:00
stainless-app[bot]
ce8fca0994 codegen metadata 2025-05-06 09:47:35 -04:00
stainless-app[bot]
21ab1948e1 codegen metadata 2025-05-06 09:47:35 -04:00
stainless-app[bot]
b505cf8790 codegen metadata 2025-05-06 09:47:34 -04:00
stainless-app[bot]
f440cc49b9 codegen metadata 2025-05-06 09:47:34 -04:00
stainless-app[bot]
78544abb45 codegen metadata 2025-05-06 09:47:34 -04:00
stainless-app[bot]
e7647c513f feat(api): api update 2025-05-06 09:47:34 -04:00
stainless-app[bot]
2ec01e7d9f codegen metadata 2025-05-06 09:47:34 -04:00
stainless-app[bot]
e2f1a8599c codegen metadata 2025-05-06 09:47:34 -04:00
stainless-app[bot]
150839634b codegen metadata 2025-05-06 09:47:34 -04:00
stainless-app[bot]
6208f98f38 feat(api): api update 2025-05-06 09:47:34 -04:00
stainless-app[bot]
18d68d5de8 codegen metadata 2025-05-06 09:47:33 -04:00
stainless-app[bot]
b04dbcbc44 codegen metadata 2025-05-06 09:47:33 -04:00
stainless-app[bot]
8fb0d0a04a feat(api): api update 2025-05-06 09:47:33 -04:00
stainless-app[bot]
196e7c8070 codegen metadata 2025-05-06 09:47:33 -04:00
stainless-app[bot]
68b2dc1035 codegen metadata 2025-05-06 09:47:33 -04:00
stainless-app[bot]
5e11322262 codegen metadata 2025-05-06 09:47:33 -04:00
stainless-app[bot]
09474a8ed1 codegen metadata 2025-05-06 09:47:33 -04:00
stainless-app[bot]
b3ce118460 chore: revert auth handling (#2650) 2025-05-06 09:47:33 -04:00
stainless-app[bot]
238ace4aca feat(api): api update 2025-05-06 09:47:33 -04:00
stainless-app[bot]
6b4a8e8b37 codegen metadata 2025-05-06 09:47:32 -04:00
stainless-app[bot]
a5e134820e codegen metadata 2025-05-06 09:47:32 -04:00
stainless-app[bot]
f2c4d96e7e feat(api): api update 2025-05-06 09:47:32 -04:00
stainless-app[bot]
f14db9739f chore(internal): reduce CI branch coverage 2025-05-06 09:47:32 -04:00
stainless-app[bot]
f6250be985 feat(api): patch and put endpoints for d1 database 2025-05-06 09:47:32 -04:00
stainless-app[bot]
9f45e61aab feat(api): api update 2025-05-06 09:47:32 -04:00
stainless-app[bot]
f2dd4a5132 codegen metadata 2025-05-06 09:47:32 -04:00
stainless-app[bot]
b9998d5486 codegen metadata 2025-05-06 09:47:32 -04:00
stainless-app[bot]
e164792a10 codegen metadata 2025-05-06 09:47:32 -04:00
stainless-app[bot]
8ff1336a34 codegen metadata 2025-05-06 09:47:31 -04:00
stainless-app[bot]
8491d361b4 codegen metadata 2025-05-06 09:47:31 -04:00
stainless-app[bot]
d432614878 feat(api): api update (#2648) 2025-05-06 09:47:31 -04:00
stainless-app[bot]
29aa5a8491 chore(internal): expand CI branch coverage (#2647) 2025-05-06 09:47:31 -04:00
stainless-app[bot]
7967c6c588 codegen metadata 2025-05-06 09:47:31 -04:00
stainless-app[bot]
4c495dac37 codegen metadata 2025-05-06 09:47:31 -04:00
stainless-app[bot]
c11b076181 codegen metadata 2025-05-06 09:47:31 -04:00
stainless-app[bot]
33d67a0e69 codegen metadata 2025-05-06 09:47:31 -04:00
stainless-app[bot]
d4d0167904 codegen metadata 2025-05-06 09:47:30 -04:00
stainless-app[bot]
c187e84f8b codegen metadata 2025-05-06 09:47:30 -04:00
stainless-app[bot]
2d660921c5 feat(api): api update (#2646) 2025-05-06 09:47:30 -04:00
stainless-app[bot]
8ccfe59ed6 feat(api): api update (#2645) 2025-05-06 09:47:30 -04:00
stainless-app[bot]
c37ac489db codegen metadata 2025-05-06 09:47:30 -04:00
stainless-app[bot]
f9d1c46e0f codegen metadata 2025-05-06 09:47:30 -04:00
stainless-app[bot]
27baeff185 feat(api): api update (#2644) 2025-05-06 09:47:30 -04:00
stainless-app[bot]
3a09c7fbbc feat(api): api update (#2643) 2025-05-06 09:47:30 -04:00
stainless-app[bot]
6127428d50 codegen metadata 2025-05-06 09:47:30 -04:00
stainless-app[bot]
d00b7835c9 feat(api): api update (#2642) 2025-05-06 09:47:29 -04:00
stainless-app[bot]
b9b7ea4b24 codegen metadata 2025-05-06 09:47:29 -04:00
stainless-app[bot]
994cb78b50 codegen metadata 2025-05-06 09:47:29 -04:00
stainless-app[bot]
4447ff8a80 codegen metadata 2025-05-06 09:47:29 -04:00
stainless-app[bot]
7b4b1f264d codegen metadata 2025-05-06 09:47:29 -04:00
stainless-app[bot]
949ca4b447 codegen metadata 2025-05-06 09:47:29 -04:00
stainless-app[bot]
ece1cc5e41 codegen metadata 2025-05-06 09:47:29 -04:00
stainless-app[bot]
094f951a4c codegen metadata 2025-05-06 09:47:29 -04:00
stainless-app[bot]
12d767c56f codegen metadata 2025-05-06 09:47:29 -04:00
stainless-app[bot]
c96ed6b2f4 feat(pipelines): add support (#2641) 2025-05-06 09:47:28 -04:00
stainless-app[bot]
415fba0d29 codegen metadata 2025-05-06 09:47:28 -04:00
stainless-app[bot]
4b25f86286 codegen metadata 2025-05-06 09:47:28 -04:00
stainless-app[bot]
f896e3749c codegen metadata 2025-05-06 09:47:28 -04:00
stainless-app[bot]
76884cf76f chore: slight wording improvement in README (#2640) 2025-05-06 09:47:28 -04:00
stainless-app[bot]
ac5db5500d feat(api): Update workers telemetry route methods (#2639) 2025-05-06 09:47:28 -04:00
stainless-app[bot]
2af0e793b5 codegen metadata 2025-05-06 09:47:28 -04:00
stainless-app[bot]
5cfd1de78a codegen metadata 2025-05-06 09:47:28 -04:00
stainless-app[bot]
e528d4e590 feat(api): api update (#2638) 2025-05-06 09:47:27 -04:00
stainless-app[bot]
dbeeeaeef2 codegen metadata 2025-05-06 09:47:27 -04:00
stainless-app[bot]
3e4f4ff174 codegen metadata 2025-05-06 09:47:27 -04:00
stainless-app[bot]
433d1972aa codegen metadata 2025-05-06 09:47:27 -04:00
stainless-app[bot]
585bf448fe feat(api): api update (#2637) 2025-05-06 09:47:27 -04:00
stainless-app[bot]
ab1db5e59c codegen metadata 2025-05-06 09:47:27 -04:00
stainless-app[bot]
5461b1d035 codegen metadata 2025-05-06 09:47:27 -04:00
stainless-app[bot]
7fd1bf0b2a feat(api): api update (#2636) 2025-05-06 09:47:27 -04:00
stainless-app[bot]
2cc8169d33 feat(api): api update (#2635) 2025-05-06 09:47:26 -04:00
stainless-app[bot]
654ad5f918 codegen metadata 2025-05-06 09:47:26 -04:00
stainless-app[bot]
3c436a602e codegen metadata 2025-05-06 09:47:26 -04:00
stainless-app[bot]
0416008cc8 feat(api): api update (#2634) 2025-05-06 09:47:26 -04:00
stainless-app[bot]
43b9565f7c codegen metadata 2025-05-06 09:47:26 -04:00
stainless-app[bot]
a216e2e393 feat(api): api update (#2633) 2025-05-06 09:47:26 -04:00
stainless-app[bot]
35bc4e4614 codegen metadata 2025-05-06 09:47:26 -04:00
stainless-app[bot]
f44ffd9b08 codegen metadata 2025-05-06 09:47:26 -04:00
stainless-app[bot]
db1107990a codegen metadata 2025-05-06 09:47:26 -04:00
stainless-app[bot]
af19200849 codegen metadata 2025-05-06 09:47:25 -04:00
stainless-app[bot]
411faf6186 codegen metadata 2025-05-06 09:47:25 -04:00
stainless-app[bot]
c7af07746f codegen metadata 2025-05-06 09:47:25 -04:00
stainless-app[bot]
c4fedb40aa chore(tests): improve enum examples (#2632) 2025-05-06 09:47:25 -04:00
stainless-app[bot]
8929f20e32 codegen metadata 2025-05-06 09:47:25 -04:00
stainless-app[bot]
354e89899d codegen metadata 2025-05-06 09:47:25 -04:00
stainless-app[bot]
b598a2d52b codegen metadata 2025-05-06 09:47:25 -04:00
stainless-app[bot]
a6e3752180 chore(internal): slight transform perf improvement (#2631) 2025-05-06 09:47:25 -04:00
stainless-app[bot]
b1ede14fbb codegen metadata 2025-05-06 09:47:24 -04:00
stainless-app[bot]
11606b1ce6 chore(internal): codegen related update (#2630) 2025-05-06 09:47:24 -04:00
stainless-app[bot]
b3ad8c87dd codegen metadata 2025-05-06 09:47:24 -04:00
stainless-app[bot]
f5fd3eeba8 feat(api): api update (#2629) 2025-05-06 09:47:24 -04:00
stainless-app[bot]
3e61aa9fa6 codegen metadata 2025-05-06 09:47:24 -04:00
stainless-app[bot]
c05f73f7fc codegen metadata 2025-05-06 09:47:24 -04:00
stainless-app[bot]
23145fe154 codegen metadata 2025-05-06 09:47:24 -04:00
stainless-app[bot]
055eae7ca4 codegen metadata 2025-05-06 09:47:24 -04:00
stainless-app[bot]
a2acfb6807 feat(api): manual updates (#2628) 2025-05-06 09:47:24 -04:00
stainless-app[bot]
1795d55be5 codegen metadata 2025-05-06 09:47:23 -04:00
stainless-app[bot]
742363c7d3 feat(api): manual updates (#2627) 2025-05-06 09:47:23 -04:00
stainless-app[bot]
1cf5bcb02c codegen metadata 2025-05-06 09:47:23 -04:00
stainless-app[bot]
83147080d6 codegen metadata 2025-05-06 09:47:23 -04:00
stainless-app[bot]
814f5754e8 codegen metadata 2025-05-06 09:47:23 -04:00
stainless-app[bot]
ef5a192896 feat(secrets_store): remove incorrect bulk edit endpoint (#2626) 2025-05-06 09:47:23 -04:00
stainless-app[bot]
5932cbc74b feat(secret_store): add support (#2625) 2025-05-06 09:47:23 -04:00
stainless-app[bot]
86e9e212df feat(devices): add registrations support (#2624) 2025-05-06 09:47:23 -04:00
stainless-app[bot]
44fe568511 feat(api): api update (#2623) 2025-05-06 09:47:22 -04:00
stainless-app[bot]
60dc1ec346 codegen metadata 2025-05-06 09:47:22 -04:00
stainless-app[bot]
c985ddfc81 feat(api): api update (#2622) 2025-05-06 09:47:22 -04:00
stainless-app[bot]
91b72b8b9e codegen metadata 2025-05-06 09:47:22 -04:00
stainless-app[bot]
180b188ff9 codegen metadata 2025-05-06 09:47:22 -04:00
stainless-app[bot]
c629d56f59 codegen metadata 2025-05-06 09:47:22 -04:00
stainless-app[bot]
253874c013 codegen metadata 2025-05-06 09:47:22 -04:00
stainless-app[bot]
6701e97ab2 codegen metadata 2025-05-06 09:47:22 -04:00
stainless-app[bot]
c40823ba0a codegen metadata 2025-05-06 09:47:22 -04:00
stainless-app[bot]
74d13c94e4 codegen metadata 2025-05-06 09:47:21 -04:00
stainless-app[bot]
a121f9a2ac feat(api): api update (#2621) 2025-05-06 09:47:21 -04:00
stainless-app[bot]
b43303f584 codegen metadata 2025-05-06 09:47:21 -04:00
stainless-app[bot]
5b41492a8c codegen metadata 2025-05-06 09:47:21 -04:00
stainless-app[bot]
0159f11dcb feat(api): api update (#2620) 2025-05-06 09:47:21 -04:00
stainless-app[bot]
afe204f40a feat(api): Add workers telemetry routes (#2619) 2025-05-06 09:47:21 -04:00
stainless-app[bot]
04417d8f23 feat(api): api update (#2618) 2025-05-06 09:47:21 -04:00
stainless-app[bot]
6f839afb01 chore(internal): only run examples workflow in main repo (#2617) 2025-05-06 09:47:21 -04:00
stainless-app[bot]
ab747d82df codegen metadata 2025-05-06 09:47:21 -04:00
stainless-app[bot]
bcb83e357f codegen metadata 2025-05-06 09:47:20 -04:00
stainless-app[bot]
27f772bee0 codegen metadata 2025-05-06 09:47:20 -04:00
stainless-app[bot]
42efe02349 codegen metadata 2025-05-06 09:47:20 -04:00
stainless-app[bot]
21c6ef39c6 feat(api): api update (#2616) 2025-05-06 09:47:20 -04:00
stainless-app[bot]
1001e96374 feat(api): api update (#2615) 2025-05-06 09:47:20 -04:00
stainless-app[bot]
03e3f91177 fix(client): send all configured auth headers (#2614) 2025-05-06 09:47:20 -04:00
stainless-app[bot]
cf867b7790 codegen metadata 2025-05-06 09:47:20 -04:00
stainless-app[bot]
df245c4a87 feat(api): api update (#2613) 2025-05-06 09:47:20 -04:00
stainless-app[bot]
d8661881cb codegen metadata 2025-05-06 09:47:20 -04:00
stainless-app[bot]
a59bc16830 feat(api): api update (#2612) 2025-05-06 09:47:19 -04:00
stainless-app[bot]
64f8ca0ba3 feat(api): api update (#2611) 2025-05-06 09:47:19 -04:00
stainless-app[bot]
99f49b325e codegen metadata 2025-05-06 09:47:19 -04:00
stainless-app[bot]
609b52f322 codegen metadata 2025-05-06 09:47:19 -04:00
stainless-app[bot]
8e6118e372 codegen metadata 2025-05-06 09:47:19 -04:00
stainless-app[bot]
b95be3ff81 codegen metadata 2025-05-06 09:47:19 -04:00
stainless-app[bot]
58686d5db3 codegen metadata 2025-05-06 09:47:19 -04:00
stainless-app[bot]
4f3866dd4b codegen metadata 2025-05-06 09:47:19 -04:00
stainless-app[bot]
b782db35ac codegen metadata 2025-05-06 09:47:19 -04:00
stainless-app[bot]
7be518154d codegen metadata 2025-05-06 09:47:18 -04:00
stainless-app[bot]
f6271e2284 codegen metadata 2025-05-06 09:47:18 -04:00
stainless-app[bot]
54e678404e codegen metadata 2025-05-06 09:47:18 -04:00
stainless-app[bot]
626161dd60 codegen metadata 2025-05-06 09:47:18 -04:00
stainless-app[bot]
c7c289519b chore(internal): codegen related update (#2610) 2025-05-06 09:47:18 -04:00
stainless-app[bot]
78360a9ae8 docs: swap examples used in readme (#2609) 2025-05-06 09:47:18 -04:00
stainless-app[bot]
6fb80358b5 feat(api): api update (#2608) 2025-05-06 09:47:18 -04:00
stainless-app[bot]
c3faef0269 codegen metadata 2025-05-06 09:47:18 -04:00
stainless-app[bot]
b186635e92 codegen metadata 2025-05-06 09:47:17 -04:00
stainless-app[bot]
9352fd5310 codegen metadata 2025-05-06 09:47:17 -04:00
stainless-app[bot]
dbf2f37fe0 feat(api): api update (#2605) 2025-05-06 09:47:17 -04:00
stainless-app[bot]
8ff6bb1c60 codegen metadata 2025-05-06 09:47:17 -04:00
stainless-app[bot]
7f9df1b21a fix(client): support serialising multipart entries as json 2025-05-06 09:47:17 -04:00
stainless-app[bot]
e9cbc25505 codegen metadata 2025-05-06 09:47:17 -04:00
stainless-app[bot]
4036cff56c codegen metadata 2025-05-06 09:47:17 -04:00
stainless-app[bot]
b3c931a64f feat(api): api update (#2604) 2025-05-06 09:47:17 -04:00
stainless-app[bot]
7fa28cf107 codegen metadata 2025-05-06 09:47:17 -04:00
stainless-app[bot]
becca312b5 codegen metadata 2025-05-06 09:47:16 -04:00
stainless-app[bot]
ada4a631c3 codegen metadata 2025-05-06 09:47:16 -04:00
stainless-app[bot]
d46e34be64 codegen metadata 2025-05-06 09:47:16 -04:00
stainless-app[bot]
304f14a58f codegen metadata 2025-05-06 09:47:16 -04:00
stainless-app[bot]
3ef495cd50 codegen metadata 2025-05-06 09:47:16 -04:00
stainless-app[bot]
5b9e1c758e codegen metadata 2025-05-06 09:47:16 -04:00
stainless-app[bot]
022663bdb5 codegen metadata 2025-05-06 09:47:16 -04:00
stainless-app[bot]
9f8837cd1d feat(api): api update (#2603) 2025-05-06 09:47:16 -04:00
stainless-app[bot]
3cf421e88f feat(api): api update (#2602) 2025-05-06 09:47:16 -04:00
stainless-app[bot]
a67683b322 codegen metadata 2025-05-06 09:47:15 -04:00
stainless-app[bot]
485c247e29 codegen metadata 2025-05-06 09:47:15 -04:00
stainless-app[bot]
ec865ede2c codegen metadata 2025-05-06 09:47:15 -04:00
stainless-app[bot]
42d2df5610 chore(internal): force response_info model generation (#2601) 2025-05-06 09:47:15 -04:00
stainless-app[bot]
a2994e7fd1 codegen metadata 2025-05-06 09:47:15 -04:00
stainless-app[bot]
245fb2df46 codegen metadata 2025-05-06 09:47:15 -04:00
stainless-app[bot]
20fbd5f5da feat(workflows): add events (#2600) 2025-05-06 09:47:15 -04:00
stainless-app[bot]
400a6ac947 chore(internal): update response_info (#2599) 2025-05-06 09:47:15 -04:00
stainless-app[bot]
1ec860d303 codegen metadata 2025-05-06 09:47:15 -04:00
stainless-app[bot]
e674ca7a1b feat(api): api update (#2598) 2025-05-06 09:47:14 -04:00
stainless-app[bot]
3ef38c2b0e codegen metadata 2025-05-06 09:47:14 -04:00
stainless-app[bot]
190383e9f0 codegen metadata 2025-05-06 09:47:14 -04:00
stainless-app[bot]
842b4537ab codegen metadata 2025-05-06 09:47:14 -04:00
stainless-app[bot]
350f61f22b codegen metadata 2025-05-06 09:47:14 -04:00
stainless-app[bot]
0b34c1021d codegen metadata 2025-05-06 09:47:14 -04:00
stainless-app[bot]
8b29e45b9c codegen metadata 2025-05-06 09:47:14 -04:00
stainless-app[bot]
3a71098303 codegen metadata 2025-05-06 09:47:14 -04:00
stainless-app[bot]
d2eea96da3 codegen metadata 2025-05-06 09:47:14 -04:00
stainless-app[bot]
ea00c6998e feat(api): api update (#2597) 2025-05-06 09:47:13 -04:00
stainless-app[bot]
399460f6dc codegen metadata 2025-05-06 09:47:13 -04:00
stainless-app[bot]
2d7663792a codegen metadata 2025-05-06 09:47:13 -04:00
stainless-app[bot]
486de51ad4 chore(internal): remove trailing character (#2596) 2025-05-06 09:47:13 -04:00
stainless-app[bot]
8c21019635 codegen metadata 2025-05-06 09:47:13 -04:00
stainless-app[bot]
9558fe5f9f codegen metadata 2025-05-06 09:47:13 -04:00
stainless-app[bot]
b0a068e65c codegen metadata 2025-05-06 09:47:13 -04:00
stainless-app[bot]
721e2180df codegen metadata 2025-05-06 09:47:13 -04:00
stainless-app[bot]
dd21a12a55 codegen metadata 2025-05-06 09:47:13 -04:00
stainless-app[bot]
8ea03586f5 codegen metadata 2025-05-06 09:47:12 -04:00
stainless-app[bot]
781c40868e codegen metadata 2025-05-06 09:47:12 -04:00
stainless-app[bot]
d0356ff31b codegen metadata 2025-05-06 09:47:12 -04:00
stainless-app[bot]
3d36c878e2 codegen metadata 2025-05-06 09:47:12 -04:00
stainless-app[bot]
a314ecf65c codegen metadata 2025-05-06 09:47:12 -04:00
stainless-app[bot]
234fac4a2f codegen metadata 2025-05-06 09:47:12 -04:00
stainless-app[bot]
3d86ae977f feat(api): api update (#2595) 2025-05-06 09:47:12 -04:00
stainless-app[bot]
41fea370c9 codegen metadata 2025-05-06 09:47:12 -04:00
stainless-app[bot]
efa747ffac codegen metadata 2025-05-06 09:47:12 -04:00
stainless-app[bot]
a9aff7089b codegen metadata 2025-05-06 09:47:11 -04:00
stainless-app[bot]
4dc6a2d1cd codegen metadata 2025-05-06 09:47:11 -04:00
stainless-app[bot]
3726a69d68 codegen metadata 2025-05-06 09:47:11 -04:00
stainless-app[bot]
c8adb81768 codegen metadata 2025-05-06 09:47:11 -04:00
stainless-app[bot]
29bf562d93 codegen metadata 2025-05-06 09:47:11 -04:00
stainless-app[bot]
91e8d7dca3 codegen metadata 2025-05-06 09:47:11 -04:00
stainless-app[bot]
6b4ad0e8ea codegen metadata 2025-05-06 09:47:11 -04:00
stainless-app[bot]
33b0654aef codegen metadata 2025-05-06 09:47:11 -04:00
stainless-app[bot]
9b164a5bdc codegen metadata 2025-05-06 09:47:11 -04:00
stainless-app[bot]
e24ab7a0fe codegen metadata 2025-05-06 09:47:10 -04:00
stainless-app[bot]
c7fc4a487e chore(internal): minor test fixes (#2594) 2025-05-06 09:47:10 -04:00
stainless-app[bot]
bac91d09f1 codegen metadata 2025-05-06 09:47:10 -04:00
stainless-app[bot]
775153ae5e codegen metadata 2025-05-06 09:47:10 -04:00
stainless-app[bot]
76761da087 codegen metadata 2025-05-06 09:47:10 -04:00
stainless-app[bot]
f8c5a14404 feat(api): manual updates (#2593) 2025-05-06 09:47:10 -04:00
stainless-app[bot]
50b526cb59 codegen metadata 2025-05-06 09:47:10 -04:00
stainless-app[bot]
1dcc72812a feat(api): api update (#2592) 2025-05-06 09:47:10 -04:00
stainless-app[bot]
696bf55405 feat(workers): add script_and_version_settings methods (#2591) 2025-05-06 09:47:10 -04:00
stainless-app[bot]
b5291ff398 feat(api): api update (#2590) 2025-05-06 09:47:09 -04:00
stainless-app[bot]
b9e8e83157 feat(browser_rendering): add json, links and markdown support (#2589) 2025-05-06 09:47:09 -04:00
stainless-app[bot]
725b74610b feat(r2): add super_slurper endpoints (#2588) 2025-05-06 09:47:09 -04:00
stainless-app[bot]
84a30d75eb codegen metadata 2025-05-06 09:47:09 -04:00
stainless-app[bot]
5ee7ad1b48 codegen metadata 2025-05-06 09:47:09 -04:00
stainless-app[bot]
ab879fc241 codegen metadata 2025-05-06 09:47:09 -04:00
stainless-app[bot]
f27a611160 codegen metadata 2025-05-06 09:47:09 -04:00
stainless-app[bot]
db9441e9d6 codegen metadata 2025-05-06 09:47:09 -04:00
stainless-app[bot]
0f82140267 codegen metadata 2025-05-06 09:47:08 -04:00
stainless-app[bot]
ae86458bcc codegen metadata 2025-05-06 09:47:08 -04:00
stainless-app[bot]
396ca15298 codegen metadata 2025-05-06 09:47:08 -04:00
stainless-app[bot]
9838d9baf9 codegen metadata 2025-05-06 09:47:08 -04:00
stainless-app[bot]
8d92a4da2d feat(api): api update (#2587) 2025-05-06 09:47:08 -04:00
stainless-app[bot]
6452b4fc1c feat(api): api update (#2586) 2025-05-06 09:47:08 -04:00
stainless-app[bot]
7be27ccd6a feat(api): api update (#2585) 2025-05-06 09:47:08 -04:00
stainless-app[bot]
1eed34f82f codegen metadata 2025-05-06 09:47:08 -04:00
stainless-app[bot]
e5bc8e40a2 codegen metadata 2025-05-06 09:47:08 -04:00
stainless-app[bot]
79e06acb25 codegen metadata 2025-05-06 09:47:07 -04:00
stainless-app[bot]
e7e279ce7f codegen metadata 2025-05-06 09:47:07 -04:00
stainless-app[bot]
cbe322c5ce codegen metadata 2025-05-06 09:47:07 -04:00
stainless-app[bot]
4b85e7c422 codegen metadata 2025-05-06 09:47:07 -04:00
stainless-app[bot]
13cb87db4e codegen metadata 2025-05-06 09:47:07 -04:00
stainless-app[bot]
82bd59aabd codegen metadata 2025-05-06 09:47:07 -04:00
stainless-app[bot]
678a4cc7c1 codegen metadata 2025-05-06 09:47:07 -04:00
stainless-app[bot]
b9d21e2cce codegen metadata 2025-05-06 09:47:07 -04:00
stainless-app[bot]
b03d706b2c codegen metadata 2025-05-06 09:47:07 -04:00
stainless-app[bot]
02785f0357 codegen metadata 2025-05-06 09:47:06 -04:00
stainless-app[bot]
318370f356 codegen metadata 2025-05-06 09:47:06 -04:00
stainless-app[bot]
fb70863481 codegen metadata 2025-05-06 09:47:06 -04:00
stainless-app[bot]
d467b552d4 feat(api): api update (#2583) 2025-05-06 09:47:06 -04:00
stainless-app[bot]
22d6f6a545 codegen metadata 2025-05-06 09:47:06 -04:00
stainless-app[bot]
d61d6514aa codegen metadata 2025-05-06 09:47:06 -04:00
stainless-app[bot]
3cbd92cc79 feat(api): api update (#2582) 2025-05-06 09:47:05 -04:00
stainless-app[bot]
a589f62594 codegen metadata 2025-05-06 09:47:05 -04:00
stainless-app[bot]
1daa8521ad codegen metadata 2025-05-06 09:47:05 -04:00
stainless-app[bot]
a80f4380c0 feat(devices): add global warp override support (#2581) 2025-05-06 09:47:05 -04:00
stainless-app[bot]
997e76c44e codegen metadata 2025-05-06 09:47:05 -04:00
stainless-app[bot]
fb256d6d78 codegen metadata 2025-05-06 09:47:05 -04:00
stainless-app[bot]
7c57e7fe25 codegen metadata 2025-05-06 09:47:05 -04:00
stainless-app[bot]
8993161c30 codegen metadata 2025-05-06 09:47:05 -04:00
stainless-app[bot]
99b897e941 codegen metadata 2025-05-06 09:47:04 -04:00
stainless-app[bot]
f91d0a66a1 codegen metadata 2025-05-06 09:47:04 -04:00
stainless-app[bot]
45a632b6bb codegen metadata 2025-05-06 09:47:04 -04:00
stainless-app[bot]
8020023d93 codegen metadata 2025-05-06 09:47:04 -04:00
stainless-app[bot]
1c512517ad codegen metadata 2025-05-06 09:47:04 -04:00
stainless-app[bot]
ea8eba541f codegen metadata 2025-05-06 09:47:04 -04:00
stainless-app[bot]
f15782abf3 chore(internal): consistently order route keys (#2580) 2025-05-06 09:47:04 -04:00
stainless-app[bot]
eceb0bb926 codegen metadata 2025-05-06 09:47:04 -04:00
stainless-app[bot]
5ac1547cdc codegen metadata 2025-05-06 09:47:04 -04:00
stainless-app[bot]
59c11df0c5 codegen metadata 2025-05-06 09:47:03 -04:00
stainless-app[bot]
9714af9f1f codegen metadata 2025-05-06 09:47:03 -04:00
stainless-app[bot]
e19a0bc2df codegen metadata 2025-05-06 09:47:03 -04:00
stainless-app[bot]
fd88938090 codegen metadata 2025-05-06 09:47:03 -04:00
stainless-app[bot]
85781c7aa9 codegen metadata 2025-05-06 09:47:03 -04:00
stainless-app[bot]
5c98d68ca6 codegen metadata 2025-05-06 09:47:03 -04:00
stainless-app[bot]
35ad0da1a1 codegen metadata 2025-05-06 09:47:03 -04:00
stainless-app[bot]
382b222c69 codegen metadata 2025-05-06 09:47:03 -04:00
stainless-app[bot]
83f3046e8f codegen metadata 2025-05-06 09:47:03 -04:00
stainless-app[bot]
22ed9e7cd2 codegen metadata 2025-05-06 09:47:02 -04:00
stainless-app[bot]
691e88c0f1 codegen metadata 2025-05-06 09:47:02 -04:00
stainless-app[bot]
63065ff249 feat(kv_namespace): bulk operations to .keys (#2579) 2025-05-06 09:47:02 -04:00
stainless-app[bot]
28ad38e7d6 codegen metadata 2025-05-06 09:47:02 -04:00
stainless-app[bot]
9d7e34aa7f fix(types): add missing total=False (#2578) 2025-05-06 09:47:02 -04:00
stainless-app[bot]
8d68b06e42 feat(api): api update (#2577) 2025-05-06 09:47:02 -04:00
stainless-app[bot]
6fed285b03 codegen metadata 2025-05-06 09:47:02 -04:00
stainless-app[bot]
c4a30f58e9 codegen metadata 2025-05-06 09:47:02 -04:00
stainless-app[bot]
b087493e54 codegen metadata 2025-05-06 09:47:02 -04:00
stainless-app[bot]
ad83253dd2 codegen metadata 2025-05-06 09:47:01 -04:00
stainless-app[bot]
365f8b8392 codegen metadata 2025-05-06 09:47:01 -04:00
stainless-app[bot]
4f8ffed1bb codegen metadata 2025-05-06 09:47:01 -04:00
stainless-app[bot]
d38e78473b codegen metadata 2025-05-06 09:47:01 -04:00
stainless-app[bot]
bb5ce84ef4 codegen metadata 2025-05-06 09:47:01 -04:00
stainless-app[bot]
c8b5873b69 feat(api): api update (#2575) 2025-05-06 09:47:01 -04:00
stainless-app[bot]
0fcc0eb8be codegen metadata 2025-05-06 09:47:01 -04:00
stainless-app[bot]
e0f23f6c98 chore: fix typos (#2574) 2025-05-06 09:47:01 -04:00
stainless-app[bot]
2b920bce7a codegen metadata 2025-05-06 09:47:01 -04:00
stainless-app[bot]
4c89890bf6 codegen metadata 2025-05-06 09:47:00 -04:00
stainless-app[bot]
fb046c9ac4 codegen metadata 2025-05-06 09:47:00 -04:00
stainless-app[bot]
63fe23724f codegen metadata 2025-05-06 09:47:00 -04:00
stainless-app[bot]
0c1a3cde17 codegen metadata 2025-05-06 09:47:00 -04:00
stainless-app[bot]
cc218d0186 feat(kv): add support for bulk get endpoints (#2573) 2025-05-06 09:47:00 -04:00
stainless-app[bot]
23bc225bf9 feat(queues): add support for purge (#2572) 2025-05-06 09:47:00 -04:00
stainless-app[bot]
8b817066d4 codegen metadata 2025-05-06 09:47:00 -04:00
stainless-app[bot]
6dc8b43cba codegen metadata 2025-05-06 09:47:00 -04:00
stainless-app[bot]
5feb309c32 codegen metadata 2025-05-06 09:46:59 -04:00
stainless-app[bot]
f14a36c084 codegen metadata 2025-05-06 09:46:59 -04:00
stainless-app[bot]
9be116edb5 codegen metadata 2025-05-06 09:46:59 -04:00
stainless-app[bot]
e6469e548f feat(api): api update (#2571) 2025-05-06 09:46:59 -04:00
stainless-app[bot]
d3faaf203e codegen metadata 2025-05-06 09:46:59 -04:00
stainless-app[bot]
09eee108cf codegen metadata 2025-05-06 09:46:59 -04:00
stainless-app[bot]
b3b4976eee codegen metadata 2025-05-06 09:46:59 -04:00
stainless-app[bot]
3b1e3ac4c4 codegen metadata 2025-05-06 09:46:59 -04:00
stainless-app[bot]
6377c9625b codegen metadata 2025-05-06 09:46:59 -04:00
stainless-app[bot]
ea4af79fd7 codegen metadata 2025-05-06 09:46:58 -04:00
stainless-app[bot]
897cb5d9fc codegen metadata 2025-05-06 09:46:58 -04:00
stainless-app[bot]
9c74c35288 codegen metadata 2025-05-06 09:46:58 -04:00
stainless-app[bot]
38f39f5a2d codegen metadata 2025-05-06 09:46:58 -04:00
stainless-app[bot]
6dd613eceb codegen metadata 2025-05-06 09:46:58 -04:00
stainless-app[bot]
bb5d651470 codegen metadata 2025-05-06 09:46:58 -04:00
stainless-app[bot]
0749c30ad3 codegen metadata 2025-05-06 09:46:58 -04:00
stainless-app[bot]
b31b885bdc feat(api): api update (#2570) 2025-05-06 09:46:58 -04:00
stainless-app[bot]
9f2b44a424 codegen metadata 2025-05-06 09:46:58 -04:00
stainless-app[bot]
c8c233135c feat(api): api update (#2568) 2025-05-06 09:46:57 -04:00
stainless-app[bot]
4a7cce2366 codegen metadata 2025-05-06 09:46:57 -04:00
stainless-app[bot]
a32f7f4efd feat(radar): add new endpoint mappings (#2567) 2025-05-06 09:46:57 -04:00
stainless-app[bot]
671d6f13da codegen metadata 2025-05-06 09:46:57 -04:00
stainless-app[bot]
a06b786bd0 codegen metadata 2025-05-06 09:46:57 -04:00
stainless-app[bot]
1a00b4942c codegen metadata 2025-05-06 09:46:57 -04:00
stainless-app[bot]
43cc685c2e codegen metadata 2025-05-06 09:46:57 -04:00
stainless-app[bot]
2a72515dcd codegen metadata 2025-05-06 09:46:57 -04:00
stainless-app[bot]
eed2102b4a codegen metadata 2025-05-06 09:46:57 -04:00
stainless-app[bot]
171d27895a codegen metadata 2025-05-06 09:46:56 -04:00
stainless-app[bot]
79599563c7 codegen metadata 2025-05-06 09:46:56 -04:00
stainless-app[bot]
0a539cac43 codegen metadata 2025-05-06 09:46:56 -04:00
stainless-app[bot]
06dc8d6337 codegen metadata 2025-05-06 09:46:56 -04:00
stainless-app[bot]
db63a891f6 codegen metadata 2025-05-06 09:46:56 -04:00
stainless-app[bot]
fce9f77df7 codegen metadata 2025-05-06 09:46:56 -04:00
stainless-app[bot]
373e33095f codegen metadata 2025-05-06 09:46:56 -04:00
stainless-app[bot]
db75221789 codegen metadata 2025-05-06 09:46:56 -04:00
stainless-app[bot]
c3a6b8b8ce feat(api): api update (#2566) 2025-05-06 09:46:56 -04:00
stainless-app[bot]
ee0b98803c feat(api): api update (#2565) 2025-05-06 09:46:55 -04:00
stainless-app[bot]
8628ff138e codegen metadata 2025-05-06 09:46:55 -04:00
stainless-app[bot]
e082e70472 feat(api): api update (#2564) 2025-05-06 09:46:55 -04:00
stainless-app[bot]
5376e01a03 codegen metadata 2025-05-06 09:46:55 -04:00
stainless-app[bot]
9f5db76d67 codegen metadata 2025-05-06 09:46:55 -04:00
stainless-app[bot]
7b4b6ba0ac codegen metadata 2025-05-06 09:46:55 -04:00
stainless-app[bot]
2c18c7b56b codegen metadata 2025-05-06 09:46:55 -04:00
stainless-app[bot]
18e260729b codegen metadata 2025-05-06 09:46:55 -04:00
stainless-app[bot]
434c9bcfdc codegen metadata 2025-05-06 09:46:55 -04:00
stainless-app[bot]
8a6a86ec96 codegen metadata 2025-05-06 09:46:54 -04:00
stainless-app[bot]
12d8b2aa53 codegen metadata 2025-05-06 09:46:54 -04:00
stainless-app[bot]
129ad31e34 codegen metadata 2025-05-06 09:46:54 -04:00
stainless-app[bot]
f89618e1f5 feat(api): api update (#2563) 2025-05-06 09:46:54 -04:00
stainless-app[bot]
1b62d3e0b0 codegen metadata 2025-05-06 09:46:54 -04:00
stainless-app[bot]
9014a25047 codegen metadata 2025-05-06 09:46:54 -04:00
stainless-app[bot]
06805500de codegen metadata 2025-05-06 09:46:54 -04:00
stainless-app[bot]
44c1559839 codegen metadata 2025-05-06 09:46:54 -04:00
stainless-app[bot]
0a0e94ba98 codegen metadata 2025-05-06 09:46:54 -04:00
stainless-app[bot]
2ec6012630 feat(api): api update (#2562) 2025-05-06 09:46:53 -04:00
stainless-app[bot]
d4b4d44fa4 feat(api): api update (#2561) 2025-05-06 09:46:53 -04:00
stainless-app[bot]
4f2901796c feat(api): api update (#2560) 2025-05-06 09:46:53 -04:00
stainless-app[bot]
f0210024ca feat(api): api update (#2559) 2025-05-06 09:46:53 -04:00
stainless-app[bot]
60524682ae codegen metadata 2025-05-06 09:46:53 -04:00
stainless-app[bot]
1ad9c65df2 codegen metadata 2025-05-06 09:46:53 -04:00
stainless-app[bot]
cfadb1f3dd codegen metadata 2025-05-06 09:46:53 -04:00
stainless-app[bot]
f9a17c08cc codegen metadata 2025-05-06 09:46:53 -04:00
stainless-app[bot]
bffab4392b codegen metadata 2025-05-06 09:46:52 -04:00
stainless-app[bot]
f4cb436a7b codegen metadata 2025-05-06 09:46:52 -04:00
stainless-app[bot]
2f0c13d341 codegen metadata 2025-05-06 09:46:52 -04:00
stainless-app[bot]
7faa67e868 codegen metadata 2025-05-06 09:46:52 -04:00
stainless-app[bot]
132c1cce10 codegen metadata 2025-05-06 09:46:52 -04:00
stainless-app[bot]
2e3260adc4 codegen metadata 2025-05-06 09:46:52 -04:00
stainless-app[bot]
0aa2a75cb7 codegen metadata 2025-05-06 09:46:52 -04:00
stainless-app[bot]
3d1c382c88 codegen metadata 2025-05-06 09:46:52 -04:00
stainless-app[bot]
4f672b2779 codegen metadata 2025-05-06 09:46:52 -04:00
stainless-app[bot]
ec87056a22 codegen metadata 2025-05-06 09:46:51 -04:00
stainless-app[bot]
77c1f63438 codegen metadata 2025-05-06 09:46:51 -04:00
stainless-app[bot]
70a36e8bc2 codegen metadata 2025-05-06 09:46:51 -04:00
stainless-app[bot]
3eb852c848 codegen metadata 2025-05-06 09:46:51 -04:00
stainless-app[bot]
8fa7fa3146 codegen metadata 2025-05-06 09:46:51 -04:00
stainless-app[bot]
dfa3e75c85 codegen metadata 2025-05-06 09:46:51 -04:00
stainless-app[bot]
7d2e41ce6a codegen metadata 2025-05-06 09:46:51 -04:00
stainless-app[bot]
10130aa6d0 codegen metadata 2025-05-06 09:46:51 -04:00
stainless-app[bot]
72b7ad595a codegen metadata 2025-05-06 09:46:51 -04:00
stainless-app[bot]
739729c033 feat(api): api update (#2558) 2025-05-06 09:46:50 -04:00
stainless-app[bot]
37a6922752 codegen metadata 2025-05-06 09:46:50 -04:00
stainless-app[bot]
638463e09f codegen metadata 2025-05-06 09:46:50 -04:00
stainless-app[bot]
a047042584 feat(api): api update (#2557) 2025-05-06 09:46:50 -04:00
stainless-app[bot]
115692aa41 codegen metadata 2025-05-06 09:46:50 -04:00
stainless-app[bot]
a6fcd6b0fc codegen metadata 2025-05-06 09:46:50 -04:00
stainless-app[bot]
5903758eef codegen metadata 2025-05-06 09:46:50 -04:00
stainless-app[bot]
d2589efc19 codegen metadata 2025-05-06 09:46:50 -04:00
stainless-app[bot]
d378fb7df9 codegen metadata 2025-05-06 09:46:50 -04:00
stainless-app[bot]
81bb51bfaa feat(api): api update (#2556) 2025-05-06 09:46:49 -04:00
stainless-app[bot]
e5de4c9695 codegen metadata 2025-05-06 09:46:49 -04:00
stainless-app[bot]
0727f282b3 feat(api): api update (#2554) 2025-05-06 09:46:49 -04:00
stainless-app[bot]
3740dee443 codegen metadata 2025-05-06 09:46:49 -04:00
stainless-app[bot]
faa2c10317 codegen metadata 2025-05-06 09:46:49 -04:00
stainless-app[bot]
65ba2373e8 codegen metadata 2025-05-06 09:46:49 -04:00
stainless-app[bot]
fc6ca90779
release: 4.1.0 (#2359) 2025-03-18 15:42:23 +11:00
Jacob Bednarz
8dacecc0d6
Update bug_report.yml 2025-02-17 11:05:53 +11:00
Jacob Bednarz
80d050507b
Create bug_report.yml 2025-02-17 11:04:58 +11:00
Jacob Bednarz
5bae07901d
remove outdated discussion links 2025-01-30 09:58:32 +11:00
Jacob Bednarz
bf9d860451
Merge pull request #1195 from cloudflare/release-please--branches--main--changes--next 2025-01-14 07:33:20 +11:00
stainless-app[bot]
02d7cbbe9c
release: 4.0.0 2025-01-13 11:46:26 +00:00
stainless-app[bot]
1dedfa998d feat(api): api update (#2355) 2025-01-13 11:43:24 +00:00
stainless-app[bot]
7f83adf153 chore: fix cyclical imports (#2353) 2025-01-13 03:04:19 +00:00
stainless-app[bot]
b241f5b4f5 chore: updates (#2352) 2025-01-11 10:38:07 +00:00
Jacob Bednarz
8ce1bcb3a7
Update README.md 2025-01-10 11:27:56 +11:00
stainless-app[bot]
85fd5868a8 feat(api): manual updates (#2351) 2025-01-10 00:13:51 +00:00
Jacob Bednarz
370836be94
Update record.py 2025-01-10 10:51:40 +11:00
stainless-app[bot]
a1e865f027 fix: correctly handle deserialising cls fields (#2350) 2025-01-09 23:26:18 +00:00
stainless-app[bot]
878ae25e6b feat(api): manual updates (#2349) 2025-01-09 22:20:12 +00:00
stainless-app[bot]
62ae0252e5 codegen metadata 2025-01-09 20:46:24 +00:00
Jacob Bednarz
f3508f4cec
Merge pull request #2346 from cloudflare/robert/fix-example 2025-01-10 06:37:17 +11:00
stainless-app[bot]
302b156f74 codegen metadata 2025-01-09 18:54:16 +00:00
stainless-app[bot]
61a852b624 feat(api): update api shield operation endpoint (#2348) 2025-01-09 18:34:22 +00:00
stainless-app[bot]
1d668f96ed codegen metadata 2025-01-09 18:03:26 +00:00
stainless-app[bot]
8225a83398 feat(api): api update (#2347) 2025-01-09 16:24:16 +00:00
stainless-app[bot]
7fce6348d5 codegen metadata 2025-01-09 14:03:24 +00:00
stainless-app[bot]
9228d480c3 chore(internal): skip broken tests (#2345) 2025-01-09 11:33:01 +00:00
Robert Craigie
520a260515 chore(examples): fix DNS record example 2025-01-09 11:32:27 +00:00
stainless-app[bot]
4423d8f45b feat(api): api update (#2344) 2025-01-09 11:17:10 +00:00
stainless-app[bot]
8072d1e30f codegen metadata 2025-01-09 10:13:05 +00:00
stainless-app[bot]
1bd37b9d64 feat(api): api update (#2343) 2025-01-09 10:09:36 +00:00
stainless-app[bot]
2a3b8c5c95 feat(list_item): remove duplicated anyOf properties from component (#2342) 2025-01-09 03:23:03 +00:00
stainless-app[bot]
11683b6141 feat(api): remove unneeded DNS transforms (#2341) 2025-01-08 23:40:08 +00:00
stainless-app[bot]
e6ff06cb56 fix(api): better support union schemas with common properties (#2340) 2025-01-08 23:11:33 +00:00
stainless-app[bot]
645adba800 feat(dns): add models for batch operations and response (#2339) 2025-01-08 22:01:56 +00:00
Jacob Bednarz
0dfba03ee6
Update demo.py 2025-01-09 07:33:55 +11:00
stainless-app[bot]
e0e0068535 chore(internal): codegen related update (#2337) 2025-01-08 20:20:30 +00:00
stainless-app[bot]
5a0030a63d docs: fix typos (#2336) 2025-01-08 13:41:20 +00:00
stainless-app[bot]
7af6c0025b feat(examples): update paths to reflect namespace changes (#2334) 2025-01-08 00:55:53 +00:00
Jacob Bednarz
2b17e06de2
Rename examples/workers/ai/demo.py to examples/ai/demo.py 2025-01-08 11:46:59 +11:00
Jacob Bednarz
df1729282f
Update record.py 2025-01-08 11:45:53 +11:00
stainless-app[bot]
6074a04a11 test: skip more HTTP 422 failures from prism (#2333) 2025-01-07 23:46:18 +00:00
stainless-app[bot]
68720aacb7 test: skip more HTTP 422 failures from prism (#2332) 2025-01-07 23:28:50 +00:00
stainless-app[bot]
0a952c0532 feat(dlp): skip tests for entries update due to HTTP 422 in prism (#2331) 2025-01-07 23:05:07 +00:00
stainless-app[bot]
349d7af568 fix(client): only call .close() when needed (#2330) 2025-01-07 20:01:46 +00:00
Robert Craigie
41a215873a fix(types): correct forward usage 2025-01-07 19:55:40 +00:00
Robert Craigie
10e2b1241c fix(types): work around cyclical import error 2025-01-07 10:46:18 +00:00
stainless-app[bot]
799c954083 chore(internal): bump httpx dependency (#2328) 2025-01-07 09:50:28 +00:00
stainless-app[bot]
ff79b8b6b1 chore(internal): codegen related update (#2327) 2025-01-07 09:04:44 +00:00
stainless-app[bot]
7e80cb872d feat(api): manual updates (#2326) 2025-01-07 04:56:08 +00:00
stainless-app[bot]
2a2e1991f7 feat(api): manual updates (#2325) 2025-01-07 04:44:10 +00:00
stainless-app[bot]
da91e219ed feat(api): mark JSON as initialism (#2324) 2025-01-07 04:40:50 +00:00
stainless-app[bot]
cc90fdc422 feat(api): skip authorization failures in prism (#2323) 2025-01-07 04:33:40 +00:00
stainless-app[bot]
e6a1bfad0b feat(addressing)!: reshuffle relationship in the namespace to align with the product (#2322) 2025-01-07 02:39:51 +00:00
stainless-app[bot]
f6b6e83986 feat(origin_post_quantum_encryption): swap PUT for PATCH operation (#2321) 2025-01-06 21:07:15 +00:00
stainless-app[bot]
bdb21a52db feat(api): api update (#2320) 2025-01-06 20:11:02 +00:00
stainless-app[bot]
dce94373dc feat(api): Add new Aegis zone setting (#2319) 2025-01-06 19:26:26 +00:00
stainless-app[bot]
9229d539d1 feat(api): api update (#2318) 2025-01-06 17:59:08 +00:00
stainless-app[bot]
c6cf3dc770 feat(api): api update (#2317) 2025-01-06 17:47:52 +00:00
stainless-app[bot]
a271105854 chore: add missing isclass check (#2316) 2025-01-06 17:16:24 +00:00
stainless-app[bot]
09f456c084 feat(api): api update (#2315) 2025-01-06 10:55:23 +00:00
stainless-app[bot]
f411df9d1f codegen metadata 2025-01-06 03:36:40 +00:00
stainless-app[bot]
a7aacf00c9 codegen metadata 2025-01-06 03:30:19 +00:00
stainless-app[bot]
b04ba760dc feat(cloud_connector): define body param name (#2314) 2025-01-06 03:07:23 +00:00
stainless-app[bot]
8f975358c9 codegen metadata 2025-01-04 12:51:53 +00:00
stainless-app[bot]
6c97352fd4 feat(api): api update (#2313) 2025-01-04 00:01:03 +00:00
stainless-app[bot]
f7ca287ebc feat(api): manual updates (#2312) 2025-01-03 03:55:20 +00:00
stainless-app[bot]
20fbd7d260 feat(zone_settings): update origin_max_http_version model (#2311) 2025-01-03 03:52:07 +00:00
stainless-app[bot]
a1ef1be8af feat(r2)!: rename cf-r2-jurisdiction to more usable jurisdiction parameter (#2310) 2025-01-03 01:52:26 +00:00
stainless-app[bot]
fd6395586b feat(r2)!: rename cf-r2-jurisdiction to more usable jurisdiction parameter (#2309) 2025-01-03 01:49:25 +00:00
stainless-app[bot]
5dfdcbd6e1 feat(r2)!: rename cf-r2-jurisdiction to more usable jurisdiction parameter (#2308) 2025-01-03 01:26:37 +00:00
stainless-app[bot]
8edd6d6cbd chore: small refactors (#2306) 2025-01-02 03:39:16 +00:00
stainless-app[bot]
4493d6c280 feat(ai): add support for search endpoints and finetunes (#2305) 2025-01-02 02:24:17 +00:00
stainless-app[bot]
c10d3b7485 feat(loa_documents)!: move download subresource into parent as get (#2304) 2025-01-01 23:34:59 +00:00
stainless-app[bot]
b9a842b5a8 feat(addressing)!: move service bindings to dedicated namespace (#2303) 2025-01-01 23:30:35 +00:00
stainless-app[bot]
df84d3a366 feat(api): manual updates (#2302) 2025-01-01 20:44:58 +00:00
stainless-app[bot]
91253c2a7c feat(api): manual updates (#2301) 2025-01-01 20:27:58 +00:00
stainless-app[bot]
73ec2ba285 chore(internal): codegen related update (#2300) 2025-01-01 19:38:22 +00:00
stainless-app[bot]
429c4ee023 feat(api): api update (#2299) 2024-12-29 06:11:17 +00:00
stainless-app[bot]
2085a9ea03 feat(api): api update (#2298) 2024-12-19 22:49:00 +00:00
stainless-app[bot]
5b6c2365c4 codegen metadata 2024-12-19 22:45:17 +00:00
stainless-app[bot]
5d21b01729 codegen metadata 2024-12-19 22:39:44 +00:00
stainless-app[bot]
124d934f1f codegen metadata 2024-12-19 22:33:16 +00:00
stainless-app[bot]
1d4bea4918 feat(api): api update (#2297) 2024-12-19 21:22:56 +00:00
stainless-app[bot]
1230240fb7 codegen metadata 2024-12-19 19:16:37 +00:00
stainless-app[bot]
e7936f6b3d feat(api): api shield operations updates; rename discovery resource (#2296) 2024-12-18 22:12:49 +00:00
stainless-app[bot]
a3043d4a8c feat(api): manual updates (#2295) 2024-12-18 20:25:13 +00:00
stainless-app[bot]
17db44d1b1 feat(api): api update (#2294) 2024-12-18 18:23:02 +00:00
stainless-app[bot]
f2cdcdc4d6 feat(api): api update (#2293) 2024-12-18 18:12:03 +00:00
stainless-app[bot]
5408013619 feat(api): api update (#2292) 2024-12-18 17:22:32 +00:00
stainless-app[bot]
17a3ce1057 feat(api): api update (#2291) 2024-12-18 12:14:47 +00:00
stainless-app[bot]
db7684993c feat(api): api update (#2290) 2024-12-18 10:22:06 +00:00
stainless-app[bot]
9cb1e41da9 chore(internal): codegen related update (#2289) 2024-12-17 22:50:42 +00:00
stainless-app[bot]
52ec8391c9 feat(api): api update (#2288) 2024-12-17 22:44:46 +00:00
stainless-app[bot]
ce7f87207e feat(api): map more endpoints (#2287) 2024-12-17 22:41:32 +00:00
stainless-app[bot]
efa8fcb924 feat(api): api update (#2286) 2024-12-17 22:38:14 +00:00
stainless-app[bot]
9cae1f099f feat(api): api update (#2285) 2024-12-17 22:25:48 +00:00
stainless-app[bot]
b1b4b24f24 codegen metadata 2024-12-17 21:32:44 +00:00
stainless-app[bot]
982f95ad5f feat(api): api update (#2284) 2024-12-17 20:19:54 +00:00
stainless-app[bot]
6b98f7a14e chore(internal): fix some typos (#2283) 2024-12-17 17:28:30 +00:00
stainless-app[bot]
712c994276 chore(internal): codegen related update (#2282) 2024-12-16 17:37:28 +00:00
stainless-app[bot]
54e1a34f48 docs(readme): example snippet for client context manager (#2280) 2024-12-16 16:17:15 +00:00
stainless-app[bot]
0991241905 feat(workers): add routes support (#2279) 2024-12-16 04:52:15 +00:00
stainless-app[bot]
e5c69df85f feat(dns): fix model oneOf (#2278) 2024-12-15 23:31:13 +00:00
stainless-app[bot]
674c2cec27 feat(ai): move AI back to dedicated namespace (#2277) 2024-12-15 23:27:36 +00:00
stainless-app[bot]
d77a47e7ec feat(api): api update (#2276) 2024-12-13 16:10:24 +00:00
stainless-app[bot]
5c57d32bf1 feat(api): Update verb on PATCH zone hold method (#2275) 2024-12-13 15:49:17 +00:00
stainless-app[bot]
352b69df43 chore(internal): updated imports (#2274) 2024-12-13 14:01:49 +00:00
stainless-app[bot]
fcf96f7318 feat(api): api update (#2273) 2024-12-13 13:45:45 +00:00
stainless-app[bot]
2fe9a7082b chore(internal): remove some duplicated imports (#2272) 2024-12-13 11:15:46 +00:00
stainless-app[bot]
cf4cf84ef5 codegen metadata 2024-12-13 06:13:39 +00:00
Jacob Bednarz
0c5439a1d0
Update record.py 2024-12-13 15:50:36 +11:00
Jacob Bednarz
f3b2007357
cleanup DNS record after the test 2024-12-13 15:39:14 +11:00
Jacob Bednarz
9e517da586
fix CLOUDFLARE_ZONE_ID value 2024-12-13 15:35:08 +11:00
Jacob Bednarz
642d2d3b6a
update dns example path 2024-12-13 15:23:23 +11:00
Jacob Bednarz
c59b644abf
update example paths 2024-12-13 15:12:27 +11:00
Jacob Bednarz
f78a05510f
Merge pull request #2271 from cloudflare/update-examples 2024-12-13 15:08:40 +11:00
Jacob Bednarz
d723b3769b
fix(example): update example to reflect new structure 2024-12-13 15:03:42 +11:00
stainless-app[bot]
582142f123 fix(internal): add cleaner handling of DNS unions (#2270) 2024-12-13 02:43:52 +00:00
stainless-app[bot]
90d0608e7a feat(ai)!: move to dedicated namespace (#2269) 2024-12-13 02:05:06 +00:00
stainless-app[bot]
f21869ffa9 feat(api): Add PATCH zone hold update method (#2268) 2024-12-13 01:56:02 +00:00
stainless-app[bot]
165bc8c274 feat(api): fix internal URL mappings (#2267) 2024-12-13 01:23:04 +00:00
stainless-app[bot]
e738082ba7 feat(api): api update (#2266) 2024-12-12 20:57:11 +00:00
Robert Craigie
da884ff78b chore: use TypeAliasType for Pydantic v2 only 2024-12-12 13:01:05 +00:00
stainless-app[bot]
f68f721a33 chore(internal): add support for TypeAliasType (#2265) 2024-12-12 12:53:30 +00:00
stainless-app[bot]
72e5f89f7d chore(internal): bump pyright (#2264) 2024-12-12 12:14:42 +00:00
Jacob Bednarz
ebd0a3af40 feat: Delete examples/.keep 2024-12-12 03:50:34 +00:00
Jacob Bednarz
b2587fcbe1
Delete examples/.keep 2024-12-12 14:50:28 +11:00
Jacob Bednarz
792e093841 feat: swap DNS example to A 2024-12-12 03:45:44 +00:00
Jacob Bednarz
a320820466
swap DNS example to A 2024-12-12 14:45:37 +11:00
stainless-app[bot]
acbdc24863 feat: generate more types that are used as request bodies (#2263) 2024-12-12 00:11:14 +00:00
stainless-app[bot]
72b7defac7 feat(pagerules): rename namespace to page_rules (#2262) 2024-12-11 21:31:26 +00:00
Robert Craigie
c7dffd760e Merge remote-tracking branch 'origin/main' into next 2024-12-10 10:02:53 +00:00
Robert Craigie
332f48d846 chore: switch to TypeAliasType for request tracer 2024-12-10 09:29:11 +00:00
stainless-app[bot]
560801e982 feat(dlp): disable problematic test (#2261) 2024-12-10 09:21:33 +00:00
stainless-app[bot]
d2f86b69e9 chore: updates (#2260) 2024-12-10 08:30:50 +00:00
stainless-app[bot]
7f6dfe242b test: skip assertions with invalid auth failures (#2259) 2024-12-10 04:58:08 +00:00
stainless-app[bot]
041b12d7d0 test: skip assertions with invalid auth failures (#2258) 2024-12-10 04:45:12 +00:00
stainless-app[bot]
9e6edc9be5 test: skip assertions with invalid auth failures (#2257) 2024-12-10 04:30:53 +00:00
stainless-app[bot]
db72d31b7c fix(urlscanner): fix invalid schema definition for plain text (#2256) 2024-12-10 03:35:40 +00:00
stainless-app[bot]
f3206a6abb codegen metadata 2024-12-10 03:20:38 +00:00
stainless-app[bot]
6b30a5b716 codegen metadata 2024-12-10 02:43:12 +00:00
stainless-app[bot]
f70b142bfe feat(api): manual updates (#2255) 2024-12-10 00:01:26 +00:00
stainless-app[bot]
39bd39c544 feat(content_scanning): introduce support (#2254) 2024-12-09 23:55:55 +00:00
stainless-app[bot]
89e9982bc2 chore(internal): codegen related update (#2253) 2024-12-09 19:57:44 +00:00
stainless-app[bot]
3f9fd35d89 docs(readme): fix http client proxies example (#2252) 2024-12-09 18:19:00 +00:00
stainless-app[bot]
ff3807c964 chore(internal): bump pydantic dependency (#2251) 2024-12-09 14:38:24 +00:00
stainless-app[bot]
cb658ad623 test: uncomment another round of broken prism tests (#2250) 2024-12-09 04:18:19 +00:00
stainless-app[bot]
5bd4192470 test(api): disable some broken prism tests pending investigation (#2249) 2024-12-09 04:01:09 +00:00
stainless-app[bot]
8b5316e41c feat(dex): add commands support (#2248) 2024-12-09 02:31:04 +00:00
stainless-app[bot]
240f6c5aa7 codegen metadata 2024-12-07 01:16:49 +00:00
stainless-app[bot]
38a93e7579 feat(api): api update (#2247) 2024-12-06 16:58:50 +00:00
stainless-app[bot]
e2f5e1b186 feat(infrastructure_targets): add bulk endpoints (#2246) 2024-12-06 00:11:02 +00:00
stainless-app[bot]
c12dfc071a feat(api): api update (#2245) 2024-12-05 18:58:04 +00:00
stainless-app[bot]
0978d147d0 feat(api): api update (#2244) 2024-12-04 20:01:29 +00:00
stainless-app[bot]
86ca907944 feat(api): api update (#2243) 2024-12-04 19:03:40 +00:00
stainless-app[bot]
571fe0eafb feat(dns): remove delta model (#2242) 2024-12-04 04:30:15 +00:00
stainless-app[bot]
4b2bf34d7b chore: make the Omit type public (#2241) 2024-12-04 03:05:49 +00:00
Robert Craigie
a824f1b1ea chore(internal): fix formatting 2024-12-03 20:54:33 -05:00
Stainless Bot
375bc8c56e feat(kv)!: move analytics under existing namespace (#2239) 2024-12-04 01:48:54 +00:00
Robert Craigie
4823b68243 revert: fix(project): constrain incompatible httpx and pydantic versions 2024-12-03 18:01:18 -05:00
Robert Craigie
6a4602abc1 feat: release: 3.1.1 2024-12-03 22:45:33 +00:00
Robert Craigie
cb5fbad852 feat: fix(project): constrain incompatible httpx and pydantic versions 2024-12-03 22:45:33 +00:00
Jacob Bednarz
2284798235
Merge pull request #2236 from cloudflare/robert/backport-dep-pins
release: 3.1.1
2024-12-04 09:45:27 +11:00
stainless-app[bot]
84bc37c6ca feat(api): api update (#2238) 2024-12-03 15:03:20 +00:00
stainless-app[bot]
adc6f6bc43 feat(api): api update (#2237) 2024-12-03 14:40:36 +00:00
stainless-bot
a0f4c07c9e codegen metadata 2024-12-03 13:35:11 +00:00
stainless-app[bot]
34e5a2986d feat(dns_firewall): break out into standalone package (#2235) 2024-12-03 10:07:49 +00:00
stainless-app[bot]
c3cd782dea feat(zone_transfers)!: move under DNS namespace (#2234) 2024-12-03 09:47:15 +00:00
stainless-app[bot]
40cb3e10a7 feat(dnssec)!: move under DNS namespace (#2233) 2024-12-03 09:22:43 +00:00
stainless-app[bot]
7d503e6c36 chore(internal): bump pyright (#2232) 2024-12-02 20:45:40 +00:00
Robert Craigie
4f5d9ef977 release: 3.1.1 2024-12-02 13:43:01 -05:00
Robert Craigie
00f4d23458 fix(project): constrain incompatible httpx and pydantic versions 2024-12-02 13:26:20 -05:00
stainless-bot
13247e74f7 codegen metadata 2024-12-02 14:49:55 +00:00
stainless-app[bot]
3823729022 feat(url_scanner)!: swap all methods to be v2 only (#2231) 2024-12-02 02:10:11 +00:00
stainless-app[bot]
1156419c4d chore(internal): codegen related update (#2230) 2024-11-29 18:58:29 +00:00
stainless-bot
076177e470 codegen metadata 2024-11-29 18:15:14 +00:00
stainless-app[bot]
2b35234067 feat(leaked_credential_check): add terraform resource (#2229) 2024-11-29 00:08:45 +00:00
stainless-app[bot]
a3698135b8 fix(client): compat with new httpx 0.28.0 release (#2228) 2024-11-28 16:18:08 +00:00
stainless-app[bot]
ace3716898 feat(api): api update (#2227) 2024-11-28 06:12:29 +00:00
stainless-app[bot]
70659321d9 feat(api): manual updates (#2226) 2024-11-28 05:01:27 +00:00
stainless-app[bot]
c04d762fc0 feat(urlscanner): swap to v2 create (#2225) 2024-11-28 01:45:13 +00:00
stainless-app[bot]
2cad4a00e9 feat(internal): update path placeholders (#2224) 2024-11-28 01:18:24 +00:00
stainless-app[bot]
2e9734b0e7 feat(api): api update (#2223) 2024-11-27 15:25:10 +00:00
stainless-app[bot]
ee088e9f99 chore(internal): exclude mypy from running on tests (#2222) 2024-11-27 14:08:20 +00:00
stainless-app[bot]
0f018249fc feat(api): api update (#2221) 2024-11-27 10:56:56 +00:00
stainless-bot
2c1492df86 codegen metadata 2024-11-27 01:28:27 +00:00
stainless-bot
5b79c504ff codegen metadata 2024-11-27 01:22:21 +00:00
stainless-bot
8eac90a40d codegen metadata 2024-11-27 00:05:31 +00:00
stainless-bot
aa8b4a611d codegen metadata 2024-11-26 23:58:23 +00:00
stainless-bot
5570f239b1 codegen metadata 2024-11-26 23:47:24 +00:00
stainless-bot
c9849147c3 codegen metadata 2024-11-26 23:05:35 +00:00
stainless-app[bot]
de07ba24fc feat(warp_connector)!: move under zero trust namespace (#2220) 2024-11-26 22:16:06 +00:00
stainless-app[bot]
88819fcc48 feat(api): api update (#2219) 2024-11-26 21:59:11 +00:00
stainless-app[bot]
55b8cff543 chore(internal): codegen related update (#2218) 2024-11-26 21:53:21 +00:00
stainless-app[bot]
09de961772 chore(internal): codegen related update (#2217) 2024-11-26 21:50:15 +00:00
stainless-app[bot]
272e71cf39 feat(api): api update (#2216) 2024-11-26 21:47:31 +00:00
stainless-app[bot]
ce08157eef docs(api.md): fix return type annotations (#2215) 2024-11-26 21:39:06 +00:00
stainless-app[bot]
515e68c5bd chore(internal): codegen related update (#2214) 2024-11-26 21:05:35 +00:00
stainless-app[bot]
5bf1ef5e81 chore(internal): codegen related update (#2213) 2024-11-26 21:02:40 +00:00
stainless-app[bot]
19d7551f79 feat(api): api update (#2212) 2024-11-26 21:00:02 +00:00
stainless-bot
b6cc8324bd codegen metadata 2024-11-26 20:28:08 +00:00
stainless-bot
4786ac7470 codegen metadata 2024-11-26 20:02:45 +00:00
stainless-app[bot]
eb4ca16704
chore: workaround circular import error (#2210)
Co-authored-by: Robert Craigie <robert@craigie.dev>
2024-11-26 09:55:20 +00:00
stainless-app[bot]
51a00052d1 feat(api): api update (#2211) 2024-11-26 06:22:30 +00:00
stainless-app[bot]
458a4a57c8 feat(api): api update (#2209) 2024-11-25 20:09:15 +00:00
stainless-bot
2d037ba7fb codegen metadata 2024-11-25 17:02:37 +00:00
stainless-app[bot]
9218b3b48b chore: remove now unused cached-property dep (#2208) 2024-11-25 12:25:35 +00:00
stainless-bot
1c448f1846 codegen metadata 2024-11-25 10:03:54 +00:00
stainless-app[bot]
d40b09962f feat(api): manual updates (#2207) 2024-11-22 20:14:05 +00:00
stainless-app[bot]
546cb1c67c feat(api): api update (#2206) 2024-11-22 19:23:12 +00:00
stainless-app[bot]
291389c5d2 feat(api): api update (#2205) 2024-11-22 18:16:08 +00:00
stainless-app[bot]
f43f3928ec feat(zero_trust_device_certificates): update path placeholders (#2204) 2024-11-22 03:18:46 +00:00
stainless-app[bot]
1c97b11edd feat(api): api update (#2203) 2024-11-21 21:26:58 +00:00
stainless-app[bot]
ace26df932 feat(api): api update (#2202) 2024-11-21 20:51:58 +00:00
stainless-app[bot]
dc752c1096 feat(api): api update (#2201) 2024-11-21 20:46:40 +00:00
stainless-app[bot]
5be5fe6c91 feat(api): api update (#2200) 2024-11-21 18:56:44 +00:00
stainless-app[bot]
2d5cecb752 feat(api): api update (#2199) 2024-11-21 17:34:20 +00:00
stainless-app[bot]
1cad8304d0 feat(api): api update (#2198) 2024-11-21 16:12:51 +00:00
stainless-app[bot]
8fb8e8b2ab feat(api): api update (#2197) 2024-11-21 15:54:37 +00:00
stainless-app[bot]
8ed5f71bba feat(r2_bucket): add cors support (#2196) 2024-11-21 03:56:51 +00:00
stainless-app[bot]
2de0fb0b3f feat(api): manual updates (#2195) 2024-11-20 22:24:23 +00:00
stainless-app[bot]
9949651a06 feat(api): update via SDK Studio (#2194) 2024-11-20 22:14:15 +00:00
stainless-app[bot]
d4deaed06b feat(api): update via SDK Studio (#2193) 2024-11-20 22:02:17 +00:00
stainless-app[bot]
f1b6c86ef5 feat(api): update via SDK Studio (#2192) 2024-11-20 21:57:46 +00:00
stainless-app[bot]
b48096544b feat(api): update via SDK Studio (#2191) 2024-11-20 21:50:26 +00:00
stainless-bot
8fa356e6de codegen metadata 2024-11-20 21:45:12 +00:00
stainless-app[bot]
4b5919334b feat(api): update via SDK Studio (#2190) 2024-11-20 21:39:40 +00:00
stainless-app[bot]
93cfe2870a feat(api): update via SDK Studio (#2189) 2024-11-20 21:32:58 +00:00
stainless-app[bot]
09acf0aba6 feat(api): api update (#2188) 2024-11-20 20:42:26 +00:00
stainless-bot
d55a879055 codegen metadata 2024-11-20 20:04:13 +00:00
stainless-app[bot]
4e1d81a164 feat(api): update via SDK Studio (#2187) 2024-11-20 20:01:19 +00:00
stainless-app[bot]
eeb6d8eeb3 feat(zero_trust_organization): swap to upsert for creation (#2186) 2024-11-20 19:53:39 +00:00
stainless-app[bot]
e727768f54 feat(api): update via SDK Studio (#2185) 2024-11-20 19:45:07 +00:00
stainless-bot
073898dc9f codegen metadata 2024-11-20 19:32:38 +00:00
stainless-bot
efe358fa87 codegen metadata 2024-11-20 19:29:48 +00:00
stainless-bot
b461bd659b codegen metadata 2024-11-20 19:26:14 +00:00
stainless-app[bot]
838f684bb7 feat(api): update via SDK Studio (#2184) 2024-11-20 19:10:41 +00:00
stainless-app[bot]
cda5a42a9e feat(api): update via SDK Studio (#2183) 2024-11-20 18:54:22 +00:00
stainless-app[bot]
660adfde85 feat(api): update via SDK Studio (#2182) 2024-11-20 18:34:48 +00:00
stainless-app[bot]
f3c2bb42b3 feat(api): api update (#2181) 2024-11-20 17:50:12 +00:00
stainless-app[bot]
90be13db56 feat(api): api update (#2180) 2024-11-20 14:42:26 +00:00
stainless-app[bot]
d39c7b5190 feat(api): api update (#2179) 2024-11-20 11:23:09 +00:00
stainless-app[bot]
bd94126a86 feat(api): clean up missing models (#2178) 2024-11-20 03:49:07 +00:00
stainless-app[bot]
3fd5de24f3 feat(api): introduce bulk operation methods (#2177) 2024-11-20 01:26:34 +00:00
stainless-app[bot]
c810755564 chore(internal): codegen related update (#2176) 2024-11-20 00:28:41 +00:00
stainless-app[bot]
d22a2debd3 feat(api): api update (#2175) 2024-11-19 23:26:34 +00:00
stainless-app[bot]
dbebda3f46 chore: rebuild project due to codegen change (#2174) 2024-11-19 19:55:53 +00:00
stainless-app[bot]
9e7ca11b0d feat(api): api update (#2173) 2024-11-19 19:34:09 +00:00
stainless-app[bot]
abbdc97e68 feat(api): api update (#2172) 2024-11-19 17:44:32 +00:00
stainless-bot
64c23aa719 codegen metadata 2024-11-19 17:41:32 +00:00
stainless-bot
6cce63201c codegen metadata 2024-11-19 16:56:53 +00:00
stainless-bot
5f7165bf44 codegen metadata 2024-11-19 16:53:51 +00:00
stainless-bot
08ad8b2383 codegen metadata 2024-11-19 16:08:01 +00:00
stainless-app[bot]
f704605381 feat(api): api update (#2171) 2024-11-19 11:09:09 +00:00
stainless-app[bot]
bfd27f86e1 feat(api): api update (#2170) 2024-11-19 08:02:10 +00:00
stainless-app[bot]
94403aa020 feat(api): api update (#2169) 2024-11-18 19:57:11 +00:00
stainless-app[bot]
86eff892d6 feat(api): api update (#2168) 2024-11-18 19:43:43 +00:00
stainless-app[bot]
44c9de7f4e feat(api): api update (#2167) 2024-11-18 15:33:57 +00:00
stainless-bot
cd21ed6a93 codegen metadata 2024-11-18 13:45:31 +00:00
stainless-bot
99783851c3 codegen metadata 2024-11-18 13:42:38 +00:00
stainless-app[bot]
877e8c2484 chore: rebuild project due to codegen change (#2165) 2024-11-18 10:55:55 +00:00
stainless-bot
2b267cec1b codegen metadata 2024-11-18 09:43:11 +00:00
stainless-app[bot]
3f20b98dee feat(api): manual updates (#2164) 2024-11-18 02:20:00 +00:00
stainless-app[bot]
c2770eec42 feat(api): api update (#2163) 2024-11-15 21:10:29 +00:00
stainless-app[bot]
5244425b52 feat(api): api update (#2162) 2024-11-15 19:53:55 +00:00
stainless-bot
6f7623fef2 codegen metadata 2024-11-15 18:12:15 +00:00
stainless-app[bot]
441bcecde6 feat(api): api update (#2161) 2024-11-15 13:01:49 +00:00
stainless-app[bot]
bc2b5c431a feat(api): api update (#2160) 2024-11-15 12:02:11 +00:00
stainless-app[bot]
1629b7f549 feat(api): api update (#2159) 2024-11-15 09:50:14 +00:00
stainless-app[bot]
f92d492937 feat(tokens): move condition and policy to shared models (#2158) 2024-11-15 02:33:55 +00:00
stainless-app[bot]
8c246c1361 feat(tokens): move token value model to shared (#2157) 2024-11-15 02:06:27 +00:00
stainless-app[bot]
9abf6d52c2 feat(python): expand model_type rename to paths as well (#2156) 2024-11-15 01:39:41 +00:00
stainless-app[bot]
503ab54a5a feat(api): clean up indirect models (#2155) 2024-11-15 01:34:55 +00:00
stainless-app[bot]
354f6d28d0 feat(iam): fix model mappings (#2154) 2024-11-15 01:16:14 +00:00
stainless-app[bot]
66d6d48e74 feat(fleet_status): update path placeholders to match conventions (#2153) 2024-11-15 00:11:45 +00:00
stainless-app[bot]
0ac8d45b16 feat(api): api update (#2151) 2024-11-14 17:18:55 +00:00
stainless-app[bot]
99d91330f7 feat(api): api update (#2150) 2024-11-14 17:13:24 +00:00
stainless-app[bot]
b6ca4bd513 feat(api): api update (#2149) 2024-11-14 14:54:44 +00:00
stainless-app[bot]
178ca7e20f feat(api): api update (#2148) 2024-11-14 12:46:13 +00:00
stainless-app[bot]
abbd9f710f feat(api): api update (#2147) 2024-11-14 11:08:38 +00:00
stainless-app[bot]
c1e8143d4f feat(api): api update (#2146) 2024-11-14 03:13:14 +00:00
stainless-app[bot]
6473ee69bc chore: rebuild project due to codegen change (#2145) 2024-11-14 02:20:03 +00:00
stainless-app[bot]
6e79a67fbf feat(api): map in new endpoints for account owned tokens, dns setting views and worker assets (#2144) 2024-11-13 23:22:59 +00:00
stainless-bot
f61777abb5 codegen metadata 2024-11-13 21:19:37 +00:00
stainless-app[bot]
2f10d9cc4c feat(api): api update (#2143) 2024-11-13 13:52:04 +00:00
stainless-app[bot]
0b5a5d0f0b feat(api): api update (#2142) 2024-11-12 19:38:12 +00:00
stainless-bot
d44d69e2c3 codegen metadata 2024-11-12 18:23:01 +00:00
stainless-bot
68582c42d9 codegen metadata 2024-11-12 18:13:09 +00:00
stainless-bot
24412bf446 codegen metadata 2024-11-12 15:16:44 +00:00
stainless-app[bot]
1914be19fb chore: rebuild project due to codegen change (#2141) 2024-11-12 12:12:37 +00:00
stainless-app[bot]
385c77263a feat(api): api update (#2140) 2024-11-12 09:45:23 +00:00
stainless-app[bot]
a88b77db25 fix(waiting_room_rules): define body_param_name for bulk rules endpoint (#2139) 2024-11-12 04:35:06 +00:00
stainless-app[bot]
74f433a9e0 feat(api): clean up missing model references (#2138) 2024-11-12 00:19:30 +00:00
stainless-app[bot]
e323e62645 feat(zero_trust_device): reshuffle structure to allow use of custom and default (#2137) 2024-11-11 22:33:50 +00:00
stainless-app[bot]
b132a0d47f feat(api): api update (#2136) 2024-11-11 20:44:25 +00:00
stainless-bot
504c74e695 codegen metadata 2024-11-11 16:17:47 +00:00
stainless-app[bot]
29e038971e feat(api): api update (#2135) 2024-11-11 15:53:28 +00:00
stainless-app[bot]
fdc0bb6474 chore: rebuild project due to codegen change (#2134) 2024-11-11 11:44:48 +00:00
stainless-bot
6fd4293e5d codegen metadata 2024-11-08 19:18:01 +00:00
stainless-app[bot]
22d878bc6d feat(api): api update (#2133) 2024-11-08 17:59:48 +00:00
stainless-app[bot]
f0898d4b37 feat(api): api update (#2132) 2024-11-08 05:12:51 +00:00
stainless-app[bot]
e077e34c22 feat(api): api update (#2131) 2024-11-07 21:06:15 +00:00
stainless-app[bot]
f57867db82 feat(api): api update (#2130) 2024-11-07 20:07:06 +00:00
stainless-app[bot]
ff2f5dc939 feat(api): api update (#2129) 2024-11-07 17:33:39 +00:00
stainless-app[bot]
dae115058b feat(api): remap models for magic visibility (#2128) 2024-11-07 02:59:24 +00:00
stainless-app[bot]
eef643fdd9 feat(api): api update (#2127) 2024-11-06 17:13:19 +00:00
stainless-app[bot]
fe787a344a feat(api): api update (#2126) 2024-11-06 13:18:32 +00:00
stainless-bot
0d7e3140f0 codegen metadata 2024-11-06 11:01:11 +00:00
stainless-app[bot]
798b1a044e feat(api): api update (#2125) 2024-11-06 10:04:32 +00:00
stainless-bot
52a6813647 codegen metadata 2024-11-06 09:25:38 +00:00
stainless-app[bot]
e03ce048f9 feat(api): api update (#2124) 2024-11-05 19:19:16 +00:00
stainless-bot
a1f401515c codegen metadata 2024-11-05 18:35:36 +00:00
stainless-bot
4becac84ec codegen metadata 2024-11-05 15:11:01 +00:00
stainless-bot
f75e79798d codegen metadata 2024-11-05 14:40:26 +00:00
stainless-bot
4bdc8b8e80 codegen metadata 2024-11-05 09:55:55 +00:00
stainless-bot
cebdca0fda codegen metadata 2024-11-05 09:51:37 +00:00
stainless-app[bot]
f52ebe6d78 feat(api): api update (#2123) 2024-11-05 09:42:57 +00:00
stainless-app[bot]
cb12f0cd6a feat(zero_trust_local_domain_fallback): define body param for updates (#2122) 2024-11-05 04:01:45 +00:00
stainless-bot
a099fad7d2 codegen metadata 2024-11-04 23:09:28 +00:00
stainless-app[bot]
9ef8e452f5 feat(api): initialism for SFU (#2121) 2024-11-04 22:18:55 +00:00
stainless-bot
827c10017e codegen metadata 2024-11-04 22:12:48 +00:00
stainless-bot
7e91d46290 codegen metadata 2024-11-04 22:08:54 +00:00
stainless-bot
da7b5f422b codegen metadata 2024-11-04 21:52:00 +00:00
stainless-bot
4f8e6815ca codegen metadata 2024-11-04 21:46:00 +00:00
stainless-app[bot]
7ed7289ffe feat(calls)!: split turn and sfu apps (#2120) 2024-11-04 21:30:37 +00:00
stainless-app[bot]
9240e69336 feat(api): api update (#2119) 2024-11-04 20:10:59 +00:00
stainless-app[bot]
c0fb56ecaa feat(api): api update (#2118) 2024-11-04 19:18:57 +00:00
stainless-bot
68e3460c1d codegen metadata 2024-11-04 19:06:47 +00:00
stainless-app[bot]
57550b48cd feat(api): api update (#2117) 2024-11-04 18:28:17 +00:00
stainless-app[bot]
dc34f9907d feat(api): api update (#2116) 2024-11-04 17:04:15 +00:00
stainless-bot
a741bdf2fa codegen metadata 2024-11-04 16:48:34 +00:00
stainless-bot
2822b778d6 codegen metadata 2024-11-04 16:39:22 +00:00
stainless-app[bot]
5a0bbb54a2 feat(api): api update (#2115) 2024-11-04 15:56:46 +00:00
stainless-bot
16c1dedaf8 codegen metadata 2024-11-04 14:45:07 +00:00
stainless-bot
a5741e37c2 codegen metadata 2024-11-04 14:10:02 +00:00
stainless-bot
9df3ed0184 codegen metadata 2024-11-04 13:02:33 +00:00
stainless-app[bot]
8481e89081 feat(api): api update (#2114) 2024-11-04 11:15:02 +00:00
stainless-app[bot]
c31276aad8 feat(api): api update (#2113) 2024-11-04 09:47:23 +00:00
stainless-app[bot]
43e110c34d feat(api): remap models to newer bundle names (#2112) 2024-11-04 04:42:47 +00:00
stainless-app[bot]
af11bd2d51 feat(api): remap models to newer bundle names (#2111) 2024-11-04 04:36:33 +00:00
stainless-app[bot]
97587ec1f3 feat(api): make pop initialism (#2110) 2024-11-04 02:26:00 +00:00
stainless-bot
2738b43901 codegen metadata 2024-11-01 23:19:45 +00:00
stainless-bot
4c0208fbb0 codegen metadata 2024-11-01 19:23:47 +00:00
stainless-bot
dba2577ddc codegen metadata 2024-11-01 17:07:21 +00:00
stainless-bot
cff7a71d58 codegen metadata 2024-11-01 16:42:59 +00:00
stainless-bot
784ac5030d codegen metadata 2024-11-01 16:38:15 +00:00
stainless-bot
54252488a6 codegen metadata 2024-11-01 15:44:24 +00:00
stainless-bot
1231213014 codegen metadata 2024-11-01 15:25:15 +00:00
stainless-bot
f2052650d7 codegen metadata 2024-11-01 14:53:40 +00:00
stainless-app[bot]
f0224d993a feat(api): api update (#2109) 2024-11-01 12:32:19 +00:00
stainless-bot
98cbcf0634 codegen metadata 2024-11-01 12:10:37 +00:00
stainless-app[bot]
86aa020531 feat(api): api update (#2108) 2024-11-01 11:08:12 +00:00
stainless-app[bot]
8f86af0bdb fix(api): certificate_pack create flow (#2107) 2024-10-31 22:48:19 +00:00
stainless-bot
8d7e74c70f codegen metadata 2024-10-31 19:34:09 +00:00
stainless-bot
e93416a40a codegen metadata 2024-10-31 19:30:55 +00:00
stainless-bot
b208526849 codegen metadata 2024-10-31 16:21:43 +00:00
stainless-bot
c5015bead1 codegen metadata 2024-10-31 16:18:29 +00:00
stainless-bot
7e4dc286a6 codegen metadata 2024-10-31 13:09:24 +00:00
stainless-bot
e834126e45 codegen metadata 2024-10-30 21:10:07 +00:00
stainless-bot
132b928a2c codegen metadata 2024-10-30 21:05:44 +00:00
stainless-app[bot]
ce27740cf0 feat(r2)!: move domains, event notifications and sippy under bucket namespace (#2106) 2024-10-30 20:10:38 +00:00
stainless-bot
41cf6440ab codegen metadata 2024-10-30 19:54:38 +00:00
stainless-bot
acfefb74fc codegen metadata 2024-10-30 19:24:21 +00:00
stainless-app[bot]
02129537d9 feat(api): api update (#2105) 2024-10-30 19:13:23 +00:00
stainless-bot
2bc2dad099 codegen metadata 2024-10-30 19:10:22 +00:00
stainless-bot
352211e48d codegen metadata 2024-10-30 18:15:24 +00:00
stainless-bot
3ae61fa7b3 codegen metadata 2024-10-30 17:35:56 +00:00
stainless-bot
e20afff450 codegen metadata 2024-10-30 17:27:23 +00:00
stainless-bot
4e9e1946eb codegen metadata 2024-10-30 16:45:57 +00:00
stainless-bot
bb57aa3659 codegen metadata 2024-10-30 16:33:51 +00:00
stainless-bot
a420a8a309 codegen metadata 2024-10-30 16:29:38 +00:00
stainless-bot
ae294348b3 codegen metadata 2024-10-30 16:22:11 +00:00
stainless-bot
39d795030e codegen metadata 2024-10-30 15:08:26 +00:00
stainless-bot
dc78f1fb44 codegen metadata 2024-10-30 13:38:41 +00:00
stainless-bot
ae32a0cb74 codegen metadata 2024-10-30 13:12:25 +00:00
stainless-bot
ca3b4bbae7 codegen metadata 2024-10-30 13:09:03 +00:00
stainless-bot
e62687a18f codegen metadata 2024-10-30 11:51:34 +00:00
stainless-bot
b7c068d8f3 codegen metadata 2024-10-30 11:13:54 +00:00
stainless-bot
86d2ca9596 codegen metadata 2024-10-30 10:14:44 +00:00
stainless-bot
ee7863df06 codegen metadata 2024-10-30 10:07:37 +00:00
stainless-app[bot]
f21bfd7cc1 feat(api): add support for r2 bucket lifecycle and resource sharing (#2104) 2024-10-29 23:03:16 +00:00
stainless-bot
c70c0aab31 codegen metadata 2024-10-29 22:35:10 +00:00
stainless-bot
2fdb36acda codegen metadata 2024-10-29 20:49:07 +00:00
stainless-bot
5224699235 codegen metadata 2024-10-29 19:38:06 +00:00
stainless-bot
60108cff85 codegen metadata 2024-10-29 19:25:32 +00:00
stainless-bot
38cabdb760 codegen metadata 2024-10-29 19:22:53 +00:00
stainless-bot
7884fa9bdb codegen metadata 2024-10-29 19:18:07 +00:00
stainless-bot
028f8121fc codegen metadata 2024-10-29 18:43:59 +00:00
stainless-bot
71f93761ff codegen metadata 2024-10-29 18:37:47 +00:00
stainless-bot
ed673726c5 codegen metadata 2024-10-29 18:32:17 +00:00
stainless-bot
6bba17e417 codegen metadata 2024-10-29 17:16:28 +00:00
stainless-bot
525500af20 codegen metadata 2024-10-29 17:09:17 +00:00
stainless-bot
600cf3611b codegen metadata 2024-10-29 17:02:29 +00:00
stainless-bot
201c3d3a92 codegen metadata 2024-10-29 16:06:13 +00:00
stainless-bot
e3cdcbc551 codegen metadata 2024-10-29 14:34:11 +00:00
stainless-bot
9eef074336 codegen metadata 2024-10-29 14:17:09 +00:00
stainless-bot
ddf63db3dc codegen metadata 2024-10-29 10:33:05 +00:00
stainless-bot
99fa058199 codegen metadata 2024-10-29 06:12:27 +00:00
stainless-app[bot]
f6ccb89f55 feat(zone_cache_variants): fix schema reference for model (#2103) 2024-10-29 03:14:36 +00:00
stainless-bot
35b5c2e507 codegen metadata 2024-10-28 23:57:42 +00:00
stainless-bot
6b1c55caed codegen metadata 2024-10-28 23:33:54 +00:00
stainless-bot
d88201e7d1 codegen metadata 2024-10-28 22:38:41 +00:00
stainless-app[bot]
cc4dd91815 feat(r2): add custom domain and managed domain resources (#2102) 2024-10-28 22:34:26 +00:00
stainless-bot
fe6f102538 codegen metadata 2024-10-28 22:31:37 +00:00
stainless-app[bot]
a42b5410e8 feat(api): api update (#2101) 2024-10-28 21:55:19 +00:00
stainless-app[bot]
adbc2a2bf1 feat(api): api update (#2100) 2024-10-28 21:16:08 +00:00
Stainless Bot
ecd339856a feat(api): api update (#2097) 2024-10-28 21:07:38 +00:00
Stainless Bot
7d79a27e4d feat(api): api update (#2096) 2024-10-28 21:04:54 +00:00
Stainless Bot
82fa3ce708 feat(api): api update (#2094) 2024-10-28 21:03:42 +00:00
stainless-app[bot]
5f6b64ec82 feat(api): api update (#2093) 2024-10-28 17:18:24 +00:00
stainless-app[bot]
f52a8d69e6 feat(api): api update (#2092) 2024-10-28 17:14:09 +00:00
stainless-app[bot]
522ee54868 feat(api): api update (#2091) 2024-10-28 17:04:00 +00:00
stainless-app[bot]
b0a850f383 feat(api): api update (#2090) 2024-10-28 16:35:03 +00:00
stainless-app[bot]
3013e8243c feat(api): api update (#2089) 2024-10-28 16:31:19 +00:00
stainless-app[bot]
78f97fc7ef feat(api): api update (#2088) 2024-10-28 16:21:57 +00:00
stainless-app[bot]
45b1f6c5e0 feat(api): api update (#2087) 2024-10-28 16:15:24 +00:00
stainless-app[bot]
1cf36f9d67 feat(api): api update (#2086) 2024-10-28 14:49:09 +00:00
stainless-app[bot]
839e93f72f feat(api): api update (#2085) 2024-10-28 14:46:00 +00:00
stainless-app[bot]
dac2d0cdd0 feat(api): api update (#2084) 2024-10-28 13:13:45 +00:00
stainless-bot
eafbc7528f codegen metadata 2024-10-28 12:27:01 +00:00
stainless-app[bot]
360515b262 feat(api): api update (#2083) 2024-10-28 12:07:26 +00:00
stainless-app[bot]
3948b37f29 feat(hyperdrive_config): remove overriding id mappings (#2082) 2024-10-28 02:58:11 +00:00
stainless-app[bot]
f573cb2c58 feat(api): api update (#2081) 2024-10-28 02:41:02 +00:00
stainless-app[bot]
0192a712fb feat(snippet_rules): add delete support (#2080) 2024-10-28 00:15:18 +00:00
stainless-app[bot]
122fb95b6b feat(api): api update (#2077) 2024-10-28 00:04:47 +00:00
stainless-app[bot]
516a7dc984 feat(api): api update (#2076) 2024-10-28 00:04:43 +00:00
stainless-app[bot]
7d12c5843f feat(api): api update (#2075) 2024-10-28 00:04:39 +00:00
stainless-bot
0663f4a9a4 codegen metadata 2024-10-28 00:04:36 +00:00
stainless-app[bot]
84d7c24433 feat(api): api update (#2074) 2024-10-28 00:04:32 +00:00
stainless-app[bot]
5836b62d3e feat(api): api update (#2073) 2024-10-28 00:04:28 +00:00
stainless-bot
5bdf8d5379 codegen metadata 2024-10-28 00:04:25 +00:00
stainless-bot
0ad5c7ed72 codegen metadata 2024-10-28 00:04:22 +00:00
stainless-app[bot]
6c589c845b feat(api): api update (#2072) 2024-10-28 00:04:19 +00:00
stainless-app[bot]
02760703b5 feat(api): api update (#2071) 2024-10-28 00:04:16 +00:00
stainless-bot
09278885a8 codegen metadata 2024-10-28 00:04:13 +00:00
stainless-bot
5f3ac2d688 codegen metadata 2024-10-28 00:04:10 +00:00
stainless-bot
5d3f801923 codegen metadata 2024-10-28 00:04:06 +00:00
stainless-app[bot]
dc06ed7a08 feat(api): api update (#2070) 2024-10-28 00:04:03 +00:00
stainless-app[bot]
f21ae8ac28 feat(api): api update (#2069) 2024-10-28 00:04:00 +00:00
stainless-app[bot]
b0faa588ed feat(api): api update (#2068) 2024-10-28 00:03:57 +00:00
stainless-bot
55fdf43298 codegen metadata 2024-10-28 00:03:54 +00:00
stainless-app[bot]
a0e6c34c00 feat(api): api update (#2067) 2024-10-28 00:03:49 +00:00
stainless-app[bot]
e6cd2b2151 feat(api): api update (#2066) 2024-10-28 00:03:46 +00:00
stainless-app[bot]
be92858543 feat(api): api update (#2065) 2024-10-28 00:03:42 +00:00
stainless-bot
5bf3a700f7 codegen metadata 2024-10-28 00:03:39 +00:00
stainless-bot
377fde04c1 codegen metadata 2024-10-28 00:03:36 +00:00
stainless-bot
95dcd8992d codegen metadata 2024-10-28 00:03:32 +00:00
Stainless Bot
6747b4d683 codegen metadata 2024-10-28 00:03:23 +00:00
Stainless Bot
fd48f20481 codegen metadata 2024-10-28 00:01:10 +00:00
Stainless Bot
0d56519468 codegen metadata 2024-10-27 23:35:16 +00:00
Stainless Bot
cd52692d66 feat(api): api update (#2062) 2024-10-24 23:49:14 +00:00
Stainless Bot
587dc9a4b4 feat(api): api update (#2060) 2024-10-24 23:43:05 +00:00
stainless-app[bot]
9ce46d9ee3 feat(api): api update (#2059) 2024-10-24 21:10:31 +00:00
stainless-bot
1653edd2a1 codegen metadata 2024-10-24 19:36:48 +00:00
stainless-bot
dad85a1be0 codegen metadata 2024-10-24 19:18:32 +00:00
stainless-bot
f73219b363 codegen metadata 2024-10-24 19:07:01 +00:00
stainless-app[bot]
b3f5470113 feat(api): api update (#2058) 2024-10-24 18:36:25 +00:00
stainless-app[bot]
11eed51718 feat(api): api update (#2057) 2024-10-24 17:32:40 +00:00
stainless-app[bot]
8e74daca3b feat(api): api update (#2056) 2024-10-24 16:48:47 +00:00
stainless-app[bot]
5f4d8093b4 feat(api): api update (#2055) 2024-10-24 15:59:56 +00:00
stainless-app[bot]
55cd6e2ad2 feat(api): api update (#2054) 2024-10-24 15:22:32 +00:00
stainless-app[bot]
af83eb111d feat(api): api update (#2053) 2024-10-24 15:11:01 +00:00
stainless-bot
d81d6808f2 codegen metadata 2024-10-24 14:32:10 +00:00
stainless-bot
b9e790e678 codegen metadata 2024-10-24 13:07:59 +00:00
stainless-app[bot]
cb97b73607 feat(api): api update (#2050) 2024-10-24 11:37:23 +00:00
stainless-bot
da5514406a codegen metadata 2024-10-24 10:56:21 +00:00
stainless-bot
fdb082b778 codegen metadata 2024-10-24 10:39:48 +00:00
stainless-app[bot]
70681c6954 feat(api): api update (#2049) 2024-10-24 10:16:42 +00:00
stainless-app[bot]
c367fcd5cf feat(api): api update (#2048) 2024-10-24 09:57:25 +00:00
stainless-app[bot]
cda602969d feat(api): api update (#2047) 2024-10-24 09:18:33 +00:00
stainless-app[bot]
463ff301c7 feat(api): api update (#2046) 2024-10-24 03:33:03 +00:00
stainless-app[bot]
f4b6cdc439 feat(api): api update (#2045) 2024-10-24 02:53:21 +00:00
stainless-app[bot]
1f8177a16f feat(api): api update (#2044) 2024-10-24 02:43:48 +00:00
stainless-app[bot]
2e47bc684f feat(api): api update (#2043) 2024-10-24 01:32:03 +00:00
stainless-app[bot]
b744b198d0 feat(api): api update (#2042) 2024-10-23 23:22:33 +00:00
stainless-app[bot]
4db65cd925 feat(api): api update (#2041) 2024-10-23 21:10:12 +00:00
stainless-bot
887626e672 codegen metadata 2024-10-23 20:28:23 +00:00
stainless-app[bot]
fb884d64e9 feat(api): api update (#2040) 2024-10-23 20:04:06 +00:00
stainless-app[bot]
737555c2b2 feat(api): api update (#2039) 2024-10-23 17:18:26 +00:00
stainless-bot
768df2e5db codegen metadata 2024-10-23 17:14:30 +00:00
stainless-bot
733fbfdc6e codegen metadata 2024-10-23 16:23:05 +00:00
stainless-app[bot]
063476e0d8 feat(api): api update (#2037) 2024-10-23 16:18:36 +00:00
stainless-app[bot]
fcee4e4af9 feat(api): api update (#2036) 2024-10-23 16:07:44 +00:00
stainless-app[bot]
51b2454987 feat(api): api update (#2035) 2024-10-23 15:36:53 +00:00
stainless-app[bot]
d20a91b8fa feat(api): api update (#2034) 2024-10-23 14:58:37 +00:00
stainless-bot
72c6a1b0ec codegen metadata 2024-10-23 14:32:32 +00:00
stainless-app[bot]
be3f81a53b feat(api): api update (#2033) 2024-10-23 13:51:17 +00:00
stainless-app[bot]
4f4084218d feat(api): api update (#2032) 2024-10-23 13:35:14 +00:00
stainless-app[bot]
575f39b880 feat(api): api update (#2031) 2024-10-23 09:31:33 +00:00
stainless-app[bot]
e767541701 feat(api): api update (#2030) 2024-10-23 09:28:42 +00:00
stainless-bot
604bfb8dbd codegen metadata 2024-10-23 08:35:51 +00:00
stainless-app[bot]
8a55f951fa feat(api): api update (#2029) 2024-10-23 08:31:36 +00:00
stainless-app[bot]
c7a3bb8700 feat(api): api update (#2028) 2024-10-23 07:59:13 +00:00
stainless-bot
8f0939c492 codegen metadata 2024-10-23 02:19:57 +00:00
stainless-app[bot]
357be834b3 feat(api): api update (#2027) 2024-10-22 22:45:24 +00:00
stainless-app[bot]
30882fcc27 feat(api): api update (#2026) 2024-10-22 22:17:18 +00:00
stainless-app[bot]
8cbd69ef74 feat(api): api update (#2025) 2024-10-22 21:38:40 +00:00
stainless-bot
e17f67cee1 codegen metadata 2024-10-22 20:43:20 +00:00
stainless-bot
afec0a3941 codegen metadata 2024-10-22 20:08:56 +00:00
stainless-app[bot]
1b90f81e62 feat(api): api update (#2024) 2024-10-22 19:37:07 +00:00
stainless-bot
b97a44eded codegen metadata 2024-10-22 19:34:27 +00:00
stainless-bot
d851221411 codegen metadata 2024-10-22 18:55:41 +00:00
stainless-app[bot]
90398ee41d feat(api): api update (#2023) 2024-10-22 18:28:01 +00:00
stainless-app[bot]
955548fd0a feat(api): api update (#2022) 2024-10-22 17:29:47 +00:00
stainless-bot
20e1b3c969 codegen metadata 2024-10-22 16:36:37 +00:00
stainless-bot
fdc91c3f13 codegen metadata 2024-10-22 16:08:24 +00:00
stainless-bot
6cb01f119b codegen metadata 2024-10-22 15:57:15 +00:00
stainless-bot
49f48d3343 codegen metadata 2024-10-22 14:51:33 +00:00
stainless-app[bot]
fc4ebc4b58 feat(api): api update (#2021) 2024-10-22 14:33:16 +00:00
stainless-bot
dedeb0caea codegen metadata 2024-10-22 13:14:33 +00:00
stainless-app[bot]
ba2eddcaa8 feat(api): api update (#2019) 2024-10-22 11:20:57 +00:00
stainless-app[bot]
2298acd2ab feat(api): api update (#2018) 2024-10-22 10:35:54 +00:00
stainless-app[bot]
7354f249f6 feat(api): api update (#2017) 2024-10-22 10:24:51 +00:00
stainless-app[bot]
61a7c100be feat(api): api update (#2016) 2024-10-22 10:09:35 +00:00
stainless-app[bot]
b610201afb feat(api): api update (#2015) 2024-10-22 08:32:07 +00:00
stainless-app[bot]
9c2f609d6a feat(api): api update (#2014) 2024-10-22 08:15:25 +00:00
stainless-app[bot]
d044e24aa2 feat(api): api update (#2013) 2024-10-21 22:13:01 +00:00
stainless-app[bot]
35a1b0c674 feat(api): api update (#2012) 2024-10-21 20:54:30 +00:00
stainless-app[bot]
c23ee2f8f1 feat(api): api update (#2011) 2024-10-21 20:38:41 +00:00
stainless-app[bot]
feb315a49b feat(api): api update (#2010) 2024-10-21 20:24:05 +00:00
stainless-bot
77605d5586 codegen metadata 2024-10-21 19:33:38 +00:00
stainless-app[bot]
ca57d94199 feat(api): api update (#2009) 2024-10-21 18:13:39 +00:00
stainless-app[bot]
c98a66aba5 feat(api): api update (#2008) 2024-10-21 18:10:19 +00:00
stainless-app[bot]
d971c7a188 feat(api): api update (#2007) 2024-10-21 17:17:19 +00:00
stainless-bot
2749d98bc2 codegen metadata 2024-10-21 16:48:09 +00:00
stainless-bot
a12c2b07e7 codegen metadata 2024-10-21 16:45:09 +00:00
stainless-bot
3161bfd970 codegen metadata 2024-10-21 16:37:01 +00:00
stainless-bot
8b670ec07f codegen metadata 2024-10-21 16:29:42 +00:00
stainless-app[bot]
67795e2d4e feat(api): api update (#2006) 2024-10-21 15:48:29 +00:00
stainless-app[bot]
6515c1f7e6 feat(api): api update (#2005) 2024-10-21 13:24:46 +00:00
stainless-bot
af2698665b codegen metadata 2024-10-21 13:04:10 +00:00
stainless-bot
926131ef26 codegen metadata 2024-10-21 13:01:06 +00:00
stainless-bot
a0a179bff8 codegen metadata 2024-10-21 12:57:58 +00:00
stainless-app[bot]
3ba7782c0d feat(api): api update (#2004) 2024-10-21 12:44:13 +00:00
stainless-app[bot]
07cc74a70c feat(api): api update (#2003) 2024-10-21 11:48:17 +00:00
stainless-bot
1d3c031430 codegen metadata 2024-10-21 11:03:22 +00:00
stainless-app[bot]
508b3c5df9 feat(api): api update (#2002) 2024-10-21 10:52:00 +00:00
stainless-app[bot]
e05db80bd1 feat(api): api update (#2001) 2024-10-21 10:23:09 +00:00
stainless-app[bot]
6f5c10e43b feat(api): api update (#2000) 2024-10-21 10:17:57 +00:00
stainless-app[bot]
8625538d03 feat(api): api update (#1999) 2024-10-21 09:48:54 +00:00
stainless-app[bot]
1c422d13dc feat(api): api update (#1998) 2024-10-21 09:35:07 +00:00
stainless-app[bot]
0881227406 feat(api): api update (#1997) 2024-10-21 09:32:30 +00:00
stainless-app[bot]
e7f416c827 feat(api): api update (#1996) 2024-10-18 21:14:07 +00:00
stainless-app[bot]
3e0af28977 feat(api): api update (#1995) 2024-10-18 20:57:41 +00:00
stainless-app[bot]
f322c2367e feat(api): api update (#1994) 2024-10-18 19:15:38 +00:00
stainless-app[bot]
08b0bbac7b feat(api): api update (#1993) 2024-10-18 19:09:20 +00:00
stainless-app[bot]
1d73ad3c3b feat(api): api update (#1992) 2024-10-18 18:02:38 +00:00
stainless-bot
7707838ab6 codegen metadata 2024-10-18 17:38:30 +00:00
stainless-app[bot]
f3bb3d9093 feat(api): api update (#1991) 2024-10-18 17:35:34 +00:00
stainless-bot
38917f453f codegen metadata 2024-10-18 16:18:42 +00:00
stainless-app[bot]
f14dd44944 feat(api): api update (#1990) 2024-10-18 15:43:37 +00:00
stainless-app[bot]
17e2cebbab feat(api): api update (#1989) 2024-10-18 12:10:47 +00:00
stainless-app[bot]
32e41abc50 feat(api): api update (#1988) 2024-10-18 11:48:16 +00:00
stainless-app[bot]
08301afa95 feat(api): api update (#1987) 2024-10-18 11:26:35 +00:00
stainless-app[bot]
17f84557c7 feat(api): api update (#1986) 2024-10-18 10:53:52 +00:00
stainless-app[bot]
a33f67ab3d feat(api): api update (#1985) 2024-10-18 09:31:20 +00:00
stainless-app[bot]
91f4348111 feat(api): api update (#1984) 2024-10-18 08:59:04 +00:00
stainless-app[bot]
5791bebe8e feat(api): api update (#1983) 2024-10-18 08:29:00 +00:00
stainless-app[bot]
ca2334c921 feat(api): api update (#1982) 2024-10-18 07:18:56 +00:00
stainless-app[bot]
02867e6738 feat(api): api update (#1981) 2024-10-18 00:34:27 +00:00
stainless-bot
3248bf18f9 codegen metadata 2024-10-17 23:37:03 +00:00
stainless-app[bot]
0a31178b3c feat(api): api update (#1980) 2024-10-17 23:21:38 +00:00
stainless-app[bot]
651fb08e9a feat(api): api update (#1979) 2024-10-17 23:00:20 +00:00
stainless-app[bot]
6c5ee74708 feat(api): api update (#1978) 2024-10-17 22:18:58 +00:00
stainless-bot
9c00ffb0aa codegen metadata 2024-10-17 21:42:11 +00:00
stainless-app[bot]
4f663e4ff4 feat(api): api update (#1977) 2024-10-17 20:36:38 +00:00
stainless-app[bot]
d668fe2dcc feat(api): api update (#1976) 2024-10-17 20:11:53 +00:00
stainless-app[bot]
179ed30d55 feat(api): api update (#1975) 2024-10-17 18:26:02 +00:00
stainless-app[bot]
7ca47f95aa feat(api): api update (#1974) 2024-10-17 17:34:24 +00:00
stainless-bot
f2305301d9 codegen metadata 2024-10-17 17:29:51 +00:00
stainless-app[bot]
e4fd95d19f feat(api): api update (#1973) 2024-10-17 16:27:13 +00:00
stainless-app[bot]
040be30c7b feat(api): api update (#1972) 2024-10-17 15:22:05 +00:00
stainless-bot
7b24bf760a codegen metadata 2024-10-17 14:00:38 +00:00
stainless-bot
fb2d8a407c codegen metadata 2024-10-17 13:23:03 +00:00
stainless-bot
f68a394aa8 codegen metadata 2024-10-17 13:08:27 +00:00
stainless-app[bot]
f0b3b32553 feat(api): api update (#1971) 2024-10-17 12:40:49 +00:00
stainless-app[bot]
d61b0a2c42 feat(api): api update (#1970) 2024-10-17 11:43:01 +00:00
stainless-app[bot]
efe3bcd6ae feat(api): api update (#1969) 2024-10-17 11:31:43 +00:00
stainless-app[bot]
d59772990d feat(api): api update (#1968) 2024-10-17 11:23:37 +00:00
stainless-app[bot]
f46cc69703 feat(api): api update (#1967) 2024-10-17 10:39:08 +00:00
stainless-app[bot]
4c45e6d259 feat(api): api update (#1966) 2024-10-17 10:26:04 +00:00
stainless-bot
337acb3995 codegen metadata 2024-10-17 10:12:08 +00:00
stainless-bot
2da9bc1305 codegen metadata 2024-10-17 10:07:06 +00:00
stainless-app[bot]
d604765628 feat(api): api update (#1965) 2024-10-17 09:27:08 +00:00
stainless-app[bot]
e6b382cae9 feat(api): api update (#1964) 2024-10-17 09:21:07 +00:00
stainless-bot
bc3de27750 codegen metadata 2024-10-16 20:44:56 +00:00
stainless-app[bot]
920f5c445c feat(api): api update (#1963) 2024-10-16 20:33:18 +00:00
stainless-app[bot]
d44676ab82 feat(api): api update (#1962) 2024-10-16 18:49:37 +00:00
stainless-app[bot]
b6a385ae30 feat(api): api update (#1961) 2024-10-16 18:21:06 +00:00
stainless-bot
32953f89be codegen metadata 2024-10-16 17:54:50 +00:00
stainless-bot
15a30f7880 codegen metadata 2024-10-16 17:43:59 +00:00
stainless-bot
12f7da96cc codegen metadata 2024-10-16 17:41:22 +00:00
stainless-bot
79b77d0249 codegen metadata 2024-10-16 17:22:57 +00:00
stainless-app[bot]
cb5001fee2 feat(api): api update (#1960) 2024-10-16 17:13:21 +00:00
stainless-app[bot]
b68dd1b040 feat(api): api update (#1959) 2024-10-16 16:58:11 +00:00
stainless-bot
113cddba84 codegen metadata 2024-10-16 16:39:44 +00:00
stainless-app[bot]
27923ae041 feat(api): api update (#1958) 2024-10-16 16:03:25 +00:00
stainless-bot
e49abe5cbb codegen metadata 2024-10-16 15:19:51 +00:00
stainless-app[bot]
f5b0d50279 feat(api): api update (#1957) 2024-10-16 13:58:30 +00:00
stainless-bot
43f24b9619 codegen metadata 2024-10-16 13:27:21 +00:00
stainless-app[bot]
308e9165dc feat(api): api update (#1956) 2024-10-16 13:06:02 +00:00
stainless-app[bot]
e54eed5fc4 feat(api): api update (#1955) 2024-10-16 11:36:49 +00:00
stainless-app[bot]
9e6a43b2c5 feat(api): api update (#1954) 2024-10-16 11:00:54 +00:00
stainless-app[bot]
f8b4c0adc2 feat(api): api update (#1953) 2024-10-16 09:12:40 +00:00
stainless-app[bot]
26e5241cd6 feat(api): api update (#1952) 2024-10-15 23:33:56 +00:00
stainless-bot
c12d35de4d codegen metadata 2024-10-15 20:09:03 +00:00
stainless-bot
158769d1b9 codegen metadata 2024-10-15 19:38:36 +00:00
stainless-app[bot]
a66af28dea feat(api): api update (#1951) 2024-10-15 19:30:13 +00:00
stainless-app[bot]
b96e3bfd17 feat(api): api update (#1950) 2024-10-15 18:31:29 +00:00
stainless-app[bot]
bf512ef1ed feat(api): api update (#1949) 2024-10-15 18:15:26 +00:00
stainless-app[bot]
f3c3f6c15c feat(api): api update (#1948) 2024-10-15 14:11:32 +00:00
stainless-app[bot]
c04ac81bb4 feat(api): api update (#1947) 2024-10-15 14:03:19 +00:00
stainless-bot
da2a556cfb codegen metadata 2024-10-15 10:21:55 +00:00
stainless-app[bot]
e965438798 feat(api): api update (#1946) 2024-10-15 10:14:21 +00:00
stainless-app[bot]
09e42ae957 feat(api): api update (#1945) 2024-10-15 01:17:46 +00:00
stainless-bot
5122ca60c3 codegen metadata 2024-10-14 22:23:08 +00:00
stainless-app[bot]
bf01b235bb feat(api): api update (#1944) 2024-10-14 21:31:55 +00:00
stainless-app[bot]
e2d70ce1d0 feat(api): api update (#1943) 2024-10-14 20:29:11 +00:00
stainless-app[bot]
66ad7f26ef feat(api): api update (#1942) 2024-10-14 18:43:42 +00:00
stainless-app[bot]
6f019529bd feat(api): api update (#1941) 2024-10-14 18:14:07 +00:00
stainless-app[bot]
59274dfecb feat(api): api update (#1940) 2024-10-14 17:40:56 +00:00
stainless-bot
124c3eb439 codegen metadata 2024-10-14 16:05:12 +00:00
stainless-app[bot]
89317b2cba feat(api): api update (#1939) 2024-10-14 15:46:39 +00:00
stainless-bot
af06bf8c28 codegen metadata 2024-10-14 15:44:19 +00:00
stainless-app[bot]
2ea8870bed feat(api): OpenAPI spec update via Stainless API (#1938) 2024-10-14 14:03:29 +00:00
stainless-app[bot]
69a2fdc74a feat(api): OpenAPI spec update via Stainless API (#1937) 2024-10-14 10:56:49 +00:00
stainless-bot
6bec8485f6 codegen metadata 2024-10-14 09:57:19 +00:00
stainless-bot
42e5562e27 codegen metadata 2024-10-14 09:39:29 +00:00
stainless-bot
df65317b2a codegen metadata 2024-10-14 07:30:43 +00:00
stainless-app[bot]
ff856ea2f1 feat(api): OpenAPI spec update via Stainless API (#1936) 2024-10-14 00:26:57 +00:00
stainless-app[bot]
1d381305d4 feat(api): manual updates (#1935) 2024-10-13 22:40:14 +00:00
stainless-bot
5af278ec54 codegen metadata 2024-10-11 23:31:08 +00:00
stainless-bot
7f7f62b840 codegen metadata 2024-10-11 21:21:49 +00:00
stainless-app[bot]
3d8042b562 feat(api): OpenAPI spec update via Stainless API (#1934) 2024-10-11 20:42:52 +00:00
stainless-app[bot]
d91caa609c feat(api): OpenAPI spec update via Stainless API (#1933) 2024-10-11 19:38:24 +00:00
stainless-app[bot]
cf99e634d6 feat(api): OpenAPI spec update via Stainless API (#1932) 2024-10-11 17:49:19 +00:00
stainless-app[bot]
620ff822e8 feat(api): OpenAPI spec update via Stainless API (#1931) 2024-10-11 16:41:40 +00:00
stainless-bot
f67edc4460 codegen metadata 2024-10-11 16:39:27 +00:00
stainless-bot
bd421cacf7 codegen metadata 2024-10-11 16:28:16 +00:00
stainless-bot
f8284cedda codegen metadata 2024-10-11 15:55:31 +00:00
stainless-app[bot]
cf3fd16cda feat(api): OpenAPI spec update via Stainless API (#1930) 2024-10-11 15:52:25 +00:00
stainless-app[bot]
71587b0fe1 feat(api): OpenAPI spec update via Stainless API (#1929) 2024-10-11 15:49:46 +00:00
stainless-app[bot]
c5437db041 feat(api): OpenAPI spec update via Stainless API (#1928) 2024-10-11 14:44:01 +00:00
stainless-app[bot]
4bd1ebe405 feat(api): OpenAPI spec update via Stainless API (#1927) 2024-10-11 14:40:55 +00:00
stainless-app[bot]
85c6840873 feat(api): OpenAPI spec update via Stainless API (#1926) 2024-10-11 14:37:09 +00:00
stainless-app[bot]
024fdefdcd feat(api): OpenAPI spec update via Stainless API (#1925) 2024-10-11 14:05:28 +00:00
stainless-app[bot]
680bc72805 feat(api): OpenAPI spec update via Stainless API (#1924) 2024-10-11 13:08:22 +00:00
stainless-app[bot]
1c31155866 feat(api): OpenAPI spec update via Stainless API (#1923) 2024-10-11 11:59:45 +00:00
stainless-bot
27d62d62d0 codegen metadata 2024-10-11 10:21:42 +00:00
stainless-bot
36df4c3e22 codegen metadata 2024-10-10 22:57:34 +00:00
stainless-bot
684240a65d codegen metadata 2024-10-10 22:29:33 +00:00
stainless-bot
1bf46bc1d7 codegen metadata 2024-10-10 17:34:56 +00:00
stainless-app[bot]
e25ad90469 feat(api): OpenAPI spec update via Stainless API (#1922) 2024-10-10 17:19:32 +00:00
stainless-app[bot]
189ad28243 feat(api): OpenAPI spec update via Stainless API (#1921) 2024-10-10 16:56:26 +00:00
stainless-app[bot]
fd3cee59b7 feat(api): OpenAPI spec update via Stainless API (#1920) 2024-10-10 15:36:18 +00:00
stainless-app[bot]
dc5fe87bbf feat(api): OpenAPI spec update via Stainless API (#1919) 2024-10-10 15:28:43 +00:00
stainless-bot
31866a155b codegen metadata 2024-10-10 14:57:35 +00:00
stainless-bot
83718ab6b3 codegen metadata 2024-10-10 14:34:58 +00:00
stainless-bot
2ed521575f codegen metadata 2024-10-10 13:51:52 +00:00
stainless-app[bot]
b1e405f216 feat(api): OpenAPI spec update via Stainless API (#1918) 2024-10-10 13:28:44 +00:00
stainless-app[bot]
d8388f9f44 feat(api): OpenAPI spec update via Stainless API (#1917) 2024-10-10 11:40:44 +00:00
stainless-bot
3e3c0e62df codegen metadata 2024-10-10 11:00:54 +00:00
stainless-app[bot]
10ef4d76b9 feat(api): OpenAPI spec update via Stainless API (#1916) 2024-10-10 10:12:58 +00:00
stainless-app[bot]
7301d16a7b feat(api): api update (#1914) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
1c514852f4 feat(api): api update (#1913) 2024-10-10 10:11:07 +00:00
stainless-bot
0713606d1f codegen metadata 2024-10-10 10:11:07 +00:00
stainless-bot
fd7f34a6e6 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-app[bot]
182f3510b7 feat(api): api update (#1911) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
63fe1fa094 feat(api): api update (#1910) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
4324fd43e6 feat(api): api update (#1909) 2024-10-10 10:11:07 +00:00
stainless-bot
3087a189b0 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-bot
ec2aedc2f4 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-app[bot]
6235fc5e54 feat(api): OpenAPI spec update via Stainless API (#1908) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
2c08205e8c feat(api): OpenAPI spec update via Stainless API (#1907) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
0c6ade2778 feat(api): OpenAPI spec update via Stainless API (#1906) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
3bdb07a96f feat(api): OpenAPI spec update via Stainless API (#1905) 2024-10-10 10:11:07 +00:00
stainless-bot
dee1ce6a27 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-app[bot]
566350e6ca feat(api): OpenAPI spec update via Stainless API (#1904) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
1d7b5bfeea feat(api): OpenAPI spec update via Stainless API (#1903) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
87d045bb31 feat(api): OpenAPI spec update via Stainless API (#1902) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
30ed1b9432 feat(api): OpenAPI spec update via Stainless API (#1901) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
d94ecf8790 feat(api): OpenAPI spec update via Stainless API (#1900) 2024-10-10 10:11:07 +00:00
stainless-bot
2605f1079f codegen metadata 2024-10-10 10:11:07 +00:00
stainless-app[bot]
e62e32dbdd feat(api): OpenAPI spec update via Stainless API (#1899) 2024-10-10 10:11:07 +00:00
stainless-bot
564f06e6b3 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-bot
4a30d420e3 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-app[bot]
f5c8be097b feat(api): OpenAPI spec update via Stainless API (#1898) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
a0861494fd feat(api): OpenAPI spec update via Stainless API (#1897) 2024-10-10 10:11:07 +00:00
stainless-bot
09b968687d codegen metadata 2024-10-10 10:11:07 +00:00
stainless-bot
e1f639a822 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-app[bot]
6bc9217e23 feat(api): OpenAPI spec update via Stainless API (#1896) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
9b4957a0b3 feat(api): OpenAPI spec update via Stainless API (#1895) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
9aed7692a4 feat(api): OpenAPI spec update via Stainless API (#1894) 2024-10-10 10:11:07 +00:00
stainless-bot
0b17b19d6a codegen metadata 2024-10-10 10:11:07 +00:00
stainless-bot
c0351ab338 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-app[bot]
8f9917b569 feat(api): OpenAPI spec update via Stainless API (#1893) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
f2d6d2cc6c feat(workers): add support for script domains (#1892) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
54f94fc400 feat(api): OpenAPI spec update via Stainless API (#1891) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
bd403285b9 feat(api): OpenAPI spec update via Stainless API (#1890) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
26542d3bbe feat(api): OpenAPI spec update via Stainless API (#1889) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
3a9b85b327 feat(api): OpenAPI spec update via Stainless API (#1888) 2024-10-10 10:11:07 +00:00
stainless-bot
2d31cbb63c codegen metadata 2024-10-10 10:11:07 +00:00
stainless-bot
fafe01c685 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-app[bot]
0117f15c86 feat(api): OpenAPI spec update via Stainless API (#1887) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
da91378ae2 chore: add repr to PageInfo class (#1886) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
c36423aa16 chore(internal): codegen related update (#1885) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
37f6a146f3 feat(api): OpenAPI spec update via Stainless API (#1884) 2024-10-10 10:11:07 +00:00
stainless-bot
b8d2685448 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-app[bot]
32efbb8e93 feat(api): OpenAPI spec update via Stainless API (#1883) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
128cc59e93 fix(client): avoid OverflowError with very large retry counts (#1882) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
2783086ce1 feat(api): OpenAPI spec update via Stainless API (#1881) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
ee0e5e37cd feat(api): OpenAPI spec update via Stainless API (#1880) 2024-10-10 10:11:07 +00:00
stainless-bot
af4984db16 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-app[bot]
cbd955bdbd feat(api): OpenAPI spec update via Stainless API (#1879) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
e68ff4c7b9 feat(api): OpenAPI spec update via Stainless API (#1878) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
f0e8b663fb feat(api): OpenAPI spec update via Stainless API (#1877) 2024-10-10 10:11:07 +00:00
stainless-bot
7b52097bc9 codegen metadata 2024-10-10 10:11:07 +00:00
stainless-app[bot]
89b0199fc3 feat(api): OpenAPI spec update via Stainless API (#1876) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
ed0ebb53df feat(api): OpenAPI spec update via Stainless API (#1875) 2024-10-10 10:11:07 +00:00
stainless-app[bot]
edbb212f03 feat(api): OpenAPI spec update via Stainless API (#1874) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
3ece97bde5 feat(api): OpenAPI spec update via Stainless API (#1873) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
d6b4764022 feat(api): OpenAPI spec update via Stainless API (#1872) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
8585227879 feat(api): OpenAPI spec update via Stainless API (#1871) 2024-10-10 10:11:06 +00:00
stainless-bot
efdb3ed636 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
2beddaa2c1 feat(api): OpenAPI spec update via Stainless API (#1869) 2024-10-10 10:11:06 +00:00
stainless-bot
63a8ad58fa codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
40e0317fe5 feat(api): OpenAPI spec update via Stainless API (#1868) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
18912c44e6 chore(internal): add support for parsing bool response content (#1867) 2024-10-10 10:11:06 +00:00
stainless-bot
2236e6e0ba codegen metadata 2024-10-10 10:11:06 +00:00
stainless-bot
b7b842d909 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
3ddf540df0 feat(api): OpenAPI spec update via Stainless API (#1866) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
df19e80a6c feat(api): OpenAPI spec update via Stainless API (#1865) 2024-10-10 10:11:06 +00:00
stainless-bot
0e29466c1b codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
f0c88ed45a feat(api): OpenAPI spec update via Stainless API (#1864) 2024-10-10 10:11:06 +00:00
stainless-bot
12665a7a60 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
7a4fd205a7 feat(api): OpenAPI spec update via Stainless API (#1863) 2024-10-10 10:11:06 +00:00
stainless-bot
945d92a98c codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
e0ee5d7dc5 feat(api): OpenAPI spec update via Stainless API (#1862) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
846d7cd438 feat(api): OpenAPI spec update via Stainless API (#1861) 2024-10-10 10:11:06 +00:00
stainless-bot
9e288bd50d codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
10e8196da1 feat(api): OpenAPI spec update via Stainless API (#1860) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
55d08f8529 feat(api): OpenAPI spec update via Stainless API (#1859) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
132e94801a feat(api): OpenAPI spec update via Stainless API (#1858) 2024-10-10 10:11:06 +00:00
stainless-bot
b78f07247f codegen metadata 2024-10-10 10:11:06 +00:00
stainless-bot
74c14c6322 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
7e7ed18b86 feat(api): OpenAPI spec update via Stainless API (#1857) 2024-10-10 10:11:06 +00:00
stainless-bot
eb53183341 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-bot
060e7cc27c codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
6da2a80baa feat(api): OpenAPI spec update via Stainless API (#1856) 2024-10-10 10:11:06 +00:00
stainless-bot
3d75e81e79 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-bot
f7411a2353 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-bot
8bec0fcacc codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
e3605059e9 feat(api): OpenAPI spec update via Stainless API (#1855) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
596fd93f66 feat(api): OpenAPI spec update via Stainless API (#1854) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
990b6be257 feat(api): OpenAPI spec update via Stainless API (#1853) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
e74b167692 feat(api): OpenAPI spec update via Stainless API (#1852) 2024-10-10 10:11:06 +00:00
stainless-bot
a7cd3e2996 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
d87183b131 feat(api): OpenAPI spec update via Stainless API (#1851) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
712df660c8 feat(api): OpenAPI spec update via Stainless API (#1850) 2024-10-10 10:11:06 +00:00
stainless-bot
1343dd62a5 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
d005361796 feat(api): OpenAPI spec update via Stainless API (#1849) 2024-10-10 10:11:06 +00:00
stainless-bot
3bf112d575 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
8ca485a913 feat(api): OpenAPI spec update via Stainless API (#1848) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
e1c706264b feat(api): OpenAPI spec update via Stainless API (#1847) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
ae8c66ec7a feat(api): OpenAPI spec update via Stainless API (#1846) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
2162287945 feat(api): OpenAPI spec update via Stainless API (#1845) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
16731fee7b feat(api): OpenAPI spec update via Stainless API (#1844) 2024-10-10 10:11:06 +00:00
stainless-bot
63fabd767a codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
f54d5f4892 feat(api): OpenAPI spec update via Stainless API (#1843) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
7bca1860d9 feat(api): OpenAPI spec update via Stainless API (#1842) 2024-10-10 10:11:06 +00:00
stainless-bot
6bc62401ac codegen metadata 2024-10-10 10:11:06 +00:00
stainless-bot
00a0752683 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-bot
44f5ce7c41 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-bot
13915ea9cb codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
93b1b32da0 feat(api): OpenAPI spec update via Stainless API (#1841) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
0fd7351c7a feat(api): OpenAPI spec update via Stainless API (#1840) 2024-10-10 10:11:06 +00:00
stainless-bot
82bf15dd5a codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
9e53e1e869 feat(api): OpenAPI spec update via Stainless API (#1839) 2024-10-10 10:11:06 +00:00
stainless-app[bot]
ff9af05399 feat(api): OpenAPI spec update via Stainless API (#1838) 2024-10-10 10:11:06 +00:00
stainless-bot
5898952833 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-bot
d7355ee086 codegen metadata 2024-10-10 10:11:06 +00:00
stainless-app[bot]
eb7233a3d5 feat(api): OpenAPI spec update via Stainless API (#1836) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
d05f996766 feat(api): OpenAPI spec update via Stainless API (#1835) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
535d4e1c0d feat(api): OpenAPI spec update via Stainless API (#1834) 2024-10-10 10:11:05 +00:00
stainless-bot
19255459d0 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-app[bot]
a5c75f8d3d feat(api): OpenAPI spec update via Stainless API (#1833) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
befb71f27a feat(api): OpenAPI spec update via Stainless API (#1832) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
a518108c23 feat(ai_gateway): add support for deleting logs (#1831) 2024-10-10 10:11:05 +00:00
stainless-bot
df5bae9c88 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-app[bot]
cd0407eaa6 feat(api): OpenAPI spec update via Stainless API (#1830) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
a6ee516277 chore(internal): codegen related update (#1829) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
18f84dfb17 feat(api): OpenAPI spec update via Stainless API (#1828) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
a6b6f55eb1 feat(api): OpenAPI spec update via Stainless API (#1826) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
eec6a916f7 feat(api): OpenAPI spec update via Stainless API (#1825) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
b7ecba7a7d chore(internal): codegen related update (#1824) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
d0ca35f3e3 chore(internal): codegen related update (#1823) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
2c74cd2c91 feat(api): OpenAPI spec update via Stainless API (#1822) 2024-10-10 10:11:05 +00:00
stainless-bot
1af665551a codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
21e69dbaa7 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-app[bot]
7fe9f827bb feat(api): OpenAPI spec update via Stainless API (#1821) 2024-10-10 10:11:05 +00:00
stainless-bot
00278b3f16 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
696c14e697 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-app[bot]
11dc1abc3c feat(api): OpenAPI spec update via Stainless API (#1820) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
61e545d38a feat(api): OpenAPI spec update via Stainless API (#1819) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
8fcde81e68 feat(api): OpenAPI spec update via Stainless API (#1818) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
ea0fa5d885 feat(api): OpenAPI spec update via Stainless API (#1817) 2024-10-10 10:11:05 +00:00
stainless-bot
6136c47d0e codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
a445c74ed0 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
cc107c2986 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
2bf990b175 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-app[bot]
9643d565ff feat(api): OpenAPI spec update via Stainless API (#1816) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
5409f5be0f feat(api): OpenAPI spec update via Stainless API (#1815) 2024-10-10 10:11:05 +00:00
stainless-bot
164c16ddf5 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-app[bot]
22ee635ba1 feat(api): add dom and har initialisms (#1814) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
834bade560 feat(api): add JWT and JWKS initialisms (#1813) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
bc7de91bc3 feat(api): add more endpoint mappings (#1812) 2024-10-10 10:11:05 +00:00
stainless-bot
b79ecf7f9f codegen metadata 2024-10-10 10:11:05 +00:00
stainless-app[bot]
5403ee0e70 feat(api): OpenAPI spec update via Stainless API (#1811) 2024-10-10 10:11:05 +00:00
stainless-bot
ad8d6534e0 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
71d99a3c77 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
78b35029ab codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
48feccbc16 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
6cc310d122 codegen metadata 2024-10-10 10:11:05 +00:00
Stainless Bot
4501163284 fix: revert bad revision (#1808) 2024-10-10 10:11:05 +00:00
Stainless Bot
7c1a5ed7c1 feat(api): enable iam resource, dns_firewall, secondary_dns, logpush datasources, queue consumer, registrar domains, stream (#1807) 2024-10-10 10:11:05 +00:00
Stainless Bot
15a7e54073 feat(api): OpenAPI spec update via Stainless API (#1805) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
4d2bb8eaef feat(api): OpenAPI spec update via Stainless API (#1803) 2024-10-10 10:11:05 +00:00
stainless-bot
200c5b7c7f codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
26df3b9ab0 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
66cf0f0327 codegen metadata 2024-10-10 10:11:05 +00:00
stainless-bot
10a058379b codegen metadata 2024-10-10 10:11:05 +00:00
stainless-app[bot]
d78dfa504b chore(internal): codegen related update (#1802) 2024-10-10 10:11:05 +00:00
stainless-app[bot]
c6001079f9 feat(api): OpenAPI spec update via Stainless API (#1801) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
2f4d626937 chore(internal): codegen related update (#1800) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
3b1867f301 feat(api)!: move event notifications under r2 (#1799) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
e90ddf4855 feat(url_scanner)!: move list method under scans (#1798) 2024-10-10 10:11:04 +00:00
stainless-bot
f5127c6317 codegen metadata 2024-10-10 10:11:04 +00:00
stainless-app[bot]
21a5646787 feat(api): OpenAPI spec update via Stainless API (#1797) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
09d340f3af feat(api): OpenAPI spec update via Stainless API (#1796) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
42a5fec250 chore(internal): use typing_extensions.overload instead of typing (#1795) 2024-10-10 10:11:04 +00:00
stainless-bot
57fbd93d5c codegen metadata 2024-10-10 10:11:04 +00:00
stainless-app[bot]
04a59cd139 feat(api): OpenAPI spec update via Stainless API (#1794) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
b5986ccada feat(api): OpenAPI spec update via Stainless API (#1793) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
012275f154 feat(api): OpenAPI spec update via Stainless API (#1792) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
f67db2dea8 feat(api): OpenAPI spec update via Stainless API (#1791) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
c09f372a05 feat(api): OpenAPI spec update via Stainless API (#1790) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
fca264591f feat(api): OpenAPI spec update via Stainless API (#1789) 2024-10-10 10:11:04 +00:00
stainless-bot
645549daa0 codegen metadata 2024-10-10 10:11:04 +00:00
stainless-app[bot]
988cf1aa58 feat(api): OpenAPI spec update via Stainless API (#1788) 2024-10-10 10:11:04 +00:00
stainless-bot
8de356bd25 codegen metadata 2024-10-10 10:11:04 +00:00
stainless-app[bot]
7cd848ee1f feat(api): OpenAPI spec update via Stainless API (#1787) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
84804f1f9f feat(api): OpenAPI spec update via Stainless API (#1786) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
0d09f54a97 chore: improvements to import performance (#1785) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
144fd8c607 feat(api): OpenAPI spec update via Stainless API (#1784) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
f3503113e3 feat(api): OpenAPI spec update via Stainless API (#1783) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
cb6e4a0b8d feat(api): OpenAPI spec update via Stainless API (#1782) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
b2fadccafc chore(internal): update pydantic v1 compat helpers (#1781) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
4e210af411 feat(api): OpenAPI spec update via Stainless API (#1780) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
5315883933 feat(api): OpenAPI spec update via Stainless API (#1779) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
8f0eeba210 feat(api): OpenAPI spec update via Stainless API (#1778) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
1cd9c22051 feat(api): OpenAPI spec update via Stainless API (#1777) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
f3ee198768 feat(api): OpenAPI spec update via Stainless API (#1775) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
aa9784a662 feat(api): OpenAPI spec update via Stainless API (#1774) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
32538ecf40 feat(api): OpenAPI spec update via Stainless API (#1773) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
11ad270017 feat(api): OpenAPI spec update via Stainless API (#1772) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
f2749c618f feat(api): OpenAPI spec update via Stainless API (#1771) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
316f0699d4 feat(api): OpenAPI spec update via Stainless API (#1770) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
18e2c60c3c feat(api): OpenAPI spec update via Stainless API (#1769) 2024-10-10 10:11:04 +00:00
stainless-bot
d8f80cdeff codegen metadata 2024-10-10 10:11:04 +00:00
stainless-app[bot]
0f5cdcd1d5 feat(api): OpenAPI spec update via Stainless API (#1768) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
72863e43ff feat(api): OpenAPI spec update via Stainless API (#1767) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
ed752977ab feat(api): OpenAPI spec update via Stainless API (#1766) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
5bd1e2a45e feat(api): OpenAPI spec update via Stainless API (#1765) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
7deee63cab feat(api): OpenAPI spec update via Stainless API (#1764) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
35d53a33f3 feat(api): OpenAPI spec update via Stainless API (#1763) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
4938fc5e82 feat(api): OpenAPI spec update via Stainless API (#1762) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
5409109218 feat(api): OpenAPI spec update via Stainless API (#1761) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
e291ce41c9 feat(api): OpenAPI spec update via Stainless API (#1760) 2024-10-10 10:11:04 +00:00
stainless-bot
631481896a codegen metadata 2024-10-10 10:11:04 +00:00
stainless-app[bot]
3da4777e31 feat(api): OpenAPI spec update via Stainless API (#1759) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
237151bf1e feat(api): OpenAPI spec update via Stainless API (#1758) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
a29935b006 feat(api): OpenAPI spec update via Stainless API (#1757) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
eea456f759 feat(api): add more endpoint mappings (#1756) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
a41f1d7ec5 feat(api): OpenAPI spec update via Stainless API (#1755) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
1f75475467 feat(api): rename speculation endpoints (#1754) 2024-10-10 10:11:04 +00:00
stainless-app[bot]
f0e0c7a3af feat(api): OpenAPI spec update via Stainless API (#1753) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
ed051e22cd feat(api): OpenAPI spec update via Stainless API (#1752) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
a9fb6c29b6 feat(api): OpenAPI spec update via Stainless API (#1751) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
643b1064fc feat(api): OpenAPI spec update via Stainless API (#1750) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
7e308c5387 feat(api): Config update for yjp20/dev (#1749) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
0d22ba50a4 feat(api): OpenAPI spec update via Stainless API (#1748) 2024-10-10 10:11:03 +00:00
stainless-bot
07b4f0ab70 codegen metadata 2024-10-10 10:11:03 +00:00
stainless-app[bot]
d2f89cca59 feat(api): OpenAPI spec update via Stainless API (#1747) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
2724ca5045 feat(api): OpenAPI spec update via Stainless API (#1746) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
2092f8b0d2 feat(api): OpenAPI spec update via Stainless API (#1745) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
eea1dd1d80 feat(api): OpenAPI spec update via Stainless API (#1744) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
3961b6f999 feat(api): OpenAPI spec update via Stainless API (#1743) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
7f868dca9f feat(api): OpenAPI spec update via Stainless API (#1742) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
e5c18a582f feat(api): OpenAPI spec update via Stainless API (#1741) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
86cdbef44b feat(client): send retry count header (#1740) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
676f9ed416 feat(api): OpenAPI spec update via Stainless API (#1739) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
c7b9f3bce4 feat(api): OpenAPI spec update via Stainless API (#1738) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
3bb40401f3 fix(client): handle domains with underscores (#1737) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
c8f5b1e1d6 feat(api): OpenAPI spec update via Stainless API (#1736) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
3e1e7c3cfc feat(api): OpenAPI spec update via Stainless API (#1735) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
e4e0e4eb1e feat(api): OpenAPI spec update via Stainless API (#1734) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
a07c61d1df feat(api): OpenAPI spec update via Stainless API (#1733) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
1756f61ee6 feat(api): OpenAPI spec update via Stainless API (#1732) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
18110b3b0f feat(api): OpenAPI spec update via Stainless API (#1731) 2024-10-10 10:11:03 +00:00
stainless-bot
ec30486d68 codegen metadata 2024-10-10 10:11:03 +00:00
stainless-app[bot]
00414facd7 feat(api): OpenAPI spec update via Stainless API (#1730) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
d0a1c32523 feat(api): OpenAPI spec update via Stainless API (#1729) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
d6a556e8ee feat(api): OpenAPI spec update via Stainless API (#1728) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
ac68fb3b9e feat(api): OpenAPI spec update via Stainless API (#1727) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
4b37b1d7f6 chore(internal): codegen related update (#1726) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
eb1d3e159b feat(api): OpenAPI spec update via Stainless API (#1725) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
131d7ef4fe feat(api): OpenAPI spec update via Stainless API (#1724) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
e86bc59d39 feat(api): OpenAPI spec update via Stainless API (#1723) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
1918a935fd feat(api): OpenAPI spec update via Stainless API (#1722) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
8b1418d43c feat(api): OpenAPI spec update via Stainless API (#1721) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
fecff934a0 feat(api): OpenAPI spec update via Stainless API (#1720) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
966a980485 feat(api): OpenAPI spec update via Stainless API (#1719) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
037e321cdd feat(api): OpenAPI spec update via Stainless API (#1718) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
88c63349af feat(api): OpenAPI spec update via Stainless API (#1717) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
71745723bd feat(api): OpenAPI spec update via Stainless API (#1716) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
42b068cc2b feat(api): OpenAPI spec update via Stainless API (#1715) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
e9e5091575 feat(api): OpenAPI spec update via Stainless API (#1714) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
f9bbcbe50a feat(api): OpenAPI spec update via Stainless API (#1713) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
64a3361de8 feat(api): OpenAPI spec update via Stainless API (#1712) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
c875061e41 feat(api): OpenAPI spec update via Stainless API (#1711) 2024-10-10 10:11:03 +00:00
stainless-bot
fd15be94e1 codegen metadata 2024-10-10 10:11:03 +00:00
stainless-bot
8377c1621b codegen metadata 2024-10-10 10:11:03 +00:00
stainless-app[bot]
541eb72562 feat(api): OpenAPI spec update via Stainless API (#1710) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
7037b73971 feat(api): OpenAPI spec update via Stainless API (#1709) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
6ff2b25ea4 feat(api): OpenAPI spec update via Stainless API (#1708) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
13c9f19e18 feat(api): OpenAPI spec update via Stainless API (#1707) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
39f0f50034 feat(api): OpenAPI spec update via Stainless API (#1706) 2024-10-10 10:11:03 +00:00
stainless-bot
5aff93e28d codegen metadata 2024-10-10 10:11:03 +00:00
stainless-app[bot]
0e1aa5ca2d feat(api): OpenAPI spec update via Stainless API (#1705) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
9366f1b705 feat(api): OpenAPI spec update via Stainless API (#1704) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
61652cb093 feat(api): OpenAPI spec update via Stainless API (#1703) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
e5dff64016 feat(api): OpenAPI spec update via Stainless API (#1702) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
9553c4d99c feat(api): OpenAPI spec update via Stainless API (#1701) 2024-10-10 10:11:03 +00:00
stainless-bot
e64d683628 codegen metadata 2024-10-10 10:11:03 +00:00
stainless-app[bot]
ea5fc158b0 feat(api): OpenAPI spec update via Stainless API (#1700) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
0222aa8ce1 feat(api): OpenAPI spec update via Stainless API (#1699) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
bcf60b6384 feat(api): OpenAPI spec update via Stainless API (#1698) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
d4d63b0f4a feat(api): OpenAPI spec update via Stainless API (#1697) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
60ffea28b3 feat(api): OpenAPI spec update via Stainless API (#1696) 2024-10-10 10:11:03 +00:00
stainless-app[bot]
dc42e1d1d6 feat(api): OpenAPI spec update via Stainless API (#1695) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
6981d08e47 feat(api): OpenAPI spec update via Stainless API (#1694) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
adef3bb3ba feat(api): OpenAPI spec update via Stainless API (#1693) 2024-10-10 10:11:02 +00:00
stainless-bot
986a6134ac codegen metadata 2024-10-10 10:11:02 +00:00
stainless-app[bot]
39bb276fee feat(api): OpenAPI spec update via Stainless API (#1692) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
cb72fdbd50 feat(api): OpenAPI spec update via Stainless API (#1691) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
f4885cc03c feat(api): OpenAPI spec update via Stainless API (#1690) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
0a42cbf7c9 feat(api): OpenAPI spec update via Stainless API (#1689) 2024-10-10 10:11:02 +00:00
stainless-bot
3dfe7e7cca codegen metadata 2024-10-10 10:11:02 +00:00
stainless-app[bot]
2c4b3d4da6 feat(api): OpenAPI spec update via Stainless API (#1688) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
da29eaaa33 feat(api): OpenAPI spec update via Stainless API (#1687) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
c9453e903e feat(api): OpenAPI spec update via Stainless API (#1686) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
f81221cfee feat(api): OpenAPI spec update via Stainless API (#1685) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
abf49040b3 feat(api): OpenAPI spec update via Stainless API (#1684) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
986a7c2391 feat(api): OpenAPI spec update via Stainless API (#1683) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
d22c8413e2 feat(api): OpenAPI spec update via Stainless API (#1682) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
37f490d9a8 feat(api): OpenAPI spec update via Stainless API (#1681) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
9c3704b26f feat(api): OpenAPI spec update via Stainless API (#1680) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
f573f07aca feat(api): OpenAPI spec update via Stainless API (#1679) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
bd91aa5d9a feat(api): OpenAPI spec update via Stainless API (#1678) 2024-10-10 10:11:02 +00:00
stainless-bot
72ac4c46cb codegen metadata 2024-10-10 10:11:02 +00:00
stainless-app[bot]
d5ac058e3b feat(api): OpenAPI spec update via Stainless API (#1677) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
8a0768f764 chore(internal): codegen related update (#1676) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
bf4ac25c11 chore(internal): bump pyright / mypy version (#1675) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
99c3d22852 chore(internal): bump ruff (#1674) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
c85c399797 feat(api): OpenAPI spec update via Stainless API (#1673) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
812efe8195 feat(api): OpenAPI spec update via Stainless API (#1672) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
de40845c97 feat(api): OpenAPI spec update via Stainless API (#1671) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
48038bb8ac feat(api): OpenAPI spec update via Stainless API (#1670) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
8e4eda2a1f chore(internal): codegen related update (#1669) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
abd0c1aafb feat(api): OpenAPI spec update via Stainless API (#1668) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
f7f249bd3a feat(api): Config update for musa-cf/dev (#1667) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
3696f5b537 feat(api): OpenAPI spec update via Stainless API (#1666) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
94dd262896 feat(api): OpenAPI spec update via Stainless API (#1665) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
72ec617044 feat(api): OpenAPI spec update via Stainless API (#1664) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
85c82fa877 feat(api): OpenAPI spec update via Stainless API (#1663) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
ad1ac83d59 feat(api): OpenAPI spec update via Stainless API (#1662) 2024-10-10 10:11:02 +00:00
stainless-bot
3284a7ae58 codegen metadata 2024-10-10 10:11:02 +00:00
stainless-app[bot]
1d73ab0ba3 feat(api): OpenAPI spec update via Stainless API (#1661) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
33f054052e docs: update CONTRIBUTING.md (#1660) 2024-10-10 10:11:02 +00:00
stainless-bot
1b73f16657 codegen metadata 2024-10-10 10:11:02 +00:00
stainless-app[bot]
e27fcda56b feat(api): OpenAPI spec update via Stainless API (#1659) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
3c169ffb4d feat(api): OpenAPI spec update via Stainless API (#1658) 2024-10-10 10:11:02 +00:00
stainless-bot
3481070c3a codegen metadata 2024-10-10 10:11:02 +00:00
stainless-bot
1ca6031c28 codegen metadata 2024-10-10 10:11:02 +00:00
stainless-bot
de158135a5 codegen metadata 2024-10-10 10:11:02 +00:00
stainless-app[bot]
bb5d3fd40a feat(api): OpenAPI spec update via Stainless API (#1657) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
7f26b320af feat(api): OpenAPI spec update via Stainless API (#1656) 2024-10-10 10:11:02 +00:00
stainless-bot
7a2467fe3c codegen metadata 2024-10-10 10:11:02 +00:00
stainless-app[bot]
4415c70bc9 feat(api): OpenAPI spec update via Stainless API (#1655) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
79e7d9f1b6 feat(api): OpenAPI spec update via Stainless API (#1654) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
e365778a83 feat(api): OpenAPI spec update via Stainless API (#1653) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
ac35d2b7db feat(api): OpenAPI spec update via Stainless API (#1652) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
437222f98f feat(api): OpenAPI spec update via Stainless API (#1651) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
21d936993b feat(api): OpenAPI spec update via Stainless API (#1650) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
472f9609f6 feat(api): OpenAPI spec update via Stainless API (#1649) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
06899c0ef3 feat(api): OpenAPI spec update via Stainless API (#1648) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
cba0eb4a3b feat(api): OpenAPI spec update via Stainless API (#1647) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
152ab62bf4 fix(api): remove format from load-balancing timestamps (#1646) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
6977ebf7c5 feat(api): OpenAPI spec update via Stainless API (#1645) 2024-10-10 10:11:02 +00:00
stainless-bot
5e1a8305c5 codegen metadata 2024-10-10 10:11:02 +00:00
stainless-app[bot]
3ecdb08ce6 feat(api): OpenAPI spec update via Stainless API (#1644) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
7b25afa68b feat(api): OpenAPI spec update via Stainless API (#1643) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
3c655e718e feat(api): OpenAPI spec update via Stainless API (#1642) 2024-10-10 10:11:02 +00:00
stainless-bot
5d030af7b4 codegen metadata 2024-10-10 10:11:02 +00:00
stainless-app[bot]
aedc9ebe7d feat(api): OpenAPI spec update via Stainless API (#1641) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
daba8016d1 feat(api): OpenAPI spec update via Stainless API (#1640) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
8dfbc8d5dd feat(api): OpenAPI spec update via Stainless API (#1639) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
5b0b8edbd6 feat(api): OpenAPI spec update via Stainless API (#1638) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
0c3bdd564c feat(api): OpenAPI spec update via Stainless API (#1637) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
c16a996cc9 feat(api): OpenAPI spec update via Stainless API (#1636) 2024-10-10 10:11:02 +00:00
stainless-app[bot]
f666a86cd8 feat(api): OpenAPI spec update via Stainless API (#1635) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
f6028d6511 feat(api): OpenAPI spec update via Stainless API (#1634) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
83810b4c4c feat(api): OpenAPI spec update via Stainless API (#1633) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
09bb1034c4 feat(api): OpenAPI spec update via Stainless API (#1632) 2024-10-10 10:11:01 +00:00
stainless-bot
f6f96c46a6 codegen metadata 2024-10-10 10:11:01 +00:00
stainless-app[bot]
7355eb00bf feat(api): OpenAPI spec update via Stainless API (#1631) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
32d7f31205 feat(api): OpenAPI spec update via Stainless API (#1630) 2024-10-10 10:11:01 +00:00
stainless-bot
9c8fe52c80 codegen metadata 2024-10-10 10:11:01 +00:00
stainless-app[bot]
2e6dbc7515 chore(api): Rename 'device_experience_monitor' model (#1629) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
9e4bd9860b feat(api): OpenAPI spec update via Stainless API (#1628) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
03a1b717af feat(api): OpenAPI spec update via Stainless API (#1627) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
da68063264 feat(api): OpenAPI spec update via Stainless API (#1626) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
a3795728e2 feat(api): OpenAPI spec update via Stainless API (#1625) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
8ed1a7ed01 feat(api): OpenAPI spec update via Stainless API (#1624) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
10b5c686f8 feat(api): OpenAPI spec update via Stainless API (#1623) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
befe3e538a feat(api): OpenAPI spec update via Stainless API (#1622) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
69b6e03833 feat(api): OpenAPI spec update via Stainless API (#1621) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
873e953daa feat(api): OpenAPI spec update via Stainless API (#1620) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
1fda6e59ce feat(api): OpenAPI spec update via Stainless API (#1619) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
e0a7292303 feat(api): OpenAPI spec update via Stainless API (#1618) 2024-10-10 10:11:01 +00:00
stainless-bot
fe53e87071 codegen metadata 2024-10-10 10:11:01 +00:00
stainless-bot
17c1f525e0 codegen metadata 2024-10-10 10:11:01 +00:00
stainless-bot
f428b19976 codegen metadata 2024-10-10 10:11:01 +00:00
stainless-app[bot]
e8da793aed feat(api): OpenAPI spec update via Stainless API (#1617) 2024-10-10 10:11:01 +00:00
stainless-bot
f7677442d2 codegen metadata 2024-10-10 10:11:01 +00:00
stainless-app[bot]
ed55050269 feat(api): OpenAPI spec update via Stainless API (#1616) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
33e5f16771 feat(api): OpenAPI spec update via Stainless API (#1615) 2024-10-10 10:11:01 +00:00
stainless-bot
c604729b8e codegen metadata 2024-10-10 10:11:01 +00:00
stainless-app[bot]
d1d584ad06 feat(api): OpenAPI spec update via Stainless API (#1614) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
2e12607da5 feat(api): OpenAPI spec update via Stainless API (#1613) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
579e8d13f7 feat(api): OpenAPI spec update via Stainless API (#1612) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
bab8ab3925 feat(api): OpenAPI spec update via Stainless API (#1611) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
d81881b4fe feat(api): manual updates (#1610) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
a34fc50a3c feat(api): OpenAPI spec update via Stainless API (#1609) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
383a2b66d7 feat(api): OpenAPI spec update via Stainless API (#1608) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
5ebc37de1b feat(api): OpenAPI spec update via Stainless API (#1607) 2024-10-10 10:11:01 +00:00
stainless-bot
e5ef08127a codegen metadata 2024-10-10 10:11:01 +00:00
stainless-app[bot]
4a2a329e7a feat(api): OpenAPI spec update via Stainless API (#1606) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
6347ccece9 feat(api): OpenAPI spec update via Stainless API (#1605) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
28939c62e6 feat(api): OpenAPI spec update via Stainless API (#1604) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
a45710eda1 feat(api): OpenAPI spec update via Stainless API (#1603) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
3f0d347996 feat(api): OpenAPI spec update via Stainless API (#1602) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
c0d405da9d feat(api): OpenAPI spec update via Stainless API (#1601) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
a4f60f1ce1 feat(api): OpenAPI spec update via Stainless API (#1600) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
37c9a1f150 feat(api): OpenAPI spec update via Stainless API (#1599) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
7632822acf feat(api): OpenAPI spec update via Stainless API (#1598) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
c1839a47a7 feat(api): OpenAPI spec update via Stainless API (#1597) 2024-10-10 10:11:01 +00:00
stainless-bot
6ffe53cdf4 codegen metadata 2024-10-10 10:11:01 +00:00
stainless-app[bot]
9a20334411 feat(api): OpenAPI spec update via Stainless API (#1596) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
21daba90e6 feat(api): move rate plans and plans under zone (#1595) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
77227eff16 feat(api): OpenAPI spec update via Stainless API (#1594) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
fe8cefa44a feat(api): rename managed_headers to managed_transforms (#1593) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
27a83e6f69 feat(api): make rate_plan model shared (#1592) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
1d2265bf34 feat(api): make subscription model shared (#1591) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
ef70662471 feat(api): move pcaps under magic transit (#1590) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
1447601752 feat(api): rename challenges => turnstile (#1589) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
876ba1b567 feat(api): move account subscription into the hierarchy (#1588) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
8b73016288 feat(api): OpenAPI spec update via Stainless API (#1587) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
0889a476df feat(api): OpenAPI spec update via Stainless API (#1586) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
fe55728c75 feat(api): OpenAPI spec update via Stainless API (#1585) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
5e41e6a04b feat(api): OpenAPI spec update via Stainless API (#1584) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
91bc6c54c9 feat(api): OpenAPI spec update via Stainless API (#1583) 2024-10-10 10:11:01 +00:00
stainless-app[bot]
f6d1d0a83d docs(readme): add section on determining installed version (#1582) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
46b6c639ba chore: add docstrings to raw response properties (#1581) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
64a5758ed3 feat(api): manual updates (#1580) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
3d0dedae63 feat(api): rename reserved model_type keyword (#1579) 2024-10-10 10:11:00 +00:00
Stainless Bot
86bc62eccc fix file permissions 2024-10-10 10:11:00 +00:00
stainless-app[bot]
6f7094c87d feat(api): access_uuid is not user writable (#1578) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
ac59c733e5 chore: pyproject.toml formatting changes (#1577) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
b0b02edeba feat(api): manual updates (#1576) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
75cdb71562 chore: pyproject.toml formatting changes (#1575) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
c1c327f57f fix(api): duplicated ordering properties in ai-gateway (#1574) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
306564267d feat(api): OpenAPI spec update via Stainless API (#1573) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
36dbd1a2bd feat(api): OpenAPI spec update via Stainless API (#1572) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
5302f5fde5 feat(api): OpenAPI spec update via Stainless API (#1571) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
5ad1c1d8ab feat(api): OpenAPI spec update via Stainless API (#1570) 2024-10-10 10:11:00 +00:00
stainless-app[bot]
f307e270ab feat(api): remove duplicated gateway log parameters (#1569) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
1d4abf772c feat(api): add radar robots txt domains (#1568) 2024-10-10 10:10:59 +00:00
stainless-bot
b658428566 codegen metadata 2024-10-10 10:10:59 +00:00
stainless-bot
c59ca4f73f codegen metadata 2024-10-10 10:10:59 +00:00
stainless-app[bot]
1d61d2a1c5 feat(api): OpenAPI spec update via Stainless API (#1567) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
afad1d276a feat(api): OpenAPI spec update via Stainless API (#1566) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
69e83cff4f feat(api): OpenAPI spec update via Stainless API (#1565) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
0f2a24bf47 feat(api): OpenAPI spec update via Stainless API (#1564) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
0ba0b43e5e feat(api): OpenAPI spec update via Stainless API (#1563) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
2abc12c1d6 feat(api): OpenAPI spec update via Stainless API (#1562) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
e87e840bbe feat(api): OpenAPI spec update via Stainless API (#1561) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
38968339d8 feat(api): OpenAPI spec update via Stainless API (#1560) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
829e5d055b feat(api): OpenAPI spec update via Stainless API (#1559) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
e917729302 feat(api): OpenAPI spec update via Stainless API (#1558) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
607b8732f9 feat(api): OpenAPI spec update via Stainless API (#1557) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
20e7706d9c feat(api): OpenAPI spec update via Stainless API (#1556) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
550c57c1be feat(api): OpenAPI spec update via Stainless API (#1555) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
b748d9afbd feat(api): OpenAPI spec update via Stainless API (#1554) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
5fb0e56c56 feat(api): OpenAPI spec update via Stainless API (#1553) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
caf5e9cc6e feat(api): OpenAPI spec update via Stainless API (#1552) 2024-10-10 10:10:59 +00:00
stainless-bot
bd7a222aea codegen metadata 2024-10-10 10:10:59 +00:00
stainless-bot
f293073df8 codegen metadata 2024-10-10 10:10:59 +00:00
stainless-bot
1adb76ccef codegen metadata 2024-10-10 10:10:59 +00:00
stainless-app[bot]
e251696251 feat(api): fix web3 path placeholders (#1551) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
443f35a908 feat(api): OpenAPI spec update via Stainless API (#1550) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
cb8ea86ee6 feat(api): OpenAPI spec update via Stainless API (#1549) 2024-10-10 10:10:59 +00:00
stainless-bot
35b9d94750 codegen metadata 2024-10-10 10:10:59 +00:00
stainless-app[bot]
95a61e3c9d chore(api): Fix identifiers in web3 resource paths (#1548) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
75017c4228 feat(api): OpenAPI spec update via Stainless API (#1547) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
efaac5ceb1 feat(api): OpenAPI spec update via Stainless API (#1546) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
a77e164c94 feat(api): Fix id_property for email resource (#1545) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
da6b8297e1 feat(api): OpenAPI spec update via Stainless API (#1544) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
59454ae43e feat(api): OpenAPI spec update via Stainless API (#1543) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
5479d8e748 feat(api): OpenAPI spec update via Stainless API (#1542) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
bd4ec96629 feat(api): OpenAPI spec update via Stainless API (#1541) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
a1e35a103f feat(api): OpenAPI spec update via Stainless API (#1540) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
0cf3bf55e4 feat(api): OpenAPI spec update via Stainless API (#1539) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
1408c84631 feat(api): OpenAPI spec update via Stainless API (#1538) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
f3ba112082 feat(api): OpenAPI spec update via Stainless API (#1537) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
10290f4a33 feat(api): OpenAPI spec update via Stainless API (#1536) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
fb17ef2ab9 feat(api): OpenAPI spec update via Stainless API (#1535) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
b5d06aa0f3 feat(api): OpenAPI spec update via Stainless API (#1534) 2024-10-10 10:10:59 +00:00
stainless-app[bot]
e631e1b1d4 feat(api): OpenAPI spec update via Stainless API (#1533) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
e2494312be feat(api): remove unusable subscription components (#1532) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
5ee1c6cf44 feat(api): manual updates (#1531) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
360bf04fc5 feat(api): adjust email routing path placeholders (#1530) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
e9cedb6dc2 feat(api): OpenAPI spec update via Stainless API (#1529) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
1c18315e5f feat(api): OpenAPI spec update via Stainless API (#1528) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
3c4a73145f feat(api): OpenAPI spec update via Stainless API (#1527) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
01a5956dce feat(api): Fix zone and acct identifiers in EMAIL paths (#1526) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
768bb15884 feat(api): OpenAPI spec update via Stainless API (#1525) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
fed0b47a58 feat(api): OpenAPI spec update via Stainless API (#1524) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
e8770bba7e feat(api): OpenAPI spec update via Stainless API (#1523) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
cf4875d006 feat(api): OpenAPI spec update via Stainless API (#1522) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
fb6ea0f253 feat(api): OpenAPI spec update via Stainless API (#1521) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
c5bf88c191 feat(api): OpenAPI spec update via Stainless API (#1520) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
11c17e9aa2 feat(api): OpenAPI spec update via Stainless API (#1519) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
559f17056f feat(api): OpenAPI spec update via Stainless API (#1518) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
a7cc755a71 feat(api): OpenAPI spec update via Stainless API (#1517) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
e66f547fbb feat(api): OpenAPI spec update via Stainless API (#1516) 2024-10-10 10:10:58 +00:00
stainless-bot
91d575ba12 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:58 +00:00
stainless-bot
42a7ea255f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:58 +00:00
stainless-app[bot]
dd5c96145f feat(api): OpenAPI spec update via Stainless API (#1515) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
8416c8ad6e feat(api): OpenAPI spec update via Stainless API (#1514) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
412a67fd78 feat(api): OpenAPI spec update via Stainless API (#1513) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
2dec2e9265 feat(api): OpenAPI spec update via Stainless API (#1512) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
10e203e080 feat(api): OpenAPI spec update via Stainless API (#1511) 2024-10-10 10:10:58 +00:00
stainless-bot
641ab5e6e0 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:58 +00:00
stainless-app[bot]
128a385b1d feat(api): OpenAPI spec update via Stainless API (#1510) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
9843daa803 feat(api): OpenAPI spec update via Stainless API (#1509) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
1bc20b3e28 feat(api): OpenAPI spec update via Stainless API (#1508) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
9b6ffc4bc7 feat(api): OpenAPI spec update via Stainless API (#1507) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
33efb56b36 feat(api): add support for zone_subscription updating (#1506) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
24de3055a0 feat(api): manual updates (#1505) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
8ecccba852 feat(api): manual updates (#1504) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
d759faeb68 feat(api): OpenAPI spec update via Stainless API (#1503) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
3492b45810 feat(api): OpenAPI spec update via Stainless API (#1502) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
6fd2133571 feat(api): OpenAPI spec update via Stainless API (#1501) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
8834a44e7c feat(api): OpenAPI spec update via Stainless API (#1500) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
874a327e6e feat(api): OpenAPI spec update via Stainless API (#1499) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
cf91a6a2cf feat(api): OpenAPI spec update via Stainless API (#1498) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
9bcb462f68 feat(api): OpenAPI spec update via Stainless API (#1497) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
58c5efe91d feat(api): OpenAPI spec update via Stainless API (#1496) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
09056af0d3 feat(api): OpenAPI spec update via Stainless API (#1495) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
5608d5fafa feat(api): OpenAPI spec update via Stainless API (#1494) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
400181a49f feat(api): OpenAPI spec update via Stainless API (#1493) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
cb88f3ce97 feat(api): OpenAPI spec update via Stainless API (#1492) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
54d8fd00ba feat(api): OpenAPI spec update via Stainless API (#1491) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
16f0ad39e2 feat(api): OpenAPI spec update via Stainless API (#1490) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
be9b19e509 feat(api): OpenAPI spec update via Stainless API (#1489) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
a8aef3982c feat(api): OpenAPI spec update via Stainless API (#1488) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
ebd9fb278c feat(api): OpenAPI spec update via Stainless API (#1487) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
d0181235d4 feat(api): OpenAPI spec update via Stainless API (#1486) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
fd2923e40f feat(api): OpenAPI spec update via Stainless API (#1485) 2024-10-10 10:10:58 +00:00
stainless-bot
8b4cb966e4 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:58 +00:00
stainless-app[bot]
1d4d5750d2 feat(api): OpenAPI spec update via Stainless API (#1484) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
df888577fc feat(api): OpenAPI spec update via Stainless API (#1483) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
8f0e09e13c feat(api): OpenAPI spec update via Stainless API (#1482) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
51e880c93f feat(api): OpenAPI spec update via Stainless API (#1481) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
042da4dd52 feat(api): OpenAPI spec update via Stainless API (#1480) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
26bc8fead0 feat(api): OpenAPI spec update via Stainless API (#1479) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
f1d008ee61 feat(api): rename invalid golang identifier (#1478) 2024-10-10 10:10:58 +00:00
stainless-app[bot]
f539080e2e feat(api): OpenAPI spec update via Stainless API (#1477) 2024-10-10 10:10:58 +00:00
stainless-bot
7767a7b078 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:57 +00:00
stainless-app[bot]
8295242ac2 feat(api): OpenAPI spec update via Stainless API (#1476) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
00efb4a5cd feat(api): OpenAPI spec update via Stainless API (#1475) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
cdfb3836b5 feat(api): OpenAPI spec update via Stainless API (#1474) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
d806ffe629 feat(api): add rename mapping for 0m (#1473) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
868e5e8564 feat(api): update struct names to be language friendly (#1472) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
bdf1459e4f feat(api): add r2 domain mappings (#1470) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
8186f92124 feat(api): manual updates (#1469) 2024-10-10 10:10:57 +00:00
stainless-bot
b5f96d5de3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:57 +00:00
stainless-app[bot]
89617c6f5a feat(api): OpenAPI spec update via Stainless API (#1468) 2024-10-10 10:10:57 +00:00
stainless-bot
6825bc670f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:57 +00:00
stainless-app[bot]
bc9105d905 feat(api): OpenAPI spec update via Stainless API (#1467) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
95384040a9 chore: consistent string literal escaping (#1466) 2024-10-10 10:10:57 +00:00
stainless-bot
00461cb430 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:57 +00:00
stainless-app[bot]
57745532df feat(api): OpenAPI spec update via Stainless API (#1465) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
14b30e331d feat(api): OpenAPI spec update via Stainless API (#1464) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
b3dd9b4b88 feat(api): OpenAPI spec update via Stainless API (#1463) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
0234c75e30 feat(api): OpenAPI spec update via Stainless API (#1462) 2024-10-10 10:10:57 +00:00
stainless-bot
f14aa84528 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:57 +00:00
stainless-app[bot]
d3f361ec86 feat(api): OpenAPI spec update via Stainless API (#1461) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
25ef4244dd feat(api): OpenAPI spec update via Stainless API (#1460) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
7174e3f619 feat(api): OpenAPI spec update via Stainless API (#1458) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
19c26af35a feat(api): OpenAPI spec update via Stainless API (#1456) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
e2d193d46d feat(api): manual updates (#1455) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
1fc2fceeb9 feat(api): manual updates (#1454) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
60fd0dca50 feat(api): manual updates (#1453) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
422583b20b feat(api): OpenAPI spec update via Stainless API (#1452) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
9547b981e7 feat(api): OpenAPI spec update via Stainless API (#1451) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
2f333f0f7f wip (#1450) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
47886e29ad feat(api): OpenAPI spec update via Stainless API (#1449) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
a0f029376e feat(api): OpenAPI spec update via Stainless API (#1448) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
100937bee2 feat(api): OpenAPI spec update via Stainless API (#1447) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
572f167a8d feat(api): OpenAPI spec update via Stainless API (#1446) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
6e7ae13193 feat(api): OpenAPI spec update via Stainless API (#1445) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
6bcfe27a9f feat(api): OpenAPI spec update via Stainless API (#1444) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
4b362089eb feat(api): OpenAPI spec update via Stainless API (#1443) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
4d0ce2c5c7 chore(internal): codegen related update (#1442) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
8616e80222 chore(internal): codegen related update (#1441) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
80e608a8bd feat(api): OpenAPI spec update via Stainless API (#1440) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
d3c7c009c7 feat(api): OpenAPI spec update via Stainless API (#1439) 2024-10-10 10:10:57 +00:00
stainless-bot
536e9af373 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:57 +00:00
stainless-app[bot]
896e2f52d1 feat(api): OpenAPI spec update via Stainless API (#1438) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
7c6551d349 feat(api): OpenAPI spec update via Stainless API (#1437) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
64921d8542 feat(api): OpenAPI spec update via Stainless API (#1436) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
5b9d814e0e feat(api): OpenAPI spec update via Stainless API (#1435) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
adabd3e86d feat(api): OpenAPI spec update via Stainless API (#1434) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
c2ef0bf6f5 feat(api): OpenAPI spec update via Stainless API (#1433) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
07e0a8029f feat(api): OpenAPI spec update via Stainless API (#1432) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
8fa3d32b09 feat(api): OpenAPI spec update via Stainless API (#1431) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
63c6ed1c19 feat(api): OpenAPI spec update via Stainless API (#1430) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
768d6609b2 feat(api): OpenAPI spec update via Stainless API (#1429) 2024-10-10 10:10:57 +00:00
stainless-bot
9ce78ee085 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:57 +00:00
stainless-app[bot]
b60664821e feat(api): OpenAPI spec update via Stainless API (#1428) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
03170c5e4a feat(api): OpenAPI spec update via Stainless API (#1427) 2024-10-10 10:10:57 +00:00
stainless-bot
42897ddb03 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:57 +00:00
stainless-app[bot]
be392a1850 feat(api): OpenAPI spec update via Stainless API (#1426) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
a32f6d1454 feat(api): OpenAPI spec update via Stainless API (#1425) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
9898ee6f56 feat(api): OpenAPI spec update via Stainless API (#1424) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
28baf77761 feat(api): OpenAPI spec update via Stainless API (#1423) 2024-10-10 10:10:57 +00:00
stainless-bot
2ecd71eb1b feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:57 +00:00
stainless-bot
7b9de407d4 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:57 +00:00
stainless-app[bot]
d74a90876c feat(api): OpenAPI spec update via Stainless API (#1422) 2024-10-10 10:10:57 +00:00
stainless-app[bot]
46351b3852 feat(api): OpenAPI spec update via Stainless API (#1421) 2024-10-10 10:10:56 +00:00
stainless-app[bot]
8e8fe26cc4 feat(api): OpenAPI spec update via Stainless API (#1420) 2024-10-10 10:10:56 +00:00
Stainless Bot
d845c28db2 feat(api): manual updates (#1419) 2024-10-10 10:10:56 +00:00
stainless-app[bot]
0a784707bd feat(api): OpenAPI spec update via Stainless API (#1418) 2024-10-10 10:10:56 +00:00
stainless-app[bot]
465e224c99 feat(api): OpenAPI spec update via Stainless API (#1417) 2024-10-10 10:10:56 +00:00
Stainless Bot
b46de16a36 feat(api): manual updates (#1415) 2024-10-10 10:10:56 +00:00
stainless-app[bot]
619a5f15e7 feat(api): OpenAPI spec update via Stainless API (#1414) 2024-10-10 10:10:56 +00:00
stainless-app[bot]
305b170fc0 feat(api): OpenAPI spec update via Stainless API (#1413) 2024-10-10 10:10:56 +00:00
stainless-app[bot]
6f833196e4 feat(api): OpenAPI spec update via Stainless API (#1412) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
8b1b62d64d feat(api): OpenAPI spec update via Stainless API (#1411) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
22e6630226 feat(api): OpenAPI spec update via Stainless API (#1410) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
79a2aad2f3 feat(api): OpenAPI spec update via Stainless API (#1409) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
1d5cf20582 feat(api): OpenAPI spec update via Stainless API (#1408) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
6cabbcb0da feat(api): OpenAPI spec update via Stainless API (#1407) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
01837ad8c1 feat(api): OpenAPI spec update via Stainless API (#1406) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
4fd2deb824 feat(api): OpenAPI spec update via Stainless API (#1405) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
a9d48f9c87 feat(api): OpenAPI spec update via Stainless API (#1404) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
7cb8f6323f feat(api): OpenAPI spec update via Stainless API (#1403) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
0d2de71e48 feat(api): OpenAPI spec update via Stainless API (#1402) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
0b2d5615bc feat(api): OpenAPI spec update via Stainless API (#1401) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
69699116da feat(api): OpenAPI spec update via Stainless API (#1400) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
fb18f45817 feat(api): Rename DNS Terraform resources (#1399) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
37d045c3fd feat(api): OpenAPI spec update via Stainless API (#1398) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
00ed123df0 feat(api): OpenAPI spec update via Stainless API (#1397) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
330dccd96a feat(api): OpenAPI spec update via Stainless API (#1396) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
4f63906cbb feat(api): OpenAPI spec update via Stainless API (#1395) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
04e74cf3b5 feat(api): OpenAPI spec update via Stainless API (#1394) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
103c54c774 feat(api): OpenAPI spec update via Stainless API (#1393) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
937ed8a0c8 feat(api): OpenAPI spec update via Stainless API (#1392) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
4a6ef55b0d feat(api): OpenAPI spec update via Stainless API (#1391) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
3aa2bfb9fa feat(api): OpenAPI spec update via Stainless API (#1390) 2024-10-10 10:10:55 +00:00
stainless-bot
d612050c57 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:55 +00:00
stainless-bot
a4185677d8 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:55 +00:00
stainless-app[bot]
cbfe1fa440 feat(api): OpenAPI spec update via Stainless API (#1389) 2024-10-10 10:10:55 +00:00
stainless-bot
2a6c481d9c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:55 +00:00
stainless-app[bot]
3256d53c9c feat(api): OpenAPI spec update via Stainless API (#1388) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
b51c83475d chore(internal): codegen related update (#1387) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
171779bbd3 feat(api): OpenAPI spec update via Stainless API (#1386) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
e84971f0d1 feat(api): OpenAPI spec update via Stainless API (#1385) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
4b1063e402 feat(api): OpenAPI spec update via Stainless API (#1384) 2024-10-10 10:10:55 +00:00
stainless-bot
769fc4be09 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:55 +00:00
stainless-app[bot]
178ec80a6b feat(api): OpenAPI spec update via Stainless API (#1383) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
1162e3c1ef feat(api): OpenAPI spec update via Stainless API (#1382) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
f0b7887fe4 feat(api): OpenAPI spec update via Stainless API (#1381) 2024-10-10 10:10:55 +00:00
stainless-bot
957c4bc628 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:55 +00:00
stainless-bot
3f1bf9595d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:55 +00:00
stainless-app[bot]
53db033ae1 feat(api): OpenAPI spec update via Stainless API (#1380) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
7e14a7b3b3 feat(api): OpenAPI spec update via Stainless API (#1379) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
ed1ad03925 feat(api): OpenAPI spec update via Stainless API (#1378) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
24a197352b feat(api): OpenAPI spec update via Stainless API (#1377) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
108ed19e9a feat(api): OpenAPI spec update via Stainless API (#1376) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
32e6b63273 feat(api): OpenAPI spec update via Stainless API (#1375) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
fe7efd8e1a feat(api): OpenAPI spec update via Stainless API (#1374) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
227d782e5a feat(api): OpenAPI spec update via Stainless API (#1373) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
17d4a0cf58 feat(api): OpenAPI spec update via Stainless API (#1372) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
c908a4e0cd feat(api): OpenAPI spec update via Stainless API (#1371) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
d9eb295b20 feat(api): OpenAPI spec update via Stainless API (#1370) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
722dada9dd feat(api): OpenAPI spec update via Stainless API (#1369) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
9ef9edb8c6 feat(api): OpenAPI spec update via Stainless API (#1368) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
9b8ae2a2f7 feat(api): OpenAPI spec update via Stainless API (#1367) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
61bf520cd2 feat(api): OpenAPI spec update via Stainless API (#1366) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
25c0311757 feat(api): OpenAPI spec update via Stainless API (#1365) 2024-10-10 10:10:55 +00:00
stainless-bot
0b8e6fd7eb feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:55 +00:00
stainless-app[bot]
441a19da59 feat(api): OpenAPI spec update via Stainless API (#1364) 2024-10-10 10:10:55 +00:00
stainless-bot
9ca3132d24 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:55 +00:00
stainless-app[bot]
7445a0fc56 feat(api): OpenAPI spec update via Stainless API (#1363) 2024-10-10 10:10:55 +00:00
stainless-bot
990bbb83e3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:55 +00:00
stainless-bot
91e8cafae7 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:55 +00:00
stainless-app[bot]
00706f958b chore(ci): also run pydantic v1 tests (#1362) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
d72621d3f8 feat(api): OpenAPI spec update via Stainless API (#1361) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
1aa61a6a23 chore(client): fix parsing union responses when non-json is returned (#1360) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
fa9e1c87a4 feat(api): OpenAPI spec update via Stainless API (#1359) 2024-10-10 10:10:55 +00:00
stainless-app[bot]
312310fb34 feat(api): OpenAPI spec update via Stainless API (#1358) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
176ad37bb8 feat(api): OpenAPI spec update via Stainless API (#1357) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
f170e87269 feat(api): OpenAPI spec update via Stainless API (#1356) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
eaddc26ac0 feat(api): OpenAPI spec update via Stainless API (#1355) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
63dc185be2 feat(api): OpenAPI spec update via Stainless API (#1354) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
aa28d7cda9 feat(api): OpenAPI spec update via Stainless API (#1353) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
0a1800bc5a feat(api): OpenAPI spec update via Stainless API (#1352) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
26547868d2 feat(api): OpenAPI spec update via Stainless API (#1351) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
76b09c0c6d feat(api): OpenAPI spec update via Stainless API (#1350) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
967ee4d2d5 feat(api): OpenAPI spec update via Stainless API (#1349) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
9f30a3bcd2 feat(api): OpenAPI spec update via Stainless API (#1348) 2024-10-10 10:10:54 +00:00
stainless-bot
745b6164b8 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:54 +00:00
stainless-bot
756b655139 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:54 +00:00
stainless-app[bot]
94a642ce72 feat(api): OpenAPI spec update via Stainless API (#1347) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
13a5a1ef6c feat(api): OpenAPI spec update via Stainless API (#1346) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
77991efc74 feat(api): OpenAPI spec update via Stainless API (#1345) 2024-10-10 10:10:54 +00:00
stainless-bot
cc361e0468 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:54 +00:00
stainless-app[bot]
aa37c3073d feat(api): update via SDK Studio (#1344) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
b90ff6439e feat(api): update via SDK Studio (#1343) 2024-10-10 10:10:54 +00:00
stainless-bot
f3849df4d6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:54 +00:00
stainless-app[bot]
b6d676fbe7 feat(api): OpenAPI spec update via Stainless API (#1342) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
e20e92ef45 feat(api): OpenAPI spec update via Stainless API (#1341) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
f39926e978 feat(api): OpenAPI spec update via Stainless API (#1340) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
9dba2cffe7 feat(api): OpenAPI spec update via Stainless API (#1339) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
4efc31df42 feat(api): OpenAPI spec update via Stainless API (#1338) 2024-10-10 10:10:54 +00:00
stainless-bot
580e0c729d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:54 +00:00
stainless-bot
32277cbcdf feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:54 +00:00
stainless-app[bot]
78a05b90cd feat(api): OpenAPI spec update via Stainless API (#1337) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
8c470ed84b feat(api): OpenAPI spec update via Stainless API (#1336) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
72c73ade6f feat(api): OpenAPI spec update via Stainless API (#1335) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
6b620f4cc2 feat(api): OpenAPI spec update via Stainless API (#1334) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
d991acf657 feat(api): OpenAPI spec update via Stainless API (#1333) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
484971cb29 feat(api): OpenAPI spec update via Stainless API (#1332) 2024-10-10 10:10:54 +00:00
stainless-bot
a5c1ec7e27 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:54 +00:00
stainless-bot
b8efc3a574 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:54 +00:00
stainless-app[bot]
ebd29ac390 feat(api): update via SDK Studio (#1331) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
3a112d737f feat(api): OpenAPI spec update via Stainless API (#1330) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
e3384b92b9 feat(api): OpenAPI spec update via Stainless API (#1329) 2024-10-10 10:10:54 +00:00
stainless-bot
5b0fdee7f9 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:54 +00:00
stainless-bot
bf32fd8603 feat(api): update via SDK Studio 2024-10-10 10:10:54 +00:00
stainless-app[bot]
63a86b58a4 feat(api): OpenAPI spec update via Stainless API (#1328) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
daa591a981 feat(api): OpenAPI spec update via Stainless API (#1327) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
ba6e5ec3ec feat(api): OpenAPI spec update via Stainless API (#1326) 2024-10-10 10:10:54 +00:00
stainless-app[bot]
1882042224 feat(api): OpenAPI spec update via Stainless API (#1325) 2024-10-10 10:10:54 +00:00
stainless-bot
34b069089f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-app[bot]
eed240ac1d feat(api): OpenAPI spec update via Stainless API (#1324) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
09455dec2d feat(api): OpenAPI spec update via Stainless API (#1323) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
085aaeec92 feat(api): OpenAPI spec update via Stainless API (#1322) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
7edeccfa83 feat(api): OpenAPI spec update via Stainless API (#1321) 2024-10-10 10:10:53 +00:00
stainless-bot
0d0744c7c2 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-app[bot]
5fc669a22c feat(api): OpenAPI spec update via Stainless API (#1320) 2024-10-10 10:10:53 +00:00
stainless-bot
1f8584fb85 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-bot
1eb8c3ab38 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-app[bot]
5a50b92d8b feat(api): OpenAPI spec update via Stainless API (#1319) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
7ea89b90cf feat(api): OpenAPI spec update via Stainless API (#1318) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
063355f21e feat(api): OpenAPI spec update via Stainless API (#1317) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
0408a36805 feat(api): OpenAPI spec update via Stainless API (#1316) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
88cc3fe06b feat(api): update via SDK Studio (#1315) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
5a6176cc5b feat(api): OpenAPI spec update via Stainless API (#1314) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
df04478481 feat(api): OpenAPI spec update via Stainless API (#1313) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
308afa3dbc feat(api): OpenAPI spec update via Stainless API (#1312) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
9c5f7b3f3b feat(api): OpenAPI spec update via Stainless API (#1311) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
53cc6266f6 feat(api): OpenAPI spec update via Stainless API (#1310) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
55b855644b feat(api): OpenAPI spec update via Stainless API (#1309) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
c50692370a feat(api): OpenAPI spec update via Stainless API (#1308) 2024-10-10 10:10:53 +00:00
stainless-bot
b8f1f65e4e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-app[bot]
1e5cb1d25a feat(api): OpenAPI spec update via Stainless API (#1307) 2024-10-10 10:10:53 +00:00
stainless-bot
c91a548b49 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-bot
4e29da74b3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-app[bot]
0f925de6c1 feat(api): OpenAPI spec update via Stainless API (#1306) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
b5c255a5df feat(api): OpenAPI spec update via Stainless API (#1305) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
1d7e02e396 feat(api): OpenAPI spec update via Stainless API (#1304) 2024-10-10 10:10:53 +00:00
stainless-bot
0c0041cebb feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-app[bot]
44d0768396 feat(api): OpenAPI spec update via Stainless API (#1303) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
08124ebfe1 feat(api): OpenAPI spec update via Stainless API (#1302) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
d162fcdf14 feat(api): OpenAPI spec update via Stainless API (#1301) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
beaf6fb487 feat(api): OpenAPI spec update via Stainless API (#1300) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
3892afaa42 feat(api): OpenAPI spec update via Stainless API (#1299) 2024-10-10 10:10:53 +00:00
stainless-bot
f2779a3a21 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-app[bot]
b4b592011c feat(api): OpenAPI spec update via Stainless API (#1298) 2024-10-10 10:10:53 +00:00
stainless-bot
6f15c28b3a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-app[bot]
81cf8204e0 feat(api): OpenAPI spec update via Stainless API (#1297) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
6d2e579a5c feat(api): OpenAPI spec update via Stainless API (#1296) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
6db027616a feat(api): OpenAPI spec update via Stainless API (#1295) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
5606473de5 feat(api): OpenAPI spec update via Stainless API (#1294) 2024-10-10 10:10:53 +00:00
stainless-bot
bd28b6b836 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-app[bot]
098f9e9641 feat(api): OpenAPI spec update via Stainless API (#1293) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
1e545d9dd1 feat(api): OpenAPI spec update via Stainless API (#1292) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
31e6b609a7 feat(api): OpenAPI spec update via Stainless API (#1291) 2024-10-10 10:10:53 +00:00
stainless-bot
62e0a51c71 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-app[bot]
13ecc1166d feat(api): OpenAPI spec update via Stainless API (#1290) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
c25c6998b7 feat(api): OpenAPI spec update via Stainless API (#1289) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
c9d5f24436 feat(api): OpenAPI spec update via Stainless API (#1288) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
00cd7cd5ff feat(api): OpenAPI spec update via Stainless API (#1287) 2024-10-10 10:10:53 +00:00
stainless-bot
fdaa56de23 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:53 +00:00
stainless-app[bot]
81af6f8c29 feat(api): OpenAPI spec update via Stainless API (#1286) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
175588b28d feat(api): OpenAPI spec update via Stainless API (#1285) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
044eb02fb9 feat(api): OpenAPI spec update via Stainless API (#1284) 2024-10-10 10:10:53 +00:00
stainless-app[bot]
41ec621e7d feat(api): OpenAPI spec update via Stainless API (#1283) 2024-10-10 10:10:52 +00:00
stainless-bot
c86b73a2b0 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
4ab9050edf feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
0ba5d89d38 feat(api): OpenAPI spec update via Stainless API (#1282) 2024-10-10 10:10:52 +00:00
stainless-bot
65b57b1f2a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
9f96c39e40 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
7b692e081a feat(api): OpenAPI spec update via Stainless API (#1280) 2024-10-10 10:10:52 +00:00
stainless-app[bot]
4373f9831d feat(api): OpenAPI spec update via Stainless API (#1279) 2024-10-10 10:10:52 +00:00
stainless-app[bot]
01909ee9e5 feat(api): OpenAPI spec update via Stainless API (#1278) 2024-10-10 10:10:52 +00:00
stainless-app[bot]
a27ccb0d20 feat(api): OpenAPI spec update via Stainless API (#1277) 2024-10-10 10:10:52 +00:00
stainless-bot
efea96616e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
4774ac4399 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
305a4b1b9b feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
0c4aeaff32 feat(api): OpenAPI spec update via Stainless API (#1276) 2024-10-10 10:10:52 +00:00
stainless-app[bot]
65654561d1 feat(api): OpenAPI spec update via Stainless API (#1275) 2024-10-10 10:10:52 +00:00
stainless-app[bot]
64f3ce59e0 feat(api): OpenAPI spec update via Stainless API (#1274) 2024-10-10 10:10:52 +00:00
stainless-bot
ee8d3c0036 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
4ffddd6f0b feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
75a0f03d8a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
8afb93b8ee feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
42b0db847d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
9360bd2cc1 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
763f1fa5cf feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
6773991ed2 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
72d1bdc434 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
7c8964d84b feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
cce72c3af8 feat(api): OpenAPI spec update via Stainless API (#1273) 2024-10-10 10:10:52 +00:00
stainless-app[bot]
e47a5655c0 feat(api): update via SDK Studio (#1272) 2024-10-10 10:10:52 +00:00
stainless-bot
af818e032b feat(api): update via SDK Studio 2024-10-10 10:10:52 +00:00
stainless-bot
a6fa5c4470 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
84d27b0c9c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
49fd162419 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
e19eca741e feat(api): update via SDK Studio (#1271) 2024-10-10 10:10:52 +00:00
stainless-bot
7a77a6c0f2 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
4acf97e1dc feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
93c24d1d3e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
22113edbb8 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
42e8888a92 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
15343399cc feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
801f50cb6d feat(api): OpenAPI spec update via Stainless API (#1270) 2024-10-10 10:10:52 +00:00
stainless-bot
15fd010b48 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
1cc1e116f3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
efbc650113 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
c2ccf21258 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
02067aeeb3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
6613eb984e feat(api): update via SDK Studio (#1269) 2024-10-10 10:10:52 +00:00
stainless-bot
bc14629caa feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
7f9bc926c7 feat(api): OpenAPI spec update via Stainless API (#1268) 2024-10-10 10:10:52 +00:00
stainless-bot
b59f16b04a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
29af51643a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
0f6f115791 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
f3dbbd3b6d feat(api): update via SDK Studio (#1267) 2024-10-10 10:10:52 +00:00
stainless-bot
988205ec4a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
caadb4a756 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
9f9da43d43 feat(api): OpenAPI spec update via Stainless API (#1266) 2024-10-10 10:10:52 +00:00
stainless-bot
b38bfd43e4 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
bd24285985 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
ec86436ac6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
6e92f7a796 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
89ca3ccca0 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
eaccbdd3a0 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
a2656cf9ec feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
5a7292953f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
3423386bae feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
515c1cf6e1 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
c557efb294 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
79ae91802a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
654d23e819 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
08c7faf002 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
5d5abdd45a feat(api): OpenAPI spec update via Stainless API (#1265) 2024-10-10 10:10:52 +00:00
stainless-bot
b2f7440702 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
9ba5fdec80 feat(api): OpenAPI spec update via Stainless API (#1264) 2024-10-10 10:10:52 +00:00
stainless-bot
c81886f553 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-app[bot]
c327434840 feat(api): update via SDK Studio (#1263) 2024-10-10 10:10:52 +00:00
stainless-bot
c45de38a8c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
3f550d67fd feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:52 +00:00
stainless-bot
f2c162501e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
d874ffee4c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
09861a9660 feat(api): OpenAPI spec update via Stainless API (#1262) 2024-10-10 10:10:51 +00:00
stainless-app[bot]
5619a29f3b feat(api): OpenAPI spec update via Stainless API (#1261) 2024-10-10 10:10:51 +00:00
stainless-bot
fa93e23a99 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
534211f744 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
d18501228d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
2ae37b7158 feat(api): OpenAPI spec update via Stainless API (#1260) 2024-10-10 10:10:51 +00:00
stainless-bot
8515ef2ecd feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
725a0b2de0 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
1dc3e1b538 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
b31824c9f2 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
4f6bd32a2c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
5f66e65b03 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
1285a6e546 feat(api): OpenAPI spec update via Stainless API (#1259) 2024-10-10 10:10:51 +00:00
stainless-bot
49545ebea3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
6574368a5d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
ae7df01f18 feat(api): OpenAPI spec update via Stainless API (#1258) 2024-10-10 10:10:51 +00:00
stainless-app[bot]
7ba4751c99 feat(api): OpenAPI spec update via Stainless API (#1257) 2024-10-10 10:10:51 +00:00
stainless-bot
e0c8e30bbe feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
8ab5376e1f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
7e26907ec3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
ce7e1cd3af feat(api): OpenAPI spec update via Stainless API (#1256) 2024-10-10 10:10:51 +00:00
stainless-bot
a65a823db8 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
40b04cf904 feat(api): OpenAPI spec update via Stainless API (#1255) 2024-10-10 10:10:51 +00:00
stainless-bot
d598a2c31a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
cc10d8b23b feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
8c2f4021b3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
577ef5a9ae feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
813a523837 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
39073f5460 feat(api): update via SDK Studio (#1254) 2024-10-10 10:10:51 +00:00
stainless-bot
91de8496b8 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
d61c117b26 feat(api): update via SDK Studio (#1253) 2024-10-10 10:10:51 +00:00
stainless-bot
0c28d8c407 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
8d3c033818 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
52c110f2fe feat(api): OpenAPI spec update via Stainless API (#1252) 2024-10-10 10:10:51 +00:00
stainless-bot
6d95401b37 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
815cb73cab feat(api): OpenAPI spec update via Stainless API (#1251) 2024-10-10 10:10:51 +00:00
stainless-app[bot]
e65324b52c feat(api): OpenAPI spec update via Stainless API (#1250) 2024-10-10 10:10:51 +00:00
stainless-app[bot]
f7dbb5c365 feat(api): OpenAPI spec update via Stainless API (#1249) 2024-10-10 10:10:51 +00:00
stainless-bot
c307837d8c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
bb11742853 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
d0abdfc840 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
c7dc14cd33 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
23355fa519 feat(api): update via SDK Studio (#1248) 2024-10-10 10:10:51 +00:00
stainless-app[bot]
94dbb218d0 feat(api): OpenAPI spec update via Stainless API (#1247) 2024-10-10 10:10:51 +00:00
stainless-bot
304ea4dace feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
29ab78978e feat(api): OpenAPI spec update via Stainless API (#1246) 2024-10-10 10:10:51 +00:00
stainless-bot
be808ba3aa feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
6a35661965 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
f61601df12 feat(api): OpenAPI spec update via Stainless API (#1245) 2024-10-10 10:10:51 +00:00
stainless-bot
69957c9f5e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
96827ac737 feat(api): OpenAPI spec update via Stainless API (#1244) 2024-10-10 10:10:51 +00:00
stainless-bot
a26cc697ad feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
5319204dbe feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
2c324b1cd1 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
12fe274b6a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
b801d626d0 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
1d953b907c feat(api): OpenAPI spec update via Stainless API (#1243) 2024-10-10 10:10:51 +00:00
stainless-bot
48a8a1e9da feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
1ad5a83ad6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-app[bot]
0c6007639c feat(api): OpenAPI spec update via Stainless API (#1242) 2024-10-10 10:10:51 +00:00
stainless-app[bot]
66639c025e feat(api): OpenAPI spec update via Stainless API (#1241) 2024-10-10 10:10:51 +00:00
stainless-bot
349ffe9789 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:51 +00:00
stainless-bot
04daa8080e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
344acef770 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
6245c7d3e9 feat(api): OpenAPI spec update via Stainless API (#1240) 2024-10-10 10:10:50 +00:00
stainless-bot
74d1bda35a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
78d055e4e1 feat(api): OpenAPI spec update via Stainless API (#1239) 2024-10-10 10:10:50 +00:00
stainless-bot
2a0b3a80b3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
f4e4549b92 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
de133355c9 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
b261f431f9 feat(api): OpenAPI spec update via Stainless API (#1238) 2024-10-10 10:10:50 +00:00
stainless-bot
ea525d5d4d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
a039aad421 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
ac296c0fbb feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
1f6fad0f4e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
3b6e001b10 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
bb62a7a146 feat(api): OpenAPI spec update via Stainless API (#1237) 2024-10-10 10:10:50 +00:00
stainless-bot
30076c3e3f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
29f4dfbe3b feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
0f629eaec7 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
50953578da feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
0e38d06c15 feat(api): OpenAPI spec update via Stainless API (#1236) 2024-10-10 10:10:50 +00:00
stainless-bot
d914001925 feat(api): update via SDK Studio 2024-10-10 10:10:50 +00:00
stainless-bot
4d68dc43e5 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
63f81c51fd feat(api): OpenAPI spec update via Stainless API (#1235) 2024-10-10 10:10:50 +00:00
stainless-bot
50bdbd346c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
53a465c55a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
232a9ae5a8 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
9ff0c22385 feat(api): update via SDK Studio (#1234) 2024-10-10 10:10:50 +00:00
stainless-bot
43d8638327 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
308441afbb feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
1a8df9dc70 chore(internal): add type construction helper (#1233) 2024-10-10 10:10:50 +00:00
stainless-bot
9359c74ba9 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
34c8524e8f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
3abbdc2280 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
f90ef670dd feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
7f1629f312 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
1853baf66d feat(api): OpenAPI spec update via Stainless API (#1232) 2024-10-10 10:10:50 +00:00
stainless-bot
8e50970fde feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
46f4cebaed feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
fc58f17230 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
bc34d5e6ad feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
9e7205092c feat(api): update via SDK Studio (#1230) 2024-10-10 10:10:50 +00:00
stainless-bot
eb64f4e566 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
7e949dd7cf feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
3f9113c5ba feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
906b95efda feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
57e8453852 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
672f36a5ef feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
9b0e3ad59c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
e1c817aa3b feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
9c979cbb1b feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
f15c125b4e feat(api): OpenAPI spec update via Stainless API (#1229) 2024-10-10 10:10:50 +00:00
stainless-bot
02d97ddfc6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
772de19c72 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
2c5f9e36eb feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
ef3037a856 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
411292ad16 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
5230acc221 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
3b30a2df5d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
0e1af22a8d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
c39a64fbeb feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
2ae2f12e47 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
888333b9db feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
58f511b520 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
b38d36214d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
f965b5a57c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
806b593135 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
50628a80d6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
b2bafcc9c6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
08fc45f826 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
76e19f2eae feat(api): OpenAPI spec update via Stainless API (#1228) 2024-10-10 10:10:50 +00:00
stainless-app[bot]
8c29d288e1 feat(api): OpenAPI spec update via Stainless API (#1227) 2024-10-10 10:10:50 +00:00
stainless-bot
30737c6ba2 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
a482199ab1 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
314f37400e feat(api): OpenAPI spec update via Stainless API (#1226) 2024-10-10 10:10:50 +00:00
stainless-bot
b3ce3e3959 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
d15264017e feat(api): OpenAPI spec update via Stainless API (#1225) 2024-10-10 10:10:50 +00:00
stainless-bot
248fe590b2 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
2737777132 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
7cdf7227a7 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
f51ad38f1a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
3f30c2ad14 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
0e261daa8c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
243c4d3800 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
1b49449f65 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
1948178ce6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
63e8c5a76d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
25f30d49ae feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
0102f5f1de feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
8b13d6108e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
258143e224 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
7429a49941 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
a31052caf4 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
4be3410a5c chore: fix error message import example 2024-10-10 10:10:50 +00:00
stainless-app[bot]
e2276ed15e feat(api): OpenAPI spec update via Stainless API (#1224) 2024-10-10 10:10:50 +00:00
stainless-bot
26e2a84301 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
c3d0f7ec33 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
78006b606e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
9cd6c6ddae feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
51598de333 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
e8a9b8a4a7 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
ef6007a267 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
a38ce02b98 feat(api): update via SDK Studio 2024-10-10 10:10:50 +00:00
stainless-bot
e321ec9f9c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-app[bot]
e7b198e263 feat(api): update via SDK Studio (#1223) 2024-10-10 10:10:50 +00:00
stainless-app[bot]
240359871f feat(api): update via SDK Studio (#1222) 2024-10-10 10:10:50 +00:00
stainless-bot
7731d780c9 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
f091d58595 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
470dbabe4d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:50 +00:00
stainless-bot
49da8b8772 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
90bad041e3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
56a1c24e80 chore(internal): codegen related update (#1221) 2024-10-10 10:10:49 +00:00
stainless-bot
84c76fc1e6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
c14251c3d6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
ea2493c77f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
ff8ec44f66 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
36fb267d1a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
f76f67f9db feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
ca44266b82 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
f6a35499fb feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
862729f8a1 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
a74bd02580 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
d1cde175c5 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
ba734094b0 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
c31e8395fa chore(tests): update prism version (#1220) 2024-10-10 10:10:49 +00:00
stainless-app[bot]
2ccf1ee095 feat(api): OpenAPI spec update via Stainless API (#1219) 2024-10-10 10:10:49 +00:00
stainless-app[bot]
ead9e53315 feat(api): OpenAPI spec update via Stainless API (#1218) 2024-10-10 10:10:49 +00:00
stainless-bot
c42356d0a8 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
c7858af821 feat(api): OpenAPI spec update via Stainless API (#1217) 2024-10-10 10:10:49 +00:00
stainless-bot
3f75cf9b6e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
570fe1be28 feat(api): OpenAPI spec update via Stainless API (#1216) 2024-10-10 10:10:49 +00:00
stainless-bot
f8f428369f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
34c9a16b53 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
ee77d82b9a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
c2fd30a09a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
3613da1aca feat(api): OpenAPI spec update via Stainless API (#1215) 2024-10-10 10:10:49 +00:00
stainless-app[bot]
4346a42249 feat(api): OpenAPI spec update via Stainless API (#1214) 2024-10-10 10:10:49 +00:00
stainless-bot
db8315ae77 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
f4fc9d1760 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
4badfb680d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
7e7debff9b feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
5c551e7d04 feat(api): update via SDK Studio (#1213) 2024-10-10 10:10:49 +00:00
stainless-app[bot]
a6ddf17925 feat(api): update via SDK Studio (#1212) 2024-10-10 10:10:49 +00:00
stainless-app[bot]
fa4f1aa80b feat(api): update via SDK Studio (#1211) 2024-10-10 10:10:49 +00:00
stainless-app[bot]
3da7a3d5ad feat(api): update via SDK Studio (#1210) 2024-10-10 10:10:49 +00:00
stainless-app[bot]
863f6bc7a6 feat(api): update via SDK Studio (#1209) 2024-10-10 10:10:49 +00:00
stainless-app[bot]
05f2c2c057 feat(api): update via SDK Studio (#1208) 2024-10-10 10:10:49 +00:00
stainless-bot
786b82dd04 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
768225956d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
2885854868 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
bca4715b07 feat(api): OpenAPI spec update via Stainless API (#1207) 2024-10-10 10:10:49 +00:00
stainless-bot
8fd28dc924 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
613baab5ec feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
61acfd4945 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
b66e545187 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
09743dd160 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
e4bab4dc1d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
e618a11ba6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
3f3415bb9e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
2bdc2d56a1 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
6b11f40a84 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
4725169dd6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
1c1058f925 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
175f454929 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
cadc468870 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
8f6f02353f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
25b477aad5 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
e52216f17b feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
db11cb3e6b feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
34e39e17fb feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
32cda999d6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
46f6afe464 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
5a0ea03c9e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
d7d24c7f52 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
964de58c03 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
dd58966495 feat(api): update via SDK Studio 2024-10-10 10:10:49 +00:00
stainless-bot
311f126e7f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
574f006950 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
64e76f7e7f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
33eaa513c2 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
ed2a8cbdb6 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
d191df0246 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
821c71c97c feat(api): update via SDK Studio (#1205) 2024-10-10 10:10:49 +00:00
stainless-app[bot]
3e37859728 feat(api): OpenAPI spec update via Stainless API (#1204) 2024-10-10 10:10:49 +00:00
stainless-app[bot]
6a7158e45a feat(api): OpenAPI spec update via Stainless API (#1203) 2024-10-10 10:10:49 +00:00
stainless-bot
60bc704c64 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
faa85bc7ed feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
30f83ccd01 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
420edc39cd feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
7fe65d4d1e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
ee062b5dfa feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
a1b3cc59f3 feat(api): OpenAPI spec update via Stainless API (#1202) 2024-10-10 10:10:49 +00:00
stainless-bot
c296ef6acc feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
fc17f80c53 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
39d61fa102 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
5f67159d07 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
5663727b1d feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
8e3d72b2b3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
7f22d3d4c5 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
455280d1c7 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
1d707e5709 feat(api): update via SDK Studio (#1201) 2024-10-10 10:10:49 +00:00
stainless-bot
d78b6f4284 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
560e0a5e39 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
06cba2bda4 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
aead7adf7f feat(api): OpenAPI spec update via Stainless API (#1200) 2024-10-10 10:10:49 +00:00
stainless-app[bot]
0a61f31f54 feat(api): update via SDK Studio (#1199) 2024-10-10 10:10:49 +00:00
stainless-bot
68efa8bdd2 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
eeaaa86efc feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
6c19fa7f09 feat(api): OpenAPI spec update via Stainless API (#1198) 2024-10-10 10:10:49 +00:00
stainless-bot
8316bd81ea feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
fda1c448f1 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
de723e0ac7 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
6768400d73 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
a9f2a0d0f4 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
70451c5584 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
a2ecd9b20a feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-app[bot]
31020e5dec feat(api): OpenAPI spec update via Stainless API (#1197) 2024-10-10 10:10:49 +00:00
stainless-bot
0f2f0327d3 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
600a49774f feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
c6135c6b81 feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:49 +00:00
stainless-bot
17c9b1885c feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:48 +00:00
stainless-bot
cd759ac57e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:48 +00:00
stainless-app[bot]
575abbd4d2 feat(api): update via SDK Studio (#1196) 2024-10-10 10:10:48 +00:00
stainless-bot
1e2ffe295e feat(api): OpenAPI spec update via Stainless API 2024-10-10 10:10:48 +00:00
stainless-app[bot]
6262a0e186 chore(internal): version bump (#1194) 2024-10-10 10:10:48 +00:00
Jacob Bednarz
7d935bd009
Update semgrep.yml 2024-10-10 14:57:02 +11:00
Jacob Bednarz
3045efc2c7
Merge pull request #1912 from cloudflare/hrushikeshdeshpande-updating-semgrep
Update semgrep.yml
2024-10-10 14:52:57 +11:00
Hrushikesh Deshpande
96b943c477
Update semgrep.yml 2024-10-09 15:27:32 -04:00
Jacob Bednarz
cce7ce82e0
Merge pull request #1776 from cloudflare/hrushikeshdeshpande-updating-semgrep-yml
Update semgrep.yml
2024-09-23 13:17:29 +10:00
hrushikeshdeshpande
13c789506a
Update semgrep.yml 2024-09-20 17:44:14 -04:00
Hrushikesh Deshpande
af8b53b69f Adding semgrep yaml file 2024-09-19 21:57:23 -04:00
Jacob Bednarz
2998e58594
Merge pull request #1231 from mftzk/add-example
add examples to create dns record
2024-07-31 13:10:08 +10:00
Jacob Bednarz
0471f80056
Update record.py 2024-07-31 12:53:50 +10:00
Jacob Bednarz
bac68f9bb6
Update record.py 2024-07-31 12:48:15 +10:00
Jacob Bednarz
9faf13bc0a
Update record.py 2024-07-31 12:47:58 +10:00
Aji Mufti
87cfe3f06d
Update record.py
add sys library
2024-07-30 14:02:26 +07:00
Aji Mufti
0a295d2fc0
Update record.py
move variable to record kwargs
2024-07-30 13:59:20 +07:00
Aji Mufti
4002758021
Update record.py
zone id get from os environment variable
2024-07-30 13:55:17 +07:00
Aji Mufti
e1d0d64678
Update examples/dns/record.py
Co-authored-by: Jacob Bednarz <jacob.bednarz@hey.com>
2024-07-30 13:47:33 +07:00
Aji Mufti
50a7777623
Update examples/dns/record.py
Co-authored-by: Jacob Bednarz <jacob.bednarz@hey.com>
2024-07-30 13:46:41 +07:00
Aji Mufti
611750d350
Update examples/dns/record.py
Co-authored-by: Jacob Bednarz <jacob.bednarz@hey.com>
2024-07-30 13:46:16 +07:00
Aji Mufti
9e68bea156
Update examples/dns/record.py
Co-authored-by: Jacob Bednarz <jacob.bednarz@hey.com>
2024-07-30 13:34:23 +07:00
Aji Mufti
8a53a40566 add examples to create dns record 2024-07-29 15:19:10 +07:00
Jacob Bednarz
d04dfee456
Update README.md 2024-07-23 17:59:58 +10:00
Jacob Bednarz
736a97783a
Update SECURITY.md 2024-07-22 12:29:54 +10:00
Jacob Bednarz
861709a3a1
bump tests timeout 2024-07-19 08:56:37 +10:00
Jacob Bednarz
b35caaea7a
Merge pull request #1206 from cloudflare/concurrency-and-limits-for-actions
build(actions): add concurrency and timeouts for GitHub Actions
2024-07-19 04:46:46 +10:00
Jacob Bednarz
e77994f968
build(actions): add concurrency and timeouts for GitHub Actions 2024-07-19 04:46:16 +10:00
Jacob Bednarz
0aed308b80
Merge pull request #1140 from cloudflare/release-please--branches--main--changes--next
release: 3.1.0
2024-07-17 09:53:51 +10:00
stainless-app[bot]
ed7624ee26
release: 3.1.0 2024-07-16 21:20:11 +00:00
stainless-bot
f0c26a0b53 feat(api): OpenAPI spec update via Stainless API 2024-07-16 21:18:47 +00:00
stainless-bot
7850e2040c feat(api): OpenAPI spec update via Stainless API 2024-07-16 20:42:21 +00:00
stainless-bot
e91b45b7f3 feat(api): OpenAPI spec update via Stainless API 2024-07-16 20:23:31 +00:00
stainless-bot
a2433f41c7 feat(api): OpenAPI spec update via Stainless API 2024-07-16 19:46:03 +00:00
stainless-bot
598836dfda feat(api): OpenAPI spec update via Stainless API 2024-07-16 17:55:56 +00:00
stainless-bot
512203e858 feat(api): OpenAPI spec update via Stainless API 2024-07-16 17:53:44 +00:00
stainless-bot
cf3b8d925d feat(api): OpenAPI spec update via Stainless API 2024-07-16 17:09:29 +00:00
stainless-bot
cf6bd06c4c feat(api): OpenAPI spec update via Stainless API 2024-07-16 17:05:53 +00:00
stainless-bot
ccaeebb547 feat(api): OpenAPI spec update via Stainless API 2024-07-16 16:18:17 +00:00
stainless-bot
434690974d feat(api): OpenAPI spec update via Stainless API 2024-07-16 16:14:53 +00:00
stainless-app[bot]
0bfa95acf6 feat(api): OpenAPI spec update via Stainless API (#1193) 2024-07-16 14:57:11 +00:00
stainless-bot
20e4aff929 feat(api): OpenAPI spec update via Stainless API 2024-07-16 13:44:56 +00:00
stainless-app[bot]
8ea5be246f feat(api): OpenAPI spec update via Stainless API (#1192) 2024-07-16 12:40:44 +00:00
stainless-bot
9c895b4f42 feat(api): OpenAPI spec update via Stainless API 2024-07-16 12:38:27 +00:00
stainless-bot
90c3186760 feat(api): OpenAPI spec update via Stainless API 2024-07-16 12:21:32 +00:00
stainless-bot
25951eeb48 feat(api): OpenAPI spec update via Stainless API 2024-07-16 11:50:10 +00:00
stainless-app[bot]
d3e0648ee1 feat(api): OpenAPI spec update via Stainless API (#1191) 2024-07-16 11:07:14 +00:00
Robert Craigie
28c06a7fd3 feat(api): add hash to url_scanner 2024-07-16 10:47:39 +01:00
stainless-bot
ca2bde239b feat(api): OpenAPI spec update via Stainless API 2024-07-16 09:01:35 +00:00
stainless-app[bot]
a2955c5da1 feat(api): OpenAPI spec update via Stainless API (#1190) 2024-07-16 08:51:56 +00:00
stainless-bot
c309481bf9 feat(api): update via SDK Studio 2024-07-16 00:58:02 +00:00
stainless-bot
fd61b0dd32 feat(api): update via SDK Studio 2024-07-16 00:50:59 +00:00
stainless-app[bot]
cf972bbbe2 feat(api): update via SDK Studio (#1189) 2024-07-15 21:43:07 +00:00
stainless-app[bot]
90ce238bfa feat(api): OpenAPI spec update via Stainless API (#1188) 2024-07-15 20:14:49 +00:00
stainless-bot
c2e0647baf feat(api): OpenAPI spec update via Stainless API 2024-07-15 19:14:17 +00:00
stainless-app[bot]
1022f3066b feat(api): OpenAPI spec update via Stainless API (#1187) 2024-07-15 19:12:05 +00:00
stainless-app[bot]
84d7b0dc1a feat(api): OpenAPI spec update via Stainless API (#1186) 2024-07-15 18:58:45 +00:00
stainless-app[bot]
7ae4e71c47 feat(api): OpenAPI spec update via Stainless API (#1185) 2024-07-15 18:52:37 +00:00
stainless-bot
74cd67c1d5 feat(api): OpenAPI spec update via Stainless API 2024-07-15 18:11:54 +00:00
stainless-app[bot]
bb95823924 feat(api): OpenAPI spec update via Stainless API (#1184) 2024-07-15 17:46:49 +00:00
stainless-bot
83cd3fdb83 feat(api): OpenAPI spec update via Stainless API 2024-07-15 17:14:51 +00:00
stainless-bot
86075bbe47 feat(api): OpenAPI spec update via Stainless API 2024-07-15 16:31:14 +00:00
stainless-bot
7b4ad6eb4a feat(api): OpenAPI spec update via Stainless API 2024-07-15 15:26:24 +00:00
stainless-bot
11cfe41b8e feat(api): OpenAPI spec update via Stainless API 2024-07-15 14:46:39 +00:00
stainless-bot
c3abf890c1 feat(api): OpenAPI spec update via Stainless API 2024-07-15 14:20:55 +00:00
stainless-bot
1729a2cdd4 feat(api): OpenAPI spec update via Stainless API 2024-07-15 14:04:28 +00:00
stainless-bot
2516664810 feat(api): OpenAPI spec update via Stainless API 2024-07-15 11:56:21 +00:00
stainless-app[bot]
8fdc3df35e feat(api): OpenAPI spec update via Stainless API (#1183) 2024-07-15 11:36:05 +00:00
stainless-bot
2dce4afe42 feat(api): OpenAPI spec update via Stainless API 2024-07-15 08:09:13 +00:00
stainless-app[bot]
41a8d2246f feat(api): update via SDK Studio (#1182) 2024-07-15 04:54:55 +00:00
stainless-app[bot]
efafb96456 feat(api): update via SDK Studio (#1181) 2024-07-15 01:23:55 +00:00
stainless-bot
c08fb0db23 feat(api): OpenAPI spec update via Stainless API 2024-07-13 03:15:31 +00:00
stainless-bot
2fdfcf5572 feat(api): OpenAPI spec update via Stainless API 2024-07-12 22:26:50 +00:00
stainless-bot
c94a7430a2 feat(api): OpenAPI spec update via Stainless API 2024-07-12 22:06:07 +00:00
stainless-bot
87d6d49d65 feat(api): OpenAPI spec update via Stainless API 2024-07-12 22:04:08 +00:00
stainless-bot
7fcc030e0b feat(api): OpenAPI spec update via Stainless API 2024-07-12 19:52:18 +00:00
stainless-bot
64a4acd3f1 feat(api): OpenAPI spec update via Stainless API 2024-07-12 19:50:15 +00:00
stainless-bot
86071592be feat(api): OpenAPI spec update via Stainless API 2024-07-12 19:11:24 +00:00
stainless-bot
e75f49950e feat(api): OpenAPI spec update via Stainless API 2024-07-12 19:09:14 +00:00
stainless-bot
8e5a9db103 feat(api): OpenAPI spec update via Stainless API 2024-07-12 18:36:03 +00:00
stainless-bot
53f952b0ca feat(api): OpenAPI spec update via Stainless API 2024-07-12 18:33:50 +00:00
stainless-bot
9aae738690 feat(api): OpenAPI spec update via Stainless API 2024-07-12 18:09:35 +00:00
stainless-bot
17f284ac3d feat(api): OpenAPI spec update via Stainless API 2024-07-12 18:07:22 +00:00
stainless-bot
12381332af feat(api): OpenAPI spec update via Stainless API 2024-07-12 18:05:17 +00:00
stainless-bot
b80c95a5ac feat(api): OpenAPI spec update via Stainless API 2024-07-12 18:03:06 +00:00
stainless-bot
1cba5a7c0d feat(api): OpenAPI spec update via Stainless API 2024-07-12 17:51:38 +00:00
stainless-bot
852b7dc358 feat(api): OpenAPI spec update via Stainless API 2024-07-12 17:49:31 +00:00
stainless-bot
cf7cc16360 feat(api): OpenAPI spec update via Stainless API 2024-07-12 17:31:30 +00:00
stainless-bot
009cfadeaa feat(api): OpenAPI spec update via Stainless API 2024-07-12 17:29:15 +00:00
stainless-bot
cfa44153bb feat(api): OpenAPI spec update via Stainless API 2024-07-12 16:38:01 +00:00
stainless-bot
c174dc7973 feat(api): OpenAPI spec update via Stainless API 2024-07-12 16:02:07 +00:00
stainless-bot
89d49a9026 feat(api): OpenAPI spec update via Stainless API 2024-07-12 15:44:00 +00:00
stainless-bot
f60b1656d2 feat(api): OpenAPI spec update via Stainless API 2024-07-12 14:57:20 +00:00
stainless-bot
93bdfad87e feat(api): OpenAPI spec update via Stainless API 2024-07-12 14:41:12 +00:00
stainless-bot
8110894e0b feat(api): OpenAPI spec update via Stainless API 2024-07-12 14:29:04 +00:00
stainless-bot
74958bdef6 feat(api): OpenAPI spec update via Stainless API 2024-07-12 13:13:29 +00:00
stainless-bot
fba0e374dc feat(api): OpenAPI spec update via Stainless API 2024-07-12 12:47:58 +00:00
stainless-bot
23722cc372 feat(api): OpenAPI spec update via Stainless API 2024-07-12 12:40:12 +00:00
stainless-bot
8236e8bf67 feat(api): OpenAPI spec update via Stainless API 2024-07-12 11:18:56 +00:00
stainless-bot
5cf1ddeaa0 feat(api): OpenAPI spec update via Stainless API 2024-07-12 10:33:52 +00:00
stainless-bot
a8cad59293 feat(api): OpenAPI spec update via Stainless API 2024-07-12 09:30:45 +00:00
stainless-bot
6134898fdd feat(api): OpenAPI spec update via Stainless API 2024-07-12 09:18:34 +00:00
stainless-app[bot]
d0a6c8a768 feat(api): update via SDK Studio (#1180) 2024-07-12 05:02:14 +00:00
stainless-bot
d1df920f4b feat(api): OpenAPI spec update via Stainless API 2024-07-12 05:01:57 +00:00
stainless-bot
03f1cd5d23 feat(api): OpenAPI spec update via Stainless API 2024-07-12 05:01:34 +00:00
stainless-bot
6fa02583cb feat(api): OpenAPI spec update via Stainless API 2024-07-12 05:01:23 +00:00
stainless-bot
bacd1bf46e feat(api): OpenAPI spec update via Stainless API 2024-07-12 05:01:20 +00:00
stainless-bot
3ada1c7b2e feat(api): OpenAPI spec update via Stainless API 2024-07-12 05:01:14 +00:00
stainless-bot
fe70845826 feat(api): OpenAPI spec update via Stainless API 2024-07-12 05:00:44 +00:00
stainless-bot
040b023072 feat(api): OpenAPI spec update via Stainless API 2024-07-12 04:59:47 +00:00
stainless-app[bot]
502c98c1a1 feat(api): OpenAPI spec update via Stainless API (#1179) 2024-07-12 04:59:02 +00:00
stainless-bot
7e830293c5 feat(api): OpenAPI spec update via Stainless API 2024-07-12 04:58:58 +00:00
stainless-bot
c5a273734a feat(api): OpenAPI spec update via Stainless API 2024-07-12 04:58:47 +00:00
Stainless Bot
736ef7dfbd feat(api): OpenAPI spec update via Stainless API (#1177) 2024-07-12 04:58:13 +00:00
stainless-app[bot]
6a321d34b8 feat(api): OpenAPI spec update via Stainless API (#1176) 2024-07-11 13:45:28 +00:00
stainless-bot
2eb03dd982 feat(api): OpenAPI spec update via Stainless API 2024-07-11 13:15:33 +00:00
stainless-bot
0ce4b26ad0 feat(api): OpenAPI spec update via Stainless API 2024-07-11 13:09:31 +00:00
stainless-app[bot]
fa526975d0 feat(api): OpenAPI spec update via Stainless API (#1175) 2024-07-11 12:19:49 +00:00
stainless-app[bot]
62e392fc33 feat(api): OpenAPI spec update via Stainless API (#1174) 2024-07-11 10:26:14 +00:00
stainless-bot
d91fe49512 feat(api): OpenAPI spec update via Stainless API 2024-07-11 09:55:20 +00:00
stainless-bot
69956609dd feat(api): OpenAPI spec update via Stainless API 2024-07-11 08:21:50 +00:00
stainless-bot
3a7046c27a feat(api): OpenAPI spec update via Stainless API 2024-07-11 08:18:53 +00:00
stainless-bot
67e6f18c0d feat(api): OpenAPI spec update via Stainless API 2024-07-11 07:53:35 +00:00
stainless-bot
04048c52c0 feat(api): OpenAPI spec update via Stainless API 2024-07-11 07:50:25 +00:00
stainless-bot
e9ed855708 feat(api): OpenAPI spec update via Stainless API 2024-07-10 21:16:03 +00:00
stainless-bot
befbb9c64a feat(api): OpenAPI spec update via Stainless API 2024-07-10 21:13:38 +00:00
stainless-bot
2294aabf97 feat(api): OpenAPI spec update via Stainless API 2024-07-10 20:39:07 +00:00
stainless-bot
eaa8e7251d feat(api): OpenAPI spec update via Stainless API 2024-07-10 19:34:59 +00:00
stainless-bot
2d1fd82a25 feat(api): OpenAPI spec update via Stainless API 2024-07-10 18:19:40 +00:00
stainless-bot
b7bf288769 feat(api): OpenAPI spec update via Stainless API 2024-07-10 18:17:30 +00:00
stainless-bot
46698df804 feat(api): OpenAPI spec update via Stainless API 2024-07-10 18:15:15 +00:00
stainless-bot
58191cba25 feat(api): OpenAPI spec update via Stainless API 2024-07-10 16:31:59 +00:00
stainless-bot
e0c241ae0c feat(api): OpenAPI spec update via Stainless API 2024-07-10 15:56:09 +00:00
stainless-bot
5baa2fc8fd feat(api): OpenAPI spec update via Stainless API 2024-07-10 15:49:40 +00:00
stainless-app[bot]
7805fde9b3 feat(api): OpenAPI spec update via Stainless API (#1173) 2024-07-10 15:43:55 +00:00
stainless-bot
80601e266d feat(api): OpenAPI spec update via Stainless API 2024-07-10 14:57:00 +00:00
stainless-bot
68138db1b0 feat(api): OpenAPI spec update via Stainless API 2024-07-10 14:54:46 +00:00
stainless-bot
25ddd22e8e feat(api): OpenAPI spec update via Stainless API 2024-07-10 14:52:21 +00:00
stainless-app[bot]
2e661f04b7 feat(api): OpenAPI spec update via Stainless API (#1172) 2024-07-10 12:14:44 +00:00
stainless-bot
06a3d17164 feat(api): OpenAPI spec update via Stainless API 2024-07-10 10:39:01 +00:00
stainless-bot
ec24a52f7f feat(api): OpenAPI spec update via Stainless API 2024-07-10 10:29:38 +00:00
stainless-bot
15aabc46d6 feat(api): OpenAPI spec update via Stainless API 2024-07-10 10:27:29 +00:00
stainless-bot
c723bde8ca feat(api): OpenAPI spec update via Stainless API 2024-07-10 09:38:20 +00:00
stainless-bot
d8f38c68ef feat(api): OpenAPI spec update via Stainless API 2024-07-10 09:36:07 +00:00
stainless-app[bot]
49a344776c feat(api): OpenAPI spec update via Stainless API (#1171) 2024-07-10 08:36:15 +00:00
stainless-bot
915c1d761d feat(api): OpenAPI spec update via Stainless API 2024-07-10 08:03:25 +00:00
stainless-bot
284257253d feat(api): OpenAPI spec update via Stainless API 2024-07-09 23:14:18 +00:00
stainless-bot
da4b88885a feat(api): OpenAPI spec update via Stainless API 2024-07-09 23:09:11 +00:00
stainless-bot
cd05b30c88 feat(api): OpenAPI spec update via Stainless API 2024-07-09 22:56:01 +00:00
stainless-bot
0c67313053 feat(api): OpenAPI spec update via Stainless API 2024-07-09 22:41:29 +00:00
stainless-bot
2c0ff7dee2 feat(api): OpenAPI spec update via Stainless API 2024-07-09 21:27:39 +00:00
stainless-bot
61f20128d4 feat(api): OpenAPI spec update via Stainless API 2024-07-09 20:56:00 +00:00
stainless-bot
a72ac5b5a6 feat(api): OpenAPI spec update via Stainless API 2024-07-09 20:40:42 +00:00
stainless-bot
f4ca9d1241 feat(api): OpenAPI spec update via Stainless API 2024-07-09 19:45:13 +00:00
stainless-bot
2bad5b93a9 feat(api): OpenAPI spec update via Stainless API 2024-07-09 19:35:47 +00:00
stainless-bot
582594017e feat(api): OpenAPI spec update via Stainless API 2024-07-09 18:46:14 +00:00
stainless-bot
9bc3a4555a feat(api): OpenAPI spec update via Stainless API 2024-07-09 18:43:56 +00:00
stainless-bot
0575db6f08 feat(api): OpenAPI spec update via Stainless API 2024-07-09 18:18:04 +00:00
stainless-bot
81164f1641 feat(api): OpenAPI spec update via Stainless API 2024-07-09 18:15:50 +00:00
stainless-bot
82449b1551 feat(api): OpenAPI spec update via Stainless API 2024-07-09 17:22:16 +00:00
stainless-bot
d56dc7a474 feat(api): OpenAPI spec update via Stainless API 2024-07-09 17:11:36 +00:00
stainless-bot
ef6f32cf5d feat(api): OpenAPI spec update via Stainless API 2024-07-09 17:07:18 +00:00
stainless-bot
e14765ee80 feat(api): OpenAPI spec update via Stainless API 2024-07-09 17:05:05 +00:00
stainless-bot
b37a4a952c feat(api): OpenAPI spec update via Stainless API 2024-07-09 16:35:53 +00:00
stainless-bot
b4c773eca5 feat(api): OpenAPI spec update via Stainless API 2024-07-09 16:09:57 +00:00
stainless-bot
8d53838110 feat(api): OpenAPI spec update via Stainless API 2024-07-09 16:07:46 +00:00
stainless-app[bot]
bcbde3c48a feat(api): OpenAPI spec update via Stainless API (#1170) 2024-07-09 16:05:32 +00:00
stainless-bot
a9193f3efd feat(api): OpenAPI spec update via Stainless API 2024-07-09 15:24:35 +00:00
stainless-bot
114bb6b322 feat(api): OpenAPI spec update via Stainless API 2024-07-09 14:08:37 +00:00
stainless-bot
b39b42a37f feat(api): OpenAPI spec update via Stainless API 2024-07-09 13:06:56 +00:00
stainless-bot
070918f0d2 feat(api): OpenAPI spec update via Stainless API 2024-07-09 11:46:40 +00:00
stainless-bot
a138322698 feat(api): OpenAPI spec update via Stainless API 2024-07-09 11:36:08 +00:00
stainless-bot
ed59500543 feat(api): OpenAPI spec update via Stainless API 2024-07-09 10:26:42 +00:00
stainless-bot
15ad9355e6 feat(api): OpenAPI spec update via Stainless API 2024-07-09 10:24:30 +00:00
stainless-bot
15ef09d211 feat(api): OpenAPI spec update via Stainless API 2024-07-09 10:10:37 +00:00
stainless-bot
647cd3ebbc feat(api): OpenAPI spec update via Stainless API 2024-07-09 10:08:25 +00:00
stainless-bot
65df83ba6d feat(api): OpenAPI spec update via Stainless API 2024-07-09 09:56:13 +00:00
stainless-bot
bb11a58e22 feat(api): OpenAPI spec update via Stainless API 2024-07-09 08:55:15 +00:00
stainless-bot
03547804fc feat(api): OpenAPI spec update via Stainless API 2024-07-09 08:01:47 +00:00
stainless-bot
8116c69364 feat(api): OpenAPI spec update via Stainless API 2024-07-08 19:14:46 +00:00
stainless-bot
f81ecdddbe feat(api): OpenAPI spec update via Stainless API 2024-07-08 19:12:36 +00:00
stainless-bot
da7d67586a feat(api): OpenAPI spec update via Stainless API 2024-07-08 19:01:04 +00:00
stainless-bot
4a1eec886c feat(api): OpenAPI spec update via Stainless API 2024-07-08 18:58:52 +00:00
stainless-bot
bb2a07e35b feat(api): OpenAPI spec update via Stainless API 2024-07-08 18:29:11 +00:00
stainless-bot
b8411a9363 feat(api): OpenAPI spec update via Stainless API 2024-07-08 17:49:46 +00:00
stainless-bot
f4d0dc7138 feat(api): OpenAPI spec update via Stainless API 2024-07-08 17:12:58 +00:00
stainless-bot
491a77520b feat(api): OpenAPI spec update via Stainless API 2024-07-08 16:54:24 +00:00
stainless-bot
dced7fcf33 feat(api): OpenAPI spec update via Stainless API 2024-07-08 16:44:35 +00:00
stainless-bot
6a16a58560 feat(api): OpenAPI spec update via Stainless API 2024-07-08 16:42:24 +00:00
stainless-bot
e3a3b62080 feat(api): OpenAPI spec update via Stainless API 2024-07-08 16:39:58 +00:00
stainless-bot
aaa21da321 feat(api): OpenAPI spec update via Stainless API 2024-07-08 16:37:49 +00:00
stainless-bot
d5bb6f8362 feat(api): OpenAPI spec update via Stainless API 2024-07-08 16:35:34 +00:00
stainless-bot
9de375beef feat(api): OpenAPI spec update via Stainless API 2024-07-08 16:27:26 +00:00
stainless-bot
1865527839 feat(api): OpenAPI spec update via Stainless API 2024-07-08 15:14:11 +00:00
stainless-bot
688c4f0378 feat(api): OpenAPI spec update via Stainless API 2024-07-08 14:47:17 +00:00
stainless-bot
8176af1d6c feat(api): OpenAPI spec update via Stainless API 2024-07-08 13:55:53 +00:00
stainless-bot
6e6f0e325b feat(api): OpenAPI spec update via Stainless API 2024-07-08 13:12:45 +00:00
stainless-bot
b4e9e71ad8 feat(api): OpenAPI spec update via Stainless API 2024-07-08 13:10:20 +00:00
stainless-bot
bfd6950cfc feat(api): OpenAPI spec update via Stainless API 2024-07-08 12:32:05 +00:00
stainless-bot
c32f16418b feat(api): OpenAPI spec update via Stainless API 2024-07-08 12:29:55 +00:00
stainless-bot
ff6a875428 feat(api): OpenAPI spec update via Stainless API 2024-07-08 11:57:48 +00:00
stainless-bot
8b94b8dd76 feat(api): OpenAPI spec update via Stainless API 2024-07-08 11:55:39 +00:00
stainless-bot
4f48f34112 feat(api): OpenAPI spec update via Stainless API 2024-07-08 09:08:56 +00:00
stainless-bot
32a6d2dcd9 feat(api): OpenAPI spec update via Stainless API 2024-07-08 08:39:45 +00:00
stainless-bot
3339305292 feat(api): OpenAPI spec update via Stainless API 2024-07-08 01:14:10 +00:00
stainless-bot
e7ece7099a feat(api): OpenAPI spec update via Stainless API 2024-07-08 01:12:00 +00:00
stainless-bot
f621e070f2 feat(api): OpenAPI spec update via Stainless API 2024-07-06 02:28:59 +00:00
stainless-bot
c4ec2518e7 feat(api): OpenAPI spec update via Stainless API 2024-07-06 02:26:47 +00:00
stainless-bot
f3d27bd774 feat(api): OpenAPI spec update via Stainless API 2024-07-05 20:34:18 +00:00
stainless-bot
398428cde6 feat(api): OpenAPI spec update via Stainless API 2024-07-05 20:32:09 +00:00
stainless-bot
cf5b13e527 feat(api): OpenAPI spec update via Stainless API 2024-07-05 19:05:25 +00:00
stainless-bot
9e8d867e3e feat(api): OpenAPI spec update via Stainless API 2024-07-05 18:13:50 +00:00
stainless-bot
2ebf3aedd9 feat(api): OpenAPI spec update via Stainless API 2024-07-05 18:11:43 +00:00
stainless-bot
be954f1f8d feat(api): OpenAPI spec update via Stainless API 2024-07-05 17:49:16 +00:00
stainless-bot
209d91db43 feat(api): OpenAPI spec update via Stainless API 2024-07-05 17:47:06 +00:00
stainless-bot
0648b00bc8 feat(api): OpenAPI spec update via Stainless API 2024-07-05 16:28:07 +00:00
stainless-bot
8728546702 feat(api): OpenAPI spec update via Stainless API 2024-07-05 16:11:20 +00:00
stainless-bot
d086f8e406 feat(api): OpenAPI spec update via Stainless API 2024-07-05 15:31:45 +00:00
stainless-bot
b4ccd6ae62 feat(api): OpenAPI spec update via Stainless API 2024-07-05 15:29:11 +00:00
stainless-bot
b3aea3b33e feat(api): OpenAPI spec update via Stainless API 2024-07-05 14:19:55 +00:00
stainless-bot
22b306f9f3 feat(api): OpenAPI spec update via Stainless API 2024-07-05 14:11:06 +00:00
stainless-bot
64746987f3 feat(api): OpenAPI spec update via Stainless API 2024-07-05 14:08:55 +00:00
stainless-bot
2adff4fa8c feat(api): OpenAPI spec update via Stainless API 2024-07-05 13:52:47 +00:00
stainless-bot
6599b89408 feat(api): OpenAPI spec update via Stainless API 2024-07-05 13:50:39 +00:00
stainless-bot
ca8df49cac feat(api): OpenAPI spec update via Stainless API 2024-07-05 13:38:34 +00:00
stainless-bot
811809ea78 feat(api): OpenAPI spec update via Stainless API 2024-07-05 09:22:46 +00:00
stainless-bot
541710005f feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:29:09 +00:00
stainless-bot
b8641babb0 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
85ea74c4a3 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
3f6b0175cf feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
99bcb73398 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
98d6d681f0 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
878b526a9d feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
52fcb9bf69 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
24610ee124 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
1de091bc1b feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
a1855ad6ee feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
c540a6bc15 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
46fe427595 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
6b898d6f10 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
2a1cb4b5ee feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
f44b8d9ac9 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
e8f0de5926 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
bbc84f8a03 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
e54a57e258 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
96735b7282 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
bc04ae8b52 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
1273d3fcc4 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
291e099c3e feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
258cab107d feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
c4770ee743 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
a511f0e2cb feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
af263cad73 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
d2e2b28b98 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
821bb593a9 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-app[bot]
bce89ebcd9 feat(api): OpenAPI spec update via Stainless API (#1168) 2024-07-05 06:26:50 +00:00
stainless-bot
e78475a10e feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
b6be122497 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-app[bot]
316f72ed25 feat(api): OpenAPI spec update via Stainless API (#1167) 2024-07-05 06:26:50 +00:00
stainless-bot
3995ced502 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
2f1d0e0668 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
75500a8252 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-bot
8fb0b193fc feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:50 +00:00
stainless-app[bot]
3dcb89f67e feat(api): OpenAPI spec update via Stainless API (#1166) 2024-07-05 06:26:50 +00:00
stainless-app[bot]
6503a1689e feat(api): OpenAPI spec update via Stainless API (#1165) 2024-07-05 06:26:50 +00:00
stainless-bot
522bc467eb feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
8a429e35b8 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
38feb387f4 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
3c4078f9df feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
37b2b79102 feat(api): OpenAPI spec update via Stainless API (#1164) 2024-07-05 06:26:49 +00:00
stainless-bot
60f53e5336 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
1282d2095f feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
1551969f22 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
a90da01d76 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
17c6455a40 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
f7a6ca119d feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
34706fdbe8 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
9094b4e4b2 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
94c88793f6 feat(api): OpenAPI spec update via Stainless API (#1163) 2024-07-05 06:26:49 +00:00
stainless-bot
4a0644f309 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
17c2b78eab feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
b25c6fc449 feat(api): OpenAPI spec update via Stainless API (#1162) 2024-07-05 06:26:49 +00:00
stainless-bot
5584fca47e feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
6c8b53a499 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
0dbf0f5382 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
6949c20c1e feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
079cba58d1 feat(api): OpenAPI spec update via Stainless API (#1161) 2024-07-05 06:26:49 +00:00
stainless-app[bot]
6031ae93d9 feat(api): OpenAPI spec update via Stainless API (#1160) 2024-07-05 06:26:49 +00:00
stainless-bot
eba86e853d feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
f43166b991 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
ee81fba8a8 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
6f848ba0be feat(api): update via SDK Studio 2024-07-05 06:26:49 +00:00
stainless-bot
a897b665cf feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
ffc17e958c feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
aeaa56cf6f feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
32214d9a3c feat(api): update via SDK Studio (#1159) 2024-07-05 06:26:49 +00:00
stainless-bot
64819e531d feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
0dff80f614 feat(api): OpenAPI spec update via Stainless API (#1158) 2024-07-05 06:26:49 +00:00
stainless-app[bot]
d73518c7b7 feat(api): OpenAPI spec update via Stainless API (#1157) 2024-07-05 06:26:49 +00:00
stainless-app[bot]
e71be01b47 feat(api): OpenAPI spec update via Stainless API (#1156) 2024-07-05 06:26:49 +00:00
stainless-app[bot]
7706d48f3f feat(api): OpenAPI spec update via Stainless API (#1155) 2024-07-05 06:26:49 +00:00
stainless-bot
9ec6e88804 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
8f24c0d538 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
129fdd8333 feat(api): update via SDK Studio (#1154) 2024-07-05 06:26:49 +00:00
stainless-bot
9a14329856 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
6e0e19f4f0 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
21c0d21b76 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
d064f1a0f4 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
d666576e60 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
634a302bfc feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
c2878bdb25 feat(api): OpenAPI spec update via Stainless API (#1152) 2024-07-05 06:26:49 +00:00
stainless-bot
aa12f3c9b2 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
0559f4076e feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
11218de0b1 feat(api): OpenAPI spec update via Stainless API (#1150) 2024-07-05 06:26:49 +00:00
stainless-app[bot]
b017f04e5b feat(api): OpenAPI spec update via Stainless API (#1149) 2024-07-05 06:26:49 +00:00
stainless-app[bot]
9026ba1317 feat(api): OpenAPI spec update via Stainless API (#1148) 2024-07-05 06:26:49 +00:00
stainless-bot
30e1a06a3d feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
741afd2941 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
a1b659ca93 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
1c9534a37a feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
213c7f0519 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
d265388717 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
8aeb63a650 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
2547a2e132 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
f6f6db3d01 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
598261d7ac feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
17ed0ff86a feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
de4e348049 feat(api): OpenAPI spec update via Stainless API (#1147) 2024-07-05 06:26:49 +00:00
stainless-app[bot]
4fc14538dc feat(api): update via SDK Studio (#1146) 2024-07-05 06:26:49 +00:00
stainless-bot
f02688168e feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
c4f5a69ca8 feat(api): OpenAPI spec update via Stainless API (#1145) 2024-07-05 06:26:49 +00:00
stainless-bot
ea3c6dc3a3 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
6114ff462e feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
0831d037d9 feat(api): OpenAPI spec update via Stainless API (#1144) 2024-07-05 06:26:49 +00:00
stainless-bot
fced905393 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
ce967fbd2d feat(api): OpenAPI spec update via Stainless API (#1143) 2024-07-05 06:26:49 +00:00
stainless-app[bot]
7dff911912 feat(api): OpenAPI spec update via Stainless API (#1142) 2024-07-05 06:26:49 +00:00
stainless-bot
066164cfd1 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
26599d0d1a feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-bot
ba4b02d1c9 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:49 +00:00
stainless-app[bot]
8fdfff3ee1 feat(api): OpenAPI spec update via Stainless API (#1141) 2024-07-05 06:26:48 +00:00
stainless-bot
e77f508503 feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:48 +00:00
stainless-bot
1a113b863c feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:48 +00:00
stainless-bot
3d98fba71c feat(api): OpenAPI spec update via Stainless API 2024-07-05 06:26:48 +00:00
Jacob Bednarz
15a6adfb71
Merge pull request #1169 from stefanofusai/patch-1
Remove `on` from API docs link
2024-07-05 09:31:58 +10:00
Stefano Fusai
42ad95382b
Remove on from API docs link 2024-07-04 20:56:24 +02:00
Jacob Bednarz
087dd39091
Merge pull request #1137 from cloudflare/release-please--branches--main--changes--next
release: 3.0.1
2024-06-25 08:16:52 +10:00
Jacob Bednarz
56dca42e17
Merge branch 'main' into release-please--branches--main--changes--next 2024-06-25 08:10:17 +10:00
stainless-app[bot]
b0b7116db2
release: 3.0.1 2024-06-24 22:10:04 +00:00
Stainless Bot
3b05435cab feat: remove --pre 2024-06-24 22:03:12 +00:00
Jacob Bednarz
e16b8eec40
remove --pre 2024-06-25 08:03:06 +10:00
Jacob Bednarz
7299d62c4c
Merge pull request #1015 from cloudflare/release-please--branches--main--changes--next
release: 3.0.0
2024-06-25 08:01:15 +10:00
stainless-app[bot]
a997b40032
release: 3.0.0 2024-06-24 18:45:52 +00:00
stainless-bot
4efa7b1a64 feat(api): OpenAPI spec update via Stainless API 2024-06-24 18:45:04 +00:00
stainless-app[bot]
dc48e66d51 feat(api): OpenAPI spec update via Stainless API (#1136) 2024-06-24 07:22:33 +00:00
stainless-app[bot]
d459a477e6 feat(api): update via SDK Studio (#1135) 2024-06-24 01:42:55 +00:00
stainless-app[bot]
4107247013 feat(api): update via SDK Studio (#1134) 2024-06-24 01:28:03 +00:00
stainless-app[bot]
cc58279d91 feat(api): OpenAPI spec update via Stainless API (#1133) 2024-06-22 04:47:33 +00:00
stainless-app[bot]
06c6fbbdfc feat(api): OpenAPI spec update via Stainless API (#1132) 2024-06-21 18:16:01 +00:00
stainless-app[bot]
5399fe786f feat(api): OpenAPI spec update via Stainless API (#1131) 2024-06-21 16:22:56 +00:00
stainless-app[bot]
0fbad95a26 feat(api): OpenAPI spec update via Stainless API (#1130) 2024-06-21 13:11:04 +00:00
stainless-app[bot]
a1f52251ef feat(api): OpenAPI spec update via Stainless API (#1129) 2024-06-21 12:47:31 +00:00
stainless-app[bot]
82081277f5 feat(api): OpenAPI spec update via Stainless API (#1128) 2024-06-21 12:45:15 +00:00
stainless-app[bot]
d9b6345797 feat(api): OpenAPI spec update via Stainless API (#1127) 2024-06-21 11:40:19 +00:00
stainless-app[bot]
5fee6993f6 feat(api): OpenAPI spec update via Stainless API (#1126) 2024-06-21 11:38:03 +00:00
stainless-app[bot]
1c8fc9c76e feat(api): OpenAPI spec update via Stainless API (#1125) 2024-06-21 11:28:25 +00:00
stainless-app[bot]
3f4305f5e0 feat(api): OpenAPI spec update via Stainless API (#1124) 2024-06-21 10:44:32 +00:00
stainless-app[bot]
4d07c9279f feat(api): OpenAPI spec update via Stainless API (#1123) 2024-06-21 10:22:37 +00:00
stainless-app[bot]
406cd14643 feat(api): OpenAPI spec update via Stainless API (#1122) 2024-06-21 10:20:15 +00:00
stainless-app[bot]
e5f8fab995 feat(api): OpenAPI spec update via Stainless API (#1121) 2024-06-21 09:11:35 +00:00
stainless-app[bot]
e088fa35be feat(api): OpenAPI spec update via Stainless API (#1120) 2024-06-21 08:40:23 +00:00
stainless-app[bot]
e91b22d78f feat(api): OpenAPI spec update via Stainless API (#1119) 2024-06-21 03:43:02 +00:00
stainless-app[bot]
8bc99ae689 feat(api): update via SDK Studio (#1118) 2024-06-20 23:15:29 +00:00
stainless-app[bot]
5d7efed605 feat(api): OpenAPI spec update via Stainless API (#1117) 2024-06-20 22:52:35 +00:00
stainless-app[bot]
aa928602e2 feat(api): OpenAPI spec update via Stainless API (#1116) 2024-06-20 22:50:20 +00:00
stainless-app[bot]
30991e5f82 feat(api): OpenAPI spec update via Stainless API (#1115) 2024-06-20 21:44:57 +00:00
stainless-app[bot]
5ab5180145 feat(api): OpenAPI spec update via Stainless API (#1114) 2024-06-20 20:21:01 +00:00
stainless-app[bot]
ecf909a83d feat(api): OpenAPI spec update via Stainless API (#1113) 2024-06-20 17:10:34 +00:00
stainless-app[bot]
08aa37f91c feat(api): OpenAPI spec update via Stainless API (#1112) 2024-06-20 16:53:45 +00:00
stainless-app[bot]
e53d3c8c80 feat(api): OpenAPI spec update via Stainless API (#1111) 2024-06-20 15:25:04 +00:00
stainless-app[bot]
6d80a4114d feat(api): OpenAPI spec update via Stainless API (#1110) 2024-06-20 15:10:49 +00:00
stainless-app[bot]
1585de4614 feat(api): OpenAPI spec update via Stainless API (#1109) 2024-06-20 15:08:29 +00:00
stainless-app[bot]
913c0585ec feat(api): OpenAPI spec update via Stainless API (#1108) 2024-06-20 15:06:15 +00:00
stainless-app[bot]
07a9d1ef9a feat(api): OpenAPI spec update via Stainless API (#1107) 2024-06-20 15:03:55 +00:00
stainless-app[bot]
26b8d4d554 feat(api): OpenAPI spec update via Stainless API (#1106) 2024-06-20 14:49:24 +00:00
stainless-app[bot]
6df8ac087e feat(api): OpenAPI spec update via Stainless API (#1105) 2024-06-20 14:47:05 +00:00
stainless-app[bot]
cf616e1770 feat(api): OpenAPI spec update via Stainless API (#1104) 2024-06-20 14:44:27 +00:00
stainless-app[bot]
42bde1c4bc feat(api): OpenAPI spec update via Stainless API (#1103) 2024-06-20 12:54:35 +00:00
stainless-app[bot]
a216e21584 feat(api): OpenAPI spec update via Stainless API (#1102) 2024-06-20 12:52:19 +00:00
stainless-app[bot]
109b2408c8 feat(api): OpenAPI spec update via Stainless API (#1101) 2024-06-20 12:28:31 +00:00
stainless-app[bot]
e13944b577 feat(api): OpenAPI spec update via Stainless API (#1100) 2024-06-20 12:26:13 +00:00
stainless-app[bot]
6aa6dd76bd feat(api): OpenAPI spec update via Stainless API (#1099) 2024-06-20 11:14:11 +00:00
stainless-app[bot]
0699645b43 feat(api): OpenAPI spec update via Stainless API (#1098) 2024-06-20 09:06:57 +00:00
stainless-app[bot]
d5b6b1e041 feat(api): OpenAPI spec update via Stainless API (#1097) 2024-06-20 09:04:40 +00:00
stainless-app[bot]
97a4a6ecfb feat(api): OpenAPI spec update via Stainless API (#1096) 2024-06-20 09:02:12 +00:00
stainless-app[bot]
1bb16681ac feat(api): OpenAPI spec update via Stainless API (#1095) 2024-06-20 08:59:43 +00:00
stainless-app[bot]
bbc5c47f99 feat(api): OpenAPI spec update via Stainless API (#1094) 2024-06-20 08:56:49 +00:00
stainless-app[bot]
8333cc9895 feat(api): OpenAPI spec update via Stainless API (#1093) 2024-06-20 08:47:44 +00:00
stainless-app[bot]
01a5f6dc3e feat(api): OpenAPI spec update via Stainless API (#1092) 2024-06-20 08:45:15 +00:00
stainless-app[bot]
d0f9b652b6 feat(api): OpenAPI spec update via Stainless API (#1091) 2024-06-20 07:41:50 +00:00
stainless-app[bot]
a9fb4bd815 feat(api): OpenAPI spec update via Stainless API (#1090) 2024-06-20 07:39:31 +00:00
stainless-app[bot]
b02a3a6c0f feat(api): update via SDK Studio (#1089) 2024-06-20 05:01:05 +00:00
stainless-app[bot]
0d97401137 feat(api): OpenAPI spec update via Stainless API (#1088) 2024-06-19 23:22:25 +00:00
stainless-app[bot]
f4b9ad590f feat(api): OpenAPI spec update via Stainless API (#1087) 2024-06-19 22:11:52 +00:00
stainless-app[bot]
928a6d6137 feat(api): OpenAPI spec update via Stainless API (#1086) 2024-06-19 20:22:00 +00:00
stainless-app[bot]
91ca108bd5 feat(api): OpenAPI spec update via Stainless API (#1085) 2024-06-19 20:12:00 +00:00
stainless-app[bot]
eb53bcb83a feat(api): OpenAPI spec update via Stainless API (#1084) 2024-06-19 19:57:06 +00:00
stainless-app[bot]
939d9df3e3 feat(api): OpenAPI spec update via Stainless API (#1083) 2024-06-19 19:38:02 +00:00
stainless-app[bot]
ece3ecc927 feat(api): OpenAPI spec update via Stainless API (#1082) 2024-06-19 19:35:41 +00:00
stainless-app[bot]
7932a902ef feat(api): OpenAPI spec update via Stainless API (#1081) 2024-06-19 19:33:29 +00:00
stainless-app[bot]
a0a142b795 feat(api): OpenAPI spec update via Stainless API (#1080) 2024-06-19 18:50:15 +00:00
stainless-app[bot]
547d81dee6 feat(api): OpenAPI spec update via Stainless API (#1079) 2024-06-19 18:47:44 +00:00
stainless-app[bot]
ca74a013a7 feat(api): OpenAPI spec update via Stainless API (#1078) 2024-06-19 18:25:21 +00:00
stainless-app[bot]
51c1d82e65 feat(api): OpenAPI spec update via Stainless API (#1077) 2024-06-19 18:10:29 +00:00
stainless-app[bot]
69d14b3890 feat(api): OpenAPI spec update via Stainless API (#1076) 2024-06-19 18:03:55 +00:00
stainless-app[bot]
dc306973d5 feat(api): OpenAPI spec update via Stainless API (#1075) 2024-06-19 17:39:49 +00:00
stainless-app[bot]
cc22cb5b75 feat(api): OpenAPI spec update via Stainless API (#1074) 2024-06-19 17:35:34 +00:00
stainless-app[bot]
8703733747 feat(api): OpenAPI spec update via Stainless API (#1073) 2024-06-19 16:23:02 +00:00
stainless-app[bot]
1c766243eb feat(api): OpenAPI spec update via Stainless API (#1072) 2024-06-19 16:20:46 +00:00
stainless-app[bot]
3c1897a47d feat(api): OpenAPI spec update via Stainless API (#1071) 2024-06-19 16:00:33 +00:00
stainless-app[bot]
22c184ebf3 feat(api): OpenAPI spec update via Stainless API (#1070) 2024-06-19 15:58:18 +00:00
stainless-app[bot]
82e8ca53c4 feat(api): OpenAPI spec update via Stainless API (#1069) 2024-06-19 15:53:26 +00:00
stainless-app[bot]
439a8292e7 feat(api): OpenAPI spec update via Stainless API (#1068) 2024-06-19 15:35:47 +00:00
stainless-app[bot]
6ff321dc3d feat(api): OpenAPI spec update via Stainless API (#1067) 2024-06-19 15:31:22 +00:00
stainless-app[bot]
28eaa38065 feat(api): OpenAPI spec update via Stainless API (#1066) 2024-06-19 14:15:48 +00:00
stainless-app[bot]
fdeb11cf98 feat(api): OpenAPI spec update via Stainless API (#1065) 2024-06-19 14:13:28 +00:00
stainless-app[bot]
82bbd71774 feat(api): OpenAPI spec update via Stainless API (#1064) 2024-06-19 14:11:03 +00:00
stainless-app[bot]
01a46c5858 feat(api): OpenAPI spec update via Stainless API (#1063) 2024-06-19 14:04:51 +00:00
stainless-app[bot]
052747aa5c feat(api): OpenAPI spec update via Stainless API (#1062) 2024-06-19 14:02:36 +00:00
stainless-app[bot]
cd6884d6a9 feat(api): OpenAPI spec update via Stainless API (#1061) 2024-06-19 12:47:19 +00:00
stainless-app[bot]
e9e3fd85d8 feat(api): OpenAPI spec update via Stainless API (#1060) 2024-06-19 12:44:50 +00:00
stainless-app[bot]
74de52fda8 feat(api): OpenAPI spec update via Stainless API (#1059) 2024-06-19 11:21:02 +00:00
stainless-app[bot]
81b555abc9 feat(api): OpenAPI spec update via Stainless API (#1058) 2024-06-19 11:07:15 +00:00
stainless-app[bot]
ea91ee44cc feat(api): OpenAPI spec update via Stainless API (#1057) 2024-06-19 05:36:00 +00:00
stainless-app[bot]
db34d57cbb feat(api): OpenAPI spec update via Stainless API (#1056) 2024-06-19 05:33:34 +00:00
stainless-app[bot]
aa12de0617 feat(api): OpenAPI spec update via Stainless API (#1055) 2024-06-19 00:46:09 +00:00
stainless-app[bot]
7b85d2262b feat(api): update via SDK Studio (#1054) 2024-06-19 00:23:19 +00:00
stainless-app[bot]
3112e77701 feat(api): OpenAPI spec update via Stainless API (#1053) 2024-06-19 00:16:24 +00:00
stainless-app[bot]
9deb2f41db feat(api): update via SDK Studio (#1052) 2024-06-18 23:28:32 +00:00
stainless-app[bot]
f6430b7da0 feat(api): OpenAPI spec update via Stainless API (#1051) 2024-06-18 21:48:24 +00:00
stainless-app[bot]
381ebf4a87 feat(api): OpenAPI spec update via Stainless API (#1050) 2024-06-18 21:46:08 +00:00
stainless-app[bot]
c996cadc39 feat(api): OpenAPI spec update via Stainless API (#1049) 2024-06-18 21:41:30 +00:00
stainless-app[bot]
063addb8c3 feat(api): OpenAPI spec update via Stainless API (#1048) 2024-06-18 21:37:06 +00:00
stainless-app[bot]
4a7b51ba9a feat(api): OpenAPI spec update via Stainless API (#1047) 2024-06-18 21:31:43 +00:00
stainless-app[bot]
5e4656011a feat(api): OpenAPI spec update via Stainless API (#1046) 2024-06-18 21:29:05 +00:00
stainless-app[bot]
cd59b4a3c7 feat(api): OpenAPI spec update via Stainless API (#1045) 2024-06-18 21:26:40 +00:00
stainless-app[bot]
ef5e7ee79f feat(api): OpenAPI spec update via Stainless API (#1044) 2024-06-18 20:35:18 +00:00
stainless-app[bot]
46c4648beb feat(api): OpenAPI spec update via Stainless API (#1043) 2024-06-18 20:32:48 +00:00
stainless-app[bot]
997098f313 feat(api): OpenAPI spec update via Stainless API (#1042) 2024-06-18 19:03:03 +00:00
stainless-app[bot]
5acb02c8c4 feat(api): OpenAPI spec update via Stainless API (#1041) 2024-06-18 19:00:53 +00:00
stainless-app[bot]
fe5de84b88 feat(api): OpenAPI spec update via Stainless API (#1040) 2024-06-18 18:58:38 +00:00
stainless-app[bot]
1a82acfe5e feat(api): OpenAPI spec update via Stainless API (#1039) 2024-06-18 18:56:11 +00:00
stainless-app[bot]
498913d0e8 feat(api): OpenAPI spec update via Stainless API (#1038) 2024-06-18 18:43:55 +00:00
stainless-app[bot]
b63a076dd8 feat(api): OpenAPI spec update via Stainless API (#1037) 2024-06-18 18:41:05 +00:00
stainless-app[bot]
e020fef0b6 feat(api): OpenAPI spec update via Stainless API (#1036) 2024-06-18 17:26:17 +00:00
stainless-app[bot]
1f88ee5bde feat(api): OpenAPI spec update via Stainless API (#1035) 2024-06-18 17:18:36 +00:00
stainless-app[bot]
b1a45398d3 feat(api): OpenAPI spec update via Stainless API (#1034) 2024-06-18 17:11:36 +00:00
stainless-app[bot]
4ea82b2757 feat(api): OpenAPI spec update via Stainless API (#1033) 2024-06-18 17:09:06 +00:00
stainless-app[bot]
f6ce7db266 feat(api): OpenAPI spec update via Stainless API (#1032) 2024-06-18 16:48:29 +00:00
stainless-app[bot]
e71b38484f feat(api): OpenAPI spec update via Stainless API (#1031) 2024-06-18 16:45:47 +00:00
stainless-app[bot]
dadf2717c8 feat(api): OpenAPI spec update via Stainless API (#1030) 2024-06-18 16:43:00 +00:00
stainless-app[bot]
55865cfd42 feat(api): OpenAPI spec update via Stainless API (#1029) 2024-06-18 16:39:40 +00:00
stainless-app[bot]
500976bfe6 feat(api): OpenAPI spec update via Stainless API (#1028) 2024-06-18 16:13:34 +00:00
stainless-app[bot]
71e22e2f9b feat(api): OpenAPI spec update via Stainless API (#1027) 2024-06-18 16:08:26 +00:00
stainless-app[bot]
4848bd11c2 feat(api): OpenAPI spec update via Stainless API (#1026) 2024-06-18 14:41:05 +00:00
stainless-app[bot]
ed9dd82958 feat(api): OpenAPI spec update via Stainless API (#1025) 2024-06-18 14:38:42 +00:00
stainless-app[bot]
7371f0fe9c feat(api): OpenAPI spec update via Stainless API (#1024) 2024-06-18 14:36:24 +00:00
stainless-app[bot]
caa36b4448 feat(api): OpenAPI spec update via Stainless API (#1023) 2024-06-18 14:34:04 +00:00
stainless-app[bot]
c1ed21d227 feat(api): OpenAPI spec update via Stainless API (#1022) 2024-06-18 14:29:20 +00:00
stainless-app[bot]
7d5572aee6 feat(api): OpenAPI spec update via Stainless API (#1021) 2024-06-18 14:27:05 +00:00
stainless-app[bot]
8e20edfc52 feat(api): OpenAPI spec update via Stainless API (#1020) 2024-06-18 14:24:47 +00:00
stainless-app[bot]
9367d593ce feat(api): OpenAPI spec update via Stainless API (#1019) 2024-06-18 14:22:11 +00:00
stainless-app[bot]
038c47e763 feat(api): OpenAPI spec update via Stainless API (#1018) 2024-06-18 13:33:07 +00:00
stainless-app[bot]
7bfbdba867 feat(api): OpenAPI spec update via Stainless API (#1017) 2024-06-18 09:50:58 +00:00
stainless-app[bot]
b762e85608 feat(api): OpenAPI spec update via Stainless API (#1016) 2024-06-18 08:54:37 +00:00
stainless-app[bot]
f9b879a727 feat(api): OpenAPI spec update via Stainless API (#1014) 2024-06-18 08:29:08 +00:00
Jacob Bednarz
4e01b1c7a4
Merge pull request #482 from cloudflare/release-please--branches--main--changes--next
release: 3.0.0-beta.10
2024-06-18 12:41:20 +10:00
stainless-app[bot]
7bd7ef61cc
release: 3.0.0-beta.10 2024-06-18 00:57:50 +00:00
stainless-app[bot]
044d8e5454 feat(api): OpenAPI spec update via Stainless API (#1012) 2024-06-18 00:56:19 +00:00
stainless-app[bot]
6a74ae12a6 feat(api): update via SDK Studio (#1011) 2024-06-18 00:29:57 +00:00
stainless-app[bot]
edf3d01b2c feat(api): OpenAPI spec update via Stainless API (#1010) 2024-06-17 22:21:53 +00:00
stainless-app[bot]
cba721dfb4 feat(api): OpenAPI spec update via Stainless API (#1009) 2024-06-17 21:10:30 +00:00
stainless-app[bot]
6b66d162ab feat(api): OpenAPI spec update via Stainless API (#1008) 2024-06-17 18:17:36 +00:00
stainless-app[bot]
1451caa51b feat(api): OpenAPI spec update via Stainless API (#1007) 2024-06-17 15:54:35 +00:00
stainless-app[bot]
1b3c1867a1 feat(api): OpenAPI spec update via Stainless API (#1006) 2024-06-17 14:50:40 +00:00
stainless-app[bot]
ec8a580bb4 feat(api): OpenAPI spec update via Stainless API (#1005) 2024-06-17 14:48:29 +00:00
stainless-app[bot]
c3c6156360 feat(api): OpenAPI spec update via Stainless API (#1004) 2024-06-17 14:46:08 +00:00
stainless-app[bot]
226559c098 feat(api): OpenAPI spec update via Stainless API (#1003) 2024-06-17 14:43:46 +00:00
stainless-app[bot]
f51ca7bcd2 feat(api): OpenAPI spec update via Stainless API (#1002) 2024-06-17 11:04:13 +00:00
stainless-app[bot]
2f1ef0fd1c feat(api): OpenAPI spec update via Stainless API (#1001) 2024-06-17 10:00:36 +00:00
stainless-app[bot]
c97f907888 feat(api): OpenAPI spec update via Stainless API (#1000) 2024-06-17 09:58:09 +00:00
stainless-app[bot]
e0269bba24 feat(api): update via SDK Studio (#999) 2024-06-17 05:55:23 +00:00
stainless-app[bot]
7e2cd67996 feat(api): update via SDK Studio (#998) 2024-06-17 05:42:42 +00:00
stainless-app[bot]
f583ec8acf feat(api): update via SDK Studio (#997) 2024-06-17 05:29:16 +00:00
stainless-app[bot]
04b79faf41 feat(api): update via SDK Studio (#996) 2024-06-17 04:16:37 +00:00
stainless-app[bot]
3de54540a0 feat(api): update via SDK Studio (#995) 2024-06-17 03:51:05 +00:00
stainless-app[bot]
349941a0f1 feat(api): OpenAPI spec update via Stainless API (#994) 2024-06-14 22:28:16 +00:00
stainless-app[bot]
9cb5cd7d01 feat(api): OpenAPI spec update via Stainless API (#993) 2024-06-14 22:08:08 +00:00
stainless-app[bot]
05e0b92bd3 feat(api): OpenAPI spec update via Stainless API (#992) 2024-06-14 22:05:56 +00:00
stainless-app[bot]
0d3feacc6e feat(api): OpenAPI spec update via Stainless API (#991) 2024-06-14 21:49:26 +00:00
stainless-app[bot]
cc76cffbc9 feat(api): OpenAPI spec update via Stainless API (#990) 2024-06-14 21:47:13 +00:00
stainless-app[bot]
d8131eaecc feat(api): OpenAPI spec update via Stainless API (#989) 2024-06-14 21:44:49 +00:00
stainless-app[bot]
1be11e847d feat(api): OpenAPI spec update via Stainless API (#988) 2024-06-14 21:29:48 +00:00
stainless-app[bot]
b1e35493ea feat(api): OpenAPI spec update via Stainless API (#987) 2024-06-14 17:11:18 +00:00
stainless-app[bot]
4f82091a8b feat(api): OpenAPI spec update via Stainless API (#986) 2024-06-14 17:09:03 +00:00
stainless-app[bot]
6ee5e162f9 feat(api): OpenAPI spec update via Stainless API (#985) 2024-06-14 16:46:28 +00:00
stainless-app[bot]
c7023433bd feat(api): OpenAPI spec update via Stainless API (#984) 2024-06-14 16:44:18 +00:00
stainless-app[bot]
06307a8204 feat(api): OpenAPI spec update via Stainless API (#983) 2024-06-14 16:36:16 +00:00
stainless-app[bot]
04cd78a2fb feat(api): OpenAPI spec update via Stainless API (#982) 2024-06-14 16:34:08 +00:00
stainless-app[bot]
8543fae03e feat(api): OpenAPI spec update via Stainless API (#981) 2024-06-14 16:31:52 +00:00
stainless-app[bot]
9742593480 feat(api): OpenAPI spec update via Stainless API (#980) 2024-06-14 16:29:23 +00:00
stainless-app[bot]
c57c9060af feat(api): OpenAPI spec update via Stainless API (#979) 2024-06-14 15:54:58 +00:00
stainless-app[bot]
2d44575915 feat(api): OpenAPI spec update via Stainless API (#978) 2024-06-14 15:50:38 +00:00
stainless-app[bot]
816c7b3eaf feat(api): OpenAPI spec update via Stainless API (#977) 2024-06-14 15:12:15 +00:00
stainless-app[bot]
b4a7375244 feat(api): OpenAPI spec update via Stainless API (#976) 2024-06-14 15:09:31 +00:00
stainless-app[bot]
46f1cc127b feat(api): OpenAPI spec update via Stainless API (#975) 2024-06-14 13:13:55 +00:00
stainless-app[bot]
edccbd62ef feat(api): OpenAPI spec update via Stainless API (#974) 2024-06-14 11:34:53 +00:00
stainless-app[bot]
568efe921e feat(api): OpenAPI spec update via Stainless API (#973) 2024-06-14 11:32:39 +00:00
stainless-app[bot]
187d46db1f feat(api): OpenAPI spec update via Stainless API (#972) 2024-06-14 11:12:05 +00:00
stainless-app[bot]
843c4ab7b0 feat(api): OpenAPI spec update via Stainless API (#971) 2024-06-14 11:09:55 +00:00
stainless-app[bot]
9ced3bb626 feat(api): OpenAPI spec update via Stainless API (#970) 2024-06-14 10:55:32 +00:00
stainless-app[bot]
71e97aa998 feat(api): OpenAPI spec update via Stainless API (#969) 2024-06-14 10:11:31 +00:00
stainless-app[bot]
cefb09fd18 feat(api): OpenAPI spec update via Stainless API (#968) 2024-06-14 10:09:19 +00:00
stainless-app[bot]
a4c88dfb7e feat(api): OpenAPI spec update via Stainless API (#967) 2024-06-14 10:05:11 +00:00
stainless-app[bot]
e8189fd351 feat(api): OpenAPI spec update via Stainless API (#966) 2024-06-14 10:02:56 +00:00
stainless-app[bot]
6adbe9ad9f feat(api): OpenAPI spec update via Stainless API (#965) 2024-06-14 09:29:27 +00:00
stainless-app[bot]
66380bd320 feat(api): OpenAPI spec update via Stainless API (#964) 2024-06-14 09:27:11 +00:00
stainless-app[bot]
e51ae76cb5 feat(api): update via SDK Studio (#963) 2024-06-14 04:30:36 +00:00
stainless-app[bot]
e272f2d2f3 feat(api): OpenAPI spec update via Stainless API (#962) 2024-06-13 15:27:27 +00:00
stainless-app[bot]
390080678b feat(api): OpenAPI spec update via Stainless API (#961) 2024-06-13 15:19:08 +00:00
stainless-app[bot]
f3cd3a0e49 feat(api): OpenAPI spec update via Stainless API (#960) 2024-06-13 14:13:09 +00:00
stainless-app[bot]
9911e8a5ae feat(api): OpenAPI spec update via Stainless API (#959) 2024-06-13 13:09:44 +00:00
stainless-app[bot]
578652c4ac feat(api): OpenAPI spec update via Stainless API (#958) 2024-06-13 12:51:45 +00:00
stainless-app[bot]
da57903288 feat(api): OpenAPI spec update via Stainless API (#957) 2024-06-13 11:27:40 +00:00
stainless-app[bot]
1755024b6f feat(api): OpenAPI spec update via Stainless API (#956) 2024-06-13 10:26:43 +00:00
stainless-app[bot]
3062da9407 feat(api): OpenAPI spec update via Stainless API (#955) 2024-06-13 10:08:43 +00:00
stainless-app[bot]
1a54c89f03 feat(api): OpenAPI spec update via Stainless API (#954) 2024-06-13 01:29:35 +00:00
stainless-app[bot]
1b6e7fb506 feat(api): OpenAPI spec update via Stainless API (#953) 2024-06-12 22:33:56 +00:00
stainless-app[bot]
7db30f1a64 feat(api): OpenAPI spec update via Stainless API (#952) 2024-06-12 22:31:22 +00:00
stainless-app[bot]
39e0aa0787 feat(api): OpenAPI spec update via Stainless API (#951) 2024-06-12 21:35:59 +00:00
stainless-app[bot]
00bf60078f feat(api): OpenAPI spec update via Stainless API (#950) 2024-06-12 21:15:49 +00:00
stainless-app[bot]
78265361b3 feat(api): OpenAPI spec update via Stainless API (#949) 2024-06-12 21:13:36 +00:00
stainless-app[bot]
c90d052713 feat(api): OpenAPI spec update via Stainless API (#948) 2024-06-12 21:10:51 +00:00
stainless-app[bot]
efcc9ebcca feat(api): OpenAPI spec update via Stainless API (#947) 2024-06-12 21:08:33 +00:00
stainless-app[bot]
ba3959a51f feat(api): OpenAPI spec update via Stainless API (#946) 2024-06-12 20:59:36 +00:00
stainless-app[bot]
5ba6aa2fdc feat(api): OpenAPI spec update via Stainless API (#945) 2024-06-12 19:25:47 +00:00
stainless-app[bot]
d621200385 feat(api): OpenAPI spec update via Stainless API (#944) 2024-06-12 19:10:54 +00:00
stainless-app[bot]
72884ce88d feat(api): OpenAPI spec update via Stainless API (#943) 2024-06-12 17:35:10 +00:00
stainless-app[bot]
cb14149194 feat(api): OpenAPI spec update via Stainless API (#942) 2024-06-12 17:32:52 +00:00
stainless-app[bot]
9da9ede896 feat(api): OpenAPI spec update via Stainless API (#941) 2024-06-12 17:30:30 +00:00
stainless-app[bot]
14b0f6621f feat(api): OpenAPI spec update via Stainless API (#940) 2024-06-12 16:47:23 +00:00
stainless-app[bot]
ef6191f69d feat(api): OpenAPI spec update via Stainless API (#939) 2024-06-12 15:59:23 +00:00
stainless-app[bot]
bd703b43af feat(api): OpenAPI spec update via Stainless API (#938) 2024-06-12 15:28:41 +00:00
stainless-app[bot]
e1195acc48 feat(api): OpenAPI spec update via Stainless API (#937) 2024-06-12 15:22:36 +00:00
stainless-app[bot]
b852f702de feat(api): OpenAPI spec update via Stainless API (#936) 2024-06-12 15:20:25 +00:00
stainless-app[bot]
3a93f412ba feat(api): OpenAPI spec update via Stainless API (#935) 2024-06-12 13:54:13 +00:00
stainless-app[bot]
a1af91e7e0 feat(api): OpenAPI spec update via Stainless API (#934) 2024-06-12 13:20:43 +00:00
stainless-app[bot]
02fe287f00 feat(api): OpenAPI spec update via Stainless API (#933) 2024-06-12 13:18:35 +00:00
stainless-app[bot]
a1758adc9d feat(api): OpenAPI spec update via Stainless API (#932) 2024-06-12 13:16:23 +00:00
stainless-app[bot]
912276c1fd feat(api): OpenAPI spec update via Stainless API (#931) 2024-06-12 13:14:08 +00:00
stainless-app[bot]
53842105e1 feat(api): OpenAPI spec update via Stainless API (#930) 2024-06-12 13:09:27 +00:00
stainless-app[bot]
4198b88ddc feat(api): OpenAPI spec update via Stainless API (#929) 2024-06-12 12:57:56 +00:00
stainless-app[bot]
113cb5b269 feat(api): OpenAPI spec update via Stainless API (#928) 2024-06-12 11:15:59 +00:00
stainless-app[bot]
74f90177e7 feat(api): OpenAPI spec update via Stainless API (#927) 2024-06-12 11:05:16 +00:00
stainless-app[bot]
02aeaabae3 feat(api): OpenAPI spec update via Stainless API (#926) 2024-06-12 11:02:57 +00:00
stainless-app[bot]
ff97dd5b0c feat(api): OpenAPI spec update via Stainless API (#925) 2024-06-12 09:31:50 +00:00
stainless-app[bot]
a19a00632f feat(api): OpenAPI spec update via Stainless API (#924) 2024-06-12 09:29:29 +00:00
stainless-app[bot]
980ac6dd9e feat(api): update via SDK Studio (#923) 2024-06-12 05:56:14 +00:00
stainless-app[bot]
4f81e3a49b feat(api): OpenAPI spec update via Stainless API (#922) 2024-06-11 23:10:47 +00:00
stainless-app[bot]
9c78797434 feat(api): OpenAPI spec update via Stainless API (#921) 2024-06-11 22:16:26 +00:00
stainless-app[bot]
3f3c410cc4 feat(api): OpenAPI spec update via Stainless API (#920) 2024-06-11 22:09:11 +00:00
stainless-app[bot]
8c02be4d02 feat(api): OpenAPI spec update via Stainless API (#919) 2024-06-11 20:43:26 +00:00
stainless-app[bot]
598f17dc09 feat(api): OpenAPI spec update via Stainless API (#918) 2024-06-11 20:33:10 +00:00
stainless-app[bot]
5d522b4a3b feat(api): OpenAPI spec update via Stainless API (#917) 2024-06-11 16:36:00 +00:00
stainless-app[bot]
6dc52de9b0 feat(api): OpenAPI spec update via Stainless API (#916) 2024-06-11 15:49:34 +00:00
stainless-app[bot]
e94d9f7e8a feat(api): OpenAPI spec update via Stainless API (#915) 2024-06-11 15:02:36 +00:00
stainless-app[bot]
64e3e72794 feat(api): OpenAPI spec update via Stainless API (#914) 2024-06-11 13:04:11 +00:00
stainless-app[bot]
7600ef4404 feat(api): OpenAPI spec update via Stainless API (#913) 2024-06-11 08:56:30 +00:00
stainless-app[bot]
03507c5c91 feat(api): update via SDK Studio (#912) 2024-06-11 01:32:00 +00:00
stainless-app[bot]
92b2ce3b9b feat(api): OpenAPI spec update via Stainless API (#911) 2024-06-10 22:47:34 +00:00
stainless-app[bot]
cef0cea6c4 feat(api): OpenAPI spec update via Stainless API (#910) 2024-06-10 20:46:08 +00:00
stainless-app[bot]
f9ea911f67 feat(api): OpenAPI spec update via Stainless API (#909) 2024-06-10 18:36:57 +00:00
stainless-app[bot]
392e54fb43 feat(api): OpenAPI spec update via Stainless API (#908) 2024-06-10 18:11:26 +00:00
stainless-app[bot]
1716bafada feat(api): OpenAPI spec update via Stainless API (#907) 2024-06-10 18:09:05 +00:00
stainless-app[bot]
637480d143 feat(api): OpenAPI spec update via Stainless API (#906) 2024-06-10 16:55:10 +00:00
stainless-app[bot]
fe3c0e9aaf feat(api): OpenAPI spec update via Stainless API (#905) 2024-06-10 16:52:34 +00:00
stainless-app[bot]
73c1c103a9 feat(api): OpenAPI spec update via Stainless API (#904) 2024-06-10 16:04:38 +00:00
stainless-app[bot]
a1c451e778 feat(api): OpenAPI spec update via Stainless API (#903) 2024-06-10 16:02:25 +00:00
stainless-app[bot]
36f10acb46 feat(api): OpenAPI spec update via Stainless API (#902) 2024-06-10 16:00:16 +00:00
stainless-app[bot]
0c82790057 feat(api): OpenAPI spec update via Stainless API (#901) 2024-06-10 15:40:44 +00:00
stainless-app[bot]
d61c9a1401 feat(api): OpenAPI spec update via Stainless API (#900) 2024-06-10 14:29:01 +00:00
stainless-app[bot]
f7761ebf84 feat(api): OpenAPI spec update via Stainless API (#899) 2024-06-10 12:57:00 +00:00
stainless-app[bot]
ee63e1eabd feat(api): OpenAPI spec update via Stainless API (#898) 2024-06-10 12:12:14 +00:00
stainless-app[bot]
ec1cce1022 feat(api): OpenAPI spec update via Stainless API (#897) 2024-06-10 12:09:49 +00:00
stainless-app[bot]
7067513262 feat(api): OpenAPI spec update via Stainless API (#896) 2024-06-10 10:59:30 +00:00
stainless-app[bot]
547a922d64 feat(api): OpenAPI spec update via Stainless API (#895) 2024-06-10 10:57:18 +00:00
stainless-app[bot]
8140735568 feat(api): OpenAPI spec update via Stainless API (#894) 2024-06-10 10:47:06 +00:00
stainless-app[bot]
b22ba085df feat(api): OpenAPI spec update via Stainless API (#893) 2024-06-10 10:44:43 +00:00
stainless-app[bot]
0330dce9a9 feat(api): OpenAPI spec update via Stainless API (#892) 2024-06-10 10:10:47 +00:00
stainless-app[bot]
6e2115addd feat(api): OpenAPI spec update via Stainless API (#891) 2024-06-10 10:08:26 +00:00
stainless-app[bot]
1158194344 feat(api): OpenAPI spec update via Stainless API (#890) 2024-06-07 21:20:20 +00:00
stainless-app[bot]
77175b0d23 feat(api): OpenAPI spec update via Stainless API (#889) 2024-06-07 19:59:34 +00:00
stainless-app[bot]
21b7830e1b feat(api): OpenAPI spec update via Stainless API (#888) 2024-06-07 19:18:30 +00:00
stainless-app[bot]
561f2c0b64 feat(api): OpenAPI spec update via Stainless API (#887) 2024-06-07 18:10:05 +00:00
stainless-app[bot]
78c7e25e85 feat(api): OpenAPI spec update via Stainless API (#886) 2024-06-07 18:07:52 +00:00
stainless-app[bot]
142d257f44 feat(api): OpenAPI spec update via Stainless API (#885) 2024-06-07 17:02:44 +00:00
stainless-app[bot]
0a5bff5ef8 feat(api): OpenAPI spec update via Stainless API (#884) 2024-06-07 17:00:28 +00:00
stainless-app[bot]
2f8cee56e4 feat(api): OpenAPI spec update via Stainless API (#883) 2024-06-07 16:58:17 +00:00
stainless-app[bot]
be7f95b936 feat(api): OpenAPI spec update via Stainless API (#882) 2024-06-07 16:48:43 +00:00
stainless-app[bot]
a54ba22cbd feat(api): OpenAPI spec update via Stainless API (#881) 2024-06-07 16:46:29 +00:00
stainless-app[bot]
fdbc41b6f8 feat(api): OpenAPI spec update via Stainless API (#880) 2024-06-07 16:38:06 +00:00
stainless-app[bot]
017c740e7c feat(api): OpenAPI spec update via Stainless API (#879) 2024-06-07 16:10:53 +00:00
stainless-app[bot]
306f8a4fa8 feat(api): OpenAPI spec update via Stainless API (#878) 2024-06-07 15:18:11 +00:00
stainless-app[bot]
b0a46c09fe feat(api): OpenAPI spec update via Stainless API (#877) 2024-06-07 15:13:35 +00:00
stainless-app[bot]
8f28f6cafb feat(api): OpenAPI spec update via Stainless API (#876) 2024-06-07 15:01:08 +00:00
stainless-app[bot]
4944d404c5 feat(api): OpenAPI spec update via Stainless API (#875) 2024-06-07 14:51:40 +00:00
stainless-app[bot]
d05b083904 feat(api): OpenAPI spec update via Stainless API (#874) 2024-06-07 13:17:15 +00:00
stainless-app[bot]
fd420dab47 feat(api): OpenAPI spec update via Stainless API (#873) 2024-06-07 12:08:47 +00:00
stainless-app[bot]
7a883a3af3 feat(api): OpenAPI spec update via Stainless API (#872) 2024-06-07 12:06:20 +00:00
stainless-app[bot]
0d5f2a92b0 feat(api): OpenAPI spec update via Stainless API (#871) 2024-06-07 12:04:04 +00:00
stainless-app[bot]
57e73e5f47 feat(api): OpenAPI spec update via Stainless API (#870) 2024-06-07 09:48:46 +00:00
stainless-app[bot]
db82249844 feat(api): OpenAPI spec update via Stainless API (#869) 2024-06-07 09:17:43 +00:00
stainless-app[bot]
50facab4f8 feat(api): OpenAPI spec update via Stainless API (#868) 2024-06-07 08:30:52 +00:00
stainless-app[bot]
09f9f1f6f4 feat(api): OpenAPI spec update via Stainless API (#867) 2024-06-07 06:18:20 +00:00
stainless-app[bot]
4f83a03df2 feat(api): OpenAPI spec update via Stainless API (#866) 2024-06-07 06:16:14 +00:00
stainless-app[bot]
eafefcd348 feat(api): OpenAPI spec update via Stainless API (#865) 2024-06-07 01:29:28 +00:00
stainless-app[bot]
9c81cdaaa7 feat(api): OpenAPI spec update via Stainless API (#864) 2024-06-07 01:27:11 +00:00
stainless-app[bot]
992e3d68e7 feat(api): update via SDK Studio (#863) 2024-06-07 00:00:50 +00:00
stainless-app[bot]
8c548f7bb0 feat(api): update via SDK Studio (#862) 2024-06-06 23:21:32 +00:00
stainless-app[bot]
b6421e4f37 feat(api): OpenAPI spec update via Stainless API (#861) 2024-06-06 20:27:15 +00:00
stainless-app[bot]
baf75e216f feat(api): OpenAPI spec update via Stainless API (#860) 2024-06-06 20:25:02 +00:00
stainless-app[bot]
131db3e1b0 feat(api): OpenAPI spec update via Stainless API (#859) 2024-06-06 20:02:33 +00:00
stainless-app[bot]
789689195f feat(api): OpenAPI spec update via Stainless API (#858) 2024-06-06 19:47:13 +00:00
stainless-app[bot]
96236a2dc3 feat(api): OpenAPI spec update via Stainless API (#857) 2024-06-06 19:37:59 +00:00
stainless-app[bot]
0f546f597a feat(api): OpenAPI spec update via Stainless API (#856) 2024-06-06 17:58:54 +00:00
stainless-app[bot]
6048cc2ac1 feat(api): OpenAPI spec update via Stainless API (#855) 2024-06-06 17:56:45 +00:00
stainless-app[bot]
8dca457d34 feat(api): OpenAPI spec update via Stainless API (#854) 2024-06-06 17:54:38 +00:00
stainless-app[bot]
1c71964ca4 feat(api): OpenAPI spec update via Stainless API (#853) 2024-06-06 17:46:06 +00:00
stainless-app[bot]
f48bf6350d feat(api): OpenAPI spec update via Stainless API (#852) 2024-06-06 17:43:53 +00:00
stainless-app[bot]
ce39f6aed0 feat(api): OpenAPI spec update via Stainless API (#851) 2024-06-06 17:10:48 +00:00
stainless-app[bot]
3009046a27 feat(api): OpenAPI spec update via Stainless API (#850) 2024-06-06 16:53:15 +00:00
stainless-app[bot]
9966bb71bc feat(api): OpenAPI spec update via Stainless API (#849) 2024-06-06 16:43:19 +00:00
stainless-app[bot]
15c8441822 feat(api): OpenAPI spec update via Stainless API (#848) 2024-06-06 16:18:16 +00:00
stainless-app[bot]
33ca608d5d feat(api): OpenAPI spec update via Stainless API (#847) 2024-06-06 15:06:00 +00:00
stainless-app[bot]
4d5d4bd261 feat(api): OpenAPI spec update via Stainless API (#846) 2024-06-06 14:54:06 +00:00
stainless-app[bot]
2d7391be05 feat(api): OpenAPI spec update via Stainless API (#845) 2024-06-06 13:40:12 +00:00
stainless-app[bot]
79eab2f865 feat(api): OpenAPI spec update via Stainless API (#844) 2024-06-06 13:07:12 +00:00
stainless-app[bot]
671030ae27 feat(api): OpenAPI spec update via Stainless API (#843) 2024-06-06 12:17:37 +00:00
stainless-app[bot]
943e7bf32d feat(api): OpenAPI spec update via Stainless API (#842) 2024-06-06 12:15:20 +00:00
stainless-app[bot]
7a0162e173 feat(api): OpenAPI spec update via Stainless API (#841) 2024-06-06 11:42:55 +00:00
stainless-app[bot]
287bb9a3b7 feat(api): OpenAPI spec update via Stainless API (#840) 2024-06-06 10:00:28 +00:00
stainless-app[bot]
f520ca581c feat(api): OpenAPI spec update via Stainless API (#839) 2024-06-06 09:42:59 +00:00
stainless-app[bot]
9bc4946f74 feat(api): OpenAPI spec update via Stainless API (#838) 2024-06-06 09:24:25 +00:00
stainless-app[bot]
ed6a712c10 feat(api): OpenAPI spec update via Stainless API (#837) 2024-06-06 09:04:41 +00:00
stainless-app[bot]
2d97be7aa5 feat(api): OpenAPI spec update via Stainless API (#836) 2024-06-06 07:53:07 +00:00
stainless-app[bot]
df5ef97507 feat(api): update via SDK Studio (#835) 2024-06-05 22:50:41 +00:00
stainless-app[bot]
11bb6dd69f feat(api): update via SDK Studio (#834) 2024-06-05 22:43:11 +00:00
stainless-app[bot]
7ee6553a4c feat(api): OpenAPI spec update via Stainless API (#833) 2024-06-05 21:43:42 +00:00
stainless-app[bot]
fff2454d95 feat(api): OpenAPI spec update via Stainless API (#832) 2024-06-05 19:34:09 +00:00
stainless-app[bot]
442584f708 feat(api): OpenAPI spec update via Stainless API (#831) 2024-06-05 19:27:24 +00:00
stainless-app[bot]
8668e02b24 feat(api): OpenAPI spec update via Stainless API (#830) 2024-06-05 19:10:49 +00:00
stainless-app[bot]
218645a9ac feat(api): OpenAPI spec update via Stainless API (#829) 2024-06-05 17:22:37 +00:00
stainless-app[bot]
53c19b3eaa feat(api): OpenAPI spec update via Stainless API (#828) 2024-06-05 15:56:02 +00:00
stainless-app[bot]
82a67f8fe5 feat(api): OpenAPI spec update via Stainless API (#827) 2024-06-05 15:53:54 +00:00
stainless-app[bot]
f47e0885d0 feat(api): OpenAPI spec update via Stainless API (#826) 2024-06-05 15:49:53 +00:00
stainless-app[bot]
c3a0ecc86f feat(api): OpenAPI spec update via Stainless API (#825) 2024-06-05 15:10:59 +00:00
stainless-app[bot]
3830cdae38 feat(api): OpenAPI spec update via Stainless API (#824) 2024-06-05 14:34:38 +00:00
stainless-app[bot]
f3749fd6d0 feat(api): OpenAPI spec update via Stainless API (#823) 2024-06-05 14:32:26 +00:00
stainless-app[bot]
f61c978ec9 feat(api): OpenAPI spec update via Stainless API (#822) 2024-06-05 14:16:45 +00:00
stainless-app[bot]
f0c83e009e feat(api): OpenAPI spec update via Stainless API (#821) 2024-06-05 14:14:33 +00:00
stainless-app[bot]
d3c3d58c9b feat(api): OpenAPI spec update via Stainless API (#820) 2024-06-05 14:03:48 +00:00
stainless-app[bot]
0592df8066 feat(api): OpenAPI spec update via Stainless API (#819) 2024-06-05 10:53:21 +00:00
stainless-app[bot]
b3fc97d222 feat(api): OpenAPI spec update via Stainless API (#818) 2024-06-05 10:43:29 +00:00
stainless-app[bot]
f4f82f4990 feat(api): OpenAPI spec update via Stainless API (#817) 2024-06-05 10:41:25 +00:00
stainless-app[bot]
98426f4c32 feat(api): OpenAPI spec update via Stainless API (#816) 2024-06-05 09:35:41 +00:00
stainless-app[bot]
063d1f3067 feat(api): OpenAPI spec update via Stainless API (#815) 2024-06-05 09:33:37 +00:00
stainless-app[bot]
2b107f5ebc feat(api): OpenAPI spec update via Stainless API (#814) 2024-06-05 09:27:52 +00:00
stainless-app[bot]
dd703c4841 feat(api): OpenAPI spec update via Stainless API (#813) 2024-06-05 09:25:45 +00:00
stainless-app[bot]
835829aa93 feat(api): OpenAPI spec update via Stainless API (#812) 2024-06-05 09:14:45 +00:00
stainless-app[bot]
8f5a33d507 feat(api): OpenAPI spec update via Stainless API (#811) 2024-06-05 07:48:54 +00:00
stainless-app[bot]
d2a77f29c7 feat(api): OpenAPI spec update via Stainless API (#810) 2024-06-05 07:46:35 +00:00
stainless-app[bot]
9d23770ed3 feat(api): update via SDK Studio (#809) 2024-06-05 03:55:24 +00:00
stainless-app[bot]
69b665d94d feat(api): OpenAPI spec update via Stainless API (#808) 2024-06-04 21:07:31 +00:00
stainless-app[bot]
c974ba0ad6 feat(api): OpenAPI spec update via Stainless API (#807) 2024-06-04 21:05:25 +00:00
stainless-app[bot]
565b4a2c1a feat(api): OpenAPI spec update via Stainless API (#806) 2024-06-04 19:59:15 +00:00
stainless-app[bot]
58169cc074 feat(api): OpenAPI spec update via Stainless API (#805) 2024-06-04 18:55:58 +00:00
stainless-app[bot]
442f36f79e feat(api): OpenAPI spec update via Stainless API (#804) 2024-06-04 18:53:47 +00:00
stainless-app[bot]
0bfacd4397 feat(api): OpenAPI spec update via Stainless API (#803) 2024-06-04 18:51:28 +00:00
stainless-app[bot]
4e8e439098 feat(api): OpenAPI spec update via Stainless API (#802) 2024-06-04 17:58:28 +00:00
stainless-app[bot]
784447a897 feat(api): OpenAPI spec update via Stainless API (#801) 2024-06-04 17:44:28 +00:00
stainless-app[bot]
098ce63b75 feat(api): OpenAPI spec update via Stainless API (#800) 2024-06-04 17:42:16 +00:00
stainless-app[bot]
9066b5546d feat(api): OpenAPI spec update via Stainless API (#799) 2024-06-04 17:33:08 +00:00
stainless-app[bot]
4567f4d99e feat(api): OpenAPI spec update via Stainless API (#798) 2024-06-04 16:46:44 +00:00
stainless-app[bot]
ec2e1e3670 feat(api): OpenAPI spec update via Stainless API (#797) 2024-06-04 16:36:36 +00:00
stainless-app[bot]
bfa8b2256a feat(api): OpenAPI spec update via Stainless API (#796) 2024-06-04 15:41:52 +00:00
stainless-app[bot]
d84dbbb74d feat(api): OpenAPI spec update via Stainless API (#795) 2024-06-04 14:55:53 +00:00
stainless-app[bot]
bb3889a105 feat(api): OpenAPI spec update via Stainless API (#794) 2024-06-04 14:53:46 +00:00
stainless-app[bot]
9475e3cbe7 feat(api): OpenAPI spec update via Stainless API (#793) 2024-06-04 14:04:30 +00:00
stainless-app[bot]
cd93b55fba feat(api): OpenAPI spec update via Stainless API (#792) 2024-06-04 14:02:03 +00:00
stainless-app[bot]
45f7884a79 feat(api): OpenAPI spec update via Stainless API (#791) 2024-06-04 11:38:12 +00:00
stainless-app[bot]
9091d7b0ef feat(api): OpenAPI spec update via Stainless API (#790) 2024-06-04 10:14:51 +00:00
stainless-app[bot]
e8ed1f8f7f feat(api): OpenAPI spec update via Stainless API (#789) 2024-06-04 10:08:44 +00:00
stainless-app[bot]
ee85bf180b feat(api): OpenAPI spec update via Stainless API (#788) 2024-06-04 08:59:43 +00:00
stainless-app[bot]
ecf6363a53 feat(api): OpenAPI spec update via Stainless API (#787) 2024-06-04 08:57:36 +00:00
stainless-app[bot]
ffbb106692 feat(api): OpenAPI spec update via Stainless API (#786) 2024-06-04 08:52:07 +00:00
stainless-app[bot]
7f3baa6943 feat(api): OpenAPI spec update via Stainless API (#785) 2024-06-04 08:49:59 +00:00
stainless-app[bot]
547f900a65 feat(api): update via SDK Studio (#784) 2024-06-04 03:07:09 +00:00
stainless-app[bot]
f30af8597b feat(api): update via SDK Studio (#783) 2024-06-04 02:52:43 +00:00
stainless-app[bot]
c8dc5e30a1 feat(api): update via SDK Studio (#782) 2024-06-04 02:39:40 +00:00
stainless-app[bot]
f5ecfb2c0e feat(api): OpenAPI spec update via Stainless API (#781) 2024-06-03 23:43:40 +00:00
stainless-app[bot]
2d617ad494 feat(api): OpenAPI spec update via Stainless API (#780) 2024-06-03 23:01:25 +00:00
stainless-app[bot]
bd08f43b49 feat(api): OpenAPI spec update via Stainless API (#779) 2024-06-03 22:59:16 +00:00
stainless-app[bot]
5ffaecc6e0 feat(api): update via SDK Studio (#778) 2024-06-03 22:50:45 +00:00
stainless-app[bot]
ae962684f6 feat(api): OpenAPI spec update via Stainless API (#777) 2024-06-03 22:48:17 +00:00
stainless-app[bot]
af6dfae184 feat(api): OpenAPI spec update via Stainless API (#776) 2024-06-03 22:46:07 +00:00
stainless-app[bot]
c8f72ed706 feat(api): update via SDK Studio (#775) 2024-06-03 22:34:36 +00:00
stainless-app[bot]
be4677a1dd feat(api): OpenAPI spec update via Stainless API (#774) 2024-06-03 22:01:59 +00:00
stainless-app[bot]
129cd128f6 feat(api): OpenAPI spec update via Stainless API (#773) 2024-06-03 20:42:38 +00:00
stainless-app[bot]
3cfe2ab9c3 feat(api): OpenAPI spec update via Stainless API (#772) 2024-06-03 19:06:12 +00:00
stainless-app[bot]
1aca60697f feat(api): OpenAPI spec update via Stainless API (#771) 2024-06-03 18:16:02 +00:00
stainless-app[bot]
16f2024592 feat(api): OpenAPI spec update via Stainless API (#770) 2024-06-03 17:01:54 +00:00
stainless-app[bot]
563d2ccc1d feat(api): OpenAPI spec update via Stainless API (#769) 2024-06-03 16:38:14 +00:00
stainless-app[bot]
fbc645eb9f feat(api): OpenAPI spec update via Stainless API (#768) 2024-06-03 16:36:05 +00:00
stainless-app[bot]
3238c36d41 feat(api): OpenAPI spec update via Stainless API (#767) 2024-06-03 16:32:29 +00:00
stainless-app[bot]
edb1fc53ce feat(api): OpenAPI spec update via Stainless API (#766) 2024-06-03 15:41:18 +00:00
stainless-app[bot]
325e2cc40a feat(api): OpenAPI spec update via Stainless API (#765) 2024-06-03 15:39:05 +00:00
stainless-app[bot]
d722b7b5b3 feat(api): OpenAPI spec update via Stainless API (#764) 2024-06-03 15:37:00 +00:00
stainless-app[bot]
9d24609073 feat(api): OpenAPI spec update via Stainless API (#763) 2024-06-03 15:34:54 +00:00
stainless-app[bot]
9ba0f1bb83 feat(api): OpenAPI spec update via Stainless API (#762) 2024-06-03 15:26:10 +00:00
stainless-app[bot]
69ec751674 feat(api): OpenAPI spec update via Stainless API (#761) 2024-06-03 15:24:01 +00:00
stainless-app[bot]
8600f31343 feat(api): OpenAPI spec update via Stainless API (#760) 2024-06-03 14:16:20 +00:00
stainless-app[bot]
926996cd10 feat(api): OpenAPI spec update via Stainless API (#759) 2024-06-03 13:45:06 +00:00
stainless-app[bot]
509db710e5 feat(api): OpenAPI spec update via Stainless API (#758) 2024-06-03 09:26:36 +00:00
stainless-app[bot]
04ed5f6617 feat(api): OpenAPI spec update via Stainless API (#757) 2024-06-01 03:22:18 +00:00
stainless-app[bot]
2824161b0c feat(api): OpenAPI spec update via Stainless API (#756) 2024-05-31 23:45:40 +00:00
stainless-app[bot]
adfc559082 feat(api): OpenAPI spec update via Stainless API (#755) 2024-05-31 23:43:36 +00:00
stainless-app[bot]
2e9a76c815 feat(api): OpenAPI spec update via Stainless API (#754) 2024-05-31 23:22:15 +00:00
stainless-app[bot]
cdb293551d feat(api): OpenAPI spec update via Stainless API (#753) 2024-05-31 23:20:12 +00:00
stainless-app[bot]
9b0b40de70 feat(api): OpenAPI spec update via Stainless API (#752) 2024-05-31 22:10:19 +00:00
stainless-app[bot]
19b730bd51 feat(api): OpenAPI spec update via Stainless API (#751) 2024-05-31 22:08:08 +00:00
stainless-app[bot]
cb5aa0599c feat(api): OpenAPI spec update via Stainless API (#750) 2024-05-31 20:35:36 +00:00
stainless-app[bot]
c642855551 feat(api): OpenAPI spec update via Stainless API (#749) 2024-05-31 20:21:15 +00:00
stainless-app[bot]
588623e184 feat(api): OpenAPI spec update via Stainless API (#748) 2024-05-31 20:19:05 +00:00
stainless-app[bot]
8b8fd23a03 feat(api): OpenAPI spec update via Stainless API (#747) 2024-05-31 20:16:09 +00:00
stainless-app[bot]
1dffe018ea feat(api): OpenAPI spec update via Stainless API (#746) 2024-05-31 20:08:15 +00:00
stainless-app[bot]
dfa69f4694 feat(api): OpenAPI spec update via Stainless API (#745) 2024-05-31 19:02:20 +00:00
stainless-app[bot]
8353bfe5af feat(api): OpenAPI spec update via Stainless API (#744) 2024-05-31 18:59:59 +00:00
stainless-app[bot]
0a87d13db8 feat(api): OpenAPI spec update via Stainless API (#743) 2024-05-31 16:35:09 +00:00
stainless-app[bot]
a730175143 feat(api): OpenAPI spec update via Stainless API (#742) 2024-05-31 16:33:04 +00:00
stainless-app[bot]
07a5624809 feat(api): OpenAPI spec update via Stainless API (#741) 2024-05-31 16:23:40 +00:00
stainless-app[bot]
947a9e996d feat(api): OpenAPI spec update via Stainless API (#740) 2024-05-31 15:50:52 +00:00
stainless-app[bot]
760506b6bd feat(api): OpenAPI spec update via Stainless API (#739) 2024-05-31 15:21:24 +00:00
stainless-app[bot]
3258d858d7 feat(api): OpenAPI spec update via Stainless API (#738) 2024-05-31 15:18:59 +00:00
stainless-app[bot]
5a27fe15de feat(api): OpenAPI spec update via Stainless API (#737) 2024-05-31 14:58:09 +00:00
stainless-app[bot]
556227a4de feat(api): OpenAPI spec update via Stainless API (#736) 2024-05-31 14:56:00 +00:00
stainless-app[bot]
45c575503a feat(api): OpenAPI spec update via Stainless API (#735) 2024-05-31 12:02:26 +00:00
stainless-app[bot]
5b3d98ddcd feat(api): OpenAPI spec update via Stainless API (#734) 2024-05-31 11:26:02 +00:00
stainless-app[bot]
5c45e6e24f feat(api): OpenAPI spec update via Stainless API (#733) 2024-05-31 11:20:22 +00:00
stainless-app[bot]
1bdd586a53 feat(api): OpenAPI spec update via Stainless API (#732) 2024-05-31 11:13:40 +00:00
stainless-app[bot]
799f40eb7b feat(api): OpenAPI spec update via Stainless API (#731) 2024-05-31 11:11:37 +00:00
stainless-app[bot]
45acdc0763 feat(api): OpenAPI spec update via Stainless API (#730) 2024-05-31 09:33:40 +00:00
stainless-app[bot]
26fd50450a feat(api): OpenAPI spec update via Stainless API (#729) 2024-05-31 09:20:48 +00:00
stainless-app[bot]
4ca97ec63d feat(api): OpenAPI spec update via Stainless API (#728) 2024-05-31 09:18:35 +00:00
stainless-app[bot]
5745d99e61 feat(api): OpenAPI spec update via Stainless API (#727) 2024-05-31 01:28:24 +00:00
stainless-app[bot]
cb61101d98 feat(api): update via SDK Studio (#726) 2024-05-31 00:55:38 +00:00
stainless-app[bot]
4b98eabcc7 feat(api): OpenAPI spec update via Stainless API (#725) 2024-05-30 17:28:46 +00:00
stainless-app[bot]
6cceaf781a feat(api): OpenAPI spec update via Stainless API (#724) 2024-05-30 16:55:04 +00:00
stainless-app[bot]
014819d5d9 feat(api): OpenAPI spec update via Stainless API (#723) 2024-05-30 16:50:37 +00:00
stainless-app[bot]
e5ba886179 feat(api): OpenAPI spec update via Stainless API (#722) 2024-05-30 16:29:25 +00:00
stainless-app[bot]
0a5e98b7f2 feat(api): OpenAPI spec update via Stainless API (#721) 2024-05-30 15:30:24 +00:00
stainless-app[bot]
359cd8e812 feat(api): OpenAPI spec update via Stainless API (#720) 2024-05-30 15:24:27 +00:00
stainless-app[bot]
457ac8295b feat(api): OpenAPI spec update via Stainless API (#719) 2024-05-30 15:17:33 +00:00
stainless-app[bot]
49c0c0f46f feat(api): OpenAPI spec update via Stainless API (#718) 2024-05-30 12:37:53 +00:00
stainless-app[bot]
dea253d90d feat(api): OpenAPI spec update via Stainless API (#717) 2024-05-30 12:14:08 +00:00
stainless-app[bot]
ddb10a2361 feat(api): OpenAPI spec update via Stainless API (#716) 2024-05-30 12:12:06 +00:00
stainless-app[bot]
03f1c568d0 feat(api): OpenAPI spec update via Stainless API (#715) 2024-05-30 11:29:07 +00:00
stainless-app[bot]
7fb3d7ef1c feat(api): OpenAPI spec update via Stainless API (#714) 2024-05-30 10:19:26 +00:00
stainless-app[bot]
a0eeb87472 feat(api): OpenAPI spec update via Stainless API (#713) 2024-05-30 10:03:55 +00:00
stainless-app[bot]
b511135f1a feat(api): OpenAPI spec update via Stainless API (#712) 2024-05-30 10:01:53 +00:00
stainless-app[bot]
dab20ed880 feat(api): OpenAPI spec update via Stainless API (#711) 2024-05-30 08:39:38 +00:00
stainless-app[bot]
c06792a107 feat(api): OpenAPI spec update via Stainless API (#710) 2024-05-30 08:33:34 +00:00
stainless-app[bot]
f2e1ad06f6 feat(api): OpenAPI spec update via Stainless API (#709) 2024-05-30 08:31:31 +00:00
stainless-app[bot]
23f52bb47d feat(api): OpenAPI spec update via Stainless API (#708) 2024-05-30 08:24:28 +00:00
stainless-app[bot]
24a88ed36b feat(api): OpenAPI spec update via Stainless API (#707) 2024-05-30 08:16:51 +00:00
stainless-app[bot]
9f70033156 feat(api): OpenAPI spec update via Stainless API (#706) 2024-05-30 08:11:32 +00:00
stainless-app[bot]
80bbbeaca6 feat(api): OpenAPI spec update via Stainless API (#705) 2024-05-30 08:04:13 +00:00
stainless-app[bot]
cd62333678 feat(api): OpenAPI spec update via Stainless API (#704) 2024-05-30 07:18:47 +00:00
stainless-app[bot]
9c613081fe feat(api): OpenAPI spec update via Stainless API (#703) 2024-05-30 07:09:07 +00:00
stainless-app[bot]
771a3e2454 feat(api): OpenAPI spec update via Stainless API (#702) 2024-05-30 06:08:48 +00:00
stainless-app[bot]
b037aab980 feat(api): OpenAPI spec update via Stainless API (#701) 2024-05-30 05:50:22 +00:00
stainless-app[bot]
39fddb627d feat(api): OpenAPI spec update via Stainless API (#700) 2024-05-30 05:48:02 +00:00
stainless-app[bot]
2c1659242f feat(api): OpenAPI spec update via Stainless API (#699) 2024-05-30 05:30:10 +00:00
stainless-app[bot]
ba4897066d feat(api): OpenAPI spec update via Stainless API (#698) 2024-05-30 05:28:01 +00:00
stainless-app[bot]
149d9ee9b0 feat(api): update via SDK Studio (#697) 2024-05-30 01:06:09 +00:00
stainless-app[bot]
bef7fd3b4e feat(api): OpenAPI spec update via Stainless API (#696) 2024-05-29 23:47:55 +00:00
stainless-app[bot]
6d39d7bd16 feat(api): OpenAPI spec update via Stainless API (#695) 2024-05-29 23:40:05 +00:00
stainless-app[bot]
cb7edcdc5d feat(api): OpenAPI spec update via Stainless API (#694) 2024-05-29 21:54:13 +00:00
stainless-app[bot]
2ebd19b792 feat(api): OpenAPI spec update via Stainless API (#693) 2024-05-29 21:30:35 +00:00
stainless-app[bot]
c95540bece feat(api): OpenAPI spec update via Stainless API (#692) 2024-05-29 20:28:53 +00:00
stainless-app[bot]
08203fb732 feat(api): OpenAPI spec update via Stainless API (#691) 2024-05-29 20:16:46 +00:00
stainless-app[bot]
e08ff5c57b feat(api): OpenAPI spec update via Stainless API (#690) 2024-05-29 18:34:17 +00:00
stainless-app[bot]
6ac0d9d9b4 feat(api): OpenAPI spec update via Stainless API (#689) 2024-05-29 18:27:42 +00:00
stainless-app[bot]
7121c4385b feat(api): OpenAPI spec update via Stainless API (#688) 2024-05-29 18:22:45 +00:00
stainless-app[bot]
14ee6c99e2 feat(api): OpenAPI spec update via Stainless API (#687) 2024-05-29 18:17:10 +00:00
stainless-app[bot]
d4bf346823 feat(api): OpenAPI spec update via Stainless API (#686) 2024-05-29 17:58:56 +00:00
stainless-app[bot]
005e405932 feat(api): OpenAPI spec update via Stainless API (#685) 2024-05-29 17:46:01 +00:00
stainless-app[bot]
aa1289f7e3 feat(api): OpenAPI spec update via Stainless API (#684) 2024-05-29 17:38:39 +00:00
stainless-app[bot]
9c53092e24 feat(api): OpenAPI spec update via Stainless API (#683) 2024-05-29 17:36:29 +00:00
stainless-app[bot]
913362958e feat(api): OpenAPI spec update via Stainless API (#682) 2024-05-29 16:53:49 +00:00
stainless-app[bot]
80ef42896b feat(api): OpenAPI spec update via Stainless API (#681) 2024-05-29 16:41:26 +00:00
stainless-app[bot]
624f4e0789 feat(api): OpenAPI spec update via Stainless API (#680) 2024-05-29 16:29:29 +00:00
stainless-app[bot]
db7c75640e feat(api): OpenAPI spec update via Stainless API (#679) 2024-05-29 16:12:52 +00:00
stainless-app[bot]
0e05c40ca0 feat(api): OpenAPI spec update via Stainless API (#678) 2024-05-29 16:10:06 +00:00
stainless-app[bot]
43dea694c1 feat(api): OpenAPI spec update via Stainless API (#677) 2024-05-29 15:55:44 +00:00
stainless-app[bot]
d1480d9ebb feat(api): OpenAPI spec update via Stainless API (#676) 2024-05-29 15:51:39 +00:00
stainless-app[bot]
bd9001e189 feat(api): OpenAPI spec update via Stainless API (#675) 2024-05-29 15:49:29 +00:00
stainless-app[bot]
fd4bc93325 feat(api): OpenAPI spec update via Stainless API (#674) 2024-05-29 15:15:03 +00:00
stainless-app[bot]
98cb7ced13 feat(api): OpenAPI spec update via Stainless API (#673) 2024-05-29 10:55:17 +00:00
stainless-app[bot]
fa43c7259c feat(api): OpenAPI spec update via Stainless API (#672) 2024-05-29 09:46:14 +00:00
stainless-app[bot]
1285395535 feat(api): OpenAPI spec update via Stainless API (#671) 2024-05-29 09:06:54 +00:00
stainless-app[bot]
12a22339c6 feat(api): OpenAPI spec update via Stainless API (#670) 2024-05-29 08:43:53 +00:00
stainless-app[bot]
767d93704e feat(api): OpenAPI spec update via Stainless API (#669) 2024-05-29 08:37:25 +00:00
stainless-app[bot]
1f99285ac4 feat(api): OpenAPI spec update via Stainless API (#668) 2024-05-29 07:34:04 +00:00
stainless-app[bot]
4cf63cd98e feat(api): update via SDK Studio (#667) 2024-05-29 03:02:57 +00:00
stainless-app[bot]
8ba10d9100 feat(api): OpenAPI spec update via Stainless API (#666) 2024-05-28 13:44:49 +00:00
stainless-app[bot]
ae81ac0f25 feat(api): OpenAPI spec update via Stainless API (#665) 2024-05-28 11:06:37 +00:00
stainless-app[bot]
00f31f92c4 feat(api): OpenAPI spec update via Stainless API (#664) 2024-05-28 10:31:51 +00:00
stainless-app[bot]
bcc840d5bc feat(api): OpenAPI spec update via Stainless API (#663) 2024-05-28 10:29:46 +00:00
stainless-app[bot]
6bbe0d88f0 feat(api): OpenAPI spec update via Stainless API (#662) 2024-05-28 09:59:31 +00:00
stainless-app[bot]
2cebcc3e5a feat(api): OpenAPI spec update via Stainless API (#661) 2024-05-28 09:52:39 +00:00
stainless-app[bot]
588716667b feat(api): OpenAPI spec update via Stainless API (#660) 2024-05-28 09:50:32 +00:00
stainless-app[bot]
c7c44b4ee0 feat(api): update via SDK Studio (#659) 2024-05-28 03:54:30 +00:00
stainless-app[bot]
dcd2dcb7d5 feat(api): update via SDK Studio (#658) 2024-05-28 02:53:16 +00:00
stainless-app[bot]
ccf7bfd16d feat(api): OpenAPI spec update via Stainless API (#657) 2024-05-27 13:28:23 +00:00
stainless-app[bot]
1f43934249 feat(api): OpenAPI spec update via Stainless API (#656) 2024-05-27 09:53:27 +00:00
stainless-app[bot]
c7129498b1 feat(api): OpenAPI spec update via Stainless API (#655) 2024-05-27 09:51:21 +00:00
stainless-app[bot]
cedd157d6e feat(api): OpenAPI spec update via Stainless API (#654) 2024-05-27 09:00:15 +00:00
stainless-app[bot]
361ea65744 feat(api): OpenAPI spec update via Stainless API (#653) 2024-05-27 08:58:10 +00:00
stainless-app[bot]
b4a7b95fc1 feat(api): update via SDK Studio (#652) 2024-05-27 05:28:53 +00:00
stainless-app[bot]
9b140f9c74 feat(api): update via SDK Studio (#651) 2024-05-27 04:31:34 +00:00
stainless-app[bot]
554952b214 feat(api): update via SDK Studio (#650) 2024-05-27 04:16:49 +00:00
stainless-app[bot]
a27a054a46 feat(api): update via SDK Studio (#649) 2024-05-27 03:41:59 +00:00
stainless-app[bot]
cb22c63827 feat(api): update via SDK Studio (#648) 2024-05-27 03:37:59 +00:00
stainless-app[bot]
4e5920c870 feat(api): update via SDK Studio (#647) 2024-05-27 01:28:09 +00:00
stainless-app[bot]
a0ab776c16 feat(api): update via SDK Studio (#646) 2024-05-27 01:21:53 +00:00
stainless-app[bot]
882d30d1f7 feat(api): OpenAPI spec update via Stainless API (#645) 2024-05-24 11:39:18 +00:00
stainless-app[bot]
f853251079 feat(api): OpenAPI spec update via Stainless API (#644) 2024-05-24 11:37:10 +00:00
stainless-app[bot]
30c3d9bdc4 feat(api): OpenAPI spec update via Stainless API (#643) 2024-05-24 11:21:01 +00:00
stainless-app[bot]
105f09369b feat(api): OpenAPI spec update via Stainless API (#642) 2024-05-24 11:19:01 +00:00
stainless-app[bot]
e512306c9e feat(api): OpenAPI spec update via Stainless API (#641) 2024-05-24 10:57:03 +00:00
stainless-app[bot]
281e5905a9 feat(api): OpenAPI spec update via Stainless API (#640) 2024-05-24 10:54:59 +00:00
stainless-app[bot]
a6f2de9912 feat(api): OpenAPI spec update via Stainless API (#639) 2024-05-24 09:45:43 +00:00
stainless-app[bot]
95bced9f30 feat(api): OpenAPI spec update via Stainless API (#638) 2024-05-24 09:43:28 +00:00
stainless-app[bot]
b1be708322 feat(api): OpenAPI spec update via Stainless API (#637) 2024-05-24 09:41:20 +00:00
stainless-app[bot]
dea8849a6d feat(api): OpenAPI spec update via Stainless API (#636) 2024-05-24 09:00:43 +00:00
stainless-app[bot]
6646954d11 feat(api): OpenAPI spec update via Stainless API (#635) 2024-05-24 08:33:54 +00:00
stainless-app[bot]
42f9b3f4e9 feat(api): OpenAPI spec update via Stainless API (#634) 2024-05-24 08:31:37 +00:00
stainless-app[bot]
c9d066bbdd feat(api): OpenAPI spec update via Stainless API (#633) 2024-05-23 22:11:21 +00:00
stainless-app[bot]
0c2dbd8604 feat(api): OpenAPI spec update via Stainless API (#632) 2024-05-23 21:51:30 +00:00
stainless-app[bot]
574da52b34 feat(api): OpenAPI spec update via Stainless API (#631) 2024-05-23 21:20:02 +00:00
stainless-app[bot]
c9807e4dfe feat(api): OpenAPI spec update via Stainless API (#630) 2024-05-23 20:58:34 +00:00
stainless-app[bot]
cbecda37c1 feat(api): OpenAPI spec update via Stainless API (#629) 2024-05-23 20:56:25 +00:00
stainless-app[bot]
50a9dcfd48 feat(api): OpenAPI spec update via Stainless API (#628) 2024-05-23 17:54:47 +00:00
stainless-app[bot]
311c24c1fa feat(api): OpenAPI spec update via Stainless API (#627) 2024-05-23 17:32:19 +00:00
stainless-app[bot]
6ba0d9c66c feat(api): OpenAPI spec update via Stainless API (#626) 2024-05-23 17:30:18 +00:00
stainless-app[bot]
919c5252ed feat(api): OpenAPI spec update via Stainless API (#625) 2024-05-23 17:27:59 +00:00
stainless-app[bot]
3b6a69a9e1 feat(api): OpenAPI spec update via Stainless API (#624) 2024-05-23 16:57:26 +00:00
stainless-app[bot]
78e02752ff feat(api): OpenAPI spec update via Stainless API (#623) 2024-05-23 16:29:52 +00:00
stainless-app[bot]
466aa547e9 feat(api): OpenAPI spec update via Stainless API (#622) 2024-05-23 16:19:01 +00:00
stainless-app[bot]
fabd160a97 feat(api): OpenAPI spec update via Stainless API (#621) 2024-05-23 14:49:39 +00:00
stainless-app[bot]
e50476cd70 feat(api): OpenAPI spec update via Stainless API (#620) 2024-05-23 14:47:33 +00:00
stainless-app[bot]
66f093ff31 feat(api): OpenAPI spec update via Stainless API (#619) 2024-05-23 14:09:56 +00:00
stainless-app[bot]
c444151db6 feat(api): OpenAPI spec update via Stainless API (#618) 2024-05-23 14:07:47 +00:00
stainless-app[bot]
623b17dd79 feat(api): OpenAPI spec update via Stainless API (#617) 2024-05-23 11:07:04 +00:00
stainless-app[bot]
e9385899b3 feat(api): OpenAPI spec update via Stainless API (#616) 2024-05-23 09:40:46 +00:00
stainless-app[bot]
ce0170a05c feat(api): OpenAPI spec update via Stainless API (#615) 2024-05-23 02:49:58 +00:00
stainless-app[bot]
58dc060cb7 feat(api): OpenAPI spec update via Stainless API (#614) 2024-05-23 01:08:56 +00:00
stainless-app[bot]
1f5f9891af feat(api): OpenAPI spec update via Stainless API (#613) 2024-05-23 00:40:48 +00:00
stainless-app[bot]
d7a71cd9b1 feat(api): OpenAPI spec update via Stainless API (#612) 2024-05-22 20:11:32 +00:00
stainless-app[bot]
82073d1bf4 feat(api): OpenAPI spec update via Stainless API (#611) 2024-05-22 18:47:39 +00:00
stainless-app[bot]
0815c66bb8 feat(api): OpenAPI spec update via Stainless API (#610) 2024-05-22 17:50:53 +00:00
stainless-app[bot]
6ac9c96283 feat(api): OpenAPI spec update via Stainless API (#609) 2024-05-22 17:14:12 +00:00
stainless-app[bot]
191305d620 feat(api): OpenAPI spec update via Stainless API (#608) 2024-05-22 16:46:14 +00:00
stainless-app[bot]
284e3282f5 feat(api): OpenAPI spec update via Stainless API (#607) 2024-05-22 15:21:10 +00:00
stainless-app[bot]
7626e85e7b feat(api): OpenAPI spec update via Stainless API (#606) 2024-05-22 15:02:54 +00:00
stainless-app[bot]
f84b5d2dd8 feat(api): OpenAPI spec update via Stainless API (#605) 2024-05-22 14:20:39 +00:00
stainless-app[bot]
95dd9d710b feat(api): OpenAPI spec update via Stainless API (#604) 2024-05-22 12:25:39 +00:00
stainless-app[bot]
3bc49fb7bb feat(api): OpenAPI spec update via Stainless API (#603) 2024-05-22 11:18:13 +00:00
stainless-app[bot]
46f23305ab feat(api): OpenAPI spec update via Stainless API (#602) 2024-05-22 10:03:38 +00:00
stainless-app[bot]
2a60e2d33a feat(api): OpenAPI spec update via Stainless API (#601) 2024-05-21 22:15:46 +00:00
stainless-app[bot]
ed7d9cc57d feat(api): OpenAPI spec update via Stainless API (#600) 2024-05-21 20:50:26 +00:00
stainless-app[bot]
a93e0f4c40 feat(api): OpenAPI spec update via Stainless API (#599) 2024-05-21 20:20:50 +00:00
stainless-app[bot]
18271d286b feat(api): OpenAPI spec update via Stainless API (#598) 2024-05-21 19:34:13 +00:00
stainless-app[bot]
a54717e10c feat(api): OpenAPI spec update via Stainless API (#597) 2024-05-21 19:23:28 +00:00
stainless-app[bot]
54a316c4c5 feat(api): OpenAPI spec update via Stainless API (#596) 2024-05-21 19:18:56 +00:00
stainless-app[bot]
1029c076a8 feat(api): OpenAPI spec update via Stainless API (#595) 2024-05-21 19:16:27 +00:00
stainless-app[bot]
39c7682d9d feat(api): OpenAPI spec update via Stainless API (#594) 2024-05-21 17:05:57 +00:00
stainless-app[bot]
92595595c5 feat(api): update via SDK Studio (#593) 2024-05-21 17:03:24 +00:00
stainless-app[bot]
f0c7070cb9 feat(api): OpenAPI spec update via Stainless API (#592) 2024-05-21 15:27:45 +00:00
stainless-app[bot]
fae0b85a48 feat(api): OpenAPI spec update via Stainless API (#591) 2024-05-21 15:06:37 +00:00
stainless-app[bot]
58275c6b58 feat(api): OpenAPI spec update via Stainless API (#590) 2024-05-21 14:42:05 +00:00
stainless-app[bot]
e2c61a76fd feat(api): OpenAPI spec update via Stainless API (#589) 2024-05-21 13:17:09 +00:00
stainless-app[bot]
b7f5f304eb feat(api): OpenAPI spec update via Stainless API (#588) 2024-05-21 10:58:47 +00:00
stainless-app[bot]
710e80225e feat(api): OpenAPI spec update via Stainless API (#587) 2024-05-21 09:49:51 +00:00
stainless-app[bot]
552a7fb63c feat(api): OpenAPI spec update via Stainless API (#586) 2024-05-21 09:04:13 +00:00
stainless-app[bot]
8a7795b7f0 feat(api): OpenAPI spec update via Stainless API (#585) 2024-05-21 09:01:31 +00:00
stainless-app[bot]
9b55a93125 feat(api): OpenAPI spec update via Stainless API (#584) 2024-05-20 20:00:11 +00:00
stainless-app[bot]
239fe24b70 feat(api): OpenAPI spec update via Stainless API (#583) 2024-05-20 18:57:17 +00:00
stainless-app[bot]
ad4b172d0e feat(api): OpenAPI spec update via Stainless API (#582) 2024-05-20 18:14:49 +00:00
stainless-app[bot]
722b132222 feat(api): OpenAPI spec update via Stainless API (#581) 2024-05-20 17:46:16 +00:00
stainless-app[bot]
1f9c6213e9 feat(api): OpenAPI spec update via Stainless API (#580) 2024-05-20 17:43:51 +00:00
stainless-app[bot]
29dbf51f93 feat(api): OpenAPI spec update via Stainless API (#579) 2024-05-20 17:10:21 +00:00
stainless-app[bot]
d4794b6584 feat(api): OpenAPI spec update via Stainless API (#578) 2024-05-20 17:07:45 +00:00
stainless-app[bot]
d268aecb0c feat(api): OpenAPI spec update via Stainless API (#577) 2024-05-20 17:04:09 +00:00
stainless-app[bot]
5cc9564b59 feat(api): OpenAPI spec update via Stainless API (#576) 2024-05-20 16:54:21 +00:00
stainless-app[bot]
b7a9f9211d feat(api): OpenAPI spec update via Stainless API (#575) 2024-05-20 15:13:40 +00:00
stainless-app[bot]
cb4ad30959 feat(api): OpenAPI spec update via Stainless API (#574) 2024-05-20 15:10:50 +00:00
stainless-app[bot]
d2862a919e feat(api): OpenAPI spec update via Stainless API (#573) 2024-05-20 12:52:56 +00:00
stainless-app[bot]
a11a93ec9f feat(api): OpenAPI spec update via Stainless API (#572) 2024-05-20 10:41:52 +00:00
stainless-app[bot]
bf7083bf52 feat(api): OpenAPI spec update via Stainless API (#571) 2024-05-20 10:37:44 +00:00
stainless-app[bot]
a5fd661f24 feat(api): OpenAPI spec update via Stainless API (#570) 2024-05-20 08:01:53 +00:00
stainless-app[bot]
d19f8fca18 feat(api): OpenAPI spec update via Stainless API (#569) 2024-05-18 15:50:31 +00:00
stainless-app[bot]
cb1c357b83 feat(api): OpenAPI spec update via Stainless API (#568) 2024-05-18 15:48:07 +00:00
stainless-app[bot]
1f7391e7af feat(api): OpenAPI spec update via Stainless API (#567) 2024-05-17 20:07:37 +00:00
stainless-app[bot]
4859e81914 feat(api): OpenAPI spec update via Stainless API (#566) 2024-05-17 19:19:16 +00:00
stainless-app[bot]
c61e5dd9a2 feat(api): OpenAPI spec update via Stainless API (#565) 2024-05-17 19:16:53 +00:00
stainless-app[bot]
c59b84cfb0 feat(api): OpenAPI spec update via Stainless API (#564) 2024-05-17 18:02:56 +00:00
stainless-app[bot]
df67542643 feat(api): OpenAPI spec update via Stainless API (#563) 2024-05-17 16:28:22 +00:00
stainless-app[bot]
4ca8f6a667 feat(api): OpenAPI spec update via Stainless API (#562) 2024-05-17 15:16:51 +00:00
stainless-app[bot]
7e9a942a8b feat(api): OpenAPI spec update via Stainless API (#561) 2024-05-17 15:14:27 +00:00
stainless-app[bot]
3716bf6e43 feat(api): OpenAPI spec update via Stainless API (#560) 2024-05-17 14:31:28 +00:00
stainless-app[bot]
2cdd861719 feat(api): OpenAPI spec update via Stainless API (#559) 2024-05-17 14:28:40 +00:00
stainless-app[bot]
c5e858b492 feat(api): OpenAPI spec update via Stainless API (#558) 2024-05-17 14:02:55 +00:00
stainless-app[bot]
d0b53fbbc6 feat(api): OpenAPI spec update via Stainless API (#557) 2024-05-17 10:40:53 +00:00
stainless-app[bot]
1f18ceb466 feat(api): OpenAPI spec update via Stainless API (#556) 2024-05-17 09:44:35 +00:00
stainless-app[bot]
f8489eb6d0 feat(api): OpenAPI spec update via Stainless API (#555) 2024-05-17 09:42:10 +00:00
stainless-app[bot]
b4edfaefca feat(api): update via SDK Studio (#554) 2024-05-17 00:23:25 +00:00
stainless-app[bot]
730d034ce7 feat(api): OpenAPI spec update via Stainless API (#553) 2024-05-16 19:21:28 +00:00
stainless-app[bot]
ab39ea3971 feat(api): OpenAPI spec update via Stainless API (#552) 2024-05-16 19:11:01 +00:00
stainless-app[bot]
0b6f56b17a feat(api): OpenAPI spec update via Stainless API (#551) 2024-05-16 19:08:31 +00:00
stainless-app[bot]
e636b068e7 feat(api): OpenAPI spec update via Stainless API (#550) 2024-05-16 18:39:54 +00:00
stainless-app[bot]
a73e978ca5 feat(api): OpenAPI spec update via Stainless API (#549) 2024-05-16 17:58:43 +00:00
stainless-app[bot]
edfd83972a feat(api): OpenAPI spec update via Stainless API (#548) 2024-05-16 17:54:35 +00:00
stainless-app[bot]
7e086e79b6 feat(api): OpenAPI spec update via Stainless API (#547) 2024-05-16 16:13:11 +00:00
stainless-app[bot]
9410b122f4 feat(api): OpenAPI spec update via Stainless API (#546) 2024-05-16 15:12:02 +00:00
stainless-app[bot]
6c9b54fe6f feat(api): OpenAPI spec update via Stainless API (#545) 2024-05-16 15:04:31 +00:00
stainless-app[bot]
0c946dd44c feat(api): OpenAPI spec update via Stainless API (#544) 2024-05-16 14:40:47 +00:00
stainless-app[bot]
aaba269e90 feat(api): OpenAPI spec update via Stainless API (#543) 2024-05-16 14:23:22 +00:00
stainless-app[bot]
672a3cbeb4 feat(api): OpenAPI spec update via Stainless API (#542) 2024-05-16 14:20:54 +00:00
stainless-app[bot]
93440abad3 feat(api): OpenAPI spec update via Stainless API (#541) 2024-05-16 14:18:21 +00:00
stainless-app[bot]
36b6d70587 feat(api): OpenAPI spec update via Stainless API (#540) 2024-05-16 14:15:52 +00:00
stainless-app[bot]
c7988e0f9d feat(api): OpenAPI spec update via Stainless API (#539) 2024-05-16 13:47:20 +00:00
stainless-app[bot]
58f96214cc feat(api): OpenAPI spec update via Stainless API (#538) 2024-05-16 13:41:42 +00:00
stainless-app[bot]
ae8abbd460 feat(api): OpenAPI spec update via Stainless API (#537) 2024-05-16 13:20:15 +00:00
stainless-app[bot]
aa8eab15fd feat(api): OpenAPI spec update via Stainless API (#536) 2024-05-16 12:05:24 +00:00
stainless-app[bot]
ac8b5b52e9 feat(api): OpenAPI spec update via Stainless API (#535) 2024-05-16 12:02:52 +00:00
stainless-app[bot]
9cd6a9b964 feat(api): OpenAPI spec update via Stainless API (#534) 2024-05-16 11:21:30 +00:00
stainless-app[bot]
4713afb1d2 feat(api): OpenAPI spec update via Stainless API (#533) 2024-05-16 11:18:42 +00:00
stainless-app[bot]
352f1721b2 feat(api): OpenAPI spec update via Stainless API (#532) 2024-05-16 10:44:54 +00:00
stainless-app[bot]
263542437d feat(api): OpenAPI spec update via Stainless API (#531) 2024-05-16 10:02:12 +00:00
stainless-app[bot]
9eac477b52 feat(api): OpenAPI spec update via Stainless API (#530) 2024-05-16 09:12:24 +00:00
stainless-app[bot]
f2ed2d4dd4 feat(api): OpenAPI spec update via Stainless API (#529) 2024-05-16 08:28:47 +00:00
stainless-app[bot]
0faf20d71d feat(api): OpenAPI spec update via Stainless API (#528) 2024-05-16 07:21:25 +00:00
stainless-app[bot]
6337e4591f feat(api): OpenAPI spec update via Stainless API (#527) 2024-05-15 22:35:25 +00:00
stainless-app[bot]
64f7884c78 feat(api): OpenAPI spec update via Stainless API (#526) 2024-05-15 17:45:46 +00:00
stainless-app[bot]
164bac4e0a feat(api): OpenAPI spec update via Stainless API (#525) 2024-05-15 16:28:53 +00:00
stainless-app[bot]
a60a6726b4 feat(api): OpenAPI spec update via Stainless API (#524) 2024-05-15 14:35:24 +00:00
stainless-app[bot]
a46239e37f feat(api): OpenAPI spec update via Stainless API (#523) 2024-05-15 09:45:16 +00:00
stainless-app[bot]
c9404ef717 feat(api): OpenAPI spec update via Stainless API (#522) 2024-05-14 21:50:54 +00:00
stainless-app[bot]
ec01cd0055 feat(api): OpenAPI spec update via Stainless API (#521) 2024-05-14 21:48:36 +00:00
stainless-app[bot]
bc45d38985 feat(api): OpenAPI spec update via Stainless API (#520) 2024-05-14 19:25:13 +00:00
stainless-app[bot]
dcd56bfbef feat(api): OpenAPI spec update via Stainless API (#519) 2024-05-14 19:22:48 +00:00
stainless-app[bot]
ed1fc97394 feat(api): OpenAPI spec update via Stainless API (#518) 2024-05-14 18:51:53 +00:00
stainless-app[bot]
76ec27f34e feat(api): OpenAPI spec update via Stainless API (#517) 2024-05-14 18:11:31 +00:00
stainless-app[bot]
6d84dacd9b feat(api): OpenAPI spec update via Stainless API (#516) 2024-05-14 17:34:23 +00:00
stainless-app[bot]
20eab35662 feat(api): OpenAPI spec update via Stainless API (#515) 2024-05-14 17:23:41 +00:00
stainless-app[bot]
20ca08ad8d feat(api): OpenAPI spec update via Stainless API (#514) 2024-05-14 17:21:18 +00:00
stainless-app[bot]
4bdc331380 feat(api): OpenAPI spec update via Stainless API (#513) 2024-05-14 15:51:02 +00:00
stainless-app[bot]
a93c30bb4f feat(api): OpenAPI spec update via Stainless API (#512) 2024-05-14 15:48:38 +00:00
stainless-app[bot]
caab85ac07 feat(api): OpenAPI spec update via Stainless API (#511) 2024-05-14 15:04:58 +00:00
stainless-app[bot]
2a6e10c1df feat(api): OpenAPI spec update via Stainless API (#510) 2024-05-14 13:56:13 +00:00
stainless-app[bot]
a65350b290 feat(api): OpenAPI spec update via Stainless API (#509) 2024-05-14 11:30:23 +00:00
stainless-app[bot]
c48abbf308 feat(api): OpenAPI spec update via Stainless API (#508) 2024-05-14 10:55:46 +00:00
stainless-app[bot]
44a5674856 feat(api): OpenAPI spec update via Stainless API (#507) 2024-05-14 10:32:42 +00:00
stainless-app[bot]
7407ff3069 feat(api): OpenAPI spec update via Stainless API (#506) 2024-05-14 10:27:54 +00:00
stainless-app[bot]
7aedba0895 feat(api): update via SDK Studio (#505) 2024-05-13 23:52:17 +00:00
stainless-app[bot]
55ec2a2732 feat(api): OpenAPI spec update via Stainless API (#504) 2024-05-13 23:29:17 +00:00
stainless-app[bot]
39a3341f5b feat(api): OpenAPI spec update via Stainless API (#503) 2024-05-13 18:14:42 +00:00
stainless-app[bot]
6d314fa08d feat(api): OpenAPI spec update via Stainless API (#502) 2024-05-13 17:45:47 +00:00
stainless-app[bot]
fb32986099 feat(api): OpenAPI spec update via Stainless API (#501) 2024-05-13 15:03:09 +00:00
stainless-app[bot]
6ebc422b59 feat(api): OpenAPI spec update via Stainless API (#500) 2024-05-13 14:01:08 +00:00
stainless-app[bot]
48450deaf7 feat(api): OpenAPI spec update via Stainless API (#499) 2024-05-13 13:57:28 +00:00
stainless-app[bot]
b17ea8ad06 feat(api): OpenAPI spec update via Stainless API (#498) 2024-05-13 13:55:04 +00:00
stainless-app[bot]
63fed97d6f feat(api): OpenAPI spec update via Stainless API (#497) 2024-05-13 13:46:29 +00:00
stainless-app[bot]
31e8cd3e99 feat(api): OpenAPI spec update via Stainless API (#496) 2024-05-13 13:44:01 +00:00
stainless-app[bot]
acd3c505a0 feat(api): OpenAPI spec update via Stainless API (#495) 2024-05-10 19:23:35 +00:00
stainless-app[bot]
8f99fa1e30 feat(api): OpenAPI spec update via Stainless API (#494) 2024-05-10 19:20:57 +00:00
stainless-app[bot]
c3990ac7ba feat(api): update via SDK Studio (#493) 2024-05-10 18:57:53 +00:00
stainless-app[bot]
7ee5b45b27 feat(api): OpenAPI spec update via Stainless API (#492) 2024-05-10 18:07:51 +00:00
stainless-app[bot]
954be3744a feat(api): update via SDK Studio (#491) 2024-05-10 17:29:58 +00:00
stainless-app[bot]
788a09058c feat(api): OpenAPI spec update via Stainless API (#490) 2024-05-10 16:18:21 +00:00
stainless-app[bot]
bcbeeed326 feat(api): OpenAPI spec update via Stainless API (#489) 2024-05-10 16:15:38 +00:00
stainless-app[bot]
abfdaf8354 feat(api): OpenAPI spec update via Stainless API (#488) 2024-05-10 08:00:37 +00:00
stainless-app[bot]
552a2fbecd feat(api): OpenAPI spec update via Stainless API (#487) 2024-05-10 07:58:07 +00:00
stainless-app[bot]
9e58daf630 feat(api): update via SDK Studio (#486) 2024-05-10 03:40:46 +00:00
stainless-app[bot]
f241e47239 feat(api): update via SDK Studio (#485) 2024-05-10 03:35:29 +00:00
stainless-app[bot]
cd98d7591c feat(api): OpenAPI spec update via Stainless API (#484) 2024-05-09 21:06:52 +00:00
stainless-app[bot]
25d7ab4851 feat(api): OpenAPI spec update via Stainless API (#483) 2024-05-09 18:09:01 +00:00
stainless-app[bot]
2499fdfeb1 feat(api): OpenAPI spec update via Stainless API (#481) 2024-05-09 18:06:37 +00:00
Jacob Bednarz
5cb63bc70c
Merge pull request #362 from cloudflare/release-please--branches--main--changes--next
release: 3.0.0-beta.9
2024-05-09 15:05:52 +10:00
stainless-app[bot]
9418b4dd83
release: 3.0.0-beta.9 2024-05-08 03:39:07 +00:00
stainless-app[bot]
72ff19adb0 feat(api): update via SDK Studio (#480) 2024-05-08 03:38:16 +00:00
stainless-app[bot]
18505d808f feat(api): update via SDK Studio (#479) 2024-05-08 03:29:01 +00:00
stainless-app[bot]
cbd5196276 feat(api): update via SDK Studio (#478) 2024-05-07 09:57:08 +00:00
stainless-app[bot]
2dc376ed1e feat(api): update via SDK Studio (#477) 2024-05-07 09:57:08 +00:00
stainless-app[bot]
ab74d847ef feat(api): update via SDK Studio (#476) 2024-05-07 09:57:08 +00:00
stainless-app[bot]
52fc220fc3 feat(api): update via SDK Studio (#475) 2024-05-07 09:57:08 +00:00
stainless-app[bot]
dbf1fc7a0b feat(api): update via SDK Studio (#474) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
535bdb6351 feat(api): update via SDK Studio (#473) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
b8e303bc9a feat(api): update via SDK Studio (#472) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
7fc60d8c25 feat(api): update via SDK Studio (#471) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
6b8c3c3227 feat(api): update via SDK Studio (#470) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
37db74ddac feat(api): update via SDK Studio (#469) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
a6c4b4bc9f feat(api): update via SDK Studio (#468) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
bce1bf4e6c feat(api): update via SDK Studio (#467) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
8f7435e210 feat(api): update via SDK Studio (#466) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
a7900a2a5f feat(api): update via SDK Studio (#465) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
7892bb7d16 feat(api): OpenAPI spec update via Stainless API (#464) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
2cb4efb26b feat(api): OpenAPI spec update via Stainless API (#463) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
f1ce7a5afb feat(api): OpenAPI spec update via Stainless API (#462) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
16dd159f78 feat(api): OpenAPI spec update via Stainless API (#461) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
32e92cfeec feat(api): OpenAPI spec update via Stainless API (#460) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
89bb6c5f8c feat(api): update via SDK Studio (#459) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
6f642627eb feat(api): OpenAPI spec update via Stainless API (#458) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
8b0e1686a3 feat(api): OpenAPI spec update via Stainless API (#457) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
cc6768e4ad feat(api): update via SDK Studio (#456) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
64acf4e7ac feat(api): OpenAPI spec update via Stainless API (#455) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
181cc9b970 feat(api): OpenAPI spec update via Stainless API (#454) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
52e20a3a72 feat(api): OpenAPI spec update via Stainless API (#453) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
3947c44b98 feat(api): OpenAPI spec update via Stainless API (#452) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
7522679d40 feat(api): OpenAPI spec update via Stainless API (#451) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
16afaf2115 feat(api): OpenAPI spec update via Stainless API (#450) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
91c6d1e462 feat(api): OpenAPI spec update via Stainless API (#449) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
38532c0d88 feat(api): OpenAPI spec update via Stainless API (#448) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
99202012bf feat(api): OpenAPI spec update via Stainless API (#447) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
b57695017a feat(api): OpenAPI spec update via Stainless API (#446) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
7dcadc30aa feat(api): OpenAPI spec update via Stainless API (#445) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
b599852c03 feat(api): OpenAPI spec update via Stainless API (#444) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
960003fd58 feat(api): OpenAPI spec update via Stainless API (#443) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
9bc4051ec1 feat(api): OpenAPI spec update via Stainless API (#442) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
4b0f6dea7a feat(api): OpenAPI spec update via Stainless API (#441) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
3f60ca4a3d feat(api): OpenAPI spec update via Stainless API (#440) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
32602b7d45 feat(api): OpenAPI spec update via Stainless API (#439) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
380ae03561 feat(api): OpenAPI spec update via Stainless API (#438) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
c785026eca feat(api): OpenAPI spec update via Stainless API (#437) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
00ce34a8de feat(api): OpenAPI spec update via Stainless API (#436) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
2515c7de55 feat(api): OpenAPI spec update via Stainless API (#435) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
44790ebc0b feat(api): OpenAPI spec update via Stainless API (#434) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
e7fbd5cb87 feat(api): OpenAPI spec update via Stainless API (#433) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
f6889f644d feat(api): OpenAPI spec update via Stainless API (#432) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
4c49e97f61 feat(api): OpenAPI spec update via Stainless API (#431) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
b40922a3ce feat(api): OpenAPI spec update via Stainless API (#430) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
d819bba2ee feat(api): OpenAPI spec update via Stainless API (#429) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
745d0567fd feat(api): OpenAPI spec update via Stainless API (#428) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
36dc82761f feat(api): OpenAPI spec update via Stainless API (#427) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
aeb756c9fc feat(api): OpenAPI spec update via Stainless API (#426) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
82d2f8f1b5 feat(api): OpenAPI spec update via Stainless API (#425) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
b642c0972e feat(api): OpenAPI spec update via Stainless API (#424) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
8d41200c0c feat(api): OpenAPI spec update via Stainless API (#423) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
251ecc83c8 feat(api): OpenAPI spec update via Stainless API (#422) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
d81b910c0a feat(api): OpenAPI spec update via Stainless API (#421) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
e62e98e5d8 feat(api): OpenAPI spec update via Stainless API (#420) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
2817348bd2 feat(api): update via SDK Studio (#419) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
068cc214ac feat(api): OpenAPI spec update via Stainless API (#418) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
9312532ca4 feat(api): update via SDK Studio (#417) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
04a6d48206 feat(api): OpenAPI spec update via Stainless API (#416) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
2c56c7a85d feat(api): OpenAPI spec update via Stainless API (#415) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
163b0c6507 feat(api): OpenAPI spec update via Stainless API (#414) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
05735158fa feat(api): OpenAPI spec update via Stainless API (#413) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
bf03c168ec feat(api): OpenAPI spec update via Stainless API (#412) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
cc69543c89 feat(api): OpenAPI spec update via Stainless API (#411) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
0bdab771c6 feat(api): OpenAPI spec update via Stainless API (#410) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
61d3efb5ef feat(api): update via SDK Studio (#409) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
f4b5236045 feat(api): OpenAPI spec update via Stainless API (#408) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
d7107627d4 feat(api): OpenAPI spec update via Stainless API (#407) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
440ed8c980 feat(api): OpenAPI spec update via Stainless API (#406) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
c63ecd227a feat(api): OpenAPI spec update via Stainless API (#405) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
43518fe42f feat(api): OpenAPI spec update via Stainless API (#404) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
c6b3d39814 feat(api): update via SDK Studio (#403) 2024-05-07 09:57:07 +00:00
stainless-app[bot]
9d3553ea55 feat(api): OpenAPI spec update via Stainless API (#402) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
4f30fd4c1e chore: rebuild project due to oas spec rename (#401) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
93768adee0 feat(api): OpenAPI spec update via Stainless API (#400) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
6f512378e9 feat(api): OpenAPI spec update via Stainless API (#399) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
922ae56e0f feat(api): OpenAPI spec update via Stainless API (#398) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
d78d4fd83f feat(api): OpenAPI spec update via Stainless API (#397) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
e491374ef5 feat(api): OpenAPI spec update via Stainless API (#396) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
748f5f68a3 feat(api): OpenAPI spec update via Stainless API (#395) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
4f2b676f34 feat(api): OpenAPI spec update via Stainless API (#394) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
ed813ec70c feat(api): OpenAPI spec update via Stainless API (#393) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
6f6d0eeddb feat(api): OpenAPI spec update via Stainless API (#392) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
4f7262f0a9 feat(api): OpenAPI spec update via Stainless API (#391) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
e9cf58db57 feat(api): OpenAPI spec update via Stainless API (#390) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
d480ff60e1 feat(api): OpenAPI spec update via Stainless API (#389) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
f0d079b8df feat(api): OpenAPI spec update via Stainless API (#388) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
0c45514282 feat(api): OpenAPI spec update via Stainless API (#387) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
4131fb98e9 feat(api): OpenAPI spec update via Stainless API (#386) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
e879c416cc feat(api): OpenAPI spec update via Stainless API (#385) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
95d2093af1 feat(api): OpenAPI spec update via Stainless API (#384) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
bcfd50b187 feat(api): OpenAPI spec update via Stainless API (#383) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
271a315909 feat(api): update via SDK Studio (#382) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
1b02ff208a feat(api): OpenAPI spec update via Stainless API (#381) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
3791b11de0 feat(api): OpenAPI spec update via Stainless API (#380) 2024-05-07 09:57:06 +00:00
stainless-app[bot]
50890de604 feat(api): OpenAPI spec update via Stainless API (#379) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
1e6baac5a2 feat(api): OpenAPI spec update via Stainless API (#378) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
0d9658b135 feat(api): OpenAPI spec update via Stainless API (#377) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
2b056942ba feat(api): OpenAPI spec update via Stainless API (#376) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
f47b44ddd9 feat(api): OpenAPI spec update via Stainless API (#375) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
4c264e57b0 feat(api): OpenAPI spec update via Stainless API (#374) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
901076d63b feat(api): OpenAPI spec update via Stainless API (#373) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
8c8ac04826 feat(api): update via SDK Studio (#372) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
62735a6209 feat(api): OpenAPI spec update via Stainless API (#371) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
4462926f06 feat(api): OpenAPI spec update via Stainless API (#370) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
f4bc07dabd feat(api): OpenAPI spec update via Stainless API (#369) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
0f6894ca77 feat(api): OpenAPI spec update via Stainless API (#368) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
667ea295f4 feat(api): OpenAPI spec update via Stainless API (#367) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
450bcb1069 feat(api): OpenAPI spec update via Stainless API (#366) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
14b7e5f00f feat(api): update via SDK Studio (#365) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
f07a5ed23f feat(api): OpenAPI spec update via Stainless API (#364) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
3e13206872 feat(api): OpenAPI spec update via Stainless API (#363) 2024-05-07 09:57:05 +00:00
stainless-app[bot]
e7b1250320 feat(api): OpenAPI spec update via Stainless API (#361) 2024-05-07 09:57:04 +00:00
Jacob Bednarz
65c9b79e74
Update README.md
clean up stainless links
2024-05-07 15:53:02 +10:00
stainless-app[bot]
177554199f release: 3.0.0-beta.8 2024-04-24 04:36:26 +00:00
stainless-app[bot]
0497c5ee5a feat(api): update via SDK Studio (#360) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
9c065ca720 feat(api): OpenAPI spec update via Stainless API (#359) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
bd39128590 feat(api): OpenAPI spec update via Stainless API (#358) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
af84a398bf feat(api): update via SDK Studio (#357) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
4bb7f7e83e feat(api): update via SDK Studio (#356) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
655051a20c feat(api): OpenAPI spec update via Stainless API (#355) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
f7c5224a26 feat(api): update via SDK Studio (#354) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
97e5833200 feat(api): update via SDK Studio (#353) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
e0af157372 feat(api): OpenAPI spec update via Stainless API (#352) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
8398ecd79f feat(api): OpenAPI spec update via Stainless API (#351) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
bc5184da28 feat(api): OpenAPI spec update via Stainless API (#350) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
6b7d814c1f feat(api): update via SDK Studio (#349) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
fe916e5269 feat(api): update via SDK Studio (#348) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
4b5a1d31b0 feat(api): update via SDK Studio (#346) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
51a8129e83 feat(api): update via SDK Studio (#345) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
d57260372f feat(api): update via SDK Studio (#344) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
eef2cda92d feat(api): update via SDK Studio (#343) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
44279f207f feat(api): update via SDK Studio (#342) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
885930a969 feat(api): OpenAPI spec update via Stainless API (#341) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
8f6eb78b88 feat(api): OpenAPI spec update via Stainless API (#340) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
ac3eee684d feat(api): update via SDK Studio (#339) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
2470684861 feat(api): OpenAPI spec update via Stainless API (#338) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
e4ef1c4726 feat(api): OpenAPI spec update via Stainless API (#337) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
25719f7e3d feat(api): update via SDK Studio (#336) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
0cfa369157 feat(api): update via SDK Studio (#335) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
172bb17dc2 feat(api): update via SDK Studio (#334) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
e4c41ad430 feat(api): OpenAPI spec update via Stainless API (#333) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
59c8ceca62 feat(api): update via SDK Studio (#332) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
3c3b8118c5 feat(api): OpenAPI spec update via Stainless API (#331) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
38dc7a512a feat(api): OpenAPI spec update via Stainless API (#330) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
6e37666028 feat(api): OpenAPI spec update via Stainless API (#329) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
0b228ad2dd feat(api): OpenAPI spec update via Stainless API (#328) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
d0d2889297 feat(api): OpenAPI spec update via Stainless API (#327) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
4543ba6ead feat(api): OpenAPI spec update via Stainless API (#326) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
6bbc586276 feat(api): OpenAPI spec update via Stainless API (#325) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
8faa542034 feat(api): OpenAPI spec update via Stainless API (#324) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
0a32b4fd37 feat(api): OpenAPI spec update via Stainless API (#323) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
05386c7825 feat(api): OpenAPI spec update via Stainless API (#322) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
6cb8b2da52 feat(api): OpenAPI spec update via Stainless API (#321) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
cffed2180f feat(api): OpenAPI spec update via Stainless API (#320) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
4fef9472a4 feat(api): OpenAPI spec update via Stainless API (#319) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
a2b45441a2 feat(api): OpenAPI spec update via Stainless API (#318) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
00e9b599df feat(api): OpenAPI spec update via Stainless API (#317) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
6dd74010be feat(api): OpenAPI spec update via Stainless API (#316) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
cd734312d8 feat(api): OpenAPI spec update via Stainless API (#315) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
229d74593a feat(api): OpenAPI spec update via Stainless API (#314) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
4f75ee0201 feat(api): OpenAPI spec update via Stainless API (#313) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
bf1436f33d feat(api): OpenAPI spec update via Stainless API (#312) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
b394b0184d feat(api): OpenAPI spec update via Stainless API (#311) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
cc359332e8 feat(api): OpenAPI spec update via Stainless API (#310) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
8a7d19342d feat(api): OpenAPI spec update via Stainless API (#309) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
6341f52164 feat(api): update via SDK Studio (#308) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
3a11bd64e0 feat(api): update via SDK Studio (#307) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
918d9f0fc1 feat(api): update via SDK Studio (#306) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
83339e4da8 feat(api): update via SDK Studio (#305) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
3d43c942f6 feat(api): update via SDK Studio (#304) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
2ad0155c0b feat(api): update via SDK Studio (#303) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
e09e8cda58 feat(api): update via SDK Studio (#302) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
31d1efe389 feat(api): update via SDK Studio (#301) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
7cc7dcfa98 feat(api): update via SDK Studio (#300) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
66efab53ca feat(api): update via SDK Studio (#299) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
a163839359 feat(api): update via SDK Studio (#298) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
c02c96c28c feat(api): OpenAPI spec update via Stainless API (#297) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
6ec778c7c0 feat(api): OpenAPI spec update via Stainless API (#296) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
fd4601322d feat(api): OpenAPI spec update via Stainless API (#295) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
f384893fcf feat(api): update via SDK Studio (#294) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
ca9dbf97de feat(api): update via SDK Studio (#293) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
019304be17 feat(api): update via SDK Studio (#292) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
ea68c9857c feat(api): update via SDK Studio (#291) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
5c1ec2725d feat(api): update via SDK Studio (#290) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
b6c6ac8eb5 feat(api): update via SDK Studio (#289) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
7ccde2159e feat(api): update via SDK Studio (#288) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
c02f194997 feat(api): update via SDK Studio (#287) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
9c5b4473d1 feat(api): update via SDK Studio (#286) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
447e375b74 feat(api): update via SDK Studio (#285) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
73811ac57c feat(api): update via SDK Studio (#284) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
15a99e60dc feat(api): update via SDK Studio (#283) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
685338d9db feat(api): update via SDK Studio (#282) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
2557c05358 feat(api): update via SDK Studio (#281) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
e5f819aa96 feat(api): update via SDK Studio (#280) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
52cfb742d5 feat(api): update via SDK Studio (#279) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
d4b12e6968 feat(api): update via SDK Studio (#278) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
b45318dcb3 feat(api): OpenAPI spec update via Stainless API (#277) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
923ce561c7 feat(api): OpenAPI spec update via Stainless API (#276) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
fd4a5a381c feat(api): OpenAPI spec update via Stainless API (#275) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
698afa9baa feat(api): OpenAPI spec update via Stainless API (#274) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
f43e34e2ff feat(api): OpenAPI spec update via Stainless API (#273) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
d94a497361 feat(api): OpenAPI spec update via Stainless API (#272) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
fdde3912c6 feat(api): update via SDK Studio (#271) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
7082ba6bdb feat(api): update via SDK Studio (#270) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
0d00385fe2 feat(api): update via SDK Studio (#269) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
d0662057bb feat(api): update via SDK Studio (#268) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
fb3d2ad5a0 feat(api): OpenAPI spec update via Stainless API (#267) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
611e86c9f9 feat(api): update via SDK Studio (#266) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
fa4fea2a88 feat(api): update via SDK Studio (#265) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
c670ddd4ba feat(api): update via SDK Studio (#264) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
c06290bc26 feat(api): update via SDK Studio (#263) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
f83e66d707 feat(api): update via SDK Studio (#262) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
b7d569c45d feat(api): update via SDK Studio (#261) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
8b36d5ebf0 feat(api): update via SDK Studio (#260) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
5b4c0cb0fb feat(api): update via SDK Studio (#259) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
1b6129cc4e feat(api): update via SDK Studio (#258) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
5bba3f7560 feat(api): update via SDK Studio (#257) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
df2f8def9d feat(api): update via SDK Studio (#256) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
0749a4c6b2 feat(api): update via SDK Studio (#255) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
5d40eaab08 feat(api): update via SDK Studio (#254) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
c357ae74c0 feat(api): update via SDK Studio (#253) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
f867aea38c feat(api): update via SDK Studio (#252) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
de77c5e9ca feat(api): update via SDK Studio (#251) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
f6843c3423 feat(api): update via SDK Studio (#250) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
ba9352f1b3 feat(api): update via SDK Studio (#249) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
322f9bdcef feat(api): update via SDK Studio (#248) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
2d3e9e97e1 feat(api): update via SDK Studio (#247) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
dca15d5448 feat(api): OpenAPI spec update via Stainless API (#246) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
711c9f6d2c feat(api): update via SDK Studio (#245) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
d5bbd872ec feat(api): update via SDK Studio (#244) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
c4497d842d feat(api): update via SDK Studio (#243) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
6bde8644e0 feat(api): update via SDK Studio (#242) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
60f303c18e feat(api): update via SDK Studio (#241) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
9b1547aec7 feat(api): update via SDK Studio (#240) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
860812409a feat(api): update via SDK Studio (#239) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
f26e4c3a3a feat(api): update via SDK Studio (#238) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
68016f0e0e feat(api): update via SDK Studio (#237) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
153a6cceea feat(api): update via SDK Studio (#236) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
3b75df031e feat(api): update via SDK Studio (#235) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
75080aa57d feat(api): update via SDK Studio (#234) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
a4ccc09402 feat(api): update via SDK Studio (#233) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
e31ca82c81 feat(api): update via SDK Studio (#230) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
71a6039890 feat(api): update via SDK Studio (#229) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
cc6ec6d5f7 feat(api): update via SDK Studio (#228) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
555aa02094 feat(api): update via SDK Studio (#227) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
d02fa81905 feat(api): update via SDK Studio (#226) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
df3ff137c3 feat(api): update via SDK Studio (#225) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
588e64995f feat(api): OpenAPI spec update via Stainless API (#224) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
5662375c37 feat(api): update via SDK Studio (#223) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
fc7e79b997 feat(api): update via SDK Studio (#222) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
052252418b feat(api): update via SDK Studio (#221) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
58f9b787c9 feat(api): update via SDK Studio (#220) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
2e80c6db9a feat(api): update via SDK Studio (#219) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
d22e479cd8 feat(api): update via SDK Studio (#218) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
90d1fd52d6 feat(api): update via SDK Studio (#217) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
da8e9ce3ed feat(api): update via SDK Studio (#216) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
81a8c7db1a feat(api): OpenAPI spec update via Stainless API (#215) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
91cc11b7a6 feat(api): OpenAPI spec update via Stainless API (#214) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
88f9882406 feat(api): OpenAPI spec update via Stainless API (#213) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
193b388634 feat(api): OpenAPI spec update via Stainless API (#212) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
a225578402 feat(api): update via SDK Studio (#211) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
b53e90f2ac feat(api): update via SDK Studio (#210) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
4d55acf04e feat(api): update via SDK Studio (#209) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
debe02e5a1 feat(api): update via SDK Studio (#208) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
76dc60941b feat(api): update via SDK Studio (#207) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
5ad2175357 feat(api): update via SDK Studio (#203) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
a295731acb feat(api): OpenAPI spec update via Stainless API (#202) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
7c214a721f feat(api): OpenAPI spec update via Stainless API (#201) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
9cd06e0834 feat(api): OpenAPI spec update via Stainless API (#200) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
37cec62998 feat(api): OpenAPI spec update via Stainless API (#199) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
e697dc1908 feat(api): OpenAPI spec update via Stainless API (#198) 2024-04-24 04:36:26 +00:00
stainless-app[bot]
d1e9233b88 feat(api): OpenAPI spec update via Stainless API (#196) 2024-04-24 04:36:26 +00:00
Jacob Bednarz
77cd2adc0e
update workers ai demo to match ruff 2024-04-22 14:55:32 +10:00
Jacob Bednarz
fb1015130c
update example to use kwargs 2024-04-22 14:30:42 +10:00
Jacob Bednarz
5196fe9ffa
Merge pull request #347 from cloudflare/add-workers-example-file
create examples/workers/ai/demo.py
2024-04-22 13:38:24 +10:00
Jacob Bednarz
755d4ed230
create examples/workers/ai/demo.py 2024-04-22 13:37:48 +10:00
Jacob Bednarz
4628e57a5b
add --pre for pip install instructions (#231) 2024-04-05 19:46:19 +11:00
stainless-app[bot]
d50bb7e4fc release: 3.0.0-beta.7 2024-04-02 00:57:50 +00:00
stainless-app[bot]
9d156260df feat(api): OpenAPI spec update via Stainless API (#195) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
7d6367aee4 feat(api): OpenAPI spec update via Stainless API (#194) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
a5617ba278 feat(api): OpenAPI spec update via Stainless API (#193) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
87a97dc6cf feat(api): update via SDK Studio (#192) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
d6f51f3c7c feat(api): OpenAPI spec update via Stainless API (#191) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
1c188e0b2c feat(api): update via SDK Studio (#190) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
ebcee72230 feat(api): OpenAPI spec update via Stainless API (#189) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
2706c9a0bd feat(api): update via SDK Studio (#188) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
ac63efe42d feat(api): update via SDK Studio (#187) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
b9ad754444 feat(api): update via SDK Studio (#186) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
800c87ee88 feat(api): update via SDK Studio (#185) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
c0c7d121fb feat(api): update via SDK Studio (#184) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
6d5bba0bb8 feat(api): update via SDK Studio (#183) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
4557d767d9 feat(api): update via SDK Studio (#182) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
1f840b330c feat(api): update via SDK Studio (#180) 2024-04-02 00:57:50 +00:00
stainless-app[bot]
e4136eb634 release: 3.0.0-beta.6 2024-03-27 20:43:10 +00:00
stainless-app[bot]
c053afc0ca feat(api): OpenAPI spec update via Stainless API (#179) 2024-03-27 20:43:10 +00:00
stainless-app[bot]
0ad9db4e88 feat(api): update via SDK Studio (#178) 2024-03-27 20:43:10 +00:00
stainless-app[bot]
593f166b45 feat(api): update via SDK Studio (#177) 2024-03-27 20:43:10 +00:00
stainless-app[bot]
a27315b760 feat(api): update via SDK Studio (#176) 2024-03-27 20:43:10 +00:00
stainless-app[bot]
1c36f2d647 feat(api): update via SDK Studio (#175) 2024-03-27 20:43:10 +00:00
stainless-app[bot]
f6cec98f4f feat(api): update via SDK Studio (#174) 2024-03-27 20:43:10 +00:00
stainless-app[bot]
bb2b0b7824 feat(api): OpenAPI spec update via Stainless API (#173) 2024-03-27 20:43:10 +00:00
stainless-app[bot]
ca75916dd0 feat(api): OpenAPI spec update via Stainless API (#172) 2024-03-27 20:43:10 +00:00
stainless-app[bot]
8c97227eb2 feat(api): OpenAPI spec update via Stainless API (#171) 2024-03-27 20:43:10 +00:00
stainless-app[bot]
40e25457fd feat(api): update via SDK Studio (#169) 2024-03-27 20:43:10 +00:00
stainless-app[bot]
e84ab27feb release: 3.0.0-beta.5 2024-03-22 01:26:31 +00:00
stainless-app[bot]
c3a57992c7 feat(api): update via SDK Studio (#168) 2024-03-22 01:26:31 +00:00
stainless-app[bot]
e3426bd618 feat(api): OpenAPI spec update via Stainless API (#167) 2024-03-22 01:26:31 +00:00
stainless-app[bot]
3abea37ba0 feat(api): OpenAPI spec update via Stainless API (#166) 2024-03-22 01:26:31 +00:00
stainless-app[bot]
1088dacb0d feat(api): OpenAPI spec update via Stainless API (#165) 2024-03-22 01:26:31 +00:00
stainless-app[bot]
5b67169f0f feat(api): OpenAPI spec update via Stainless API (#164) 2024-03-22 01:26:31 +00:00
stainless-app[bot]
f437760db4 feat(api): OpenAPI spec update via Stainless API (#163) 2024-03-22 01:26:31 +00:00
stainless-app[bot]
cb0d967c2c feat(api): OpenAPI spec update via Stainless API (#162) 2024-03-22 01:26:31 +00:00
stainless-app[bot]
ccbc0be905 feat(api): OpenAPI spec update via Stainless API (#161) 2024-03-22 01:26:31 +00:00
stainless-app[bot]
2ee13005b2 feat(api): OpenAPI spec update via Stainless API (#160) 2024-03-22 01:26:31 +00:00
stainless-app[bot]
336f847ee3 feat(api): update via SDK Studio (#159) 2024-03-22 01:26:31 +00:00
stainless-app[bot]
84580cd97e feat(api): update via SDK Studio (#158) 2024-03-22 01:26:31 +00:00
stainless-app[bot]
ce464d978a feat(api): update via SDK Studio (#156) 2024-03-22 01:26:31 +00:00
5939 changed files with 586262 additions and 258948 deletions

View file

@ -3,7 +3,7 @@ FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}
USER vscode
RUN curl -sSf https://rye-up.com/get | RYE_VERSION="0.24.0" RYE_INSTALL_OPTION="--yes" bash
RUN curl -sSf https://rye.astral.sh/get | RYE_VERSION="0.44.0" RYE_INSTALL_OPTION="--yes" bash
ENV PATH=/home/vscode/.rye/shims:$PATH
RUN echo "[[ -d .venv ]] && source .venv/bin/activate" >> /home/vscode/.bashrc
RUN echo "[[ -d .venv ]] && source .venv/bin/activate || export PATH=\$PATH" >> /home/vscode/.bashrc

View file

@ -24,6 +24,9 @@
}
}
}
},
"features": {
"ghcr.io/devcontainers/features/node:1": {}
}
// Features to add to the dev container. More info: https://containers.dev/features.

60
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View file

@ -0,0 +1,60 @@
name: Bug report
description: Report an issue or bug with this library
labels: ['bug']
body:
- type: checkboxes
id: non_api
attributes:
label: Confirm this is a Python library issue and not an underlying Cloudflare API issue.
description: Issues with the underlying Cloudflare API should be reported via [Cloudflare Support](https://developers.cloudflare.com/support/contacting-cloudflare-support)
options:
- label: This is an issue with the Python library
required: true
- type: textarea
id: what-happened
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is, and any additional context.
placeholder: Tell us what you see!
validations:
required: true
- type: textarea
id: repro-steps
attributes:
label: To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. Fetch a '...'
2. Update the '....'
3. See error
validations:
required: true
- type: textarea
id: code-snippets
attributes:
label: Code snippets
description: If applicable, add code snippets to help explain your problem.
render: Python
validations:
required: false
- type: input
id: os
attributes:
label: OS
placeholder: macOS
validations:
required: true
- type: input
id: language-version
attributes:
label: Python version
placeholder: 3.9.0
validations:
required: true
- type: input
id: lib-version
attributes:
label: Library version
placeholder: v4.0.0
validations:
required: true

View file

@ -1,9 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: v3.0.0 Beta feedback
url: https://github.com/cloudflare/cloudflare-python/discussions/116
about: |
If you have a feature request or feedback on our new v3 library, please comment in our discussion page.
- name: Cloudflare support
url: https://developers.cloudflare.com/support/contacting-cloudflare-support
about: |

View file

@ -1,41 +1,110 @@
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
branches-ignore:
- 'generated'
- 'codegen/**'
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ubuntu-latest
runs-on: ${{ github.repository == 'stainless-sdks/cloudflare-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v4
- name: Install Rye
run: |
curl -sSf https://rye.astral.sh/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: '0.44.0'
RYE_INSTALL_OPTION: '--yes'
- name: Install dependencies
run: rye sync --all-features
- name: Run lints
run: ./scripts/lint
upload:
if: github.repository == 'stainless-sdks/cloudflare-python'
timeout-minutes: 10
name: upload
permissions:
contents: read
id-token: write
runs-on: depot-ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Get GitHub OIDC Token
id: github-oidc
uses: actions/github-script@v6
with:
script: core.setOutput('github_token', await core.getIDToken());
- name: Upload tarball
env:
URL: https://pkg.stainless.com/s
AUTH: ${{ steps.github-oidc.outputs.github_token }}
SHA: ${{ github.sha }}
run: ./scripts/utils/upload-artifact.sh
test:
timeout-minutes: 30
name: test
runs-on: ${{ github.repository == 'stainless-sdks/cloudflare-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v4
- name: Install Rye
run: |
curl -sSf https://rye.astral.sh/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: '0.44.0'
RYE_INSTALL_OPTION: '--yes'
- name: Bootstrap
run: ./scripts/bootstrap
- name: Run tests
run: ./scripts/test
examples:
timeout-minutes: 10
name: examples
runs-on: ${{ github.repository == 'stainless-sdks/cloudflare-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.repository == 'cloudflare/cloudflare-python'
steps:
- uses: actions/checkout@v4
- name: Install Rye
run: |
curl -sSf https://rye-up.com/get | bash
curl -sSf https://rye.astral.sh/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: 0.24.0
RYE_INSTALL_OPTION: "--yes"
RYE_VERSION: '0.44.0'
RYE_INSTALL_OPTION: '--yes'
- name: Install dependencies
run: |
rye sync --all-features
- name: Run ruff
- env:
CLOUDFLARE_ACCOUNT_ID: f037e56e89293a057740de681ac9abbe
CLOUDFLARE_EMAIL: terraform-acceptance-test@cfapi.net
CLOUDFLARE_ZONE_ID: 0da42c8d2132a9ddaf714f9e7c920711
CLOUDFLARE_API_KEY: ${{ secrets.CLOUDFLARE_API_KEY }}
run: |
rye run check:ruff
- name: Run type checking
run: |
rye run typecheck
- name: Ensure importable
run: |
rye run python -c 'import cloudflare'
rye run python ./examples/ai/demo.py
rye run python ./examples/dns/record.py

View file

@ -14,15 +14,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install Rye
run: |
curl -sSf https://rye-up.com/get | bash
curl -sSf https://rye.astral.sh/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: 0.24.0
RYE_INSTALL_OPTION: "--yes"
RYE_VERSION: '0.44.0'
RYE_INSTALL_OPTION: '--yes'
- name: Publish to PyPI
run: |

View file

@ -1,16 +1,24 @@
name: Release Doctor
on:
pull_request:
branches:
- main
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
release_doctor:
name: release doctor
runs-on: ubuntu-latest
timeout-minutes: 2
if: github.repository == 'cloudflare/cloudflare-python' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Check release environment
run: |

19
.github/workflows/semgrep.yml vendored Normal file
View file

@ -0,0 +1,19 @@
on:
workflow_dispatch: {}
schedule:
- cron: '0 4 * * *'
name: Semgrep config
jobs:
semgrep:
name: semgrep/ci
runs-on: ubuntu-latest
env:
SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}
SEMGREP_URL: https://cloudflare.semgrep.dev
SEMGREP_APP_URL: https://cloudflare.semgrep.dev
SEMGREP_VERSION_CHECK_URL: https://cloudflare.semgrep.dev/api/check-version
container:
image: returntocorp/semgrep
steps:
- uses: actions/checkout@v4
- run: semgrep ci

2
.gitignore vendored
View file

@ -1,3 +1,4 @@
.prism.log
.vscode
_dev
@ -12,3 +13,4 @@ dist
.env
.envrc
codegen.log
Brewfile.lock.json

View file

@ -1,3 +1,3 @@
{
".": "3.0.0-beta.4"
".": "4.3.1"
}

View file

@ -1 +1,4 @@
configured_endpoints: 1288
configured_endpoints: 1752
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-b15b44e0efd207de48e7e74e742b0b4b190c74f12a941a1a0ef59a51656a5224.yml
openapi_spec_hash: 83243c9ee06f88d0fa91e9b185d8a42e
config_hash: 8601d43fd5ccaf9e3d08f26748a5a63a

2
Brewfile Normal file
View file

@ -0,0 +1,2 @@
brew "rye"

File diff suppressed because it is too large Load diff

View file

@ -2,9 +2,13 @@
### With Rye
We use [Rye](https://rye-up.com/) to manage dependencies so we highly recommend [installing it](https://rye-up.com/guide/installation/) as it will automatically provision a Python environment with the expected Python version.
We use [Rye](https://rye.astral.sh/) to manage dependencies because it will automatically provision a Python environment with the expected Python version. To set it up, run:
After installing Rye, you'll just have to run this command:
```sh
$ ./scripts/bootstrap
```
Or [install Rye manually](https://rye.astral.sh/guide/installation/) and run:
```sh
$ rye sync --all-features
@ -13,8 +17,7 @@ $ rye sync --all-features
You can then run scripts using `rye run python script.py` or by activating the virtual environment:
```sh
$ rye shell
# or manually activate - https://docs.python.org/3/library/venv.html#how-venvs-work
# Activate the virtual environment - https://docs.python.org/3/library/venv.html#how-venvs-work
$ source .venv/bin/activate
# now you can omit the `rye run` prefix
@ -31,25 +34,25 @@ $ pip install -r requirements-dev.lock
## Modifying/Adding code
Most of the SDK is generated code, and any modified code will be overridden on the next generation. The
`src/cloudflare/lib/` and `examples/` directories are exceptions and will never be overridden.
Most of the SDK is generated code. Modifications to code will be persisted between generations, but may
result in merge conflicts between manual patches and changes from the generator. The generator will never
modify the contents of the `src/cloudflare/lib/` and `examples/` directories.
## Adding and running examples
All files in the `examples/` directory are not modified by the Stainless generator and can be freely edited or
added to.
All files in the `examples/` directory are not modified by the generator and can be freely edited or added to.
```bash
```py
# add an example to examples/<your-example>.py
#!/usr/bin/env -S rye run python
```
```
chmod +x examples/<your-example>.py
```sh
$ chmod +x examples/<your-example>.py
# run the example against your api
./examples/<your-example>.py
$ ./examples/<your-example>.py
```
## Using the repository from source
@ -58,8 +61,8 @@ If youd like to use the repository from source, you can either install from g
To install via git:
```bash
pip install git+ssh://git@github.com/cloudflare/cloudflare-python.git
```sh
$ pip install git+ssh://git@github.com/cloudflare/cloudflare-python.git
```
Alternatively, you can build from source and install the wheel file:
@ -68,29 +71,29 @@ Building this package will create two files in the `dist/` directory, a `.tar.gz
To create a distributable version of the library, all you have to do is run this command:
```bash
rye build
```sh
$ rye build
# or
python -m build
$ python -m build
```
Then to install:
```sh
pip install ./path-to-wheel-file.whl
$ pip install ./path-to-wheel-file.whl
```
## Running tests
Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests.
```bash
```sh
# you will need npm installed
npx prism mock path/to/your/openapi.yml
$ npx prism mock path/to/your/openapi.yml
```
```bash
rye run pytest
```sh
$ ./scripts/test
```
## Linting and formatting
@ -100,14 +103,14 @@ This repository uses [ruff](https://github.com/astral-sh/ruff) and
To lint:
```bash
rye run lint
```sh
$ ./scripts/lint
```
To format and fix all ruff issues automatically:
```bash
rye run format
```sh
$ ./scripts/format
```
## Publishing and releases
@ -121,5 +124,5 @@ You can release to package managers by using [the `Publish PyPI` GitHub action](
### Publish manually
If you need to manually release a package, you can run the `bin/publish-pypi` script with an `PYPI_TOKEN` set on
If you need to manually release a package, you can run the `bin/publish-pypi` script with a `PYPI_TOKEN` set on
the environment.

View file

@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2024 Cloudflare
Copyright 2025 Cloudflare
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

152
README.md
View file

@ -2,13 +2,13 @@
[![PyPI version](https://img.shields.io/pypi/v/cloudflare.svg)](https://pypi.org/project/cloudflare/)
The Cloudflare Python library provides convenient access to the Cloudflare REST API from any Python 3.7+
The Cloudflare Python library provides convenient access to the Cloudflare REST API from any Python 3.8+
application. The library includes type definitions for all request params and response fields,
and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
## Documentation
The REST API documentation can be found [on developers.cloudflare.com](https://developers.cloudflare.com/api). The full API of this library can be found in [api.md](api.md).
The REST API documentation can be found on [developers.cloudflare.com](https://developers.cloudflare.com/api). The full API of this library can be found in [api.md](api.md).
## Installation
@ -26,8 +26,7 @@ import os
from cloudflare import Cloudflare
client = Cloudflare(
# This is the default and can be omitted
api_email=os.environ.get("CLOUDFLARE_EMAIL"),
api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted
)
zone = client.zones.create(
@ -53,8 +52,7 @@ import asyncio
from cloudflare import AsyncCloudflare
client = AsyncCloudflare(
# This is the default and can be omitted
api_email=os.environ.get("CLOUDFLARE_EMAIL"),
api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted
)
@ -74,10 +72,10 @@ Functionality between the synchronous and asynchronous clients is otherwise iden
## Using types
Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typing.html#typing.TypedDict). Responses are [Pydantic models](https://docs.pydantic.dev), which provide helper methods for things like:
Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typing.html#typing.TypedDict). Responses are [Pydantic models](https://docs.pydantic.dev) which also provide helper methods for things like:
- Serializing back into JSON, `model.model_dump_json(indent=2, exclude_unset=True)`
- Converting to a dictionary, `model.model_dump(exclude_unset=True)`
- Serializing back into JSON, `model.to_json()`
- Converting to a dictionary, `model.to_dict()`
Typed requests and responses provide autocomplete and documentation within your editor. If you would like to see type errors in VS Code to help catch bugs earlier, set `python.analysis.typeCheckingMode` to `basic`.
@ -88,7 +86,7 @@ List methods in the Cloudflare API are paginated.
This library provides auto-paginating iterators with each list response, so you do not have to request successive pages manually:
```python
import cloudflare
from cloudflare import Cloudflare
client = Cloudflare()
@ -104,7 +102,7 @@ Or, asynchronously:
```python
import asyncio
import cloudflare
from cloudflare import AsyncCloudflare
client = AsyncCloudflare()
@ -137,11 +135,46 @@ Or just work directly with the returned data:
```python
first_page = await client.accounts.list()
for account in first_page.result:
print(account)
print(account.id)
# Remove `await` for non-async usage.
```
## Nested params
Nested parameters are dictionaries, typed using `TypedDict`, for example:
```python
from cloudflare import Cloudflare
client = Cloudflare()
zone = client.zones.create(
account={},
name="example.com",
)
print(zone.account)
```
## File uploads
Request parameters that correspond to file uploads can be passed as `bytes`, or a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
```python
from pathlib import Path
from cloudflare import Cloudflare
client = Cloudflare()
client.api_gateway.user_schemas.create(
zone_id="023e105f4ecef8ad9ca31a8372d0c353",
file=Path("/path/to/file"),
kind="openapi_v3",
)
```
The async client uses the exact same interface. If you pass a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance, the file contents will be read asynchronously automatically.
## Handling errors
When the library is unable to connect to the API (for example, due to network connection problems or a timeout), a subclass of `cloudflare.APIConnectionError` is raised.
@ -172,7 +205,7 @@ except cloudflare.APIStatusError as e:
print(e.response)
```
Error codes are as followed:
Error codes are as follows:
| Status Code | Error Type |
| ----------- | -------------------------- |
@ -228,7 +261,7 @@ client = Cloudflare(
)
# Override per-request:
client.with_options(timeout=5 * 1000).zones.edit(
client.with_options(timeout=5.0).zones.edit(
zone_id="023e105f4ecef8ad9ca31a8372d0c353",
)
```
@ -243,12 +276,14 @@ Note that requests that time out are [retried twice by default](#retries).
We use the standard library [`logging`](https://docs.python.org/3/library/logging.html) module.
You can enable logging by setting the environment variable `CLOUDFLARE_LOG` to `debug`.
You can enable logging by setting the environment variable `CLOUDFLARE_LOG` to `info`.
```shell
$ export CLOUDFLARE_LOG=debug
$ export CLOUDFLARE_LOG=info
```
Or to `debug` for more verbose logging.
### How to tell whether `None` means `null` or missing
In an API response, a field may be explicitly `null`, or missing entirely; in either case, its value is `None` in this library. You can differentiate the two cases with `.model_fields_set`:
@ -306,44 +341,105 @@ with client.zones.with_streaming_response.create(
The context manager is required so that the response will reliably be closed.
### Making custom/undocumented requests
This library is typed for convenient access to the documented API.
If you need to access undocumented endpoints, params, or response properties, the library can still be used.
#### Undocumented endpoints
To make requests to undocumented endpoints, you can make requests using `client.get`, `client.post`, and other
http verbs. Options on the client will be respected (such as retries) when making this request.
```py
import httpx
response = client.post(
"/foo",
cast_to=httpx.Response,
body={"my_param": True},
)
print(response.headers.get("x-foo"))
```
#### Undocumented request params
If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` request
options.
#### Undocumented response properties
To access undocumented response properties, you can access the extra fields like `response.unknown_prop`. You
can also get all the extra fields on the Pydantic model as a dict with
[`response.model_extra`](https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel.model_extra).
### Configuring the HTTP client
You can directly override the [httpx client](https://www.python-httpx.org/api/#client) to customize it for your use case, including:
- Support for proxies
- Custom transports
- Additional [advanced](https://www.python-httpx.org/advanced/#client-instances) functionality
- Support for [proxies](https://www.python-httpx.org/advanced/proxies/)
- Custom [transports](https://www.python-httpx.org/advanced/transports/)
- Additional [advanced](https://www.python-httpx.org/advanced/clients/) functionality
```python
import httpx
from cloudflare import Cloudflare
from cloudflare import Cloudflare, DefaultHttpxClient
client = Cloudflare(
# Or use the `CLOUDFLARE_BASE_URL` env var
base_url="http://my.test.server.example.com:8083",
http_client=httpx.Client(
proxies="http://my.test.proxy.example.com",
http_client=DefaultHttpxClient(
proxy="http://my.test.proxy.example.com",
transport=httpx.HTTPTransport(local_address="0.0.0.0"),
),
)
```
You can also customize the client on a per-request basis by using `with_options()`:
```python
client.with_options(http_client=DefaultHttpxClient(...))
```
### Managing HTTP resources
By default the library closes underlying HTTP connections whenever the client is [garbage collected](https://docs.python.org/3/reference/datamodel.html#object.__del__). You can manually close the client using the `.close()` method if desired, or with a context manager that closes when exiting.
## Versioning
```py
from cloudflare import Cloudflare
with Cloudflare() as client:
# make requests here
...
# HTTP client is now closed
```
## Semantic versioning
This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:
1. Changes that only affect static types, without breaking runtime behavior.
2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals)_.
3. Changes that we do not expect to impact the vast majority of users in practice.
1. Changes to library internals which are technically public but not intended or documented for external use.
1. Changes that we do not expect to impact the vast majority of users in practice.
We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.
### Determining the installed version
We are keen for your feedback; please open an [issue](https://www.github.com/cloudflare/cloudflare-python/issues) with questions, bugs, or suggestions.
If you've upgraded to the latest version but aren't seeing any new features you were expecting then your python environment is likely still using an older version.
You can determine the version that is being used at runtime with:
```py
import cloudflare
print(cloudflare.__version__)
```
## Requirements
Python 3.7 or higher.
Python 3.8 or higher.
## Contributing
See [the contributing documentation](./CONTRIBUTING.md).

3
SECURITY.md Normal file
View file

@ -0,0 +1,3 @@
# Reporting Security Vulnerabilities
Please see [this page](https://www.cloudflare.com/.well-known/security.txt) for information on how to report a vulnerability to Cloudflare. Thanks!

8257
api.md

File diff suppressed because it is too large Load diff

View file

@ -1,40 +0,0 @@
"""Script that exits 1 if the current environment is not
in sync with the `requirements-dev.lock` file.
"""
from pathlib import Path
import importlib_metadata
def should_run_sync() -> bool:
dev_lock = Path(__file__).parent.parent.joinpath("requirements-dev.lock")
for line in dev_lock.read_text().splitlines():
if not line or line.startswith("#") or line.startswith("-e"):
continue
dep, lock_version = line.split("==")
try:
version = importlib_metadata.version(dep)
if lock_version != version:
print(f"mismatch for {dep} current={version} lock={lock_version}")
return True
except Exception:
print(f"could not import {dep}")
return True
return False
def main() -> None:
if should_run_sync():
exit(1)
else:
exit(0)
if __name__ == "__main__":
main()

View file

@ -1,50 +0,0 @@
#!/usr/bin/env bash
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color
function prism_is_running() {
curl --silent "http://localhost:4010" >/dev/null 2>&1
}
function is_overriding_api_base_url() {
[ -n "$TEST_API_BASE_URL" ]
}
if is_overriding_api_base_url ; then
# If someone is running the tests against the live API, we can trust they know
# what they're doing and exit early.
echo -e "${GREEN}✔ Running tests against ${TEST_API_BASE_URL}${NC}"
exit 0
elif prism_is_running ; then
echo -e "${GREEN}✔ Mock prism server is running with your OpenAPI spec${NC}"
echo
exit 0
else
echo -e "${RED}ERROR:${NC} The test suite will not run without a mock Prism server"
echo -e "running against your OpenAPI spec."
echo
echo -e "${YELLOW}To fix:${NC}"
echo
echo -e "1. Install Prism (requires Node 16+):"
echo
echo -e " With npm:"
echo -e " \$ ${YELLOW}npm install -g @stoplight/prism-cli${NC}"
echo
echo -e " With yarn:"
echo -e " \$ ${YELLOW}yarn global add @stoplight/prism-cli${NC}"
echo
echo -e "2. Run the mock server"
echo
echo -e " To run the server, pass in the path of your OpenAPI"
echo -e " spec to the prism command:"
echo
echo -e " \$ ${YELLOW}prism mock path/to/your.openapi.yml${NC}"
echo
exit 1
fi

View file

@ -1,3 +0,0 @@
#!/usr/bin/env bash
bin/check-test-server && rye run pytest "$@"

View file

@ -1,4 +0,0 @@
File generated from our OpenAPI spec by Stainless.
This directory can be used to store example files demonstrating usage of this SDK.
It is ignored by Stainless code generation and its content (other than this keep file) won't be touched.

20
examples/ai/demo.py Normal file
View file

@ -0,0 +1,20 @@
import os
import sys
from cloudflare import Cloudflare
account_id = os.getenv("CLOUDFLARE_ACCOUNT_ID")
if account_id is None:
sys.exit("CLOUDFLARE_ACCOUNT_ID is not defined")
client = Cloudflare()
t = client.ai.run(
"@cf/meta/m2m100-1.2b",
account_id=account_id,
text="I'll have an order of the moule frites",
target_lang="french",
source_lang="english",
)
# print(t['translated_text'])

25
examples/dns/record.py Normal file
View file

@ -0,0 +1,25 @@
import os
import sys
from cloudflare import Cloudflare
zone_id = os.getenv("CLOUDFLARE_ZONE_ID")
if zone_id is None:
sys.exit("CLOUDFLARE_ZONE_ID is not defined")
client = Cloudflare()
record = client.dns.records.create(
zone_id=zone_id,
type="A",
name="www.mydns.com",
content="198.51.100.1",
proxied=True,
)
assert record is not None
# clean up after we're done
client.dns.records.delete(
zone_id=zone_id,
dns_record_id=record.id,
)

View file

@ -0,0 +1,97 @@
"""Workers Script Upload Example
Generate an API token:
https://developers.cloudflare.com/fundamentals/api/get-started/create-token/
(Not Global API Key!)
Find your account id:
https://developers.cloudflare.com/fundamentals/setup/find-account-and-zone-ids/
Set these environment variables:
- CLOUDFLARE_API_TOKEN
- CLOUDFLARE_ACCOUNT_ID
### Workers for Platforms ###
For uploading a User Worker to a dispatch namespace:
https://developers.cloudflare.com/cloudflare-for-platforms/workers-for-platforms/
Change the entire "script = " line to the following:
"script = client.workers_for_platforms.dispatch.namespaces.scripts.update("
Then, define a "dispatch_namespace_name" variable and add a
"dispatch_namespace=dispatch_namespace_name" keyword argument to the "update" method.
"""
import os
from cloudflare import Cloudflare, BadRequestError
API_TOKEN = os.environ.get("CLOUDFLARE_API_TOKEN")
if API_TOKEN is None:
raise RuntimeError("Please set envar CLOUDFLARE_API_TOKEN")
ACCOUNT_ID = os.environ.get("CLOUDFLARE_ACCOUNT_ID")
if ACCOUNT_ID is None:
raise RuntimeError("Please set envar CLOUDFLARE_ACCOUNT_ID")
client = Cloudflare(api_token=API_TOKEN)
def main() -> None:
"""Workers Script Upload Example"""
script_name = "my-hello-world-script"
script_file_name = f"{script_name}.mjs"
# Workers Scripts prefer Module Syntax
# https://blog.cloudflare.com/workers-javascript-modules/
script_content = """
export default {
async fetch(request, env, ctx) {
return new Response(env.MESSAGE, { status: 200 });
}
};
"""
try:
# https://developers.cloudflare.com/api/resources/workers/subresources/scripts/methods/update/
script = client.workers.scripts.update(
script_name,
account_id=ACCOUNT_ID, # type: ignore
# https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/
metadata={
"main_module": script_file_name,
"bindings": [
{
"type": "plain_text",
"name": "MESSAGE",
"text": "Hello World!",
}
],
},
files={
# Add main_module file
script_file_name: (
script_file_name,
bytes(script_content, "utf-8"),
"application/javascript+module",
)
# Can add other files, such as more modules or source maps
# source_map_file_name: (
# source_map_file_name,
# bytes(source_map_content, "utf-8"),
# "application/source-map"
#)
},
)
print("Script Upload success!")
print(script.to_json(indent=2))
except BadRequestError as err:
print("Script Upload failure!")
print(err)
if __name__ == "__main__":
main()

View file

@ -5,7 +5,10 @@ show_error_codes = True
# Exclude _files.py because mypy isn't smart enough to apply
# the correct type narrowing and as this is an internal module
# it's fine to just use Pyright.
exclude = ^(src/cloudflare/_files\.py|_dev/.*\.py)$
#
# We also exclude our `tests` as mypy doesn't always infer
# types correctly and Pyright will still catch any type errors.
exclude = ^(src/cloudflare/_files\.py|_dev/.*\.py|tests/.*|src/cloudflare/resources/zero_trust/identity_providers\.py|src/cloudflare/resources/zero_trust/access/applications/applications\.py|src/cloudflare/resources/workers/ai\.py|src/cloudflare/resources/magic_transit/apps\.py)$
strict_equality = True
implicit_reexport = True
@ -38,7 +41,7 @@ cache_fine_grained = True
# ```
# Changing this codegen to make mypy happy would increase complexity
# and would not be worth it.
disable_error_code = func-returns-value
disable_error_code = func-returns-value,overload-cannot-match
# https://github.com/python/mypy/issues/12162
[mypy.overrides]

View file

@ -1,8 +1,8 @@
[project]
name = "cloudflare"
version = "3.0.0-beta.4"
version = "4.3.1"
description = "The official Python library for the cloudflare API"
readme = "README.md"
dynamic = ["readme"]
license = "Apache-2.0"
authors = [
{ name = "Cloudflare", email = "api@cloudflare.com" },
@ -10,18 +10,15 @@ authors = [
dependencies = [
"httpx>=0.23.0, <1",
"pydantic>=1.9.0, <3",
"typing-extensions>=4.7, <5",
"typing-extensions>=4.10, <5",
"anyio>=3.5.0, <5",
"distro>=1.7.0, <2",
"sniffio",
"cached-property; python_version < '3.8'",
]
requires-python = ">= 3.7"
requires-python = ">= 3.8"
classifiers = [
"Typing :: Typed",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
@ -36,19 +33,16 @@ classifiers = [
"License :: OSI Approved :: Apache Software License"
]
[project.urls]
Homepage = "https://github.com/cloudflare/cloudflare-python"
Repository = "https://github.com/cloudflare/cloudflare-python"
[tool.rye]
managed = true
# version pins are in requirements-dev.lock
dev-dependencies = [
"pyright",
"pyright==1.1.399",
"mypy",
"respx",
"pytest",
@ -58,7 +52,9 @@ dev-dependencies = [
"nox",
"dirty-equals>=0.6.0",
"importlib-metadata>=6.7.0",
"rich>=13.7.1",
"nest_asyncio==1.6.0",
"pytest-xdist>=3.6.1",
]
[tool.rye.scripts]
@ -66,18 +62,21 @@ format = { chain = [
"format:ruff",
"format:docs",
"fix:ruff",
# run formatting again to fix any inconsistencies when imports are stripped
"format:ruff",
]}
"format:black" = "black ."
"format:docs" = "python bin/ruffen-docs.py README.md api.md"
"format:docs" = "python scripts/utils/ruffen-docs.py README.md api.md"
"format:ruff" = "ruff format"
"format:isort" = "isort ."
"lint" = { chain = [
"check:ruff",
"typecheck",
"check:importable",
]}
"check:ruff" = "ruff ."
"fix:ruff" = "ruff --fix ."
"check:ruff" = "ruff check ."
"fix:ruff" = "ruff check --fix ."
"check:importable" = "python -c 'import cloudflare'"
typecheck = { chain = [
"typecheck:pyright",
@ -88,7 +87,7 @@ typecheck = { chain = [
"typecheck:mypy" = "mypy ."
[build-system]
requires = ["hatchling"]
requires = ["hatchling==1.26.3", "hatch-fancy-pypi-readme"]
build-backend = "hatchling.build"
[tool.hatch.build]
@ -99,15 +98,38 @@ include = [
[tool.hatch.build.targets.wheel]
packages = ["src/cloudflare"]
[tool.black]
line-length = 120
target-version = ["py37"]
[tool.hatch.build.targets.sdist]
# Basically everything except hidden files/directories (such as .github, .devcontainers, .python-version, etc)
include = [
"/*.toml",
"/*.json",
"/*.lock",
"/*.md",
"/mypy.ini",
"/noxfile.py",
"bin/*",
"examples/*",
"src/*",
"tests/*",
]
[tool.hatch.metadata.hooks.fancy-pypi-readme]
content-type = "text/markdown"
[[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
path = "README.md"
[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
# replace relative links with absolute links
pattern = '\[(.+?)\]\(((?!https?://)\S+?)\)'
replacement = '[\1](https://github.com/cloudflare/cloudflare-python/tree/main/\g<2>)'
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "--tb=short"
addopts = "--tb=short -n auto"
xfail_strict = true
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "session"
filterwarnings = [
"error"
]
@ -117,7 +139,7 @@ filterwarnings = [
# there are a couple of flags that are still disabled by
# default in strict mode as they are experimental and niche.
typeCheckingMode = "strict"
pythonVersion = "3.7"
pythonVersion = "3.8"
exclude = [
"_dev",
@ -126,6 +148,7 @@ exclude = [
]
reportImplicitOverride = true
reportOverlappingOverload = false
reportImportCycles = false
reportPrivateUsage = false
@ -134,6 +157,11 @@ reportPrivateUsage = false
line-length = 120
output-format = "grouped"
target-version = "py37"
[tool.ruff.format]
docstring-code-format = true
[tool.ruff.lint]
select = [
# isort
"I",
@ -149,7 +177,9 @@ select = [
"T201",
"T203",
# misuse of typing.TYPE_CHECKING
"TCH004"
"TC004",
# import rules
"TID251",
]
ignore = [
# mutable defaults
@ -160,10 +190,9 @@ unfixable = [
"T201",
"T203",
]
ignore-init-module-imports = true
[tool.ruff.format]
docstring-code-format = true
[tool.ruff.lint.flake8-tidy-imports.banned-api]
"functools.lru_cache".msg = "This function does not retain type information for the wrapped function's arguments; The `lru_cache` function from `_utils` should be used instead"
[tool.ruff.lint.isort]
length-sort = true
@ -172,7 +201,8 @@ combine-as-imports = true
extra-standard-library = ["typing_extensions"]
known-first-party = ["cloudflare", "tests"]
[tool.ruff.per-file-ignores]
[tool.ruff.lint.per-file-ignores]
"bin/**.py" = ["T201", "T203"]
"scripts/**.py" = ["T201", "T203"]
"tests/**.py" = ["T201", "T203"]
"examples/**.py" = ["T201", "T203"]

View file

@ -6,17 +6,17 @@
# features: []
# all-features: true
# with-sources: false
# generate-hashes: false
# universal: false
-e file:.
annotated-types==0.6.0
# via pydantic
anyio==4.1.0
anyio==4.4.0
# via cloudflare
# via httpx
argcomplete==3.1.2
# via nox
attrs==23.1.0
# via pytest
certifi==2023.7.22
# via httpcore
# via httpx
@ -27,15 +27,18 @@ distlib==0.3.7
# via virtualenv
distro==1.8.0
# via cloudflare
exceptiongroup==1.1.3
exceptiongroup==1.2.2
# via anyio
# via pytest
execnet==2.1.1
# via pytest-xdist
filelock==3.12.4
# via virtualenv
h11==0.14.0
# via httpcore
httpcore==1.0.2
# via httpx
httpx==0.25.2
httpx==0.28.1
# via cloudflare
# via respx
idna==3.4
@ -44,9 +47,14 @@ idna==3.4
importlib-metadata==7.0.0
iniconfig==2.0.0
# via pytest
mypy==1.7.1
markdown-it-py==3.0.0
# via rich
mdurl==0.1.2
# via markdown-it-py
mypy==1.14.1
mypy-extensions==1.0.0
# via mypy
nest-asyncio==1.6.0
nodeenv==1.8.0
# via pyright
nox==2023.4.22
@ -55,24 +63,27 @@ packaging==23.2
# via pytest
platformdirs==3.11.0
# via virtualenv
pluggy==1.3.0
pluggy==1.5.0
# via pytest
py==1.11.0
# via pytest
pydantic==2.4.2
pydantic==2.10.3
# via cloudflare
pydantic-core==2.10.1
pydantic-core==2.27.1
# via pydantic
pyright==1.1.353
pytest==7.1.1
pygments==2.18.0
# via rich
pyright==1.1.399
pytest==8.3.3
# via pytest-asyncio
pytest-asyncio==0.21.1
# via pytest-xdist
pytest-asyncio==0.24.0
pytest-xdist==3.7.0
python-dateutil==2.8.2
# via time-machine
pytz==2023.3.post1
# via dirty-equals
respx==0.20.2
ruff==0.1.9
respx==0.22.0
rich==13.7.1
ruff==0.9.4
setuptools==68.2.2
# via nodeenv
six==1.16.0
@ -80,16 +91,17 @@ six==1.16.0
sniffio==1.3.0
# via anyio
# via cloudflare
# via httpx
time-machine==2.9.0
tomli==2.0.1
tomli==2.0.2
# via mypy
# via pytest
typing-extensions==4.8.0
typing-extensions==4.12.2
# via anyio
# via cloudflare
# via mypy
# via pydantic
# via pydantic-core
# via pyright
virtualenv==20.24.5
# via nox
zipp==3.17.0

View file

@ -6,11 +6,13 @@
# features: []
# all-features: true
# with-sources: false
# generate-hashes: false
# universal: false
-e file:.
annotated-types==0.6.0
# via pydantic
anyio==4.1.0
anyio==4.4.0
# via cloudflare
# via httpx
certifi==2023.7.22
@ -18,26 +20,26 @@ certifi==2023.7.22
# via httpx
distro==1.8.0
# via cloudflare
exceptiongroup==1.1.3
exceptiongroup==1.2.2
# via anyio
h11==0.14.0
# via httpcore
httpcore==1.0.2
# via httpx
httpx==0.25.2
httpx==0.28.1
# via cloudflare
idna==3.4
# via anyio
# via httpx
pydantic==2.4.2
pydantic==2.10.3
# via cloudflare
pydantic-core==2.10.1
pydantic-core==2.27.1
# via pydantic
sniffio==1.3.0
# via anyio
# via cloudflare
# via httpx
typing-extensions==4.8.0
typing-extensions==4.12.2
# via anyio
# via cloudflare
# via pydantic
# via pydantic-core

19
scripts/bootstrap Executable file
View file

@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -e
cd "$(dirname "$0")/.."
if ! command -v rye >/dev/null 2>&1 && [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ]; then
brew bundle check >/dev/null 2>&1 || {
echo "==> Installing Homebrew dependencies…"
brew bundle
}
fi
echo "==> Installing Python dependencies…"
# experimental uv support makes installations significantly faster
rye config --set-bool behavior.use-uv=true
rye sync --all-features

8
scripts/format Executable file
View file

@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -e
cd "$(dirname "$0")/.."
echo "==> Running formatters"
rye run format

11
scripts/lint Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -e
cd "$(dirname "$0")/.."
echo "==> Running lints"
rye run lint
echo "==> Making sure it imports"
rye run python -c 'import cloudflare'

41
scripts/mock Executable file
View file

@ -0,0 +1,41 @@
#!/usr/bin/env bash
set -e
cd "$(dirname "$0")/.."
if [[ -n "$1" && "$1" != '--'* ]]; then
URL="$1"
shift
else
URL="$(grep 'openapi_spec_url' .stats.yml | cut -d' ' -f2)"
fi
# Check if the URL is empty
if [ -z "$URL" ]; then
echo "Error: No OpenAPI spec path/url provided or found in .stats.yml"
exit 1
fi
echo "==> Starting mock server with URL ${URL}"
# Run prism mock on the given spec
if [ "$1" == "--daemon" ]; then
npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" &> .prism.log &
# Wait for server to come online
echo -n "Waiting for server"
while ! grep -q "✖ fatal\|Prism is listening" ".prism.log" ; do
echo -n "."
sleep 0.1
done
if grep -q "✖ fatal" ".prism.log"; then
cat .prism.log
exit 1
fi
echo
else
npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL"
fi

61
scripts/test Executable file
View file

@ -0,0 +1,61 @@
#!/usr/bin/env bash
set -e
cd "$(dirname "$0")/.."
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color
function prism_is_running() {
curl --silent "http://localhost:4010" >/dev/null 2>&1
}
kill_server_on_port() {
pids=$(lsof -t -i tcp:"$1" || echo "")
if [ "$pids" != "" ]; then
kill "$pids"
echo "Stopped $pids."
fi
}
function is_overriding_api_base_url() {
[ -n "$TEST_API_BASE_URL" ]
}
if ! is_overriding_api_base_url && ! prism_is_running ; then
# When we exit this script, make sure to kill the background mock server process
trap 'kill_server_on_port 4010' EXIT
# Start the dev server
./scripts/mock --daemon
fi
if is_overriding_api_base_url ; then
echo -e "${GREEN}✔ Running tests against ${TEST_API_BASE_URL}${NC}"
echo
elif ! prism_is_running ; then
echo -e "${RED}ERROR:${NC} The test suite will not run without a mock Prism server"
echo -e "running against your OpenAPI spec."
echo
echo -e "To run the server, pass in the path or url of your OpenAPI"
echo -e "spec to the prism command:"
echo
echo -e " \$ ${YELLOW}npm exec --package=@stoplight/prism-cli@~5.3.2 -- prism mock path/to/your.openapi.yml${NC}"
echo
exit 1
else
echo -e "${GREEN}✔ Mock prism server is running with your OpenAPI spec${NC}"
echo
fi
export DEFER_PYDANTIC_BUILD=false
echo "==> Running tests"
rye run pytest "$@"
echo "==> Running Pydantic v1 tests"
rye run nox -s test-pydantic-v1 -- "$@"

View file

@ -47,7 +47,7 @@ def format_str(
with _collect_error(match):
code = format_code_block(code)
code = textwrap.indent(code, match["indent"])
return f'{match["before"]}{code}{match["after"]}'
return f"{match['before']}{code}{match['after']}"
def _pycon_match(match: Match[str]) -> str:
code = ""
@ -97,7 +97,7 @@ def format_str(
def _md_pycon_match(match: Match[str]) -> str:
code = _pycon_match(match)
code = textwrap.indent(code, match["indent"])
return f'{match["before"]}{code}{match["after"]}'
return f"{match['before']}{code}{match['after']}"
src = MD_RE.sub(_md_match, src)
src = MD_PYCON_RE.sub(_md_pycon_match, src)

View file

@ -0,0 +1,25 @@
#!/usr/bin/env bash
set -exuo pipefail
RESPONSE=$(curl -X POST "$URL" \
-H "Authorization: Bearer $AUTH" \
-H "Content-Type: application/json")
SIGNED_URL=$(echo "$RESPONSE" | jq -r '.url')
if [[ "$SIGNED_URL" == "null" ]]; then
echo -e "\033[31mFailed to get signed URL.\033[0m"
exit 1
fi
UPLOAD_RESPONSE=$(tar -cz . | curl -v -X PUT \
-H "Content-Type: application/gzip" \
--data-binary @- "$SIGNED_URL" 2>&1)
if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then
echo -e "\033[32mUploaded build to Stainless storage.\033[0m"
echo -e "\033[32mInstallation: pip install 'https://pkg.stainless.com/s/cloudflare-python/$SHA'\033[0m"
else
echo -e "\033[31mFailed to upload artifact.\033[0m"
exit 1
fi

View file

@ -1,7 +1,9 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import typing as _t
from . import types
from ._types import NOT_GIVEN, NoneType, NotGiven, Transport, ProxiesTypes
from ._types import NOT_GIVEN, Omit, NoneType, NotGiven, Transport, ProxiesTypes
from ._utils import file_from_path
from ._client import (
Client,
@ -17,6 +19,7 @@ from ._client import (
from ._models import BaseModel
from ._version import __title__, __version__
from ._response import APIResponse as APIResponse, AsyncAPIResponse as AsyncAPIResponse
from ._constants import DEFAULT_TIMEOUT, DEFAULT_MAX_RETRIES, DEFAULT_CONNECTION_LIMITS
from ._exceptions import (
APIError,
ConflictError,
@ -33,6 +36,7 @@ from ._exceptions import (
UnprocessableEntityError,
APIResponseValidationError,
)
from ._base_client import DefaultHttpxClient, DefaultAsyncHttpxClient
from ._utils._logs import setup_logging as _setup_logging
__all__ = [
@ -44,6 +48,7 @@ __all__ = [
"ProxiesTypes",
"NotGiven",
"NOT_GIVEN",
"Omit",
"CloudflareError",
"APIError",
"APIStatusError",
@ -68,8 +73,16 @@ __all__ = [
"AsyncCloudflare",
"file_from_path",
"BaseModel",
"DEFAULT_TIMEOUT",
"DEFAULT_MAX_RETRIES",
"DEFAULT_CONNECTION_LIMITS",
"DefaultHttpxClient",
"DefaultAsyncHttpxClient",
]
if not _t.TYPE_CHECKING:
from ._utils._resources_proxy import resources as resources
_setup_logging()
# Update the __module__ attribute for exported symbols so that

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2,12 +2,12 @@ from __future__ import annotations
from typing import TYPE_CHECKING, Any, Union, Generic, TypeVar, Callable, cast, overload
from datetime import date, datetime
from typing_extensions import Self
from typing_extensions import Self, Literal
import pydantic
from pydantic.fields import FieldInfo
from ._types import StrBytesIntFloat
from ._types import IncEx, StrBytesIntFloat
_T = TypeVar("_T")
_ModelT = TypeVar("_ModelT", bound=pydantic.BaseModel)
@ -118,10 +118,10 @@ def get_model_fields(model: type[pydantic.BaseModel]) -> dict[str, FieldInfo]:
return model.__fields__ # type: ignore
def model_copy(model: _ModelT) -> _ModelT:
def model_copy(model: _ModelT, *, deep: bool = False) -> _ModelT:
if PYDANTIC_V2:
return model.model_copy()
return model.copy() # type: ignore
return model.model_copy(deep=deep)
return model.copy(deep=deep) # type: ignore
def model_json(model: pydantic.BaseModel, *, indent: int | None = None) -> str:
@ -133,17 +133,25 @@ def model_json(model: pydantic.BaseModel, *, indent: int | None = None) -> str:
def model_dump(
model: pydantic.BaseModel,
*,
exclude: IncEx | None = None,
exclude_unset: bool = False,
exclude_defaults: bool = False,
warnings: bool = True,
mode: Literal["json", "python"] = "python",
) -> dict[str, Any]:
if PYDANTIC_V2:
if PYDANTIC_V2 or hasattr(model, "model_dump"):
return model.model_dump(
mode=mode,
exclude=exclude,
exclude_unset=exclude_unset,
exclude_defaults=exclude_defaults,
# warnings are not supported in Pydantic v1
warnings=warnings if PYDANTIC_V2 else True,
)
return cast(
"dict[str, Any]",
model.dict( # pyright: ignore[reportDeprecated, reportUnnecessaryCast]
exclude=exclude,
exclude_unset=exclude_unset,
exclude_defaults=exclude_defaults,
),
@ -159,22 +167,19 @@ def model_parse(model: type[_ModelT], data: Any) -> _ModelT:
# generic models
if TYPE_CHECKING:
class GenericModel(pydantic.BaseModel):
...
class GenericModel(pydantic.BaseModel): ...
else:
if PYDANTIC_V2:
# there no longer needs to be a distinction in v2 but
# we still have to create our own subclass to avoid
# inconsistent MRO ordering errors
class GenericModel(pydantic.BaseModel):
...
class GenericModel(pydantic.BaseModel): ...
else:
import pydantic.generics
class GenericModel(pydantic.generics.GenericModel, pydantic.BaseModel):
...
class GenericModel(pydantic.generics.GenericModel, pydantic.BaseModel): ...
# cached properties
@ -193,30 +198,22 @@ if TYPE_CHECKING:
func: Callable[[Any], _T]
attrname: str | None
def __init__(self, func: Callable[[Any], _T]) -> None:
...
def __init__(self, func: Callable[[Any], _T]) -> None: ...
@overload
def __get__(self, instance: None, owner: type[Any] | None = None) -> Self:
...
def __get__(self, instance: None, owner: type[Any] | None = None) -> Self: ...
@overload
def __get__(self, instance: object, owner: type[Any] | None = None) -> _T:
...
def __get__(self, instance: object, owner: type[Any] | None = None) -> _T: ...
def __get__(self, instance: object, owner: type[Any] | None = None) -> _T | Self:
raise NotImplementedError()
def __set_name__(self, owner: type[Any], name: str) -> None:
...
def __set_name__(self, owner: type[Any], name: str) -> None: ...
# __set__ is not defined at runtime, but @cached_property is designed to be settable
def __set__(self, instance: object, value: _T) -> None:
...
def __set__(self, instance: object, value: _T) -> None: ...
else:
try:
from functools import cached_property as cached_property
except ImportError:
from cached_property import cached_property as cached_property
from functools import cached_property as cached_property
typed_cached_property = cached_property

View file

@ -6,9 +6,9 @@ RAW_RESPONSE_HEADER = "X-Stainless-Raw-Response"
OVERRIDE_CAST_TO_HEADER = "____stainless_override_cast_to"
# default timeout is 1 minute
DEFAULT_TIMEOUT = httpx.Timeout(timeout=60.0, connect=5.0)
DEFAULT_TIMEOUT = httpx.Timeout(timeout=60, connect=5.0)
DEFAULT_MAX_RETRIES = 2
DEFAULT_LIMITS = httpx.Limits(max_connections=100, max_keepalive_connections=20)
DEFAULT_CONNECTION_LIMITS = httpx.Limits(max_connections=100, max_keepalive_connections=20)
INITIAL_RETRY_DELAY = 0.5
MAX_RETRY_DELAY = 8.0

View file

@ -2,10 +2,15 @@
from __future__ import annotations
from typing import Any, List, cast
from typing_extensions import Literal
import httpx
from ._utils import is_dict
from ._models import construct_type
from .types.shared.error_data import ErrorData
__all__ = [
"BadRequestError",
"AuthenticationError",
@ -37,12 +42,19 @@ class APIError(CloudflareError):
If there was no response associated with this error then it will be `None`.
"""
def __init__(self, message: str, request: httpx.Request, *, body: object | None) -> None: # noqa: ARG002
errors: List[ErrorData]
def __init__(self, message: str, request: httpx.Request, *, body: object | None) -> None:
super().__init__(message)
self.request = request
self.message = message
self.body = body
if is_dict(body):
self.errors = cast(Any, construct_type(type_=List[ErrorData], value=body.get("errors")))
else:
self.errors = []
class APIResponseValidationError(APIError):
response: httpx.Response

View file

@ -34,18 +34,16 @@ def assert_is_file_content(obj: object, *, key: str | None = None) -> None:
if not is_file_content(obj):
prefix = f"Expected entry at `{key}`" if key is not None else f"Expected file input `{obj!r}`"
raise RuntimeError(
f"{prefix} to be bytes, an io.IOBase instance, PathLike or a tuple but received {type(obj)} instead."
f"{prefix} to be bytes, an io.IOBase instance, PathLike or a tuple but received {type(obj)} instead. See https://github.com/cloudflare/cloudflare-python/tree/main#file-uploads"
) from None
@overload
def to_httpx_files(files: None) -> None:
...
def to_httpx_files(files: None) -> None: ...
@overload
def to_httpx_files(files: RequestFiles) -> HttpxRequestFiles:
...
def to_httpx_files(files: RequestFiles) -> HttpxRequestFiles: ...
def to_httpx_files(files: RequestFiles | None) -> HttpxRequestFiles | None:
@ -83,13 +81,11 @@ def _read_file_content(file: FileContent) -> HttpxFileContent:
@overload
async def async_to_httpx_files(files: None) -> None:
...
async def async_to_httpx_files(files: None) -> None: ...
@overload
async def async_to_httpx_files(files: RequestFiles) -> HttpxRequestFiles:
...
async def async_to_httpx_files(files: RequestFiles) -> HttpxRequestFiles: ...
async def async_to_httpx_files(files: RequestFiles | None) -> HttpxRequestFiles | None:

View file

@ -1,15 +1,16 @@
from __future__ import annotations
import os
import inspect
from typing import TYPE_CHECKING, Any, Type, Union, Generic, TypeVar, Callable, cast
from datetime import date, datetime
from functools import lru_cache
from typing_extensions import (
Unpack,
Literal,
ClassVar,
Protocol,
Required,
ParamSpec,
TypedDict,
TypeGuard,
final,
@ -18,7 +19,6 @@ from typing_extensions import (
)
import pydantic
import pydantic.generics
from pydantic.fields import FieldInfo
from ._types import (
@ -30,18 +30,23 @@ from ._types import (
Timeout,
NotGiven,
AnyMapping,
MultipartSyntax,
HttpxRequestFiles,
)
from ._utils import (
PropertyInfo,
is_list,
is_given,
json_safe,
lru_cache,
is_mapping,
parse_date,
coerce_boolean,
parse_datetime,
strip_not_given,
extract_type_arg,
is_annotated_type,
is_type_alias_type,
strip_annotated_type,
)
from ._compat import (
@ -60,11 +65,14 @@ from ._compat import (
from ._constants import RAW_RESPONSE_HEADER
if TYPE_CHECKING:
from pydantic_core.core_schema import ModelField, ModelFieldsSchema
from pydantic_core.core_schema import ModelField, ModelSchema, LiteralSchema, ModelFieldsSchema
__all__ = ["BaseModel", "GenericModel"]
_T = TypeVar("_T")
_BaseModelT = TypeVar("_BaseModelT", bound="BaseModel")
P = ParamSpec("P")
@runtime_checkable
@ -74,7 +82,9 @@ class _ConfigProtocol(Protocol):
class BaseModel(pydantic.BaseModel):
if PYDANTIC_V2:
model_config: ClassVar[ConfigDict] = ConfigDict(extra="allow")
model_config: ClassVar[ConfigDict] = ConfigDict(
extra="allow", defer_build=coerce_boolean(os.environ.get("DEFER_PYDANTIC_BUILD", "true"))
)
else:
@property
@ -86,24 +96,97 @@ class BaseModel(pydantic.BaseModel):
class Config(pydantic.BaseConfig): # pyright: ignore[reportDeprecated]
extra: Any = pydantic.Extra.allow # type: ignore
def to_dict(
self,
*,
mode: Literal["json", "python"] = "python",
use_api_names: bool = True,
exclude_unset: bool = True,
exclude_defaults: bool = False,
exclude_none: bool = False,
warnings: bool = True,
) -> dict[str, object]:
"""Recursively generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
By default, fields that were not set by the API will not be included,
and keys will match the API response, *not* the property names from the model.
For example, if the API responds with `"fooBar": true` but we've defined a `foo_bar: bool` property,
the output will use the `"fooBar"` key (unless `use_api_names=False` is passed).
Args:
mode:
If mode is 'json', the dictionary will only contain JSON serializable types. e.g. `datetime` will be turned into a string, `"2024-3-22T18:11:19.117000Z"`.
If mode is 'python', the dictionary may contain any Python objects. e.g. `datetime(2024, 3, 22)`
use_api_names: Whether to use the key that the API responded with or the property name. Defaults to `True`.
exclude_unset: Whether to exclude fields that have not been explicitly set.
exclude_defaults: Whether to exclude fields that are set to their default value from the output.
exclude_none: Whether to exclude fields that have a value of `None` from the output.
warnings: Whether to log warnings when invalid fields are encountered. This is only supported in Pydantic v2.
"""
return self.model_dump(
mode=mode,
by_alias=use_api_names,
exclude_unset=exclude_unset,
exclude_defaults=exclude_defaults,
exclude_none=exclude_none,
warnings=warnings,
)
def to_json(
self,
*,
indent: int | None = 2,
use_api_names: bool = True,
exclude_unset: bool = True,
exclude_defaults: bool = False,
exclude_none: bool = False,
warnings: bool = True,
) -> str:
"""Generates a JSON string representing this model as it would be received from or sent to the API (but with indentation).
By default, fields that were not set by the API will not be included,
and keys will match the API response, *not* the property names from the model.
For example, if the API responds with `"fooBar": true` but we've defined a `foo_bar: bool` property,
the output will use the `"fooBar"` key (unless `use_api_names=False` is passed).
Args:
indent: Indentation to use in the JSON output. If `None` is passed, the output will be compact. Defaults to `2`
use_api_names: Whether to use the key that the API responded with or the property name. Defaults to `True`.
exclude_unset: Whether to exclude fields that have not been explicitly set.
exclude_defaults: Whether to exclude fields that have the default value.
exclude_none: Whether to exclude fields that have a value of `None`.
warnings: Whether to show any warnings that occurred during serialization. This is only supported in Pydantic v2.
"""
return self.model_dump_json(
indent=indent,
by_alias=use_api_names,
exclude_unset=exclude_unset,
exclude_defaults=exclude_defaults,
exclude_none=exclude_none,
warnings=warnings,
)
@override
def __str__(self) -> str:
# mypy complains about an invalid self arg
return f'{self.__repr_name__()}({self.__repr_str__(", ")})' # type: ignore[misc]
return f"{self.__repr_name__()}({self.__repr_str__(', ')})" # type: ignore[misc]
# Override the 'construct' method in a way that supports recursive parsing without validation.
# Based on https://github.com/samuelcolvin/pydantic/issues/1168#issuecomment-817742836.
@classmethod
@override
def construct(
cls: Type[ModelT],
def construct( # pyright: ignore[reportIncompatibleMethodOverride]
__cls: Type[ModelT],
_fields_set: set[str] | None = None,
**values: object,
) -> ModelT:
m = cls.__new__(cls)
m = __cls.__new__(__cls)
fields_values: dict[str, object] = {}
config = get_model_config(cls)
config = get_model_config(__cls)
populate_by_name = (
config.allow_population_by_field_name
if isinstance(config, _ConfigProtocol)
@ -113,7 +196,7 @@ class BaseModel(pydantic.BaseModel):
if _fields_set is None:
_fields_set = set()
model_fields = get_model_fields(cls)
model_fields = get_model_fields(__cls)
for name, field in model_fields.items():
key = field.alias
if key is None or (key not in values and populate_by_name):
@ -167,14 +250,16 @@ class BaseModel(pydantic.BaseModel):
self,
*,
mode: Literal["json", "python"] | str = "python",
include: IncEx = None,
exclude: IncEx = None,
include: IncEx | None = None,
exclude: IncEx | None = None,
by_alias: bool = False,
exclude_unset: bool = False,
exclude_defaults: bool = False,
exclude_none: bool = False,
round_trip: bool = False,
warnings: bool = True,
warnings: bool | Literal["none", "warn", "error"] = True,
context: dict[str, Any] | None = None,
serialize_as_any: bool = False,
) -> dict[str, Any]:
"""Usage docs: https://docs.pydantic.dev/2.4/concepts/serialization/#modelmodel_dump
@ -196,13 +281,17 @@ class BaseModel(pydantic.BaseModel):
Returns:
A dictionary representation of the model.
"""
if mode != "python":
raise ValueError("mode is only supported in Pydantic v2")
if mode not in {"json", "python"}:
raise ValueError("mode must be either 'json' or 'python'")
if round_trip != False:
raise ValueError("round_trip is only supported in Pydantic v2")
if warnings != True:
raise ValueError("warnings is only supported in Pydantic v2")
return super().dict( # pyright: ignore[reportDeprecated]
if context is not None:
raise ValueError("context is only supported in Pydantic v2")
if serialize_as_any != False:
raise ValueError("serialize_as_any is only supported in Pydantic v2")
dumped = super().dict( # pyright: ignore[reportDeprecated]
include=include,
exclude=exclude,
by_alias=by_alias,
@ -211,19 +300,23 @@ class BaseModel(pydantic.BaseModel):
exclude_none=exclude_none,
)
return cast(dict[str, Any], json_safe(dumped)) if mode == "json" else dumped
@override
def model_dump_json(
self,
*,
indent: int | None = None,
include: IncEx = None,
exclude: IncEx = None,
include: IncEx | None = None,
exclude: IncEx | None = None,
by_alias: bool = False,
exclude_unset: bool = False,
exclude_defaults: bool = False,
exclude_none: bool = False,
round_trip: bool = False,
warnings: bool = True,
warnings: bool | Literal["none", "warn", "error"] = True,
context: dict[str, Any] | None = None,
serialize_as_any: bool = False,
) -> str:
"""Usage docs: https://docs.pydantic.dev/2.4/concepts/serialization/#modelmodel_dump_json
@ -247,6 +340,10 @@ class BaseModel(pydantic.BaseModel):
raise ValueError("round_trip is only supported in Pydantic v2")
if warnings != True:
raise ValueError("warnings is only supported in Pydantic v2")
if context is not None:
raise ValueError("context is only supported in Pydantic v2")
if serialize_as_any != False:
raise ValueError("serialize_as_any is only supported in Pydantic v2")
return super().json( # type: ignore[reportDeprecated]
indent=indent,
include=include,
@ -287,21 +384,63 @@ def is_basemodel(type_: type) -> bool:
def is_basemodel_type(type_: type) -> TypeGuard[type[BaseModel] | type[GenericModel]]:
origin = get_origin(type_) or type_
if not inspect.isclass(origin):
return False
return issubclass(origin, BaseModel) or issubclass(origin, GenericModel)
def build(
base_model_cls: Callable[P, _BaseModelT],
*args: P.args,
**kwargs: P.kwargs,
) -> _BaseModelT:
"""Construct a BaseModel class without validation.
This is useful for cases where you need to instantiate a `BaseModel`
from an API response as this provides type-safe params which isn't supported
by helpers like `construct_type()`.
```py
build(MyModel, my_field_a="foo", my_field_b=123)
```
"""
if args:
raise TypeError(
"Received positional arguments which are not supported; Keyword arguments must be used instead",
)
return cast(_BaseModelT, construct_type(type_=base_model_cls, value=kwargs))
def construct_type_unchecked(*, value: object, type_: type[_T]) -> _T:
"""Loose coercion to the expected type with construction of nested values.
Note: the returned value from this function is not guaranteed to match the
given type.
"""
return cast(_T, construct_type(value=value, type_=type_))
def construct_type(*, value: object, type_: object) -> object:
"""Loose coercion to the expected type with construction of nested values.
If the given value does not match the expected type then it is returned as-is.
"""
# store a reference to the original type we were given before we extract any inner
# types so that we can properly resolve forward references in `TypeAliasType` annotations
original_type = None
# we allow `object` as the input type because otherwise, passing things like
# `Literal['value']` will be reported as a type error by type checkers
type_ = cast("type[object]", type_)
if is_type_alias_type(type_):
original_type = type_ # type: ignore[unreachable]
type_ = type_.__value__ # type: ignore[unreachable]
# unwrap `Annotated[T, ...]` -> `T`
if is_annotated_type(type_):
meta = get_args(type_)[1:]
meta: tuple[Any, ...] = get_args(type_)[1:]
type_ = extract_type_arg(type_, 0)
else:
meta = tuple()
@ -313,7 +452,7 @@ def construct_type(*, value: object, type_: object) -> object:
if is_union(origin):
try:
return validate_type(type_=cast("type[object]", type_), value=value)
return validate_type(type_=cast("type[object]", original_type or type_), value=value)
except Exception:
pass
@ -355,7 +494,11 @@ def construct_type(*, value: object, type_: object) -> object:
_, items_type = get_args(type_) # Dict[_, items_type]
return {key: construct_type(value=item, type_=items_type) for key, item in value.items()}
if not is_literal_type(type_) and (issubclass(origin, BaseModel) or issubclass(origin, GenericModel)):
if (
not is_literal_type(type_)
and inspect.isclass(origin)
and (issubclass(origin, BaseModel) or issubclass(origin, GenericModel))
):
if is_list(value):
return [cast(Any, type_).construct(**entry) if is_mapping(entry) else entry for entry in value]
@ -473,7 +616,7 @@ def _build_discriminated_union_meta(*, union: type, meta_annotations: tuple[Any,
field_schema = field["schema"]
if field_schema["type"] == "literal":
for entry in field_schema["expected"]:
for entry in cast("LiteralSchema", field_schema)["expected"]:
if isinstance(entry, str):
mapping[entry] = variant
else:
@ -484,8 +627,8 @@ def _build_discriminated_union_meta(*, union: type, meta_annotations: tuple[Any,
# Note: if one variant defines an alias then they all should
discriminator_alias = field_info.alias
if field_info.annotation and is_literal_type(field_info.annotation):
for entry in get_args(field_info.annotation):
if (annotation := getattr(field_info, "annotation", None)) and is_literal_type(annotation):
for entry in get_args(annotation):
if isinstance(entry, str):
mapping[entry] = variant
@ -503,15 +646,18 @@ def _build_discriminated_union_meta(*, union: type, meta_annotations: tuple[Any,
def _extract_field_schema_pv2(model: type[BaseModel], field_name: str) -> ModelField | None:
schema = model.__pydantic_core_schema__
if schema["type"] == "definitions":
schema = schema["schema"]
if schema["type"] != "model":
return None
schema = cast("ModelSchema", schema)
fields_schema = schema["schema"]
if fields_schema["type"] != "model-fields":
return None
fields_schema = cast("ModelFieldsSchema", fields_schema)
field = fields_schema["fields"].get(field_name)
if not field:
return None
@ -527,7 +673,15 @@ def validate_type(*, type_: type[_T], value: object) -> _T:
return cast(_T, _validate_non_model_type(type_=type_, value=value))
# our use of subclasssing here causes weirdness for type checkers,
def set_pydantic_config(typ: Any, config: pydantic.ConfigDict) -> None:
"""Add a pydantic config for the given type.
Note: this is a no-op on Pydantic v1.
"""
setattr(typ, "__pydantic_config__", config) # noqa: B010
# our use of subclassing here causes weirdness for type checkers,
# so we just pretend that we don't subclass
if TYPE_CHECKING:
GenericModel = BaseModel
@ -538,12 +692,14 @@ else:
if PYDANTIC_V2:
from pydantic import TypeAdapter as _TypeAdapter
_CachedTypeAdapter = cast("TypeAdapter[object]", lru_cache(maxsize=None)(_TypeAdapter))
if TYPE_CHECKING:
from pydantic import TypeAdapter
else:
from pydantic import TypeAdapter as _TypeAdapter
TypeAdapter = lru_cache(_TypeAdapter)
TypeAdapter = _CachedTypeAdapter
def _validate_non_model_type(*, type_: type[_T], value: object) -> _T:
return TypeAdapter(type_).validate_python(value)
@ -582,6 +738,8 @@ class FinalRequestOptionsInput(TypedDict, total=False):
idempotency_key: str
json_data: Body
extra_json: AnyMapping
multipart_syntax: MultipartSyntax
follow_redirects: bool
@final
@ -594,7 +752,9 @@ class FinalRequestOptions(pydantic.BaseModel):
timeout: Union[float, Timeout, None, NotGiven] = NotGiven()
files: Union[HttpxRequestFiles, None] = None
idempotency_key: Union[str, None] = None
multipart_syntax: Union[MultipartSyntax, None] = None
post_parser: Union[Callable[[Any], Any], NotGiven] = NotGiven()
follow_redirects: Union[bool, None] = None
# It should be noted that we cannot use `json` here as that would override
# a BaseModel method in an incompatible fashion.

View file

@ -25,7 +25,7 @@ import httpx
import pydantic
from ._types import NoneType
from ._utils import is_given, extract_type_arg, is_annotated_type, extract_type_var_from_base
from ._utils import is_given, extract_type_arg, is_annotated_type, is_type_alias_type, extract_type_var_from_base
from ._models import BaseModel, is_basemodel
from ._constants import RAW_RESPONSE_HEADER, OVERRIDE_CAST_TO_HEADER
from ._streaming import Stream, AsyncStream, is_stream_class_type, extract_stream_chunk_type
@ -55,6 +55,9 @@ class BaseAPIResponse(Generic[R]):
http_response: httpx.Response
retries_taken: int
"""The number of retries made. If no retries happened this will be `0`"""
def __init__(
self,
*,
@ -64,6 +67,7 @@ class BaseAPIResponse(Generic[R]):
stream: bool,
stream_cls: type[Stream[Any]] | type[AsyncStream[Any]] | None,
options: FinalRequestOptions,
retries_taken: int = 0,
) -> None:
self._cast_to = cast_to
self._client = client
@ -72,6 +76,7 @@ class BaseAPIResponse(Generic[R]):
self._stream_cls = stream_cls
self._options = options
self.http_response = raw
self.retries_taken = retries_taken
@property
def headers(self) -> httpx.Headers:
@ -121,9 +126,17 @@ class BaseAPIResponse(Generic[R]):
)
def _parse(self, *, to: type[_T] | None = None) -> R | _T:
cast_to = to if to is not None else self._cast_to
# unwrap `TypeAlias('Name', T)` -> `T`
if is_type_alias_type(cast_to):
cast_to = cast_to.__value__ # type: ignore[unreachable]
# unwrap `Annotated[T, ...]` -> `T`
if to and is_annotated_type(to):
to = extract_type_arg(to, 0)
if cast_to and is_annotated_type(cast_to):
cast_to = extract_type_arg(cast_to, 0)
origin = get_origin(cast_to) or cast_to
if self._is_sse_stream:
if to:
@ -159,18 +172,12 @@ class BaseAPIResponse(Generic[R]):
return cast(
R,
stream_cls(
cast_to=self._cast_to,
cast_to=cast_to,
response=self.http_response,
client=cast(Any, self._client),
),
)
cast_to = to if to is not None else self._cast_to
# unwrap `Annotated[T, ...]` -> `T`
if is_annotated_type(cast_to):
cast_to = extract_type_arg(cast_to, 0)
if cast_to is NoneType:
return cast(R, None)
@ -187,7 +194,8 @@ class BaseAPIResponse(Generic[R]):
if cast_to == float:
return cast(R, float(response.text))
origin = get_origin(cast_to) or cast_to
if cast_to == bool:
return cast(R, response.text.lower() == "true")
if origin == APIResponse:
raise RuntimeError("Unexpected state - cast_to is `APIResponse`")
@ -202,7 +210,13 @@ class BaseAPIResponse(Generic[R]):
raise ValueError(f"Subclasses of httpx.Response cannot be passed to `cast_to`")
return cast(R, response)
if inspect.isclass(origin) and not issubclass(origin, BaseModel) and issubclass(origin, pydantic.BaseModel):
if (
inspect.isclass(
origin # pyright: ignore[reportUnknownArgumentType]
)
and not issubclass(origin, BaseModel)
and issubclass(origin, pydantic.BaseModel)
):
raise TypeError(
"Pydantic models must subclass our base model type, e.g. `from cloudflare import BaseModel`"
)
@ -221,7 +235,7 @@ class BaseAPIResponse(Generic[R]):
# split is required to handle cases where additional information is included
# in the response, e.g. application/json; charset=utf-8
content_type, *_ = response.headers.get("content-type", "*").split(";")
if content_type != "application/json":
if not content_type.endswith("json"):
if is_basemodel(cast_to):
try:
data = response.json()
@ -257,12 +271,10 @@ class BaseAPIResponse(Generic[R]):
class APIResponse(BaseAPIResponse[R]):
@overload
def parse(self, *, to: type[_T]) -> _T:
...
def parse(self, *, to: type[_T]) -> _T: ...
@overload
def parse(self) -> R:
...
def parse(self) -> R: ...
def parse(self, *, to: type[_T] | None = None) -> R | _T:
"""Returns the rich python representation of this response's data.
@ -361,12 +373,10 @@ class APIResponse(BaseAPIResponse[R]):
class AsyncAPIResponse(BaseAPIResponse[R]):
@overload
async def parse(self, *, to: type[_T]) -> _T:
...
async def parse(self, *, to: type[_T]) -> _T: ...
@overload
async def parse(self) -> R:
...
async def parse(self) -> R: ...
async def parse(self, *, to: type[_T] | None = None) -> R | _T:
"""Returns the rich python representation of this response's data.

View file

@ -23,7 +23,7 @@ class Stream(Generic[_T]):
response: httpx.Response
_decoder: SSEDecoder | SSEBytesDecoder
_decoder: SSEBytesDecoder
def __init__(
self,
@ -46,10 +46,7 @@ class Stream(Generic[_T]):
yield item
def _iter_events(self) -> Iterator[ServerSentEvent]:
if isinstance(self._decoder, SSEBytesDecoder):
yield from self._decoder.iter_bytes(self.response.iter_bytes())
else:
yield from self._decoder.iter(self.response.iter_lines())
yield from self._decoder.iter_bytes(self.response.iter_bytes())
def __stream__(self) -> Iterator[_T]:
cast_to = cast(Any, self._cast_to)
@ -112,12 +109,8 @@ class AsyncStream(Generic[_T]):
yield item
async def _iter_events(self) -> AsyncIterator[ServerSentEvent]:
if isinstance(self._decoder, SSEBytesDecoder):
async for sse in self._decoder.aiter_bytes(self.response.aiter_bytes()):
yield sse
else:
async for sse in self._decoder.aiter(self.response.aiter_lines()):
yield sse
async for sse in self._decoder.aiter_bytes(self.response.aiter_bytes()):
yield sse
async def __stream__(self) -> AsyncIterator[_T]:
cast_to = cast(Any, self._cast_to)
@ -205,21 +198,49 @@ class SSEDecoder:
self._last_event_id = None
self._retry = None
def iter(self, iterator: Iterator[str]) -> Iterator[ServerSentEvent]:
"""Given an iterator that yields lines, iterate over it & yield every event encountered"""
for line in iterator:
line = line.rstrip("\n")
sse = self.decode(line)
if sse is not None:
yield sse
def iter_bytes(self, iterator: Iterator[bytes]) -> Iterator[ServerSentEvent]:
"""Given an iterator that yields raw binary data, iterate over it & yield every event encountered"""
for chunk in self._iter_chunks(iterator):
# Split before decoding so splitlines() only uses \r and \n
for raw_line in chunk.splitlines():
line = raw_line.decode("utf-8")
sse = self.decode(line)
if sse:
yield sse
async def aiter(self, iterator: AsyncIterator[str]) -> AsyncIterator[ServerSentEvent]:
"""Given an async iterator that yields lines, iterate over it & yield every event encountered"""
async for line in iterator:
line = line.rstrip("\n")
sse = self.decode(line)
if sse is not None:
yield sse
def _iter_chunks(self, iterator: Iterator[bytes]) -> Iterator[bytes]:
"""Given an iterator that yields raw binary data, iterate over it and yield individual SSE chunks"""
data = b""
for chunk in iterator:
for line in chunk.splitlines(keepends=True):
data += line
if data.endswith((b"\r\r", b"\n\n", b"\r\n\r\n")):
yield data
data = b""
if data:
yield data
async def aiter_bytes(self, iterator: AsyncIterator[bytes]) -> AsyncIterator[ServerSentEvent]:
"""Given an iterator that yields raw binary data, iterate over it & yield every event encountered"""
async for chunk in self._aiter_chunks(iterator):
# Split before decoding so splitlines() only uses \r and \n
for raw_line in chunk.splitlines():
line = raw_line.decode("utf-8")
sse = self.decode(line)
if sse:
yield sse
async def _aiter_chunks(self, iterator: AsyncIterator[bytes]) -> AsyncIterator[bytes]:
"""Given an iterator that yields raw binary data, iterate over it and yield individual SSE chunks"""
data = b""
async for chunk in iterator:
for line in chunk.splitlines(keepends=True):
data += line
if data.endswith((b"\r\r", b"\n\n", b"\r\n\r\n")):
yield data
data = b""
if data:
yield data
def decode(self, line: str) -> ServerSentEvent | None:
# See: https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation # noqa: E501

View file

@ -16,7 +16,7 @@ from typing import (
Optional,
Sequence,
)
from typing_extensions import Literal, Protocol, TypeAlias, TypedDict, override, runtime_checkable
from typing_extensions import Set, Literal, Protocol, TypeAlias, TypedDict, override, runtime_checkable
import httpx
import pydantic
@ -71,6 +71,8 @@ HttpxFileTypes = Union[
]
HttpxRequestFiles = Union[Mapping[str, HttpxFileTypes], Sequence[Tuple[str, HttpxFileTypes]]]
MultipartSyntax = Literal["query", "json"]
# Workaround to support (cast_to: Type[ResponseT]) -> ResponseT
# where ResponseT includes `None`. In order to support directly
# passing `None`, overloads would have to be defined for every
@ -100,6 +102,8 @@ class RequestOptions(TypedDict, total=False):
params: Query
extra_json: AnyMapping
idempotency_key: str
multipart_syntax: MultipartSyntax
follow_redirects: bool
# Sentinel class used until PEP 0661 is accepted
@ -111,8 +115,7 @@ class NotGiven:
For example:
```py
def get(timeout: Union[int, NotGiven, None] = NotGiven()) -> Response:
...
def get(timeout: Union[int, NotGiven, None] = NotGiven()) -> Response: ...
get(timeout=1) # 1s timeout
@ -162,16 +165,14 @@ class ModelBuilderProtocol(Protocol):
*,
response: Response,
data: object,
) -> _T:
...
) -> _T: ...
Headers = Mapping[str, Union[str, Omit]]
class HeadersLikeProtocol(Protocol):
def get(self, __key: str) -> str | None:
...
def get(self, __key: str) -> str | None: ...
HeadersLike = Union[Headers, HeadersLikeProtocol]
@ -195,8 +196,8 @@ ResponseT = TypeVar(
StrBytesIntFloat = Union[str, bytes, int, float]
# Note: copied from Pydantic
# https://github.com/pydantic/pydantic/blob/32ea570bf96e84234d2992e1ddf40ab8a565925a/pydantic/main.py#L49
IncEx: TypeAlias = "set[int] | set[str] | dict[int, Any] | dict[str, Any] | None"
# https://github.com/pydantic/pydantic/blob/6f31f8f68ef011f84357330186f603ff295312fd/pydantic/main.py#L79
IncEx: TypeAlias = Union[Set[int], Set[str], Mapping[int, Union["IncEx", bool]], Mapping[str, Union["IncEx", bool]]]
PostParser = Callable[[Any], Any]
@ -218,3 +219,4 @@ class _GenericAlias(Protocol):
class HttpxSendArgs(TypedDict, total=False):
auth: httpx.Auth
follow_redirects: bool

View file

@ -6,6 +6,8 @@ from ._utils import (
is_list as is_list,
is_given as is_given,
is_tuple as is_tuple,
json_safe as json_safe,
lru_cache as lru_cache,
is_mapping as is_mapping,
is_tuple_t as is_tuple_t,
parse_date as parse_date,
@ -37,6 +39,7 @@ from ._typing import (
is_iterable_type as is_iterable_type,
is_required_type as is_required_type,
is_annotated_type as is_annotated_type,
is_type_alias_type as is_type_alias_type,
strip_annotated_type as strip_annotated_type,
extract_type_var_from_base as extract_type_var_from_base,
)
@ -48,3 +51,7 @@ from ._transform import (
maybe_transform as maybe_transform,
async_maybe_transform as async_maybe_transform,
)
from ._reflection import (
function_has_argument as function_has_argument,
assert_signatures_in_sync as assert_signatures_in_sync,
)

View file

@ -10,7 +10,7 @@ T = TypeVar("T")
class LazyProxy(Generic[T], ABC):
"""Implements data methods to pretend that an instance is another instance.
This includes forwarding attribute access and othe methods.
This includes forwarding attribute access and other methods.
"""
# Note: we have to special case proxies that themselves return proxies
@ -46,7 +46,10 @@ class LazyProxy(Generic[T], ABC):
@property # type: ignore
@override
def __class__(self) -> type: # pyright: ignore
proxied = self.__get_proxied__()
try:
proxied = self.__get_proxied__()
except Exception:
return type(self)
if issubclass(type(proxied), LazyProxy):
return type(proxied)
return proxied.__class__
@ -59,5 +62,4 @@ class LazyProxy(Generic[T], ABC):
return cast(T, self)
@abstractmethod
def __load__(self) -> T:
...
def __load__(self) -> T: ...

View file

@ -0,0 +1,42 @@
from __future__ import annotations
import inspect
from typing import Any, Callable
def function_has_argument(func: Callable[..., Any], arg_name: str) -> bool:
"""Returns whether or not the given function has a specific parameter"""
sig = inspect.signature(func)
return arg_name in sig.parameters
def assert_signatures_in_sync(
source_func: Callable[..., Any],
check_func: Callable[..., Any],
*,
exclude_params: set[str] = set(),
) -> None:
"""Ensure that the signature of the second function matches the first."""
check_sig = inspect.signature(check_func)
source_sig = inspect.signature(source_func)
errors: list[str] = []
for name, source_param in source_sig.parameters.items():
if name in exclude_params:
continue
custom_param = check_sig.parameters.get(name)
if not custom_param:
errors.append(f"the `{name}` param is missing")
continue
if custom_param.annotation != source_param.annotation:
errors.append(
f"types for the `{name}` param are do not match; source={repr(source_param.annotation)} checking={repr(custom_param.annotation)}"
)
continue
if errors:
raise AssertionError(f"{len(errors)} errors encountered when comparing signatures:\n\n" + "\n\n".join(errors))

View file

@ -0,0 +1,24 @@
from __future__ import annotations
from typing import Any
from typing_extensions import override
from ._proxy import LazyProxy
class ResourcesProxy(LazyProxy[Any]):
"""A proxy for the `cloudflare.resources` module.
This is used so that we can lazily import `cloudflare.resources` only when
needed *and* so that users can just import `cloudflare` and reference `cloudflare.resources`
"""
@override
def __load__(self) -> Any:
import importlib
mod = importlib.import_module("cloudflare.resources")
return mod
resources = ResourcesProxy().__as_proxied__()

View file

@ -1,54 +1,77 @@
from __future__ import annotations
import sys
import asyncio
import functools
from typing import TypeVar, Callable, Awaitable
import contextvars
from typing import Any, TypeVar, Callable, Awaitable
from typing_extensions import ParamSpec
import anyio
import sniffio
import anyio.to_thread
T_Retval = TypeVar("T_Retval")
T_ParamSpec = ParamSpec("T_ParamSpec")
# copied from `asyncer`, https://github.com/tiangolo/asyncer
def asyncify(
function: Callable[T_ParamSpec, T_Retval],
*,
cancellable: bool = False,
limiter: anyio.CapacityLimiter | None = None,
) -> Callable[T_ParamSpec, Awaitable[T_Retval]]:
if sys.version_info >= (3, 9):
_asyncio_to_thread = asyncio.to_thread
else:
# backport of https://docs.python.org/3/library/asyncio-task.html#asyncio.to_thread
# for Python 3.8 support
async def _asyncio_to_thread(
func: Callable[T_ParamSpec, T_Retval], /, *args: T_ParamSpec.args, **kwargs: T_ParamSpec.kwargs
) -> Any:
"""Asynchronously run function *func* in a separate thread.
Any *args and **kwargs supplied for this function are directly passed
to *func*. Also, the current :class:`contextvars.Context` is propagated,
allowing context variables from the main thread to be accessed in the
separate thread.
Returns a coroutine that can be awaited to get the eventual result of *func*.
"""
loop = asyncio.events.get_running_loop()
ctx = contextvars.copy_context()
func_call = functools.partial(ctx.run, func, *args, **kwargs)
return await loop.run_in_executor(None, func_call)
async def to_thread(
func: Callable[T_ParamSpec, T_Retval], /, *args: T_ParamSpec.args, **kwargs: T_ParamSpec.kwargs
) -> T_Retval:
if sniffio.current_async_library() == "asyncio":
return await _asyncio_to_thread(func, *args, **kwargs)
return await anyio.to_thread.run_sync(
functools.partial(func, *args, **kwargs),
)
# inspired by `asyncer`, https://github.com/tiangolo/asyncer
def asyncify(function: Callable[T_ParamSpec, T_Retval]) -> Callable[T_ParamSpec, Awaitable[T_Retval]]:
"""
Take a blocking function and create an async one that receives the same
positional and keyword arguments, and that when called, calls the original function
in a worker thread using `anyio.to_thread.run_sync()`. Internally,
`asyncer.asyncify()` uses the same `anyio.to_thread.run_sync()`, but it supports
keyword arguments additional to positional arguments and it adds better support for
autocompletion and inline errors for the arguments of the function called and the
return value.
positional and keyword arguments. For python version 3.9 and above, it uses
asyncio.to_thread to run the function in a separate thread. For python version
3.8, it uses locally defined copy of the asyncio.to_thread function which was
introduced in python 3.9.
If the `cancellable` option is enabled and the task waiting for its completion is
cancelled, the thread will still run its course but its return value (or any raised
exception) will be ignored.
Usage:
Use it like this:
```Python
def do_work(arg1, arg2, kwarg1="", kwarg2="") -> str:
# Do work
return "Some result"
```python
def blocking_func(arg1, arg2, kwarg1=None):
# blocking code
return result
result = await to_thread.asyncify(do_work)("spam", "ham", kwarg1="a", kwarg2="b")
print(result)
result = asyncify(blocking_function)(arg1, arg2, kwarg1=value1)
```
## Arguments
`function`: a blocking regular callable (e.g. a function)
`cancellable`: `True` to allow cancellation of the operation
`limiter`: capacity limiter to use to limit the total amount of threads running
(if omitted, the default limiter is used)
## Return
@ -58,7 +81,6 @@ def asyncify(
"""
async def wrapper(*args: T_ParamSpec.args, **kwargs: T_ParamSpec.kwargs) -> T_Retval:
partial_f = functools.partial(function, *args, **kwargs)
return await anyio.to_thread.run_sync(partial_f, cancellable=cancellable, limiter=limiter)
return await to_thread(function, *args, **kwargs)
return wrapper

View file

@ -5,13 +5,15 @@ import base64
import pathlib
from typing import Any, Mapping, TypeVar, cast
from datetime import date, datetime
from typing_extensions import Literal, get_args, override, get_type_hints
from typing_extensions import Literal, get_args, override, get_type_hints as _get_type_hints
import anyio
import pydantic
from ._utils import (
is_list,
is_given,
lru_cache,
is_mapping,
is_iterable,
)
@ -25,7 +27,7 @@ from ._typing import (
is_annotated_type,
strip_annotated_type,
)
from .._compat import model_dump, is_typeddict
from .._compat import get_origin, model_dump, is_typeddict
_T = TypeVar("_T")
@ -108,6 +110,7 @@ def transform(
return cast(_T, transformed)
@lru_cache(maxsize=8096)
def _get_annotated_type(type_: type) -> type | None:
"""If the given type is an `Annotated` type then it is returned, if not `None` is returned.
@ -126,7 +129,7 @@ def _get_annotated_type(type_: type) -> type | None:
def _maybe_transform_key(key: str, type_: type) -> str:
"""Transform the given `data` based on the annotations provided in `type_`.
Note: this function only looks at `Annotated` types that contain `PropertInfo` metadata.
Note: this function only looks at `Annotated` types that contain `PropertyInfo` metadata.
"""
annotated_type = _get_annotated_type(type_)
if annotated_type is None:
@ -142,6 +145,10 @@ def _maybe_transform_key(key: str, type_: type) -> str:
return key
def _no_transform_needed(annotation: type) -> bool:
return annotation == float or annotation == int
def _transform_recursive(
data: object,
*,
@ -164,16 +171,35 @@ def _transform_recursive(
inner_type = annotation
stripped_type = strip_annotated_type(inner_type)
origin = get_origin(stripped_type) or stripped_type
if is_typeddict(stripped_type) and is_mapping(data):
return _transform_typeddict(data, stripped_type)
if origin == dict and is_mapping(data):
items_type = get_args(stripped_type)[1]
return {key: _transform_recursive(value, annotation=items_type) for key, value in data.items()}
if (
# List[T]
(is_list_type(stripped_type) and is_list(data))
# Iterable[T]
or (is_iterable_type(stripped_type) and is_iterable(data) and not isinstance(data, str))
):
# dicts are technically iterable, but it is an iterable on the keys of the dict and is not usually
# intended as an iterable, so we don't transform it.
if isinstance(data, dict):
return cast(object, data)
inner_type = extract_type_arg(stripped_type, 0)
if _no_transform_needed(inner_type):
# for some types there is no need to transform anything, so we can get a small
# perf boost from skipping that work.
#
# but we still need to convert to a list to ensure the data is json-serializable
if is_list(data):
return data
return list(data)
return [_transform_recursive(d, annotation=annotation, inner_type=inner_type) for d in data]
if is_union_type(stripped_type):
@ -186,7 +212,7 @@ def _transform_recursive(
return data
if isinstance(data, pydantic.BaseModel):
return model_dump(data, exclude_unset=True)
return model_dump(data, exclude_unset=True, mode="json")
annotated_type = _get_annotated_type(annotation)
if annotated_type is None:
@ -235,6 +261,11 @@ def _transform_typeddict(
result: dict[str, object] = {}
annotations = get_type_hints(expected_type, include_extras=True)
for key, value in data.items():
if not is_given(value):
# we don't need to include `NotGiven` values here as they'll
# be stripped out before the request is sent anyway
continue
type_ = annotations.get(key)
if type_ is None:
# we do not have a type annotation for this field, leave it as is
@ -302,16 +333,35 @@ async def _async_transform_recursive(
inner_type = annotation
stripped_type = strip_annotated_type(inner_type)
origin = get_origin(stripped_type) or stripped_type
if is_typeddict(stripped_type) and is_mapping(data):
return await _async_transform_typeddict(data, stripped_type)
if origin == dict and is_mapping(data):
items_type = get_args(stripped_type)[1]
return {key: _transform_recursive(value, annotation=items_type) for key, value in data.items()}
if (
# List[T]
(is_list_type(stripped_type) and is_list(data))
# Iterable[T]
or (is_iterable_type(stripped_type) and is_iterable(data) and not isinstance(data, str))
):
# dicts are technically iterable, but it is an iterable on the keys of the dict and is not usually
# intended as an iterable, so we don't transform it.
if isinstance(data, dict):
return cast(object, data)
inner_type = extract_type_arg(stripped_type, 0)
if _no_transform_needed(inner_type):
# for some types there is no need to transform anything, so we can get a small
# perf boost from skipping that work.
#
# but we still need to convert to a list to ensure the data is json-serializable
if is_list(data):
return data
return list(data)
return [await _async_transform_recursive(d, annotation=annotation, inner_type=inner_type) for d in data]
if is_union_type(stripped_type):
@ -324,7 +374,7 @@ async def _async_transform_recursive(
return data
if isinstance(data, pydantic.BaseModel):
return model_dump(data, exclude_unset=True)
return model_dump(data, exclude_unset=True, mode="json")
annotated_type = _get_annotated_type(annotation)
if annotated_type is None:
@ -373,6 +423,11 @@ async def _async_transform_typeddict(
result: dict[str, object] = {}
annotations = get_type_hints(expected_type, include_extras=True)
for key, value in data.items():
if not is_given(value):
# we don't need to include `NotGiven` values here as they'll
# be stripped out before the request is sent anyway
continue
type_ = annotations.get(key)
if type_ is None:
# we do not have a type annotation for this field, leave it as is
@ -380,3 +435,13 @@ async def _async_transform_typeddict(
else:
result[_maybe_transform_key(key, type_)] = await _async_transform_recursive(value, annotation=type_)
return result
@lru_cache(maxsize=8096)
def get_type_hints(
obj: Any,
globalns: dict[str, Any] | None = None,
localns: Mapping[str, Any] | None = None,
include_extras: bool = False,
) -> dict[str, Any]:
return _get_type_hints(obj, globalns=globalns, localns=localns, include_extras=include_extras)

View file

@ -1,9 +1,19 @@
from __future__ import annotations
import sys
import typing
import typing_extensions
from typing import Any, TypeVar, Iterable, cast
from collections import abc as _c_abc
from typing_extensions import Required, Annotated, get_args, get_origin
from typing_extensions import (
TypeIs,
Required,
Annotated,
get_args,
get_origin,
)
from ._utils import lru_cache
from .._types import InheritsGeneric
from .._compat import is_union as _is_union
@ -36,7 +46,28 @@ def is_typevar(typ: type) -> bool:
return type(typ) == TypeVar # type: ignore
_TYPE_ALIAS_TYPES: tuple[type[typing_extensions.TypeAliasType], ...] = (typing_extensions.TypeAliasType,)
if sys.version_info >= (3, 12):
_TYPE_ALIAS_TYPES = (*_TYPE_ALIAS_TYPES, typing.TypeAliasType)
def is_type_alias_type(tp: Any, /) -> TypeIs[typing_extensions.TypeAliasType]:
"""Return whether the provided argument is an instance of `TypeAliasType`.
```python
type Int = int
is_type_alias_type(Int)
# > True
Str = TypeAliasType("Str", str)
is_type_alias_type(Str)
# > True
```
"""
return isinstance(tp, _TYPE_ALIAS_TYPES)
# Extracts T from Annotated[T, ...] or from Required[Annotated[T, ...]]
@lru_cache(maxsize=8096)
def strip_annotated_type(typ: type) -> type:
if is_required_type(typ) or is_annotated_type(typ):
return strip_annotated_type(cast(type, get_args(typ)[0]))
@ -79,7 +110,7 @@ def extract_type_var_from_base(
```
"""
cls = cast(object, get_origin(typ) or typ)
if cls in generic_bases:
if cls in generic_bases: # pyright: ignore[reportUnnecessaryContains]
# we're given the class directly
return extract_type_arg(typ, index)

View file

@ -16,11 +16,12 @@ from typing import (
overload,
)
from pathlib import Path
from datetime import date, datetime
from typing_extensions import TypeGuard
import sniffio
from .._types import Headers, NotGiven, FileTypes, NotGivenOr, HeadersLike
from .._types import NotGiven, FileTypes, NotGivenOr, HeadersLike
from .._compat import parse_date as parse_date, parse_datetime as parse_datetime
_T = TypeVar("_T")
@ -71,8 +72,16 @@ def _extract_items(
from .._files import assert_is_file_content
# We have exhausted the path, return the entry we found.
assert_is_file_content(obj, key=flattened_key)
assert flattened_key is not None
if is_list(obj):
files: list[tuple[str, FileTypes]] = []
for entry in obj:
assert_is_file_content(entry, key=flattened_key + "[]" if flattened_key else "")
files.append((flattened_key + "[]", cast(FileTypes, entry)))
return files
assert_is_file_content(obj, key=flattened_key)
return [(flattened_key, cast(FileTypes, obj))]
index += 1
@ -211,20 +220,17 @@ def required_args(*variants: Sequence[str]) -> Callable[[CallableT], CallableT]:
Example usage:
```py
@overload
def foo(*, a: str) -> str:
...
def foo(*, a: str) -> str: ...
@overload
def foo(*, b: bool) -> str:
...
def foo(*, b: bool) -> str: ...
# This enforces the same constraints that a static type checker would
# i.e. that either a or b must be passed to the function
@required_args(["a"], ["b"])
def foo(*, a: str | None = None, b: bool | None = None) -> str:
...
def foo(*, a: str | None = None, b: bool | None = None) -> str: ...
```
"""
@ -265,6 +271,8 @@ def required_args(*variants: Sequence[str]) -> Callable[[CallableT], CallableT]:
)
msg = f"Missing required arguments; Expected either {variations} arguments to be given"
else:
assert len(variants) > 0
# TODO: this error message is not deterministic
missing = list(set(variants[0]) - given_params)
if len(missing) > 1:
@ -284,18 +292,15 @@ _V = TypeVar("_V")
@overload
def strip_not_given(obj: None) -> None:
...
def strip_not_given(obj: None) -> None: ...
@overload
def strip_not_given(obj: Mapping[_K, _V | NotGiven]) -> dict[_K, _V]:
...
def strip_not_given(obj: Mapping[_K, _V | NotGiven]) -> dict[_K, _V]: ...
@overload
def strip_not_given(obj: object) -> object:
...
def strip_not_given(obj: object) -> object: ...
def strip_not_given(obj: object | None) -> object:
@ -367,13 +372,13 @@ def file_from_path(path: str) -> FileTypes:
def get_required_header(headers: HeadersLike, header: str) -> str:
lower_header = header.lower()
if isinstance(headers, Mapping):
headers = cast(Headers, headers)
for k, v in headers.items():
if is_mapping_t(headers):
# mypy doesn't understand the type narrowing here
for k, v in headers.items(): # type: ignore
if k.lower() == lower_header and isinstance(v, str):
return v
""" to deal with the case where the header looks like Stainless-Event-Id """
# to deal with the case where the header looks like Stainless-Event-Id
intercaps_header = re.sub(r"([^\w])(\w)", lambda pat: pat.group(1) + pat.group(2).upper(), header.capitalize())
for normalized_header in [header, lower_header, header.upper(), intercaps_header]:
@ -389,3 +394,29 @@ def get_async_library() -> str:
return sniffio.current_async_library()
except Exception:
return "false"
def lru_cache(*, maxsize: int | None = 128) -> Callable[[CallableT], CallableT]:
"""A version of functools.lru_cache that retains the type signature
for the wrapped function arguments.
"""
wrapper = functools.lru_cache( # noqa: TID251
maxsize=maxsize,
)
return cast(Any, wrapper) # type: ignore[no-any-return]
def json_safe(data: object) -> object:
"""Translates a mapping / sequence recursively in the same fashion
as `pydantic` v2's `model_dump(mode="json")`.
"""
if is_mapping(data):
return {json_safe(key): json_safe(value) for key, value in data.items()}
if is_iterable(data) and not isinstance(data, (str, bytes, bytearray)):
return [json_safe(item) for item in data]
if isinstance(data, (datetime, date)):
return data.isoformat()
return data

View file

@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
__title__ = "cloudflare"
__version__ = "3.0.0-beta.4" # x-release-please-version
__version__ = "4.3.1" # x-release-please-version

View file

@ -1,11 +1,8 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from typing import Any, List, Type, Generic, Mapping, TypeVar, Optional, cast
from typing import List, Generic, TypeVar, Optional, cast
from typing_extensions import override
from httpx import Response
from ._utils import is_mapping
from ._models import BaseModel, GenericModel
from ._base_client import BasePage, PageInfo, BaseSyncPage, BaseAsyncPage
@ -27,8 +24,6 @@ __all__ = [
"AsyncSinglePage",
]
_BaseModelT = TypeVar("_BaseModelT", bound=BaseModel)
_T = TypeVar("_T")
@ -50,23 +45,17 @@ class SyncV4PagePagination(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
def _get_page_items(self) -> List[_T]:
items = None
if self.result is not None:
items = self.result.items
if self.result.items is not None:
items = self.result.items
if not items:
return []
return items
@override
def next_page_info(self) -> Optional[PageInfo]:
current_page = cast("int | None", self._options.params.get("page"))
if current_page is None:
current_page = 1
last_page = cast("int | None", self._options.params.get("page")) or 1
last_page = cast("int | None", self._options.params.get("page"))
if last_page is not None and current_page <= last_page:
# The API didn't return a new page in the last request
return None
return PageInfo(params={"page": current_page + 1})
return PageInfo(params={"page": last_page + 1})
class AsyncV4PagePagination(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
@ -77,23 +66,17 @@ class AsyncV4PagePagination(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
def _get_page_items(self) -> List[_T]:
items = None
if self.result is not None:
items = self.result.items
if self.result.items is not None:
items = self.result.items
if not items:
return []
return items
@override
def next_page_info(self) -> Optional[PageInfo]:
current_page = cast("int | None", self._options.params.get("page"))
if current_page is None:
current_page = 1
last_page = cast("int | None", self._options.params.get("page")) or 1
last_page = cast("int | None", self._options.params.get("page"))
if last_page is not None and current_page <= last_page:
# The API didn't return a new page in the last request
return None
return PageInfo(params={"page": current_page + 1})
return PageInfo(params={"page": last_page + 1})
class V4PagePaginationArrayResultInfo(BaseModel):
@ -115,16 +98,9 @@ class SyncV4PagePaginationArray(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
@override
def next_page_info(self) -> Optional[PageInfo]:
current_page = cast("int | None", self._options.params.get("page"))
if current_page is None:
current_page = 1
last_page = cast("int | None", self._options.params.get("page")) or 1
last_page = cast("int | None", self._options.params.get("page"))
if last_page is not None and current_page <= last_page:
# The API didn't return a new page in the last request
return None
return PageInfo(params={"page": current_page + 1})
return PageInfo(params={"page": last_page + 1})
class AsyncV4PagePaginationArray(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
@ -140,16 +116,9 @@ class AsyncV4PagePaginationArray(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
@override
def next_page_info(self) -> Optional[PageInfo]:
current_page = cast("int | None", self._options.params.get("page"))
if current_page is None:
current_page = 1
last_page = cast("int | None", self._options.params.get("page")) or 1
last_page = cast("int | None", self._options.params.get("page"))
if last_page is not None and current_page <= last_page:
# The API didn't return a new page in the last request
return None
return PageInfo(params={"page": current_page + 1})
return PageInfo(params={"page": last_page + 1})
class CursorPaginationResultInfo(BaseModel):
@ -175,7 +144,8 @@ class SyncCursorPagination(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
def next_page_info(self) -> Optional[PageInfo]:
cursor = None
if self.result_info is not None:
cursor = self.result_info.cursor
if self.result_info.cursor is not None:
cursor = self.result_info.cursor
if not cursor:
return None
@ -197,7 +167,8 @@ class AsyncCursorPagination(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
def next_page_info(self) -> Optional[PageInfo]:
cursor = None
if self.result_info is not None:
cursor = self.result_info.cursor
if self.result_info.cursor is not None:
cursor = self.result_info.cursor
if not cursor:
return None
@ -227,7 +198,8 @@ class SyncCursorLimitPagination(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
def next_page_info(self) -> Optional[PageInfo]:
cursor = None
if self.result_info is not None:
cursor = self.result_info.cursor
if self.result_info.cursor is not None:
cursor = self.result_info.cursor
if not cursor:
return None
@ -249,7 +221,8 @@ class AsyncCursorLimitPagination(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
def next_page_info(self) -> Optional[PageInfo]:
cursor = None
if self.result_info is not None:
cursor = self.result_info.cursor
if self.result_info.cursor is not None:
cursor = self.result_info.cursor
if not cursor:
return None
@ -257,14 +230,14 @@ class AsyncCursorLimitPagination(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
class SyncSinglePage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
items: List[_T]
result: List[_T]
@override
def _get_page_items(self) -> List[_T]:
items = self.items
if not items:
result = self.result
if not result:
return []
return items
return result
@override
def next_page_info(self) -> None:
@ -274,25 +247,16 @@ class SyncSinglePage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
"""
return None
@classmethod
def build(cls: Type[_BaseModelT], *, response: Response, data: object) -> _BaseModelT: # noqa: ARG003
return cls.construct(
None,
**{
**(cast(Mapping[str, Any], data) if is_mapping(data) else {"items": data}),
},
)
class AsyncSinglePage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
items: List[_T]
result: List[_T]
@override
def _get_page_items(self) -> List[_T]:
items = self.items
if not items:
result = self.result
if not result:
return []
return items
return result
@override
def next_page_info(self) -> None:
@ -301,12 +265,3 @@ class AsyncSinglePage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
so there will never be a next page.
"""
return None
@classmethod
def build(cls: Type[_BaseModelT], *, response: Response, data: object) -> _BaseModelT: # noqa: ARG003
return cls.construct(
None,
**{
**(cast(Mapping[str, Any], data) if is_mapping(data) else {"items": data}),
},
)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,47 +1,89 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .logs import (
LogsResource,
AsyncLogsResource,
LogsResourceWithRawResponse,
AsyncLogsResourceWithRawResponse,
LogsResourceWithStreamingResponse,
AsyncLogsResourceWithStreamingResponse,
)
from .roles import (
Roles,
AsyncRoles,
RolesWithRawResponse,
AsyncRolesWithRawResponse,
RolesWithStreamingResponse,
AsyncRolesWithStreamingResponse,
RolesResource,
AsyncRolesResource,
RolesResourceWithRawResponse,
AsyncRolesResourceWithRawResponse,
RolesResourceWithStreamingResponse,
AsyncRolesResourceWithStreamingResponse,
)
from .tokens import (
TokensResource,
AsyncTokensResource,
TokensResourceWithRawResponse,
AsyncTokensResourceWithRawResponse,
TokensResourceWithStreamingResponse,
AsyncTokensResourceWithStreamingResponse,
)
from .members import (
Members,
AsyncMembers,
MembersWithRawResponse,
AsyncMembersWithRawResponse,
MembersWithStreamingResponse,
AsyncMembersWithStreamingResponse,
MembersResource,
AsyncMembersResource,
MembersResourceWithRawResponse,
AsyncMembersResourceWithRawResponse,
MembersResourceWithStreamingResponse,
AsyncMembersResourceWithStreamingResponse,
)
from .accounts import (
Accounts,
AsyncAccounts,
AccountsWithRawResponse,
AsyncAccountsWithRawResponse,
AccountsWithStreamingResponse,
AsyncAccountsWithStreamingResponse,
AccountsResource,
AsyncAccountsResource,
AccountsResourceWithRawResponse,
AsyncAccountsResourceWithRawResponse,
AccountsResourceWithStreamingResponse,
AsyncAccountsResourceWithStreamingResponse,
)
from .subscriptions import (
SubscriptionsResource,
AsyncSubscriptionsResource,
SubscriptionsResourceWithRawResponse,
AsyncSubscriptionsResourceWithRawResponse,
SubscriptionsResourceWithStreamingResponse,
AsyncSubscriptionsResourceWithStreamingResponse,
)
__all__ = [
"Members",
"AsyncMembers",
"MembersWithRawResponse",
"AsyncMembersWithRawResponse",
"MembersWithStreamingResponse",
"AsyncMembersWithStreamingResponse",
"Roles",
"AsyncRoles",
"RolesWithRawResponse",
"AsyncRolesWithRawResponse",
"RolesWithStreamingResponse",
"AsyncRolesWithStreamingResponse",
"Accounts",
"AsyncAccounts",
"AccountsWithRawResponse",
"AsyncAccountsWithRawResponse",
"AccountsWithStreamingResponse",
"AsyncAccountsWithStreamingResponse",
"MembersResource",
"AsyncMembersResource",
"MembersResourceWithRawResponse",
"AsyncMembersResourceWithRawResponse",
"MembersResourceWithStreamingResponse",
"AsyncMembersResourceWithStreamingResponse",
"RolesResource",
"AsyncRolesResource",
"RolesResourceWithRawResponse",
"AsyncRolesResourceWithRawResponse",
"RolesResourceWithStreamingResponse",
"AsyncRolesResourceWithStreamingResponse",
"SubscriptionsResource",
"AsyncSubscriptionsResource",
"SubscriptionsResourceWithRawResponse",
"AsyncSubscriptionsResourceWithRawResponse",
"SubscriptionsResourceWithStreamingResponse",
"AsyncSubscriptionsResourceWithStreamingResponse",
"TokensResource",
"AsyncTokensResource",
"TokensResourceWithRawResponse",
"AsyncTokensResourceWithRawResponse",
"TokensResourceWithStreamingResponse",
"AsyncTokensResourceWithStreamingResponse",
"LogsResource",
"AsyncLogsResource",
"LogsResourceWithRawResponse",
"AsyncLogsResourceWithRawResponse",
"LogsResourceWithStreamingResponse",
"AsyncLogsResourceWithStreamingResponse",
"AccountsResource",
"AsyncAccountsResource",
"AccountsResourceWithRawResponse",
"AsyncAccountsResourceWithRawResponse",
"AccountsResourceWithStreamingResponse",
"AsyncAccountsResourceWithStreamingResponse",
]

View file

@ -2,39 +2,38 @@
from __future__ import annotations
from typing import Any, cast
from typing import Type, Optional, cast
from typing_extensions import Literal
import httpx
from .roles import (
Roles,
AsyncRoles,
RolesWithRawResponse,
AsyncRolesWithRawResponse,
RolesWithStreamingResponse,
AsyncRolesWithStreamingResponse,
)
from ...types import (
AccountGetResponse,
AccountUpdateResponse,
account_list_params,
account_update_params,
RolesResource,
AsyncRolesResource,
RolesResourceWithRawResponse,
AsyncRolesResourceWithRawResponse,
RolesResourceWithStreamingResponse,
AsyncRolesResourceWithStreamingResponse,
)
from .members import (
Members,
AsyncMembers,
MembersWithRawResponse,
AsyncMembersWithRawResponse,
MembersWithStreamingResponse,
AsyncMembersWithStreamingResponse,
MembersResource,
AsyncMembersResource,
MembersResourceWithRawResponse,
AsyncMembersResourceWithRawResponse,
MembersResourceWithStreamingResponse,
AsyncMembersResourceWithStreamingResponse,
)
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import (
maybe_transform,
async_maybe_transform,
)
from ..._utils import maybe_transform, async_maybe_transform
from ..._compat import cached_property
from .logs.logs import (
LogsResource,
AsyncLogsResource,
LogsResourceWithRawResponse,
AsyncLogsResourceWithRawResponse,
LogsResourceWithStreamingResponse,
AsyncLogsResourceWithStreamingResponse,
)
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
to_raw_response_wrapper,
@ -44,35 +43,129 @@ from ..._response import (
)
from ..._wrappers import ResultWrapper
from ...pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray
from ..._base_client import (
AsyncPaginator,
make_request_options,
from .subscriptions import (
SubscriptionsResource,
AsyncSubscriptionsResource,
SubscriptionsResourceWithRawResponse,
AsyncSubscriptionsResourceWithRawResponse,
SubscriptionsResourceWithStreamingResponse,
AsyncSubscriptionsResourceWithStreamingResponse,
)
from .tokens.tokens import (
TokensResource,
AsyncTokensResource,
TokensResourceWithRawResponse,
AsyncTokensResourceWithRawResponse,
TokensResourceWithStreamingResponse,
AsyncTokensResourceWithStreamingResponse,
)
from ..._base_client import AsyncPaginator, make_request_options
from ...types.accounts import account_list_params, account_create_params, account_update_params
from ...types.accounts.account import Account
from ...types.accounts.account_delete_response import AccountDeleteResponse
__all__ = ["Accounts", "AsyncAccounts"]
__all__ = ["AccountsResource", "AsyncAccountsResource"]
class Accounts(SyncAPIResource):
class AccountsResource(SyncAPIResource):
@cached_property
def members(self) -> Members:
return Members(self._client)
def members(self) -> MembersResource:
return MembersResource(self._client)
@cached_property
def roles(self) -> Roles:
return Roles(self._client)
def roles(self) -> RolesResource:
return RolesResource(self._client)
@cached_property
def with_raw_response(self) -> AccountsWithRawResponse:
return AccountsWithRawResponse(self)
def subscriptions(self) -> SubscriptionsResource:
return SubscriptionsResource(self._client)
@cached_property
def with_streaming_response(self) -> AccountsWithStreamingResponse:
return AccountsWithStreamingResponse(self)
def tokens(self) -> TokensResource:
return TokensResource(self._client)
@cached_property
def logs(self) -> LogsResource:
return LogsResource(self._client)
@cached_property
def with_raw_response(self) -> AccountsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AccountsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AccountsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AccountsResourceWithStreamingResponse(self)
def create(
self,
*,
name: str,
type: Literal["standard", "enterprise"],
unit: account_create_params.Unit | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Account]:
"""
Create an account (only available for tenant admins at this time)
Args:
name: Account name
type: the type of account being created. For self-serve customers, use standard. for
enterprise customers, use enterprise.
unit: information related to the tenant unit, and optionally, an id of the unit to
create the account on. see
https://developers.cloudflare.com/tenant/how-to/manage-accounts/
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
return self._post(
"/accounts",
body=maybe_transform(
{
"name": name,
"type": type,
"unit": unit,
},
account_create_params.AccountCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[Account]]._unwrapper,
),
cast_to=cast(Type[Optional[Account]], ResultWrapper[Account]),
)
def update(
self,
*,
account_id: object,
account_id: str,
id: str,
name: str,
settings: account_update_params.Settings | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@ -81,11 +174,15 @@ class Accounts(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AccountUpdateResponse:
) -> Optional[Account]:
"""
Update an existing account.
Args:
account_id: Account identifier tag.
id: Identifier
name: Account name
settings: Account settings
@ -98,34 +195,33 @@ class Accounts(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
return cast(
AccountUpdateResponse,
self._put(
f"/accounts/{account_id}",
body=maybe_transform(
{
"name": name,
"settings": settings,
},
account_update_params.AccountUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[AccountUpdateResponse]
), # Union types cannot be passed in as arguments in the type system
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._put(
f"/accounts/{account_id}",
body=maybe_transform(
{
"id": id,
"name": name,
"settings": settings,
},
account_update_params.AccountUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[Account]]._unwrapper,
),
cast_to=cast(Type[Optional[Account]], ResultWrapper[Account]),
)
def list(
self,
*,
direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN,
name: str | NotGiven = NOT_GIVEN,
page: float | NotGiven = NOT_GIVEN,
per_page: float | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@ -134,13 +230,15 @@ class Accounts(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncV4PagePaginationArray[object]:
) -> SyncV4PagePaginationArray[Account]:
"""
List all accounts you have ownership or verified access to.
Args:
direction: Direction to order results.
name: Name of the account.
page: Page number of paginated results.
per_page: Maximum number of results per page.
@ -155,7 +253,7 @@ class Accounts(SyncAPIResource):
"""
return self._get_api_list(
"/accounts",
page=SyncV4PagePaginationArray[object],
page=SyncV4PagePaginationArray[Account],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@ -164,30 +262,75 @@ class Accounts(SyncAPIResource):
query=maybe_transform(
{
"direction": direction,
"name": name,
"page": page,
"per_page": per_page,
},
account_list_params.AccountListParams,
),
),
model=object,
model=Account,
)
def delete(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AccountDeleteResponse]:
"""Delete a specific account (only available for tenant admins at this time).
This
is a permanent operation that will delete any zones or other resources under the
account
Args:
account_id: The account ID of the account to be deleted
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._delete(
f"/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[AccountDeleteResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[AccountDeleteResponse]], ResultWrapper[AccountDeleteResponse]),
)
def get(
self,
*,
account_id: object,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AccountGetResponse:
) -> Optional[Account]:
"""
Get information about a specific account that you are a member of.
Args:
account_id: Account identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@ -196,45 +339,120 @@ class Accounts(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
return cast(
AccountGetResponse,
self._get(
f"/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[AccountGetResponse]
), # Union types cannot be passed in as arguments in the type system
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get(
f"/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[Account]]._unwrapper,
),
cast_to=cast(Type[Optional[Account]], ResultWrapper[Account]),
)
class AsyncAccounts(AsyncAPIResource):
class AsyncAccountsResource(AsyncAPIResource):
@cached_property
def members(self) -> AsyncMembers:
return AsyncMembers(self._client)
def members(self) -> AsyncMembersResource:
return AsyncMembersResource(self._client)
@cached_property
def roles(self) -> AsyncRoles:
return AsyncRoles(self._client)
def roles(self) -> AsyncRolesResource:
return AsyncRolesResource(self._client)
@cached_property
def with_raw_response(self) -> AsyncAccountsWithRawResponse:
return AsyncAccountsWithRawResponse(self)
def subscriptions(self) -> AsyncSubscriptionsResource:
return AsyncSubscriptionsResource(self._client)
@cached_property
def with_streaming_response(self) -> AsyncAccountsWithStreamingResponse:
return AsyncAccountsWithStreamingResponse(self)
def tokens(self) -> AsyncTokensResource:
return AsyncTokensResource(self._client)
@cached_property
def logs(self) -> AsyncLogsResource:
return AsyncLogsResource(self._client)
@cached_property
def with_raw_response(self) -> AsyncAccountsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncAccountsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncAccountsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncAccountsResourceWithStreamingResponse(self)
async def create(
self,
*,
name: str,
type: Literal["standard", "enterprise"],
unit: account_create_params.Unit | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Account]:
"""
Create an account (only available for tenant admins at this time)
Args:
name: Account name
type: the type of account being created. For self-serve customers, use standard. for
enterprise customers, use enterprise.
unit: information related to the tenant unit, and optionally, an id of the unit to
create the account on. see
https://developers.cloudflare.com/tenant/how-to/manage-accounts/
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
return await self._post(
"/accounts",
body=await async_maybe_transform(
{
"name": name,
"type": type,
"unit": unit,
},
account_create_params.AccountCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[Account]]._unwrapper,
),
cast_to=cast(Type[Optional[Account]], ResultWrapper[Account]),
)
async def update(
self,
*,
account_id: object,
account_id: str,
id: str,
name: str,
settings: account_update_params.Settings | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@ -243,11 +461,15 @@ class AsyncAccounts(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AccountUpdateResponse:
) -> Optional[Account]:
"""
Update an existing account.
Args:
account_id: Account identifier tag.
id: Identifier
name: Account name
settings: Account settings
@ -260,34 +482,33 @@ class AsyncAccounts(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
return cast(
AccountUpdateResponse,
await self._put(
f"/accounts/{account_id}",
body=await async_maybe_transform(
{
"name": name,
"settings": settings,
},
account_update_params.AccountUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[AccountUpdateResponse]
), # Union types cannot be passed in as arguments in the type system
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return await self._put(
f"/accounts/{account_id}",
body=await async_maybe_transform(
{
"id": id,
"name": name,
"settings": settings,
},
account_update_params.AccountUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[Account]]._unwrapper,
),
cast_to=cast(Type[Optional[Account]], ResultWrapper[Account]),
)
def list(
self,
*,
direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN,
name: str | NotGiven = NOT_GIVEN,
page: float | NotGiven = NOT_GIVEN,
per_page: float | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@ -296,13 +517,15 @@ class AsyncAccounts(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[object, AsyncV4PagePaginationArray[object]]:
) -> AsyncPaginator[Account, AsyncV4PagePaginationArray[Account]]:
"""
List all accounts you have ownership or verified access to.
Args:
direction: Direction to order results.
name: Name of the account.
page: Page number of paginated results.
per_page: Maximum number of results per page.
@ -317,7 +540,7 @@ class AsyncAccounts(AsyncAPIResource):
"""
return self._get_api_list(
"/accounts",
page=AsyncV4PagePaginationArray[object],
page=AsyncV4PagePaginationArray[Account],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@ -326,30 +549,36 @@ class AsyncAccounts(AsyncAPIResource):
query=maybe_transform(
{
"direction": direction,
"name": name,
"page": page,
"per_page": per_page,
},
account_list_params.AccountListParams,
),
),
model=object,
model=Account,
)
async def get(
async def delete(
self,
*,
account_id: object,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AccountGetResponse:
"""
Get information about a specific account that you are a member of.
) -> Optional[AccountDeleteResponse]:
"""Delete a specific account (only available for tenant admins at this time).
This
is a permanent operation that will delete any zones or other resources under the
account
Args:
account_id: The account ID of the account to be deleted
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@ -358,111 +587,219 @@ class AsyncAccounts(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
return cast(
AccountGetResponse,
await self._get(
f"/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[AccountGetResponse]
), # Union types cannot be passed in as arguments in the type system
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return await self._delete(
f"/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[AccountDeleteResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[AccountDeleteResponse]], ResultWrapper[AccountDeleteResponse]),
)
async def get(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Account]:
"""
Get information about a specific account that you are a member of.
Args:
account_id: Account identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return await self._get(
f"/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[Account]]._unwrapper,
),
cast_to=cast(Type[Optional[Account]], ResultWrapper[Account]),
)
class AccountsWithRawResponse:
def __init__(self, accounts: Accounts) -> None:
class AccountsResourceWithRawResponse:
def __init__(self, accounts: AccountsResource) -> None:
self._accounts = accounts
self.create = to_raw_response_wrapper(
accounts.create,
)
self.update = to_raw_response_wrapper(
accounts.update,
)
self.list = to_raw_response_wrapper(
accounts.list,
)
self.delete = to_raw_response_wrapper(
accounts.delete,
)
self.get = to_raw_response_wrapper(
accounts.get,
)
@cached_property
def members(self) -> MembersWithRawResponse:
return MembersWithRawResponse(self._accounts.members)
def members(self) -> MembersResourceWithRawResponse:
return MembersResourceWithRawResponse(self._accounts.members)
@cached_property
def roles(self) -> RolesWithRawResponse:
return RolesWithRawResponse(self._accounts.roles)
def roles(self) -> RolesResourceWithRawResponse:
return RolesResourceWithRawResponse(self._accounts.roles)
@cached_property
def subscriptions(self) -> SubscriptionsResourceWithRawResponse:
return SubscriptionsResourceWithRawResponse(self._accounts.subscriptions)
@cached_property
def tokens(self) -> TokensResourceWithRawResponse:
return TokensResourceWithRawResponse(self._accounts.tokens)
@cached_property
def logs(self) -> LogsResourceWithRawResponse:
return LogsResourceWithRawResponse(self._accounts.logs)
class AsyncAccountsWithRawResponse:
def __init__(self, accounts: AsyncAccounts) -> None:
class AsyncAccountsResourceWithRawResponse:
def __init__(self, accounts: AsyncAccountsResource) -> None:
self._accounts = accounts
self.create = async_to_raw_response_wrapper(
accounts.create,
)
self.update = async_to_raw_response_wrapper(
accounts.update,
)
self.list = async_to_raw_response_wrapper(
accounts.list,
)
self.delete = async_to_raw_response_wrapper(
accounts.delete,
)
self.get = async_to_raw_response_wrapper(
accounts.get,
)
@cached_property
def members(self) -> AsyncMembersWithRawResponse:
return AsyncMembersWithRawResponse(self._accounts.members)
def members(self) -> AsyncMembersResourceWithRawResponse:
return AsyncMembersResourceWithRawResponse(self._accounts.members)
@cached_property
def roles(self) -> AsyncRolesWithRawResponse:
return AsyncRolesWithRawResponse(self._accounts.roles)
def roles(self) -> AsyncRolesResourceWithRawResponse:
return AsyncRolesResourceWithRawResponse(self._accounts.roles)
@cached_property
def subscriptions(self) -> AsyncSubscriptionsResourceWithRawResponse:
return AsyncSubscriptionsResourceWithRawResponse(self._accounts.subscriptions)
@cached_property
def tokens(self) -> AsyncTokensResourceWithRawResponse:
return AsyncTokensResourceWithRawResponse(self._accounts.tokens)
@cached_property
def logs(self) -> AsyncLogsResourceWithRawResponse:
return AsyncLogsResourceWithRawResponse(self._accounts.logs)
class AccountsWithStreamingResponse:
def __init__(self, accounts: Accounts) -> None:
class AccountsResourceWithStreamingResponse:
def __init__(self, accounts: AccountsResource) -> None:
self._accounts = accounts
self.create = to_streamed_response_wrapper(
accounts.create,
)
self.update = to_streamed_response_wrapper(
accounts.update,
)
self.list = to_streamed_response_wrapper(
accounts.list,
)
self.delete = to_streamed_response_wrapper(
accounts.delete,
)
self.get = to_streamed_response_wrapper(
accounts.get,
)
@cached_property
def members(self) -> MembersWithStreamingResponse:
return MembersWithStreamingResponse(self._accounts.members)
def members(self) -> MembersResourceWithStreamingResponse:
return MembersResourceWithStreamingResponse(self._accounts.members)
@cached_property
def roles(self) -> RolesWithStreamingResponse:
return RolesWithStreamingResponse(self._accounts.roles)
def roles(self) -> RolesResourceWithStreamingResponse:
return RolesResourceWithStreamingResponse(self._accounts.roles)
@cached_property
def subscriptions(self) -> SubscriptionsResourceWithStreamingResponse:
return SubscriptionsResourceWithStreamingResponse(self._accounts.subscriptions)
@cached_property
def tokens(self) -> TokensResourceWithStreamingResponse:
return TokensResourceWithStreamingResponse(self._accounts.tokens)
@cached_property
def logs(self) -> LogsResourceWithStreamingResponse:
return LogsResourceWithStreamingResponse(self._accounts.logs)
class AsyncAccountsWithStreamingResponse:
def __init__(self, accounts: AsyncAccounts) -> None:
class AsyncAccountsResourceWithStreamingResponse:
def __init__(self, accounts: AsyncAccountsResource) -> None:
self._accounts = accounts
self.create = async_to_streamed_response_wrapper(
accounts.create,
)
self.update = async_to_streamed_response_wrapper(
accounts.update,
)
self.list = async_to_streamed_response_wrapper(
accounts.list,
)
self.delete = async_to_streamed_response_wrapper(
accounts.delete,
)
self.get = async_to_streamed_response_wrapper(
accounts.get,
)
@cached_property
def members(self) -> AsyncMembersWithStreamingResponse:
return AsyncMembersWithStreamingResponse(self._accounts.members)
def members(self) -> AsyncMembersResourceWithStreamingResponse:
return AsyncMembersResourceWithStreamingResponse(self._accounts.members)
@cached_property
def roles(self) -> AsyncRolesWithStreamingResponse:
return AsyncRolesWithStreamingResponse(self._accounts.roles)
def roles(self) -> AsyncRolesResourceWithStreamingResponse:
return AsyncRolesResourceWithStreamingResponse(self._accounts.roles)
@cached_property
def subscriptions(self) -> AsyncSubscriptionsResourceWithStreamingResponse:
return AsyncSubscriptionsResourceWithStreamingResponse(self._accounts.subscriptions)
@cached_property
def tokens(self) -> AsyncTokensResourceWithStreamingResponse:
return AsyncTokensResourceWithStreamingResponse(self._accounts.tokens)
@cached_property
def logs(self) -> AsyncLogsResourceWithStreamingResponse:
return AsyncLogsResourceWithStreamingResponse(self._accounts.logs)

View file

@ -0,0 +1,33 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .logs import (
LogsResource,
AsyncLogsResource,
LogsResourceWithRawResponse,
AsyncLogsResourceWithRawResponse,
LogsResourceWithStreamingResponse,
AsyncLogsResourceWithStreamingResponse,
)
from .audit import (
AuditResource,
AsyncAuditResource,
AuditResourceWithRawResponse,
AsyncAuditResourceWithRawResponse,
AuditResourceWithStreamingResponse,
AsyncAuditResourceWithStreamingResponse,
)
__all__ = [
"AuditResource",
"AsyncAuditResource",
"AuditResourceWithRawResponse",
"AsyncAuditResourceWithRawResponse",
"AuditResourceWithStreamingResponse",
"AsyncAuditResourceWithStreamingResponse",
"LogsResource",
"AsyncLogsResource",
"LogsResourceWithRawResponse",
"AsyncLogsResourceWithRawResponse",
"LogsResourceWithStreamingResponse",
"AsyncLogsResourceWithStreamingResponse",
]

View file

@ -0,0 +1,342 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Union
from datetime import date
from typing_extensions import Literal
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ....pagination import SyncCursorLimitPagination, AsyncCursorLimitPagination
from ...._base_client import AsyncPaginator, make_request_options
from ....types.accounts.logs import audit_list_params
from ....types.accounts.logs.audit_list_response import AuditListResponse
__all__ = ["AuditResource", "AsyncAuditResource"]
class AuditResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> AuditResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AuditResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AuditResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AuditResourceWithStreamingResponse(self)
def list(
self,
*,
account_id: str,
before: Union[str, date],
since: Union[str, date],
account_name: audit_list_params.AccountName | NotGiven = NOT_GIVEN,
action_result: audit_list_params.ActionResult | NotGiven = NOT_GIVEN,
action_type: audit_list_params.ActionType | NotGiven = NOT_GIVEN,
actor_context: audit_list_params.ActorContext | NotGiven = NOT_GIVEN,
actor_email: audit_list_params.ActorEmail | NotGiven = NOT_GIVEN,
actor_id: audit_list_params.ActorID | NotGiven = NOT_GIVEN,
actor_ip_address: audit_list_params.ActorIPAddress | NotGiven = NOT_GIVEN,
actor_token_id: audit_list_params.ActorTokenID | NotGiven = NOT_GIVEN,
actor_token_name: audit_list_params.ActorTokenName | NotGiven = NOT_GIVEN,
actor_type: audit_list_params.ActorType | NotGiven = NOT_GIVEN,
audit_log_id: audit_list_params.AuditLogID | NotGiven = NOT_GIVEN,
cursor: str | NotGiven = NOT_GIVEN,
direction: Literal["desc", "asc"] | NotGiven = NOT_GIVEN,
limit: float | NotGiven = NOT_GIVEN,
raw_cf_rayid: audit_list_params.RawCfRayID | NotGiven = NOT_GIVEN,
raw_method: audit_list_params.RawMethod | NotGiven = NOT_GIVEN,
raw_status_code: audit_list_params.RawStatusCode | NotGiven = NOT_GIVEN,
raw_uri: audit_list_params.RawURI | NotGiven = NOT_GIVEN,
resource_id: audit_list_params.ResourceID | NotGiven = NOT_GIVEN,
resource_product: audit_list_params.ResourceProduct | NotGiven = NOT_GIVEN,
resource_scope: audit_list_params.ResourceScope | NotGiven = NOT_GIVEN,
resource_type: audit_list_params.ResourceType | NotGiven = NOT_GIVEN,
zone_id: audit_list_params.ZoneID | NotGiven = NOT_GIVEN,
zone_name: audit_list_params.ZoneName | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncCursorLimitPagination[AuditListResponse]:
"""Gets a list of audit logs for an account.
<br /> <br /> This is the beta release
of Audit Logs Version 2. Since this is a beta version, there may be gaps or
missing entries in the available audit logs. Be aware of the following
limitations. <br /> <ul> <li>Audit logs are available only for the past 30 days.
<br /></li> <li>Error handling is not yet implemented. <br /> </li> </ul>
Args:
account_id: The unique id that identifies the account.
before: Limits the returned results to logs older than the specified date. This can be a
date string 2019-04-30 (interpreted in UTC) or an absolute timestamp that
conforms to RFC3339.
since: Limits the returned results to logs newer than the specified date. This can be a
date string 2019-04-30 (interpreted in UTC) or an absolute timestamp that
conforms to RFC3339.
cursor: The cursor is an opaque token used to paginate through large sets of records. It
indicates the position from which to continue when requesting the next set of
records. A valid cursor value can be obtained from the cursor object in the
result_info structure of a previous response.
direction: Sets sorting order.
limit: The number limits the objects to return. The cursor attribute may be used to
iterate over the next batch of objects if there are more than the limit.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/logs/audit",
page=SyncCursorLimitPagination[AuditListResponse],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
query=maybe_transform(
{
"before": before,
"since": since,
"account_name": account_name,
"action_result": action_result,
"action_type": action_type,
"actor_context": actor_context,
"actor_email": actor_email,
"actor_id": actor_id,
"actor_ip_address": actor_ip_address,
"actor_token_id": actor_token_id,
"actor_token_name": actor_token_name,
"actor_type": actor_type,
"audit_log_id": audit_log_id,
"cursor": cursor,
"direction": direction,
"limit": limit,
"raw_cf_rayid": raw_cf_rayid,
"raw_method": raw_method,
"raw_status_code": raw_status_code,
"raw_uri": raw_uri,
"resource_id": resource_id,
"resource_product": resource_product,
"resource_scope": resource_scope,
"resource_type": resource_type,
"zone_id": zone_id,
"zone_name": zone_name,
},
audit_list_params.AuditListParams,
),
),
model=AuditListResponse,
)
class AsyncAuditResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncAuditResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncAuditResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncAuditResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncAuditResourceWithStreamingResponse(self)
def list(
self,
*,
account_id: str,
before: Union[str, date],
since: Union[str, date],
account_name: audit_list_params.AccountName | NotGiven = NOT_GIVEN,
action_result: audit_list_params.ActionResult | NotGiven = NOT_GIVEN,
action_type: audit_list_params.ActionType | NotGiven = NOT_GIVEN,
actor_context: audit_list_params.ActorContext | NotGiven = NOT_GIVEN,
actor_email: audit_list_params.ActorEmail | NotGiven = NOT_GIVEN,
actor_id: audit_list_params.ActorID | NotGiven = NOT_GIVEN,
actor_ip_address: audit_list_params.ActorIPAddress | NotGiven = NOT_GIVEN,
actor_token_id: audit_list_params.ActorTokenID | NotGiven = NOT_GIVEN,
actor_token_name: audit_list_params.ActorTokenName | NotGiven = NOT_GIVEN,
actor_type: audit_list_params.ActorType | NotGiven = NOT_GIVEN,
audit_log_id: audit_list_params.AuditLogID | NotGiven = NOT_GIVEN,
cursor: str | NotGiven = NOT_GIVEN,
direction: Literal["desc", "asc"] | NotGiven = NOT_GIVEN,
limit: float | NotGiven = NOT_GIVEN,
raw_cf_rayid: audit_list_params.RawCfRayID | NotGiven = NOT_GIVEN,
raw_method: audit_list_params.RawMethod | NotGiven = NOT_GIVEN,
raw_status_code: audit_list_params.RawStatusCode | NotGiven = NOT_GIVEN,
raw_uri: audit_list_params.RawURI | NotGiven = NOT_GIVEN,
resource_id: audit_list_params.ResourceID | NotGiven = NOT_GIVEN,
resource_product: audit_list_params.ResourceProduct | NotGiven = NOT_GIVEN,
resource_scope: audit_list_params.ResourceScope | NotGiven = NOT_GIVEN,
resource_type: audit_list_params.ResourceType | NotGiven = NOT_GIVEN,
zone_id: audit_list_params.ZoneID | NotGiven = NOT_GIVEN,
zone_name: audit_list_params.ZoneName | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[AuditListResponse, AsyncCursorLimitPagination[AuditListResponse]]:
"""Gets a list of audit logs for an account.
<br /> <br /> This is the beta release
of Audit Logs Version 2. Since this is a beta version, there may be gaps or
missing entries in the available audit logs. Be aware of the following
limitations. <br /> <ul> <li>Audit logs are available only for the past 30 days.
<br /></li> <li>Error handling is not yet implemented. <br /> </li> </ul>
Args:
account_id: The unique id that identifies the account.
before: Limits the returned results to logs older than the specified date. This can be a
date string 2019-04-30 (interpreted in UTC) or an absolute timestamp that
conforms to RFC3339.
since: Limits the returned results to logs newer than the specified date. This can be a
date string 2019-04-30 (interpreted in UTC) or an absolute timestamp that
conforms to RFC3339.
cursor: The cursor is an opaque token used to paginate through large sets of records. It
indicates the position from which to continue when requesting the next set of
records. A valid cursor value can be obtained from the cursor object in the
result_info structure of a previous response.
direction: Sets sorting order.
limit: The number limits the objects to return. The cursor attribute may be used to
iterate over the next batch of objects if there are more than the limit.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/logs/audit",
page=AsyncCursorLimitPagination[AuditListResponse],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
query=maybe_transform(
{
"before": before,
"since": since,
"account_name": account_name,
"action_result": action_result,
"action_type": action_type,
"actor_context": actor_context,
"actor_email": actor_email,
"actor_id": actor_id,
"actor_ip_address": actor_ip_address,
"actor_token_id": actor_token_id,
"actor_token_name": actor_token_name,
"actor_type": actor_type,
"audit_log_id": audit_log_id,
"cursor": cursor,
"direction": direction,
"limit": limit,
"raw_cf_rayid": raw_cf_rayid,
"raw_method": raw_method,
"raw_status_code": raw_status_code,
"raw_uri": raw_uri,
"resource_id": resource_id,
"resource_product": resource_product,
"resource_scope": resource_scope,
"resource_type": resource_type,
"zone_id": zone_id,
"zone_name": zone_name,
},
audit_list_params.AuditListParams,
),
),
model=AuditListResponse,
)
class AuditResourceWithRawResponse:
def __init__(self, audit: AuditResource) -> None:
self._audit = audit
self.list = to_raw_response_wrapper(
audit.list,
)
class AsyncAuditResourceWithRawResponse:
def __init__(self, audit: AsyncAuditResource) -> None:
self._audit = audit
self.list = async_to_raw_response_wrapper(
audit.list,
)
class AuditResourceWithStreamingResponse:
def __init__(self, audit: AuditResource) -> None:
self._audit = audit
self.list = to_streamed_response_wrapper(
audit.list,
)
class AsyncAuditResourceWithStreamingResponse:
def __init__(self, audit: AsyncAuditResource) -> None:
self._audit = audit
self.list = async_to_streamed_response_wrapper(
audit.list,
)

View file

@ -0,0 +1,102 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from .audit import (
AuditResource,
AsyncAuditResource,
AuditResourceWithRawResponse,
AsyncAuditResourceWithRawResponse,
AuditResourceWithStreamingResponse,
AsyncAuditResourceWithStreamingResponse,
)
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
__all__ = ["LogsResource", "AsyncLogsResource"]
class LogsResource(SyncAPIResource):
@cached_property
def audit(self) -> AuditResource:
return AuditResource(self._client)
@cached_property
def with_raw_response(self) -> LogsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return LogsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> LogsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return LogsResourceWithStreamingResponse(self)
class AsyncLogsResource(AsyncAPIResource):
@cached_property
def audit(self) -> AsyncAuditResource:
return AsyncAuditResource(self._client)
@cached_property
def with_raw_response(self) -> AsyncLogsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncLogsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncLogsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncLogsResourceWithStreamingResponse(self)
class LogsResourceWithRawResponse:
def __init__(self, logs: LogsResource) -> None:
self._logs = logs
@cached_property
def audit(self) -> AuditResourceWithRawResponse:
return AuditResourceWithRawResponse(self._logs.audit)
class AsyncLogsResourceWithRawResponse:
def __init__(self, logs: AsyncLogsResource) -> None:
self._logs = logs
@cached_property
def audit(self) -> AsyncAuditResourceWithRawResponse:
return AsyncAuditResourceWithRawResponse(self._logs.audit)
class LogsResourceWithStreamingResponse:
def __init__(self, logs: LogsResource) -> None:
self._logs = logs
@cached_property
def audit(self) -> AuditResourceWithStreamingResponse:
return AuditResourceWithStreamingResponse(self._logs.audit)
class AsyncLogsResourceWithStreamingResponse:
def __init__(self, logs: AsyncLogsResource) -> None:
self._logs = logs
@cached_property
def audit(self) -> AsyncAuditResourceWithStreamingResponse:
return AsyncAuditResourceWithStreamingResponse(self._logs.audit)

View file

@ -3,15 +3,12 @@
from __future__ import annotations
from typing import List, Type, Iterable, Optional, cast
from typing_extensions import Literal
from typing_extensions import Literal, overload
import httpx
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import (
maybe_transform,
async_maybe_transform,
)
from ..._utils import required_args, maybe_transform, async_maybe_transform
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
@ -22,36 +19,40 @@ from ..._response import (
)
from ..._wrappers import ResultWrapper
from ...pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray
from ..._base_client import (
AsyncPaginator,
make_request_options,
)
from ...types.accounts import (
AccountMember,
MemberListResponse,
AccountMemberWithID,
MemberDeleteResponse,
member_list_params,
member_create_params,
member_update_params,
)
from ..._base_client import AsyncPaginator, make_request_options
from ...types.accounts import member_list_params, member_create_params, member_update_params
from ...types.shared.member import Member
from ...types.shared_params.role import Role
from ...types.accounts.member_delete_response import MemberDeleteResponse
__all__ = ["Members", "AsyncMembers"]
__all__ = ["MembersResource", "AsyncMembersResource"]
class Members(SyncAPIResource):
class MembersResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> MembersWithRawResponse:
return MembersWithRawResponse(self)
def with_raw_response(self) -> MembersResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return MembersResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> MembersWithStreamingResponse:
return MembersWithStreamingResponse(self)
def with_streaming_response(self) -> MembersResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return MembersResourceWithStreamingResponse(self)
@overload
def create(
self,
*,
account_id: object,
account_id: str,
email: str,
roles: List[str],
status: Literal["accepted", "pending"] | NotGiven = NOT_GIVEN,
@ -61,11 +62,13 @@ class Members(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AccountMemberWithID:
) -> Optional[Member]:
"""
Add a user to the list of members for this account.
Args:
account_id: Account identifier tag.
email: The contact email address of the user.
roles: Array of roles associated with this member.
@ -78,6 +81,61 @@ class Members(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
...
@overload
def create(
self,
*,
account_id: str,
email: str,
policies: Iterable[member_create_params.IAMCreateMemberWithPoliciesPolicy],
status: Literal["accepted", "pending"] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Member]:
"""
Add a user to the list of members for this account.
Args:
account_id: Account identifier tag.
email: The contact email address of the user.
policies: Array of policies associated with this member.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
...
@required_args(["account_id", "email", "roles"], ["account_id", "email", "policies"])
def create(
self,
*,
account_id: str,
email: str,
roles: List[str] | NotGiven = NOT_GIVEN,
status: Literal["accepted", "pending"] | NotGiven = NOT_GIVEN,
policies: Iterable[member_create_params.IAMCreateMemberWithPoliciesPolicy] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Member]:
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._post(
f"/accounts/{account_id}/members",
body=maybe_transform(
@ -85,6 +143,7 @@ class Members(SyncAPIResource):
"email": email,
"roles": roles,
"status": status,
"policies": policies,
},
member_create_params.MemberCreateParams,
),
@ -93,28 +152,31 @@ class Members(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Member]]._unwrapper,
),
cast_to=cast(Type[AccountMemberWithID], ResultWrapper[AccountMemberWithID]),
cast_to=cast(Type[Optional[Member]], ResultWrapper[Member]),
)
@overload
def update(
self,
member_id: str,
*,
account_id: object,
roles: Iterable[member_update_params.Role],
account_id: str,
roles: Iterable[Role] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AccountMember:
) -> Optional[Member]:
"""
Modify an account member.
Args:
account_id: Account identifier tag.
member_id: Membership identifier tag.
roles: Roles assigned to this member.
@ -127,25 +189,84 @@ class Members(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
...
@overload
def update(
self,
member_id: str,
*,
account_id: str,
policies: Iterable[member_update_params.IAMUpdateMemberWithPoliciesPolicy],
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Member]:
"""
Modify an account member.
Args:
account_id: Account identifier tag.
member_id: Membership identifier tag.
policies: Array of policies associated with this member.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
...
@required_args(["account_id"], ["account_id", "policies"])
def update(
self,
member_id: str,
*,
account_id: str,
roles: Iterable[Role] | NotGiven = NOT_GIVEN,
policies: Iterable[member_update_params.IAMUpdateMemberWithPoliciesPolicy] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Member]:
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not member_id:
raise ValueError(f"Expected a non-empty value for `member_id` but received {member_id!r}")
return self._put(
f"/accounts/{account_id}/members/{member_id}",
body=maybe_transform({"roles": roles}, member_update_params.MemberUpdateParams),
body=maybe_transform(
{
"roles": roles,
"policies": policies,
},
member_update_params.MemberUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Member]]._unwrapper,
),
cast_to=cast(Type[AccountMember], ResultWrapper[AccountMember]),
cast_to=cast(Type[Optional[Member]], ResultWrapper[Member]),
)
def list(
self,
*,
account_id: object,
account_id: str,
direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN,
order: Literal["user.first_name", "user.last_name", "user.email", "status"] | NotGiven = NOT_GIVEN,
page: float | NotGiven = NOT_GIVEN,
@ -157,11 +278,13 @@ class Members(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncV4PagePaginationArray[MemberListResponse]:
) -> SyncV4PagePaginationArray[Member]:
"""
List all members of an account.
Args:
account_id: Account identifier tag.
direction: Direction to order results.
order: Field to order results by.
@ -180,9 +303,11 @@ class Members(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/members",
page=SyncV4PagePaginationArray[MemberListResponse],
page=SyncV4PagePaginationArray[Member],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@ -199,14 +324,14 @@ class Members(SyncAPIResource):
member_list_params.MemberListParams,
),
),
model=MemberListResponse,
model=Member,
)
def delete(
self,
member_id: str,
*,
account_id: object,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@ -218,6 +343,8 @@ class Members(SyncAPIResource):
Remove a member from an account.
Args:
account_id: Account identifier tag.
member_id: Membership identifier tag.
extra_headers: Send extra headers
@ -228,6 +355,8 @@ class Members(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not member_id:
raise ValueError(f"Expected a non-empty value for `member_id` but received {member_id!r}")
return self._delete(
@ -237,7 +366,7 @@ class Members(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[MemberDeleteResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[MemberDeleteResponse]], ResultWrapper[MemberDeleteResponse]),
)
@ -246,18 +375,20 @@ class Members(SyncAPIResource):
self,
member_id: str,
*,
account_id: object,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AccountMember:
) -> Optional[Member]:
"""
Get information about a specific member of an account.
Args:
account_id: Account identifier tag.
member_id: Membership identifier tag.
extra_headers: Send extra headers
@ -268,6 +399,8 @@ class Members(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not member_id:
raise ValueError(f"Expected a non-empty value for `member_id` but received {member_id!r}")
return self._get(
@ -277,25 +410,37 @@ class Members(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Member]]._unwrapper,
),
cast_to=cast(Type[AccountMember], ResultWrapper[AccountMember]),
cast_to=cast(Type[Optional[Member]], ResultWrapper[Member]),
)
class AsyncMembers(AsyncAPIResource):
class AsyncMembersResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncMembersWithRawResponse:
return AsyncMembersWithRawResponse(self)
def with_raw_response(self) -> AsyncMembersResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncMembersResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncMembersWithStreamingResponse:
return AsyncMembersWithStreamingResponse(self)
def with_streaming_response(self) -> AsyncMembersResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncMembersResourceWithStreamingResponse(self)
@overload
async def create(
self,
*,
account_id: object,
account_id: str,
email: str,
roles: List[str],
status: Literal["accepted", "pending"] | NotGiven = NOT_GIVEN,
@ -305,11 +450,13 @@ class AsyncMembers(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AccountMemberWithID:
) -> Optional[Member]:
"""
Add a user to the list of members for this account.
Args:
account_id: Account identifier tag.
email: The contact email address of the user.
roles: Array of roles associated with this member.
@ -322,6 +469,61 @@ class AsyncMembers(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
...
@overload
async def create(
self,
*,
account_id: str,
email: str,
policies: Iterable[member_create_params.IAMCreateMemberWithPoliciesPolicy],
status: Literal["accepted", "pending"] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Member]:
"""
Add a user to the list of members for this account.
Args:
account_id: Account identifier tag.
email: The contact email address of the user.
policies: Array of policies associated with this member.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
...
@required_args(["account_id", "email", "roles"], ["account_id", "email", "policies"])
async def create(
self,
*,
account_id: str,
email: str,
roles: List[str] | NotGiven = NOT_GIVEN,
status: Literal["accepted", "pending"] | NotGiven = NOT_GIVEN,
policies: Iterable[member_create_params.IAMCreateMemberWithPoliciesPolicy] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Member]:
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return await self._post(
f"/accounts/{account_id}/members",
body=await async_maybe_transform(
@ -329,6 +531,7 @@ class AsyncMembers(AsyncAPIResource):
"email": email,
"roles": roles,
"status": status,
"policies": policies,
},
member_create_params.MemberCreateParams,
),
@ -337,28 +540,31 @@ class AsyncMembers(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Member]]._unwrapper,
),
cast_to=cast(Type[AccountMemberWithID], ResultWrapper[AccountMemberWithID]),
cast_to=cast(Type[Optional[Member]], ResultWrapper[Member]),
)
@overload
async def update(
self,
member_id: str,
*,
account_id: object,
roles: Iterable[member_update_params.Role],
account_id: str,
roles: Iterable[Role] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AccountMember:
) -> Optional[Member]:
"""
Modify an account member.
Args:
account_id: Account identifier tag.
member_id: Membership identifier tag.
roles: Roles assigned to this member.
@ -371,25 +577,84 @@ class AsyncMembers(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
...
@overload
async def update(
self,
member_id: str,
*,
account_id: str,
policies: Iterable[member_update_params.IAMUpdateMemberWithPoliciesPolicy],
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Member]:
"""
Modify an account member.
Args:
account_id: Account identifier tag.
member_id: Membership identifier tag.
policies: Array of policies associated with this member.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
...
@required_args(["account_id"], ["account_id", "policies"])
async def update(
self,
member_id: str,
*,
account_id: str,
roles: Iterable[Role] | NotGiven = NOT_GIVEN,
policies: Iterable[member_update_params.IAMUpdateMemberWithPoliciesPolicy] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Member]:
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not member_id:
raise ValueError(f"Expected a non-empty value for `member_id` but received {member_id!r}")
return await self._put(
f"/accounts/{account_id}/members/{member_id}",
body=await async_maybe_transform({"roles": roles}, member_update_params.MemberUpdateParams),
body=await async_maybe_transform(
{
"roles": roles,
"policies": policies,
},
member_update_params.MemberUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Member]]._unwrapper,
),
cast_to=cast(Type[AccountMember], ResultWrapper[AccountMember]),
cast_to=cast(Type[Optional[Member]], ResultWrapper[Member]),
)
def list(
self,
*,
account_id: object,
account_id: str,
direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN,
order: Literal["user.first_name", "user.last_name", "user.email", "status"] | NotGiven = NOT_GIVEN,
page: float | NotGiven = NOT_GIVEN,
@ -401,11 +666,13 @@ class AsyncMembers(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[MemberListResponse, AsyncV4PagePaginationArray[MemberListResponse]]:
) -> AsyncPaginator[Member, AsyncV4PagePaginationArray[Member]]:
"""
List all members of an account.
Args:
account_id: Account identifier tag.
direction: Direction to order results.
order: Field to order results by.
@ -424,9 +691,11 @@ class AsyncMembers(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/members",
page=AsyncV4PagePaginationArray[MemberListResponse],
page=AsyncV4PagePaginationArray[Member],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@ -443,14 +712,14 @@ class AsyncMembers(AsyncAPIResource):
member_list_params.MemberListParams,
),
),
model=MemberListResponse,
model=Member,
)
async def delete(
self,
member_id: str,
*,
account_id: object,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@ -462,6 +731,8 @@ class AsyncMembers(AsyncAPIResource):
Remove a member from an account.
Args:
account_id: Account identifier tag.
member_id: Membership identifier tag.
extra_headers: Send extra headers
@ -472,6 +743,8 @@ class AsyncMembers(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not member_id:
raise ValueError(f"Expected a non-empty value for `member_id` but received {member_id!r}")
return await self._delete(
@ -481,7 +754,7 @@ class AsyncMembers(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[MemberDeleteResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[MemberDeleteResponse]], ResultWrapper[MemberDeleteResponse]),
)
@ -490,18 +763,20 @@ class AsyncMembers(AsyncAPIResource):
self,
member_id: str,
*,
account_id: object,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AccountMember:
) -> Optional[Member]:
"""
Get information about a specific member of an account.
Args:
account_id: Account identifier tag.
member_id: Membership identifier tag.
extra_headers: Send extra headers
@ -512,6 +787,8 @@ class AsyncMembers(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not member_id:
raise ValueError(f"Expected a non-empty value for `member_id` but received {member_id!r}")
return await self._get(
@ -521,14 +798,14 @@ class AsyncMembers(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Member]]._unwrapper,
),
cast_to=cast(Type[AccountMember], ResultWrapper[AccountMember]),
cast_to=cast(Type[Optional[Member]], ResultWrapper[Member]),
)
class MembersWithRawResponse:
def __init__(self, members: Members) -> None:
class MembersResourceWithRawResponse:
def __init__(self, members: MembersResource) -> None:
self._members = members
self.create = to_raw_response_wrapper(
@ -548,8 +825,8 @@ class MembersWithRawResponse:
)
class AsyncMembersWithRawResponse:
def __init__(self, members: AsyncMembers) -> None:
class AsyncMembersResourceWithRawResponse:
def __init__(self, members: AsyncMembersResource) -> None:
self._members = members
self.create = async_to_raw_response_wrapper(
@ -569,8 +846,8 @@ class AsyncMembersWithRawResponse:
)
class MembersWithStreamingResponse:
def __init__(self, members: Members) -> None:
class MembersResourceWithStreamingResponse:
def __init__(self, members: MembersResource) -> None:
self._members = members
self.create = to_streamed_response_wrapper(
@ -590,8 +867,8 @@ class MembersWithStreamingResponse:
)
class AsyncMembersWithStreamingResponse:
def __init__(self, members: AsyncMembers) -> None:
class AsyncMembersResourceWithStreamingResponse:
def __init__(self, members: AsyncMembersResource) -> None:
self._members = members
self.create = async_to_streamed_response_wrapper(

View file

@ -2,11 +2,12 @@
from __future__ import annotations
from typing import Any, Type, Optional, cast
from typing import Type, Optional, cast
import httpx
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import maybe_transform
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
@ -16,38 +17,57 @@ from ..._response import (
async_to_streamed_response_wrapper,
)
from ..._wrappers import ResultWrapper
from ..._base_client import (
make_request_options,
)
from ...types.accounts import RoleGetResponse, RoleListResponse
from ...pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray
from ..._base_client import AsyncPaginator, make_request_options
from ...types.accounts import role_list_params
from ...types.shared.role import Role
__all__ = ["Roles", "AsyncRoles"]
__all__ = ["RolesResource", "AsyncRolesResource"]
class Roles(SyncAPIResource):
class RolesResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> RolesWithRawResponse:
return RolesWithRawResponse(self)
def with_raw_response(self) -> RolesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return RolesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> RolesWithStreamingResponse:
return RolesWithStreamingResponse(self)
def with_streaming_response(self) -> RolesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return RolesResourceWithStreamingResponse(self)
def list(
self,
*,
account_id: object,
account_id: str,
page: float | NotGiven = NOT_GIVEN,
per_page: float | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[RoleListResponse]:
) -> SyncV4PagePaginationArray[Role]:
"""
Get all available roles for an account.
Args:
account_id: Account identifier tag.
page: Page number of paginated results.
per_page: Number of roles per page.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@ -56,34 +76,47 @@ class Roles(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
return self._get(
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/roles",
page=SyncV4PagePaginationArray[Role],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
query=maybe_transform(
{
"page": page,
"per_page": per_page,
},
role_list_params.RoleListParams,
),
),
cast_to=cast(Type[Optional[RoleListResponse]], ResultWrapper[RoleListResponse]),
model=Role,
)
def get(
self,
role_id: object,
role_id: str,
*,
account_id: object,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> RoleGetResponse:
) -> Optional[Role]:
"""
Get information about a specific role for an account.
Args:
account_id: Account identifier tag.
role_id: Role identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@ -92,84 +125,66 @@ class Roles(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
return cast(
RoleGetResponse,
self._get(
f"/accounts/{account_id}/roles/{role_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[RoleGetResponse]
), # Union types cannot be passed in as arguments in the type system
),
)
class AsyncRoles(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncRolesWithRawResponse:
return AsyncRolesWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncRolesWithStreamingResponse:
return AsyncRolesWithStreamingResponse(self)
async def list(
self,
*,
account_id: object,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[RoleListResponse]:
"""
Get all available roles for an account.
Args:
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
return await self._get(
f"/accounts/{account_id}/roles",
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not role_id:
raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}")
return self._get(
f"/accounts/{account_id}/roles/{role_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Role]]._unwrapper,
),
cast_to=cast(Type[Optional[RoleListResponse]], ResultWrapper[RoleListResponse]),
cast_to=cast(Type[Optional[Role]], ResultWrapper[Role]),
)
async def get(
class AsyncRolesResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncRolesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncRolesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncRolesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncRolesResourceWithStreamingResponse(self)
def list(
self,
role_id: object,
*,
account_id: object,
account_id: str,
page: float | NotGiven = NOT_GIVEN,
per_page: float | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> RoleGetResponse:
) -> AsyncPaginator[Role, AsyncV4PagePaginationArray[Role]]:
"""
Get information about a specific role for an account.
Get all available roles for an account.
Args:
account_id: Account identifier tag.
page: Page number of paginated results.
per_page: Number of roles per page.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@ -178,26 +193,74 @@ class AsyncRoles(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
return cast(
RoleGetResponse,
await self._get(
f"/accounts/{account_id}/roles/{role_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/roles",
page=AsyncV4PagePaginationArray[Role],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
query=maybe_transform(
{
"page": page,
"per_page": per_page,
},
role_list_params.RoleListParams,
),
cast_to=cast(
Any, ResultWrapper[RoleGetResponse]
), # Union types cannot be passed in as arguments in the type system
),
model=Role,
)
async def get(
self,
role_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Role]:
"""
Get information about a specific role for an account.
Args:
account_id: Account identifier tag.
role_id: Role identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not role_id:
raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}")
return await self._get(
f"/accounts/{account_id}/roles/{role_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[Role]]._unwrapper,
),
cast_to=cast(Type[Optional[Role]], ResultWrapper[Role]),
)
class RolesWithRawResponse:
def __init__(self, roles: Roles) -> None:
class RolesResourceWithRawResponse:
def __init__(self, roles: RolesResource) -> None:
self._roles = roles
self.list = to_raw_response_wrapper(
@ -208,8 +271,8 @@ class RolesWithRawResponse:
)
class AsyncRolesWithRawResponse:
def __init__(self, roles: AsyncRoles) -> None:
class AsyncRolesResourceWithRawResponse:
def __init__(self, roles: AsyncRolesResource) -> None:
self._roles = roles
self.list = async_to_raw_response_wrapper(
@ -220,8 +283,8 @@ class AsyncRolesWithRawResponse:
)
class RolesWithStreamingResponse:
def __init__(self, roles: Roles) -> None:
class RolesResourceWithStreamingResponse:
def __init__(self, roles: RolesResource) -> None:
self._roles = roles
self.list = to_streamed_response_wrapper(
@ -232,8 +295,8 @@ class RolesWithStreamingResponse:
)
class AsyncRolesWithStreamingResponse:
def __init__(self, roles: AsyncRoles) -> None:
class AsyncRolesResourceWithStreamingResponse:
def __init__(self, roles: AsyncRolesResource) -> None:
self._roles = roles
self.list = async_to_streamed_response_wrapper(

View file

@ -0,0 +1,528 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Type, cast
from typing_extensions import Literal
import httpx
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import maybe_transform, async_maybe_transform
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ..._wrappers import ResultWrapper
from ...pagination import SyncSinglePage, AsyncSinglePage
from ..._base_client import AsyncPaginator, make_request_options
from ...types.accounts import subscription_create_params, subscription_update_params
from ...types.shared.subscription import Subscription
from ...types.shared_params.rate_plan import RatePlan
from ...types.accounts.subscription_delete_response import SubscriptionDeleteResponse
__all__ = ["SubscriptionsResource", "AsyncSubscriptionsResource"]
class SubscriptionsResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> SubscriptionsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return SubscriptionsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> SubscriptionsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return SubscriptionsResourceWithStreamingResponse(self)
def create(
self,
*,
account_id: str,
frequency: Literal["weekly", "monthly", "quarterly", "yearly"] | NotGiven = NOT_GIVEN,
rate_plan: RatePlan | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Subscription:
"""
Creates an account subscription.
Args:
account_id: Identifier
frequency: How often the subscription is renewed automatically.
rate_plan: The rate plan applied to the subscription.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._post(
f"/accounts/{account_id}/subscriptions",
body=maybe_transform(
{
"frequency": frequency,
"rate_plan": rate_plan,
},
subscription_create_params.SubscriptionCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Subscription]._unwrapper,
),
cast_to=cast(Type[Subscription], ResultWrapper[Subscription]),
)
def update(
self,
subscription_identifier: str,
*,
account_id: str,
frequency: Literal["weekly", "monthly", "quarterly", "yearly"] | NotGiven = NOT_GIVEN,
rate_plan: RatePlan | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Subscription:
"""
Updates an account subscription.
Args:
account_id: Identifier
subscription_identifier: Subscription identifier tag.
frequency: How often the subscription is renewed automatically.
rate_plan: The rate plan applied to the subscription.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not subscription_identifier:
raise ValueError(
f"Expected a non-empty value for `subscription_identifier` but received {subscription_identifier!r}"
)
return self._put(
f"/accounts/{account_id}/subscriptions/{subscription_identifier}",
body=maybe_transform(
{
"frequency": frequency,
"rate_plan": rate_plan,
},
subscription_update_params.SubscriptionUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Subscription]._unwrapper,
),
cast_to=cast(Type[Subscription], ResultWrapper[Subscription]),
)
def delete(
self,
subscription_identifier: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SubscriptionDeleteResponse:
"""
Deletes an account's subscription.
Args:
account_id: Identifier
subscription_identifier: Subscription identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not subscription_identifier:
raise ValueError(
f"Expected a non-empty value for `subscription_identifier` but received {subscription_identifier!r}"
)
return self._delete(
f"/accounts/{account_id}/subscriptions/{subscription_identifier}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[SubscriptionDeleteResponse]._unwrapper,
),
cast_to=cast(Type[SubscriptionDeleteResponse], ResultWrapper[SubscriptionDeleteResponse]),
)
def get(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncSinglePage[Subscription]:
"""
Lists all of an account's subscriptions.
Args:
account_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/subscriptions",
page=SyncSinglePage[Subscription],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=Subscription,
)
class AsyncSubscriptionsResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncSubscriptionsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncSubscriptionsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncSubscriptionsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncSubscriptionsResourceWithStreamingResponse(self)
async def create(
self,
*,
account_id: str,
frequency: Literal["weekly", "monthly", "quarterly", "yearly"] | NotGiven = NOT_GIVEN,
rate_plan: RatePlan | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Subscription:
"""
Creates an account subscription.
Args:
account_id: Identifier
frequency: How often the subscription is renewed automatically.
rate_plan: The rate plan applied to the subscription.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return await self._post(
f"/accounts/{account_id}/subscriptions",
body=await async_maybe_transform(
{
"frequency": frequency,
"rate_plan": rate_plan,
},
subscription_create_params.SubscriptionCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Subscription]._unwrapper,
),
cast_to=cast(Type[Subscription], ResultWrapper[Subscription]),
)
async def update(
self,
subscription_identifier: str,
*,
account_id: str,
frequency: Literal["weekly", "monthly", "quarterly", "yearly"] | NotGiven = NOT_GIVEN,
rate_plan: RatePlan | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Subscription:
"""
Updates an account subscription.
Args:
account_id: Identifier
subscription_identifier: Subscription identifier tag.
frequency: How often the subscription is renewed automatically.
rate_plan: The rate plan applied to the subscription.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not subscription_identifier:
raise ValueError(
f"Expected a non-empty value for `subscription_identifier` but received {subscription_identifier!r}"
)
return await self._put(
f"/accounts/{account_id}/subscriptions/{subscription_identifier}",
body=await async_maybe_transform(
{
"frequency": frequency,
"rate_plan": rate_plan,
},
subscription_update_params.SubscriptionUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Subscription]._unwrapper,
),
cast_to=cast(Type[Subscription], ResultWrapper[Subscription]),
)
async def delete(
self,
subscription_identifier: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SubscriptionDeleteResponse:
"""
Deletes an account's subscription.
Args:
account_id: Identifier
subscription_identifier: Subscription identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not subscription_identifier:
raise ValueError(
f"Expected a non-empty value for `subscription_identifier` but received {subscription_identifier!r}"
)
return await self._delete(
f"/accounts/{account_id}/subscriptions/{subscription_identifier}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[SubscriptionDeleteResponse]._unwrapper,
),
cast_to=cast(Type[SubscriptionDeleteResponse], ResultWrapper[SubscriptionDeleteResponse]),
)
def get(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[Subscription, AsyncSinglePage[Subscription]]:
"""
Lists all of an account's subscriptions.
Args:
account_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/subscriptions",
page=AsyncSinglePage[Subscription],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=Subscription,
)
class SubscriptionsResourceWithRawResponse:
def __init__(self, subscriptions: SubscriptionsResource) -> None:
self._subscriptions = subscriptions
self.create = to_raw_response_wrapper(
subscriptions.create,
)
self.update = to_raw_response_wrapper(
subscriptions.update,
)
self.delete = to_raw_response_wrapper(
subscriptions.delete,
)
self.get = to_raw_response_wrapper(
subscriptions.get,
)
class AsyncSubscriptionsResourceWithRawResponse:
def __init__(self, subscriptions: AsyncSubscriptionsResource) -> None:
self._subscriptions = subscriptions
self.create = async_to_raw_response_wrapper(
subscriptions.create,
)
self.update = async_to_raw_response_wrapper(
subscriptions.update,
)
self.delete = async_to_raw_response_wrapper(
subscriptions.delete,
)
self.get = async_to_raw_response_wrapper(
subscriptions.get,
)
class SubscriptionsResourceWithStreamingResponse:
def __init__(self, subscriptions: SubscriptionsResource) -> None:
self._subscriptions = subscriptions
self.create = to_streamed_response_wrapper(
subscriptions.create,
)
self.update = to_streamed_response_wrapper(
subscriptions.update,
)
self.delete = to_streamed_response_wrapper(
subscriptions.delete,
)
self.get = to_streamed_response_wrapper(
subscriptions.get,
)
class AsyncSubscriptionsResourceWithStreamingResponse:
def __init__(self, subscriptions: AsyncSubscriptionsResource) -> None:
self._subscriptions = subscriptions
self.create = async_to_streamed_response_wrapper(
subscriptions.create,
)
self.update = async_to_streamed_response_wrapper(
subscriptions.update,
)
self.delete = async_to_streamed_response_wrapper(
subscriptions.delete,
)
self.get = async_to_streamed_response_wrapper(
subscriptions.get,
)

View file

@ -0,0 +1,47 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .value import (
ValueResource,
AsyncValueResource,
ValueResourceWithRawResponse,
AsyncValueResourceWithRawResponse,
ValueResourceWithStreamingResponse,
AsyncValueResourceWithStreamingResponse,
)
from .tokens import (
TokensResource,
AsyncTokensResource,
TokensResourceWithRawResponse,
AsyncTokensResourceWithRawResponse,
TokensResourceWithStreamingResponse,
AsyncTokensResourceWithStreamingResponse,
)
from .permission_groups import (
PermissionGroupsResource,
AsyncPermissionGroupsResource,
PermissionGroupsResourceWithRawResponse,
AsyncPermissionGroupsResourceWithRawResponse,
PermissionGroupsResourceWithStreamingResponse,
AsyncPermissionGroupsResourceWithStreamingResponse,
)
__all__ = [
"PermissionGroupsResource",
"AsyncPermissionGroupsResource",
"PermissionGroupsResourceWithRawResponse",
"AsyncPermissionGroupsResourceWithRawResponse",
"PermissionGroupsResourceWithStreamingResponse",
"AsyncPermissionGroupsResourceWithStreamingResponse",
"ValueResource",
"AsyncValueResource",
"ValueResourceWithRawResponse",
"AsyncValueResourceWithRawResponse",
"ValueResourceWithStreamingResponse",
"AsyncValueResourceWithStreamingResponse",
"TokensResource",
"AsyncTokensResource",
"TokensResourceWithRawResponse",
"AsyncTokensResourceWithRawResponse",
"TokensResourceWithStreamingResponse",
"AsyncTokensResourceWithStreamingResponse",
]

View file

@ -0,0 +1,255 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ....pagination import SyncSinglePage, AsyncSinglePage
from ...._base_client import AsyncPaginator, make_request_options
from ....types.accounts.tokens.permission_group_get_response import PermissionGroupGetResponse
from ....types.accounts.tokens.permission_group_list_response import PermissionGroupListResponse
__all__ = ["PermissionGroupsResource", "AsyncPermissionGroupsResource"]
class PermissionGroupsResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> PermissionGroupsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return PermissionGroupsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> PermissionGroupsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return PermissionGroupsResourceWithStreamingResponse(self)
def list(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncSinglePage[PermissionGroupListResponse]:
"""
Find all available permission groups for Account Owned API Tokens
Args:
account_id: Account identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/tokens/permission_groups",
page=SyncSinglePage[PermissionGroupListResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=PermissionGroupListResponse,
)
def get(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncSinglePage[PermissionGroupGetResponse]:
"""
Find all available permission groups for Account Owned API Tokens
Args:
account_id: Account identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/tokens/permission_groups",
page=SyncSinglePage[PermissionGroupGetResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=PermissionGroupGetResponse,
)
class AsyncPermissionGroupsResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncPermissionGroupsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncPermissionGroupsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncPermissionGroupsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncPermissionGroupsResourceWithStreamingResponse(self)
def list(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[PermissionGroupListResponse, AsyncSinglePage[PermissionGroupListResponse]]:
"""
Find all available permission groups for Account Owned API Tokens
Args:
account_id: Account identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/tokens/permission_groups",
page=AsyncSinglePage[PermissionGroupListResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=PermissionGroupListResponse,
)
def get(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[PermissionGroupGetResponse, AsyncSinglePage[PermissionGroupGetResponse]]:
"""
Find all available permission groups for Account Owned API Tokens
Args:
account_id: Account identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/tokens/permission_groups",
page=AsyncSinglePage[PermissionGroupGetResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=PermissionGroupGetResponse,
)
class PermissionGroupsResourceWithRawResponse:
def __init__(self, permission_groups: PermissionGroupsResource) -> None:
self._permission_groups = permission_groups
self.list = to_raw_response_wrapper(
permission_groups.list,
)
self.get = to_raw_response_wrapper(
permission_groups.get,
)
class AsyncPermissionGroupsResourceWithRawResponse:
def __init__(self, permission_groups: AsyncPermissionGroupsResource) -> None:
self._permission_groups = permission_groups
self.list = async_to_raw_response_wrapper(
permission_groups.list,
)
self.get = async_to_raw_response_wrapper(
permission_groups.get,
)
class PermissionGroupsResourceWithStreamingResponse:
def __init__(self, permission_groups: PermissionGroupsResource) -> None:
self._permission_groups = permission_groups
self.list = to_streamed_response_wrapper(
permission_groups.list,
)
self.get = to_streamed_response_wrapper(
permission_groups.get,
)
class AsyncPermissionGroupsResourceWithStreamingResponse:
def __init__(self, permission_groups: AsyncPermissionGroupsResource) -> None:
self._permission_groups = permission_groups
self.list = async_to_streamed_response_wrapper(
permission_groups.list,
)
self.get = async_to_streamed_response_wrapper(
permission_groups.get,
)

View file

@ -0,0 +1,869 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Type, Union, Iterable, Optional, cast
from datetime import datetime
from typing_extensions import Literal
import httpx
from .value import (
ValueResource,
AsyncValueResource,
ValueResourceWithRawResponse,
AsyncValueResourceWithRawResponse,
ValueResourceWithStreamingResponse,
AsyncValueResourceWithStreamingResponse,
)
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ....pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray
from ...._base_client import AsyncPaginator, make_request_options
from ....types.accounts import token_list_params, token_create_params, token_update_params
from .permission_groups import (
PermissionGroupsResource,
AsyncPermissionGroupsResource,
PermissionGroupsResourceWithRawResponse,
AsyncPermissionGroupsResourceWithRawResponse,
PermissionGroupsResourceWithStreamingResponse,
AsyncPermissionGroupsResourceWithStreamingResponse,
)
from ....types.shared.token import Token
from ....types.shared_params.token_policy import TokenPolicy
from ....types.accounts.token_create_response import TokenCreateResponse
from ....types.accounts.token_delete_response import TokenDeleteResponse
from ....types.accounts.token_verify_response import TokenVerifyResponse
__all__ = ["TokensResource", "AsyncTokensResource"]
class TokensResource(SyncAPIResource):
@cached_property
def permission_groups(self) -> PermissionGroupsResource:
return PermissionGroupsResource(self._client)
@cached_property
def value(self) -> ValueResource:
return ValueResource(self._client)
@cached_property
def with_raw_response(self) -> TokensResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return TokensResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> TokensResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return TokensResourceWithStreamingResponse(self)
def create(
self,
*,
account_id: str,
name: str,
policies: Iterable[TokenPolicy],
condition: token_create_params.Condition | NotGiven = NOT_GIVEN,
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,
not_before: Union[str, datetime] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[TokenCreateResponse]:
"""
Create a new Account Owned API token.
Args:
account_id: Account identifier tag.
name: Token name.
policies: List of access policies assigned to the token.
expires_on: The expiration time on or after which the JWT MUST NOT be accepted for
processing.
not_before: The time before which the token MUST NOT be accepted for processing.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._post(
f"/accounts/{account_id}/tokens",
body=maybe_transform(
{
"name": name,
"policies": policies,
"condition": condition,
"expires_on": expires_on,
"not_before": not_before,
},
token_create_params.TokenCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[TokenCreateResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[TokenCreateResponse]], ResultWrapper[TokenCreateResponse]),
)
def update(
self,
token_id: str,
*,
account_id: str,
name: str,
policies: Iterable[TokenPolicy],
status: Literal["active", "disabled", "expired"],
condition: token_update_params.Condition | NotGiven = NOT_GIVEN,
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,
not_before: Union[str, datetime] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Token]:
"""
Update an existing token.
Args:
account_id: Account identifier tag.
token_id: Token identifier tag.
name: Token name.
policies: List of access policies assigned to the token.
status: Status of the token.
expires_on: The expiration time on or after which the JWT MUST NOT be accepted for
processing.
not_before: The time before which the token MUST NOT be accepted for processing.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not token_id:
raise ValueError(f"Expected a non-empty value for `token_id` but received {token_id!r}")
return self._put(
f"/accounts/{account_id}/tokens/{token_id}",
body=maybe_transform(
{
"name": name,
"policies": policies,
"status": status,
"condition": condition,
"expires_on": expires_on,
"not_before": not_before,
},
token_update_params.TokenUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[Token]]._unwrapper,
),
cast_to=cast(Type[Optional[Token]], ResultWrapper[Token]),
)
def list(
self,
*,
account_id: str,
direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN,
page: float | NotGiven = NOT_GIVEN,
per_page: float | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncV4PagePaginationArray[Token]:
"""
List all Account Owned API tokens created for this account.
Args:
account_id: Account identifier tag.
direction: Direction to order results.
page: Page number of paginated results.
per_page: Maximum number of results per page.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/tokens",
page=SyncV4PagePaginationArray[Token],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
query=maybe_transform(
{
"direction": direction,
"page": page,
"per_page": per_page,
},
token_list_params.TokenListParams,
),
),
model=Token,
)
def delete(
self,
token_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[TokenDeleteResponse]:
"""
Destroy an Account Owned API token.
Args:
account_id: Account identifier tag.
token_id: Token identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not token_id:
raise ValueError(f"Expected a non-empty value for `token_id` but received {token_id!r}")
return self._delete(
f"/accounts/{account_id}/tokens/{token_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[TokenDeleteResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[TokenDeleteResponse]], ResultWrapper[TokenDeleteResponse]),
)
def get(
self,
token_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Token]:
"""
Get information about a specific Account Owned API token.
Args:
account_id: Account identifier tag.
token_id: Token identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not token_id:
raise ValueError(f"Expected a non-empty value for `token_id` but received {token_id!r}")
return self._get(
f"/accounts/{account_id}/tokens/{token_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[Token]]._unwrapper,
),
cast_to=cast(Type[Optional[Token]], ResultWrapper[Token]),
)
def verify(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[TokenVerifyResponse]:
"""
Test whether a token works.
Args:
account_id: Account identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get(
f"/accounts/{account_id}/tokens/verify",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[TokenVerifyResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[TokenVerifyResponse]], ResultWrapper[TokenVerifyResponse]),
)
class AsyncTokensResource(AsyncAPIResource):
@cached_property
def permission_groups(self) -> AsyncPermissionGroupsResource:
return AsyncPermissionGroupsResource(self._client)
@cached_property
def value(self) -> AsyncValueResource:
return AsyncValueResource(self._client)
@cached_property
def with_raw_response(self) -> AsyncTokensResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncTokensResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncTokensResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncTokensResourceWithStreamingResponse(self)
async def create(
self,
*,
account_id: str,
name: str,
policies: Iterable[TokenPolicy],
condition: token_create_params.Condition | NotGiven = NOT_GIVEN,
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,
not_before: Union[str, datetime] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[TokenCreateResponse]:
"""
Create a new Account Owned API token.
Args:
account_id: Account identifier tag.
name: Token name.
policies: List of access policies assigned to the token.
expires_on: The expiration time on or after which the JWT MUST NOT be accepted for
processing.
not_before: The time before which the token MUST NOT be accepted for processing.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return await self._post(
f"/accounts/{account_id}/tokens",
body=await async_maybe_transform(
{
"name": name,
"policies": policies,
"condition": condition,
"expires_on": expires_on,
"not_before": not_before,
},
token_create_params.TokenCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[TokenCreateResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[TokenCreateResponse]], ResultWrapper[TokenCreateResponse]),
)
async def update(
self,
token_id: str,
*,
account_id: str,
name: str,
policies: Iterable[TokenPolicy],
status: Literal["active", "disabled", "expired"],
condition: token_update_params.Condition | NotGiven = NOT_GIVEN,
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,
not_before: Union[str, datetime] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Token]:
"""
Update an existing token.
Args:
account_id: Account identifier tag.
token_id: Token identifier tag.
name: Token name.
policies: List of access policies assigned to the token.
status: Status of the token.
expires_on: The expiration time on or after which the JWT MUST NOT be accepted for
processing.
not_before: The time before which the token MUST NOT be accepted for processing.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not token_id:
raise ValueError(f"Expected a non-empty value for `token_id` but received {token_id!r}")
return await self._put(
f"/accounts/{account_id}/tokens/{token_id}",
body=await async_maybe_transform(
{
"name": name,
"policies": policies,
"status": status,
"condition": condition,
"expires_on": expires_on,
"not_before": not_before,
},
token_update_params.TokenUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[Token]]._unwrapper,
),
cast_to=cast(Type[Optional[Token]], ResultWrapper[Token]),
)
def list(
self,
*,
account_id: str,
direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN,
page: float | NotGiven = NOT_GIVEN,
per_page: float | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[Token, AsyncV4PagePaginationArray[Token]]:
"""
List all Account Owned API tokens created for this account.
Args:
account_id: Account identifier tag.
direction: Direction to order results.
page: Page number of paginated results.
per_page: Maximum number of results per page.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/tokens",
page=AsyncV4PagePaginationArray[Token],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
query=maybe_transform(
{
"direction": direction,
"page": page,
"per_page": per_page,
},
token_list_params.TokenListParams,
),
),
model=Token,
)
async def delete(
self,
token_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[TokenDeleteResponse]:
"""
Destroy an Account Owned API token.
Args:
account_id: Account identifier tag.
token_id: Token identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not token_id:
raise ValueError(f"Expected a non-empty value for `token_id` but received {token_id!r}")
return await self._delete(
f"/accounts/{account_id}/tokens/{token_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[TokenDeleteResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[TokenDeleteResponse]], ResultWrapper[TokenDeleteResponse]),
)
async def get(
self,
token_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[Token]:
"""
Get information about a specific Account Owned API token.
Args:
account_id: Account identifier tag.
token_id: Token identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not token_id:
raise ValueError(f"Expected a non-empty value for `token_id` but received {token_id!r}")
return await self._get(
f"/accounts/{account_id}/tokens/{token_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[Token]]._unwrapper,
),
cast_to=cast(Type[Optional[Token]], ResultWrapper[Token]),
)
async def verify(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[TokenVerifyResponse]:
"""
Test whether a token works.
Args:
account_id: Account identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return await self._get(
f"/accounts/{account_id}/tokens/verify",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[TokenVerifyResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[TokenVerifyResponse]], ResultWrapper[TokenVerifyResponse]),
)
class TokensResourceWithRawResponse:
def __init__(self, tokens: TokensResource) -> None:
self._tokens = tokens
self.create = to_raw_response_wrapper(
tokens.create,
)
self.update = to_raw_response_wrapper(
tokens.update,
)
self.list = to_raw_response_wrapper(
tokens.list,
)
self.delete = to_raw_response_wrapper(
tokens.delete,
)
self.get = to_raw_response_wrapper(
tokens.get,
)
self.verify = to_raw_response_wrapper(
tokens.verify,
)
@cached_property
def permission_groups(self) -> PermissionGroupsResourceWithRawResponse:
return PermissionGroupsResourceWithRawResponse(self._tokens.permission_groups)
@cached_property
def value(self) -> ValueResourceWithRawResponse:
return ValueResourceWithRawResponse(self._tokens.value)
class AsyncTokensResourceWithRawResponse:
def __init__(self, tokens: AsyncTokensResource) -> None:
self._tokens = tokens
self.create = async_to_raw_response_wrapper(
tokens.create,
)
self.update = async_to_raw_response_wrapper(
tokens.update,
)
self.list = async_to_raw_response_wrapper(
tokens.list,
)
self.delete = async_to_raw_response_wrapper(
tokens.delete,
)
self.get = async_to_raw_response_wrapper(
tokens.get,
)
self.verify = async_to_raw_response_wrapper(
tokens.verify,
)
@cached_property
def permission_groups(self) -> AsyncPermissionGroupsResourceWithRawResponse:
return AsyncPermissionGroupsResourceWithRawResponse(self._tokens.permission_groups)
@cached_property
def value(self) -> AsyncValueResourceWithRawResponse:
return AsyncValueResourceWithRawResponse(self._tokens.value)
class TokensResourceWithStreamingResponse:
def __init__(self, tokens: TokensResource) -> None:
self._tokens = tokens
self.create = to_streamed_response_wrapper(
tokens.create,
)
self.update = to_streamed_response_wrapper(
tokens.update,
)
self.list = to_streamed_response_wrapper(
tokens.list,
)
self.delete = to_streamed_response_wrapper(
tokens.delete,
)
self.get = to_streamed_response_wrapper(
tokens.get,
)
self.verify = to_streamed_response_wrapper(
tokens.verify,
)
@cached_property
def permission_groups(self) -> PermissionGroupsResourceWithStreamingResponse:
return PermissionGroupsResourceWithStreamingResponse(self._tokens.permission_groups)
@cached_property
def value(self) -> ValueResourceWithStreamingResponse:
return ValueResourceWithStreamingResponse(self._tokens.value)
class AsyncTokensResourceWithStreamingResponse:
def __init__(self, tokens: AsyncTokensResource) -> None:
self._tokens = tokens
self.create = async_to_streamed_response_wrapper(
tokens.create,
)
self.update = async_to_streamed_response_wrapper(
tokens.update,
)
self.list = async_to_streamed_response_wrapper(
tokens.list,
)
self.delete = async_to_streamed_response_wrapper(
tokens.delete,
)
self.get = async_to_streamed_response_wrapper(
tokens.get,
)
self.verify = async_to_streamed_response_wrapper(
tokens.verify,
)
@cached_property
def permission_groups(self) -> AsyncPermissionGroupsResourceWithStreamingResponse:
return AsyncPermissionGroupsResourceWithStreamingResponse(self._tokens.permission_groups)
@cached_property
def value(self) -> AsyncValueResourceWithStreamingResponse:
return AsyncValueResourceWithStreamingResponse(self._tokens.value)

View file

@ -0,0 +1,194 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Type, Optional, cast
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ...._base_client import make_request_options
from ....types.accounts.tokens import value_update_params
from ....types.shared.token_value import TokenValue
__all__ = ["ValueResource", "AsyncValueResource"]
class ValueResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> ValueResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return ValueResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> ValueResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return ValueResourceWithStreamingResponse(self)
def update(
self,
token_id: str,
*,
account_id: str,
body: object,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> str:
"""
Roll the Account Owned API token secret.
Args:
account_id: Account identifier tag.
token_id: Token identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not token_id:
raise ValueError(f"Expected a non-empty value for `token_id` but received {token_id!r}")
return self._put(
f"/accounts/{account_id}/tokens/{token_id}/value",
body=maybe_transform(body, value_update_params.ValueUpdateParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[TokenValue]]._unwrapper,
),
cast_to=cast(Type[str], ResultWrapper[str]),
)
class AsyncValueResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncValueResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncValueResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncValueResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncValueResourceWithStreamingResponse(self)
async def update(
self,
token_id: str,
*,
account_id: str,
body: object,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> str:
"""
Roll the Account Owned API token secret.
Args:
account_id: Account identifier tag.
token_id: Token identifier tag.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not token_id:
raise ValueError(f"Expected a non-empty value for `token_id` but received {token_id!r}")
return await self._put(
f"/accounts/{account_id}/tokens/{token_id}/value",
body=await async_maybe_transform(body, value_update_params.ValueUpdateParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[TokenValue]]._unwrapper,
),
cast_to=cast(Type[str], ResultWrapper[str]),
)
class ValueResourceWithRawResponse:
def __init__(self, value: ValueResource) -> None:
self._value = value
self.update = to_raw_response_wrapper(
value.update,
)
class AsyncValueResourceWithRawResponse:
def __init__(self, value: AsyncValueResource) -> None:
self._value = value
self.update = async_to_raw_response_wrapper(
value.update,
)
class ValueResourceWithStreamingResponse:
def __init__(self, value: ValueResource) -> None:
self._value = value
self.update = to_streamed_response_wrapper(
value.update,
)
class AsyncValueResourceWithStreamingResponse:
def __init__(self, value: AsyncValueResource) -> None:
self._value = value
self.update = async_to_streamed_response_wrapper(
value.update,
)

View file

@ -1,33 +1,33 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .acm import (
ACM,
AsyncACM,
ACMWithRawResponse,
AsyncACMWithRawResponse,
ACMWithStreamingResponse,
AsyncACMWithStreamingResponse,
ACMResource,
AsyncACMResource,
ACMResourceWithRawResponse,
AsyncACMResourceWithRawResponse,
ACMResourceWithStreamingResponse,
AsyncACMResourceWithStreamingResponse,
)
from .total_tls import (
TotalTLS,
AsyncTotalTLS,
TotalTLSWithRawResponse,
AsyncTotalTLSWithRawResponse,
TotalTLSWithStreamingResponse,
AsyncTotalTLSWithStreamingResponse,
TotalTLSResource,
AsyncTotalTLSResource,
TotalTLSResourceWithRawResponse,
AsyncTotalTLSResourceWithRawResponse,
TotalTLSResourceWithStreamingResponse,
AsyncTotalTLSResourceWithStreamingResponse,
)
__all__ = [
"TotalTLS",
"AsyncTotalTLS",
"TotalTLSWithRawResponse",
"AsyncTotalTLSWithRawResponse",
"TotalTLSWithStreamingResponse",
"AsyncTotalTLSWithStreamingResponse",
"ACM",
"AsyncACM",
"ACMWithRawResponse",
"AsyncACMWithRawResponse",
"ACMWithStreamingResponse",
"AsyncACMWithStreamingResponse",
"TotalTLSResource",
"AsyncTotalTLSResource",
"TotalTLSResourceWithRawResponse",
"AsyncTotalTLSResourceWithRawResponse",
"TotalTLSResourceWithStreamingResponse",
"AsyncTotalTLSResourceWithStreamingResponse",
"ACMResource",
"AsyncACMResource",
"ACMResourceWithRawResponse",
"AsyncACMResourceWithRawResponse",
"ACMResourceWithStreamingResponse",
"AsyncACMResourceWithStreamingResponse",
]

View file

@ -4,77 +4,99 @@ from __future__ import annotations
from ..._compat import cached_property
from .total_tls import (
TotalTLS,
AsyncTotalTLS,
TotalTLSWithRawResponse,
AsyncTotalTLSWithRawResponse,
TotalTLSWithStreamingResponse,
AsyncTotalTLSWithStreamingResponse,
TotalTLSResource,
AsyncTotalTLSResource,
TotalTLSResourceWithRawResponse,
AsyncTotalTLSResourceWithRawResponse,
TotalTLSResourceWithStreamingResponse,
AsyncTotalTLSResourceWithStreamingResponse,
)
from ..._resource import SyncAPIResource, AsyncAPIResource
__all__ = ["ACM", "AsyncACM"]
__all__ = ["ACMResource", "AsyncACMResource"]
class ACM(SyncAPIResource):
class ACMResource(SyncAPIResource):
@cached_property
def total_tls(self) -> TotalTLS:
return TotalTLS(self._client)
def total_tls(self) -> TotalTLSResource:
return TotalTLSResource(self._client)
@cached_property
def with_raw_response(self) -> ACMWithRawResponse:
return ACMWithRawResponse(self)
def with_raw_response(self) -> ACMResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return ACMResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> ACMWithStreamingResponse:
return ACMWithStreamingResponse(self)
def with_streaming_response(self) -> ACMResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return ACMResourceWithStreamingResponse(self)
class AsyncACM(AsyncAPIResource):
class AsyncACMResource(AsyncAPIResource):
@cached_property
def total_tls(self) -> AsyncTotalTLS:
return AsyncTotalTLS(self._client)
def total_tls(self) -> AsyncTotalTLSResource:
return AsyncTotalTLSResource(self._client)
@cached_property
def with_raw_response(self) -> AsyncACMWithRawResponse:
return AsyncACMWithRawResponse(self)
def with_raw_response(self) -> AsyncACMResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncACMResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncACMWithStreamingResponse:
return AsyncACMWithStreamingResponse(self)
def with_streaming_response(self) -> AsyncACMResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncACMResourceWithStreamingResponse(self)
class ACMWithRawResponse:
def __init__(self, acm: ACM) -> None:
class ACMResourceWithRawResponse:
def __init__(self, acm: ACMResource) -> None:
self._acm = acm
@cached_property
def total_tls(self) -> TotalTLSWithRawResponse:
return TotalTLSWithRawResponse(self._acm.total_tls)
def total_tls(self) -> TotalTLSResourceWithRawResponse:
return TotalTLSResourceWithRawResponse(self._acm.total_tls)
class AsyncACMWithRawResponse:
def __init__(self, acm: AsyncACM) -> None:
class AsyncACMResourceWithRawResponse:
def __init__(self, acm: AsyncACMResource) -> None:
self._acm = acm
@cached_property
def total_tls(self) -> AsyncTotalTLSWithRawResponse:
return AsyncTotalTLSWithRawResponse(self._acm.total_tls)
def total_tls(self) -> AsyncTotalTLSResourceWithRawResponse:
return AsyncTotalTLSResourceWithRawResponse(self._acm.total_tls)
class ACMWithStreamingResponse:
def __init__(self, acm: ACM) -> None:
class ACMResourceWithStreamingResponse:
def __init__(self, acm: ACMResource) -> None:
self._acm = acm
@cached_property
def total_tls(self) -> TotalTLSWithStreamingResponse:
return TotalTLSWithStreamingResponse(self._acm.total_tls)
def total_tls(self) -> TotalTLSResourceWithStreamingResponse:
return TotalTLSResourceWithStreamingResponse(self._acm.total_tls)
class AsyncACMWithStreamingResponse:
def __init__(self, acm: AsyncACM) -> None:
class AsyncACMResourceWithStreamingResponse:
def __init__(self, acm: AsyncACMResource) -> None:
self._acm = acm
@cached_property
def total_tls(self) -> AsyncTotalTLSWithStreamingResponse:
return AsyncTotalTLSWithStreamingResponse(self._acm.total_tls)
def total_tls(self) -> AsyncTotalTLSResourceWithStreamingResponse:
return AsyncTotalTLSResourceWithStreamingResponse(self._acm.total_tls)

View file

@ -2,16 +2,12 @@
from __future__ import annotations
from typing import Type, cast
from typing_extensions import Literal
from typing import Type, Optional, cast
import httpx
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import (
maybe_transform,
async_maybe_transform,
)
from ..._utils import maybe_transform, async_maybe_transform
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
@ -21,41 +17,53 @@ from ..._response import (
async_to_streamed_response_wrapper,
)
from ..._wrappers import ResultWrapper
from ...types.acm import TotalTLSGetResponse, TotalTLSCreateResponse, total_tls_create_params
from ..._base_client import (
make_request_options,
)
from ...types.acm import CertificateAuthority, total_tls_create_params
from ..._base_client import make_request_options
from ...types.acm.certificate_authority import CertificateAuthority
from ...types.acm.total_tls_get_response import TotalTLSGetResponse
from ...types.acm.total_tls_create_response import TotalTLSCreateResponse
__all__ = ["TotalTLS", "AsyncTotalTLS"]
__all__ = ["TotalTLSResource", "AsyncTotalTLSResource"]
class TotalTLS(SyncAPIResource):
class TotalTLSResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> TotalTLSWithRawResponse:
return TotalTLSWithRawResponse(self)
def with_raw_response(self) -> TotalTLSResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return TotalTLSResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> TotalTLSWithStreamingResponse:
return TotalTLSWithStreamingResponse(self)
def with_streaming_response(self) -> TotalTLSResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return TotalTLSResourceWithStreamingResponse(self)
def create(
self,
*,
zone_id: str,
enabled: bool,
certificate_authority: Literal["google", "lets_encrypt"] | NotGiven = NOT_GIVEN,
certificate_authority: CertificateAuthority | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> TotalTLSCreateResponse:
) -> Optional[TotalTLSCreateResponse]:
"""
Set Total TLS Settings or disable the feature for a Zone.
Args:
zone_id: Identifier
zone_id: Identifier.
enabled: If enabled, Total TLS will order a hostname specific TLS certificate for any
proxied A, AAAA, or CNAME record in your zone.
@ -86,9 +94,9 @@ class TotalTLS(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[TotalTLSCreateResponse]]._unwrapper,
),
cast_to=cast(Type[TotalTLSCreateResponse], ResultWrapper[TotalTLSCreateResponse]),
cast_to=cast(Type[Optional[TotalTLSCreateResponse]], ResultWrapper[TotalTLSCreateResponse]),
)
def get(
@ -101,12 +109,12 @@ class TotalTLS(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> TotalTLSGetResponse:
) -> Optional[TotalTLSGetResponse]:
"""
Get Total TLS Settings for a Zone.
Args:
zone_id: Identifier
zone_id: Identifier.
extra_headers: Send extra headers
@ -125,39 +133,50 @@ class TotalTLS(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[TotalTLSGetResponse]]._unwrapper,
),
cast_to=cast(Type[TotalTLSGetResponse], ResultWrapper[TotalTLSGetResponse]),
cast_to=cast(Type[Optional[TotalTLSGetResponse]], ResultWrapper[TotalTLSGetResponse]),
)
class AsyncTotalTLS(AsyncAPIResource):
class AsyncTotalTLSResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncTotalTLSWithRawResponse:
return AsyncTotalTLSWithRawResponse(self)
def with_raw_response(self) -> AsyncTotalTLSResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncTotalTLSResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncTotalTLSWithStreamingResponse:
return AsyncTotalTLSWithStreamingResponse(self)
def with_streaming_response(self) -> AsyncTotalTLSResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncTotalTLSResourceWithStreamingResponse(self)
async def create(
self,
*,
zone_id: str,
enabled: bool,
certificate_authority: Literal["google", "lets_encrypt"] | NotGiven = NOT_GIVEN,
certificate_authority: CertificateAuthority | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> TotalTLSCreateResponse:
) -> Optional[TotalTLSCreateResponse]:
"""
Set Total TLS Settings or disable the feature for a Zone.
Args:
zone_id: Identifier
zone_id: Identifier.
enabled: If enabled, Total TLS will order a hostname specific TLS certificate for any
proxied A, AAAA, or CNAME record in your zone.
@ -188,9 +207,9 @@ class AsyncTotalTLS(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[TotalTLSCreateResponse]]._unwrapper,
),
cast_to=cast(Type[TotalTLSCreateResponse], ResultWrapper[TotalTLSCreateResponse]),
cast_to=cast(Type[Optional[TotalTLSCreateResponse]], ResultWrapper[TotalTLSCreateResponse]),
)
async def get(
@ -203,12 +222,12 @@ class AsyncTotalTLS(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> TotalTLSGetResponse:
) -> Optional[TotalTLSGetResponse]:
"""
Get Total TLS Settings for a Zone.
Args:
zone_id: Identifier
zone_id: Identifier.
extra_headers: Send extra headers
@ -227,14 +246,14 @@ class AsyncTotalTLS(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[TotalTLSGetResponse]]._unwrapper,
),
cast_to=cast(Type[TotalTLSGetResponse], ResultWrapper[TotalTLSGetResponse]),
cast_to=cast(Type[Optional[TotalTLSGetResponse]], ResultWrapper[TotalTLSGetResponse]),
)
class TotalTLSWithRawResponse:
def __init__(self, total_tls: TotalTLS) -> None:
class TotalTLSResourceWithRawResponse:
def __init__(self, total_tls: TotalTLSResource) -> None:
self._total_tls = total_tls
self.create = to_raw_response_wrapper(
@ -245,8 +264,8 @@ class TotalTLSWithRawResponse:
)
class AsyncTotalTLSWithRawResponse:
def __init__(self, total_tls: AsyncTotalTLS) -> None:
class AsyncTotalTLSResourceWithRawResponse:
def __init__(self, total_tls: AsyncTotalTLSResource) -> None:
self._total_tls = total_tls
self.create = async_to_raw_response_wrapper(
@ -257,8 +276,8 @@ class AsyncTotalTLSWithRawResponse:
)
class TotalTLSWithStreamingResponse:
def __init__(self, total_tls: TotalTLS) -> None:
class TotalTLSResourceWithStreamingResponse:
def __init__(self, total_tls: TotalTLSResource) -> None:
self._total_tls = total_tls
self.create = to_streamed_response_wrapper(
@ -269,8 +288,8 @@ class TotalTLSWithStreamingResponse:
)
class AsyncTotalTLSWithStreamingResponse:
def __init__(self, total_tls: AsyncTotalTLS) -> None:
class AsyncTotalTLSResourceWithStreamingResponse:
def __init__(self, total_tls: AsyncTotalTLSResource) -> None:
self._total_tls = total_tls
self.create = async_to_streamed_response_wrapper(

View file

@ -1,75 +1,89 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .prefixes import (
Prefixes,
AsyncPrefixes,
PrefixesWithRawResponse,
AsyncPrefixesWithRawResponse,
PrefixesWithStreamingResponse,
AsyncPrefixesWithStreamingResponse,
PrefixesResource,
AsyncPrefixesResource,
PrefixesResourceWithRawResponse,
AsyncPrefixesResourceWithRawResponse,
PrefixesResourceWithStreamingResponse,
AsyncPrefixesResourceWithStreamingResponse,
)
from .services import (
Services,
AsyncServices,
ServicesWithRawResponse,
AsyncServicesWithRawResponse,
ServicesWithStreamingResponse,
AsyncServicesWithStreamingResponse,
ServicesResource,
AsyncServicesResource,
ServicesResourceWithRawResponse,
AsyncServicesResourceWithRawResponse,
ServicesResourceWithStreamingResponse,
AsyncServicesResourceWithStreamingResponse,
)
from .addressing import (
Addressing,
AsyncAddressing,
AddressingWithRawResponse,
AsyncAddressingWithRawResponse,
AddressingWithStreamingResponse,
AsyncAddressingWithStreamingResponse,
AddressingResource,
AsyncAddressingResource,
AddressingResourceWithRawResponse,
AsyncAddressingResourceWithRawResponse,
AddressingResourceWithStreamingResponse,
AsyncAddressingResourceWithStreamingResponse,
)
from .address_maps import (
AddressMaps,
AsyncAddressMaps,
AddressMapsWithRawResponse,
AsyncAddressMapsWithRawResponse,
AddressMapsWithStreamingResponse,
AsyncAddressMapsWithStreamingResponse,
AddressMapsResource,
AsyncAddressMapsResource,
AddressMapsResourceWithRawResponse,
AsyncAddressMapsResourceWithRawResponse,
AddressMapsResourceWithStreamingResponse,
AsyncAddressMapsResourceWithStreamingResponse,
)
from .loa_documents import (
LOADocuments,
AsyncLOADocuments,
LOADocumentsWithRawResponse,
AsyncLOADocumentsWithRawResponse,
LOADocumentsWithStreamingResponse,
AsyncLOADocumentsWithStreamingResponse,
LOADocumentsResource,
AsyncLOADocumentsResource,
LOADocumentsResourceWithRawResponse,
AsyncLOADocumentsResourceWithRawResponse,
LOADocumentsResourceWithStreamingResponse,
AsyncLOADocumentsResourceWithStreamingResponse,
)
from .regional_hostnames import (
RegionalHostnamesResource,
AsyncRegionalHostnamesResource,
RegionalHostnamesResourceWithRawResponse,
AsyncRegionalHostnamesResourceWithRawResponse,
RegionalHostnamesResourceWithStreamingResponse,
AsyncRegionalHostnamesResourceWithStreamingResponse,
)
__all__ = [
"Services",
"AsyncServices",
"ServicesWithRawResponse",
"AsyncServicesWithRawResponse",
"ServicesWithStreamingResponse",
"AsyncServicesWithStreamingResponse",
"AddressMaps",
"AsyncAddressMaps",
"AddressMapsWithRawResponse",
"AsyncAddressMapsWithRawResponse",
"AddressMapsWithStreamingResponse",
"AsyncAddressMapsWithStreamingResponse",
"LOADocuments",
"AsyncLOADocuments",
"LOADocumentsWithRawResponse",
"AsyncLOADocumentsWithRawResponse",
"LOADocumentsWithStreamingResponse",
"AsyncLOADocumentsWithStreamingResponse",
"Prefixes",
"AsyncPrefixes",
"PrefixesWithRawResponse",
"AsyncPrefixesWithRawResponse",
"PrefixesWithStreamingResponse",
"AsyncPrefixesWithStreamingResponse",
"Addressing",
"AsyncAddressing",
"AddressingWithRawResponse",
"AsyncAddressingWithRawResponse",
"AddressingWithStreamingResponse",
"AsyncAddressingWithStreamingResponse",
"RegionalHostnamesResource",
"AsyncRegionalHostnamesResource",
"RegionalHostnamesResourceWithRawResponse",
"AsyncRegionalHostnamesResourceWithRawResponse",
"RegionalHostnamesResourceWithStreamingResponse",
"AsyncRegionalHostnamesResourceWithStreamingResponse",
"ServicesResource",
"AsyncServicesResource",
"ServicesResourceWithRawResponse",
"AsyncServicesResourceWithRawResponse",
"ServicesResourceWithStreamingResponse",
"AsyncServicesResourceWithStreamingResponse",
"AddressMapsResource",
"AsyncAddressMapsResource",
"AddressMapsResourceWithRawResponse",
"AsyncAddressMapsResourceWithRawResponse",
"AddressMapsResourceWithStreamingResponse",
"AsyncAddressMapsResourceWithStreamingResponse",
"LOADocumentsResource",
"AsyncLOADocumentsResource",
"LOADocumentsResourceWithRawResponse",
"AsyncLOADocumentsResourceWithRawResponse",
"LOADocumentsResourceWithStreamingResponse",
"AsyncLOADocumentsResourceWithStreamingResponse",
"PrefixesResource",
"AsyncPrefixesResource",
"PrefixesResourceWithRawResponse",
"AsyncPrefixesResourceWithRawResponse",
"PrefixesResourceWithStreamingResponse",
"AsyncPrefixesResourceWithStreamingResponse",
"AddressingResource",
"AsyncAddressingResource",
"AddressingResourceWithRawResponse",
"AsyncAddressingResourceWithRawResponse",
"AddressingResourceWithStreamingResponse",
"AsyncAddressingResourceWithStreamingResponse",
]

View file

@ -1,61 +1,61 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .ips import (
IPs,
AsyncIPs,
IPsWithRawResponse,
AsyncIPsWithRawResponse,
IPsWithStreamingResponse,
AsyncIPsWithStreamingResponse,
IPsResource,
AsyncIPsResource,
IPsResourceWithRawResponse,
AsyncIPsResourceWithRawResponse,
IPsResourceWithStreamingResponse,
AsyncIPsResourceWithStreamingResponse,
)
from .zones import (
Zones,
AsyncZones,
ZonesWithRawResponse,
AsyncZonesWithRawResponse,
ZonesWithStreamingResponse,
AsyncZonesWithStreamingResponse,
ZonesResource,
AsyncZonesResource,
ZonesResourceWithRawResponse,
AsyncZonesResourceWithRawResponse,
ZonesResourceWithStreamingResponse,
AsyncZonesResourceWithStreamingResponse,
)
from .accounts import (
Accounts,
AsyncAccounts,
AccountsWithRawResponse,
AsyncAccountsWithRawResponse,
AccountsWithStreamingResponse,
AsyncAccountsWithStreamingResponse,
AccountsResource,
AsyncAccountsResource,
AccountsResourceWithRawResponse,
AsyncAccountsResourceWithRawResponse,
AccountsResourceWithStreamingResponse,
AsyncAccountsResourceWithStreamingResponse,
)
from .address_maps import (
AddressMaps,
AsyncAddressMaps,
AddressMapsWithRawResponse,
AsyncAddressMapsWithRawResponse,
AddressMapsWithStreamingResponse,
AsyncAddressMapsWithStreamingResponse,
AddressMapsResource,
AsyncAddressMapsResource,
AddressMapsResourceWithRawResponse,
AsyncAddressMapsResourceWithRawResponse,
AddressMapsResourceWithStreamingResponse,
AsyncAddressMapsResourceWithStreamingResponse,
)
__all__ = [
"Accounts",
"AsyncAccounts",
"AccountsWithRawResponse",
"AsyncAccountsWithRawResponse",
"AccountsWithStreamingResponse",
"AsyncAccountsWithStreamingResponse",
"IPs",
"AsyncIPs",
"IPsWithRawResponse",
"AsyncIPsWithRawResponse",
"IPsWithStreamingResponse",
"AsyncIPsWithStreamingResponse",
"Zones",
"AsyncZones",
"ZonesWithRawResponse",
"AsyncZonesWithRawResponse",
"ZonesWithStreamingResponse",
"AsyncZonesWithStreamingResponse",
"AddressMaps",
"AsyncAddressMaps",
"AddressMapsWithRawResponse",
"AsyncAddressMapsWithRawResponse",
"AddressMapsWithStreamingResponse",
"AsyncAddressMapsWithStreamingResponse",
"AccountsResource",
"AsyncAccountsResource",
"AccountsResourceWithRawResponse",
"AsyncAccountsResourceWithRawResponse",
"AccountsResourceWithStreamingResponse",
"AsyncAccountsResourceWithStreamingResponse",
"IPsResource",
"AsyncIPsResource",
"IPsResourceWithRawResponse",
"AsyncIPsResourceWithRawResponse",
"IPsResourceWithStreamingResponse",
"AsyncIPsResourceWithStreamingResponse",
"ZonesResource",
"AsyncZonesResource",
"ZonesResourceWithRawResponse",
"AsyncZonesResourceWithRawResponse",
"ZonesResourceWithStreamingResponse",
"AsyncZonesResourceWithStreamingResponse",
"AddressMapsResource",
"AsyncAddressMapsResource",
"AddressMapsResourceWithRawResponse",
"AsyncAddressMapsResourceWithRawResponse",
"AddressMapsResourceWithStreamingResponse",
"AsyncAddressMapsResourceWithStreamingResponse",
]

View file

@ -2,11 +2,10 @@
from __future__ import annotations
from typing import Any, Optional, cast
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
@ -15,43 +14,54 @@ from ...._response import (
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ...._base_client import (
make_request_options,
)
from ....types.addressing.address_maps import AccountDeleteResponse, AccountUpdateResponse
from ...._base_client import make_request_options
from ....types.addressing.address_maps import account_update_params
from ....types.addressing.address_maps.account_delete_response import AccountDeleteResponse
from ....types.addressing.address_maps.account_update_response import AccountUpdateResponse
__all__ = ["Accounts", "AsyncAccounts"]
__all__ = ["AccountsResource", "AsyncAccountsResource"]
class Accounts(SyncAPIResource):
class AccountsResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> AccountsWithRawResponse:
return AccountsWithRawResponse(self)
def with_raw_response(self) -> AccountsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AccountsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AccountsWithStreamingResponse:
return AccountsWithStreamingResponse(self)
def with_streaming_response(self) -> AccountsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AccountsResourceWithStreamingResponse(self)
def update(
self,
address_map_id: str,
*,
account_id: str,
body: object,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AccountUpdateResponse]:
) -> AccountUpdateResponse:
"""
Add an account as a member of a particular address map.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -65,21 +75,13 @@ class Accounts(SyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not address_map_id:
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
return cast(
Optional[AccountUpdateResponse],
self._put(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[AccountUpdateResponse]
), # Union types cannot be passed in as arguments in the type system
return self._put(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/accounts/{account_id}",
body=maybe_transform(body, account_update_params.AccountUpdateParams),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=AccountUpdateResponse,
)
def delete(
@ -93,14 +95,14 @@ class Accounts(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AccountDeleteResponse]:
) -> AccountDeleteResponse:
"""
Remove an account as a member of a particular address map.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -114,52 +116,55 @@ class Accounts(SyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not address_map_id:
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
return cast(
Optional[AccountDeleteResponse],
self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[AccountDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
return self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=AccountDeleteResponse,
)
class AsyncAccounts(AsyncAPIResource):
class AsyncAccountsResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncAccountsWithRawResponse:
return AsyncAccountsWithRawResponse(self)
def with_raw_response(self) -> AsyncAccountsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncAccountsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncAccountsWithStreamingResponse:
return AsyncAccountsWithStreamingResponse(self)
def with_streaming_response(self) -> AsyncAccountsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncAccountsResourceWithStreamingResponse(self)
async def update(
self,
address_map_id: str,
*,
account_id: str,
body: object,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AccountUpdateResponse]:
) -> AccountUpdateResponse:
"""
Add an account as a member of a particular address map.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -173,21 +178,13 @@ class AsyncAccounts(AsyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not address_map_id:
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
return cast(
Optional[AccountUpdateResponse],
await self._put(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[AccountUpdateResponse]
), # Union types cannot be passed in as arguments in the type system
return await self._put(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/accounts/{account_id}",
body=await async_maybe_transform(body, account_update_params.AccountUpdateParams),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=AccountUpdateResponse,
)
async def delete(
@ -201,14 +198,14 @@ class AsyncAccounts(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AccountDeleteResponse]:
) -> AccountDeleteResponse:
"""
Remove an account as a member of a particular address map.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -222,26 +219,17 @@ class AsyncAccounts(AsyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not address_map_id:
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
return cast(
Optional[AccountDeleteResponse],
await self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[AccountDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
return await self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/accounts/{account_id}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=AccountDeleteResponse,
)
class AccountsWithRawResponse:
def __init__(self, accounts: Accounts) -> None:
class AccountsResourceWithRawResponse:
def __init__(self, accounts: AccountsResource) -> None:
self._accounts = accounts
self.update = to_raw_response_wrapper(
@ -252,8 +240,8 @@ class AccountsWithRawResponse:
)
class AsyncAccountsWithRawResponse:
def __init__(self, accounts: AsyncAccounts) -> None:
class AsyncAccountsResourceWithRawResponse:
def __init__(self, accounts: AsyncAccountsResource) -> None:
self._accounts = accounts
self.update = async_to_raw_response_wrapper(
@ -264,8 +252,8 @@ class AsyncAccountsWithRawResponse:
)
class AccountsWithStreamingResponse:
def __init__(self, accounts: Accounts) -> None:
class AccountsResourceWithStreamingResponse:
def __init__(self, accounts: AccountsResource) -> None:
self._accounts = accounts
self.update = to_streamed_response_wrapper(
@ -276,8 +264,8 @@ class AccountsWithStreamingResponse:
)
class AsyncAccountsWithStreamingResponse:
def __init__(self, accounts: AsyncAccounts) -> None:
class AsyncAccountsResourceWithStreamingResponse:
def __init__(self, accounts: AsyncAccountsResource) -> None:
self._accounts = accounts
self.update = async_to_streamed_response_wrapper(

View file

@ -2,39 +2,36 @@
from __future__ import annotations
from typing import Any, Type, Optional, cast
from typing import List, Type, Iterable, Optional, cast
import httpx
from .ips import (
IPs,
AsyncIPs,
IPsWithRawResponse,
AsyncIPsWithRawResponse,
IPsWithStreamingResponse,
AsyncIPsWithStreamingResponse,
IPsResource,
AsyncIPsResource,
IPsResourceWithRawResponse,
AsyncIPsResourceWithRawResponse,
IPsResourceWithStreamingResponse,
AsyncIPsResourceWithStreamingResponse,
)
from .zones import (
Zones,
AsyncZones,
ZonesWithRawResponse,
AsyncZonesWithRawResponse,
ZonesWithStreamingResponse,
AsyncZonesWithStreamingResponse,
ZonesResource,
AsyncZonesResource,
ZonesResourceWithRawResponse,
AsyncZonesResourceWithRawResponse,
ZonesResourceWithStreamingResponse,
AsyncZonesResourceWithStreamingResponse,
)
from .accounts import (
Accounts,
AsyncAccounts,
AccountsWithRawResponse,
AsyncAccountsWithRawResponse,
AccountsWithStreamingResponse,
AsyncAccountsWithStreamingResponse,
AccountsResource,
AsyncAccountsResource,
AccountsResourceWithRawResponse,
AsyncAccountsResourceWithRawResponse,
AccountsResourceWithStreamingResponse,
AsyncAccountsResourceWithStreamingResponse,
)
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import (
maybe_transform,
async_maybe_transform,
)
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
@ -44,42 +41,48 @@ from ...._response import (
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ...._base_client import (
make_request_options,
)
from ....types.addressing import (
AddressingAddressMaps,
AddressMapGetResponse,
AddressMapListResponse,
AddressMapCreateResponse,
AddressMapDeleteResponse,
address_map_edit_params,
address_map_create_params,
)
from ....pagination import SyncSinglePage, AsyncSinglePage
from ...._base_client import AsyncPaginator, make_request_options
from ....types.addressing import address_map_edit_params, address_map_create_params
from ....types.addressing.address_map import AddressMap
from ....types.addressing.address_map_get_response import AddressMapGetResponse
from ....types.addressing.address_map_create_response import AddressMapCreateResponse
from ....types.addressing.address_map_delete_response import AddressMapDeleteResponse
__all__ = ["AddressMaps", "AsyncAddressMaps"]
__all__ = ["AddressMapsResource", "AsyncAddressMapsResource"]
class AddressMaps(SyncAPIResource):
class AddressMapsResource(SyncAPIResource):
@cached_property
def accounts(self) -> Accounts:
return Accounts(self._client)
def accounts(self) -> AccountsResource:
return AccountsResource(self._client)
@cached_property
def ips(self) -> IPs:
return IPs(self._client)
def ips(self) -> IPsResource:
return IPsResource(self._client)
@cached_property
def zones(self) -> Zones:
return Zones(self._client)
def zones(self) -> ZonesResource:
return ZonesResource(self._client)
@cached_property
def with_raw_response(self) -> AddressMapsWithRawResponse:
return AddressMapsWithRawResponse(self)
def with_raw_response(self) -> AddressMapsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AddressMapsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AddressMapsWithStreamingResponse:
return AddressMapsWithStreamingResponse(self)
def with_streaming_response(self) -> AddressMapsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AddressMapsResourceWithStreamingResponse(self)
def create(
self,
@ -87,18 +90,20 @@ class AddressMaps(SyncAPIResource):
account_id: str,
description: Optional[str] | NotGiven = NOT_GIVEN,
enabled: Optional[bool] | NotGiven = NOT_GIVEN,
ips: List[str] | NotGiven = NOT_GIVEN,
memberships: Iterable[address_map_create_params.Membership] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressMapCreateResponse:
) -> Optional[AddressMapCreateResponse]:
"""
Create a new address map under the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
description: An optional description field which may be used to describe the types of IPs or
zones on the map.
@ -106,6 +111,9 @@ class AddressMaps(SyncAPIResource):
enabled: Whether the Address Map is enabled or not. Cloudflare's DNS will not respond
with IP addresses on an Address Map until the map is enabled.
memberships: Zones and Accounts which will be assigned IPs on this Address Map. A zone
membership will take priority over an account membership.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@ -122,6 +130,8 @@ class AddressMaps(SyncAPIResource):
{
"description": description,
"enabled": enabled,
"ips": ips,
"memberships": memberships,
},
address_map_create_params.AddressMapCreateParams,
),
@ -130,9 +140,9 @@ class AddressMaps(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[AddressMapCreateResponse]]._unwrapper,
),
cast_to=cast(Type[AddressMapCreateResponse], ResultWrapper[AddressMapCreateResponse]),
cast_to=cast(Type[Optional[AddressMapCreateResponse]], ResultWrapper[AddressMapCreateResponse]),
)
def list(
@ -145,12 +155,12 @@ class AddressMaps(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AddressMapListResponse]:
) -> SyncSinglePage[AddressMap]:
"""
List all address maps owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
extra_headers: Send extra headers
@ -162,16 +172,13 @@ class AddressMaps(SyncAPIResource):
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get(
return self._get_api_list(
f"/accounts/{account_id}/addressing/address_maps",
page=SyncSinglePage[AddressMap],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=cast(Type[Optional[AddressMapListResponse]], ResultWrapper[AddressMapListResponse]),
model=AddressMap,
)
def delete(
@ -185,16 +192,16 @@ class AddressMaps(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AddressMapDeleteResponse]:
) -> AddressMapDeleteResponse:
"""Delete a particular address map owned by the account.
An Address Map must be
disabled before it can be deleted.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -208,21 +215,12 @@ class AddressMaps(SyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not address_map_id:
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
return cast(
Optional[AddressMapDeleteResponse],
self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[AddressMapDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
return self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=AddressMapDeleteResponse,
)
def edit(
@ -239,14 +237,14 @@ class AddressMaps(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingAddressMaps:
) -> Optional[AddressMap]:
"""
Modify properties of an address map owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
default_sni: If you have legacy TLS clients which do not send the TLS server name indicator,
then you can specify one default SNI on the map. If Cloudflare receives a TLS
@ -287,9 +285,9 @@ class AddressMaps(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[AddressMap]]._unwrapper,
),
cast_to=cast(Type[AddressingAddressMaps], ResultWrapper[AddressingAddressMaps]),
cast_to=cast(Type[Optional[AddressMap]], ResultWrapper[AddressMap]),
)
def get(
@ -303,14 +301,14 @@ class AddressMaps(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressMapGetResponse:
) -> Optional[AddressMapGetResponse]:
"""
Show a particular address map owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -331,32 +329,43 @@ class AddressMaps(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[AddressMapGetResponse]]._unwrapper,
),
cast_to=cast(Type[AddressMapGetResponse], ResultWrapper[AddressMapGetResponse]),
cast_to=cast(Type[Optional[AddressMapGetResponse]], ResultWrapper[AddressMapGetResponse]),
)
class AsyncAddressMaps(AsyncAPIResource):
class AsyncAddressMapsResource(AsyncAPIResource):
@cached_property
def accounts(self) -> AsyncAccounts:
return AsyncAccounts(self._client)
def accounts(self) -> AsyncAccountsResource:
return AsyncAccountsResource(self._client)
@cached_property
def ips(self) -> AsyncIPs:
return AsyncIPs(self._client)
def ips(self) -> AsyncIPsResource:
return AsyncIPsResource(self._client)
@cached_property
def zones(self) -> AsyncZones:
return AsyncZones(self._client)
def zones(self) -> AsyncZonesResource:
return AsyncZonesResource(self._client)
@cached_property
def with_raw_response(self) -> AsyncAddressMapsWithRawResponse:
return AsyncAddressMapsWithRawResponse(self)
def with_raw_response(self) -> AsyncAddressMapsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncAddressMapsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncAddressMapsWithStreamingResponse:
return AsyncAddressMapsWithStreamingResponse(self)
def with_streaming_response(self) -> AsyncAddressMapsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncAddressMapsResourceWithStreamingResponse(self)
async def create(
self,
@ -364,18 +373,20 @@ class AsyncAddressMaps(AsyncAPIResource):
account_id: str,
description: Optional[str] | NotGiven = NOT_GIVEN,
enabled: Optional[bool] | NotGiven = NOT_GIVEN,
ips: List[str] | NotGiven = NOT_GIVEN,
memberships: Iterable[address_map_create_params.Membership] | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressMapCreateResponse:
) -> Optional[AddressMapCreateResponse]:
"""
Create a new address map under the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
description: An optional description field which may be used to describe the types of IPs or
zones on the map.
@ -383,6 +394,9 @@ class AsyncAddressMaps(AsyncAPIResource):
enabled: Whether the Address Map is enabled or not. Cloudflare's DNS will not respond
with IP addresses on an Address Map until the map is enabled.
memberships: Zones and Accounts which will be assigned IPs on this Address Map. A zone
membership will take priority over an account membership.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@ -399,6 +413,8 @@ class AsyncAddressMaps(AsyncAPIResource):
{
"description": description,
"enabled": enabled,
"ips": ips,
"memberships": memberships,
},
address_map_create_params.AddressMapCreateParams,
),
@ -407,12 +423,12 @@ class AsyncAddressMaps(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[AddressMapCreateResponse]]._unwrapper,
),
cast_to=cast(Type[AddressMapCreateResponse], ResultWrapper[AddressMapCreateResponse]),
cast_to=cast(Type[Optional[AddressMapCreateResponse]], ResultWrapper[AddressMapCreateResponse]),
)
async def list(
def list(
self,
*,
account_id: str,
@ -422,12 +438,12 @@ class AsyncAddressMaps(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AddressMapListResponse]:
) -> AsyncPaginator[AddressMap, AsyncSinglePage[AddressMap]]:
"""
List all address maps owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
extra_headers: Send extra headers
@ -439,16 +455,13 @@ class AsyncAddressMaps(AsyncAPIResource):
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return await self._get(
return self._get_api_list(
f"/accounts/{account_id}/addressing/address_maps",
page=AsyncSinglePage[AddressMap],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=cast(Type[Optional[AddressMapListResponse]], ResultWrapper[AddressMapListResponse]),
model=AddressMap,
)
async def delete(
@ -462,16 +475,16 @@ class AsyncAddressMaps(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AddressMapDeleteResponse]:
) -> AddressMapDeleteResponse:
"""Delete a particular address map owned by the account.
An Address Map must be
disabled before it can be deleted.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -485,21 +498,12 @@ class AsyncAddressMaps(AsyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not address_map_id:
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
return cast(
Optional[AddressMapDeleteResponse],
await self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[AddressMapDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
return await self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=AddressMapDeleteResponse,
)
async def edit(
@ -516,14 +520,14 @@ class AsyncAddressMaps(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingAddressMaps:
) -> Optional[AddressMap]:
"""
Modify properties of an address map owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
default_sni: If you have legacy TLS clients which do not send the TLS server name indicator,
then you can specify one default SNI on the map. If Cloudflare receives a TLS
@ -564,9 +568,9 @@ class AsyncAddressMaps(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[AddressMap]]._unwrapper,
),
cast_to=cast(Type[AddressingAddressMaps], ResultWrapper[AddressingAddressMaps]),
cast_to=cast(Type[Optional[AddressMap]], ResultWrapper[AddressMap]),
)
async def get(
@ -580,14 +584,14 @@ class AsyncAddressMaps(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressMapGetResponse:
) -> Optional[AddressMapGetResponse]:
"""
Show a particular address map owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -608,14 +612,14 @@ class AsyncAddressMaps(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[AddressMapGetResponse]]._unwrapper,
),
cast_to=cast(Type[AddressMapGetResponse], ResultWrapper[AddressMapGetResponse]),
cast_to=cast(Type[Optional[AddressMapGetResponse]], ResultWrapper[AddressMapGetResponse]),
)
class AddressMapsWithRawResponse:
def __init__(self, address_maps: AddressMaps) -> None:
class AddressMapsResourceWithRawResponse:
def __init__(self, address_maps: AddressMapsResource) -> None:
self._address_maps = address_maps
self.create = to_raw_response_wrapper(
@ -635,20 +639,20 @@ class AddressMapsWithRawResponse:
)
@cached_property
def accounts(self) -> AccountsWithRawResponse:
return AccountsWithRawResponse(self._address_maps.accounts)
def accounts(self) -> AccountsResourceWithRawResponse:
return AccountsResourceWithRawResponse(self._address_maps.accounts)
@cached_property
def ips(self) -> IPsWithRawResponse:
return IPsWithRawResponse(self._address_maps.ips)
def ips(self) -> IPsResourceWithRawResponse:
return IPsResourceWithRawResponse(self._address_maps.ips)
@cached_property
def zones(self) -> ZonesWithRawResponse:
return ZonesWithRawResponse(self._address_maps.zones)
def zones(self) -> ZonesResourceWithRawResponse:
return ZonesResourceWithRawResponse(self._address_maps.zones)
class AsyncAddressMapsWithRawResponse:
def __init__(self, address_maps: AsyncAddressMaps) -> None:
class AsyncAddressMapsResourceWithRawResponse:
def __init__(self, address_maps: AsyncAddressMapsResource) -> None:
self._address_maps = address_maps
self.create = async_to_raw_response_wrapper(
@ -668,20 +672,20 @@ class AsyncAddressMapsWithRawResponse:
)
@cached_property
def accounts(self) -> AsyncAccountsWithRawResponse:
return AsyncAccountsWithRawResponse(self._address_maps.accounts)
def accounts(self) -> AsyncAccountsResourceWithRawResponse:
return AsyncAccountsResourceWithRawResponse(self._address_maps.accounts)
@cached_property
def ips(self) -> AsyncIPsWithRawResponse:
return AsyncIPsWithRawResponse(self._address_maps.ips)
def ips(self) -> AsyncIPsResourceWithRawResponse:
return AsyncIPsResourceWithRawResponse(self._address_maps.ips)
@cached_property
def zones(self) -> AsyncZonesWithRawResponse:
return AsyncZonesWithRawResponse(self._address_maps.zones)
def zones(self) -> AsyncZonesResourceWithRawResponse:
return AsyncZonesResourceWithRawResponse(self._address_maps.zones)
class AddressMapsWithStreamingResponse:
def __init__(self, address_maps: AddressMaps) -> None:
class AddressMapsResourceWithStreamingResponse:
def __init__(self, address_maps: AddressMapsResource) -> None:
self._address_maps = address_maps
self.create = to_streamed_response_wrapper(
@ -701,20 +705,20 @@ class AddressMapsWithStreamingResponse:
)
@cached_property
def accounts(self) -> AccountsWithStreamingResponse:
return AccountsWithStreamingResponse(self._address_maps.accounts)
def accounts(self) -> AccountsResourceWithStreamingResponse:
return AccountsResourceWithStreamingResponse(self._address_maps.accounts)
@cached_property
def ips(self) -> IPsWithStreamingResponse:
return IPsWithStreamingResponse(self._address_maps.ips)
def ips(self) -> IPsResourceWithStreamingResponse:
return IPsResourceWithStreamingResponse(self._address_maps.ips)
@cached_property
def zones(self) -> ZonesWithStreamingResponse:
return ZonesWithStreamingResponse(self._address_maps.zones)
def zones(self) -> ZonesResourceWithStreamingResponse:
return ZonesResourceWithStreamingResponse(self._address_maps.zones)
class AsyncAddressMapsWithStreamingResponse:
def __init__(self, address_maps: AsyncAddressMaps) -> None:
class AsyncAddressMapsResourceWithStreamingResponse:
def __init__(self, address_maps: AsyncAddressMapsResource) -> None:
self._address_maps = address_maps
self.create = async_to_streamed_response_wrapper(
@ -734,13 +738,13 @@ class AsyncAddressMapsWithStreamingResponse:
)
@cached_property
def accounts(self) -> AsyncAccountsWithStreamingResponse:
return AsyncAccountsWithStreamingResponse(self._address_maps.accounts)
def accounts(self) -> AsyncAccountsResourceWithStreamingResponse:
return AsyncAccountsResourceWithStreamingResponse(self._address_maps.accounts)
@cached_property
def ips(self) -> AsyncIPsWithStreamingResponse:
return AsyncIPsWithStreamingResponse(self._address_maps.ips)
def ips(self) -> AsyncIPsResourceWithStreamingResponse:
return AsyncIPsResourceWithStreamingResponse(self._address_maps.ips)
@cached_property
def zones(self) -> AsyncZonesWithStreamingResponse:
return AsyncZonesWithStreamingResponse(self._address_maps.zones)
def zones(self) -> AsyncZonesResourceWithStreamingResponse:
return AsyncZonesResourceWithStreamingResponse(self._address_maps.zones)

View file

@ -2,11 +2,10 @@
from __future__ import annotations
from typing import Any, Optional, cast
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
@ -15,23 +14,33 @@ from ...._response import (
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ...._base_client import (
make_request_options,
)
from ....types.addressing.address_maps import IPDeleteResponse, IPUpdateResponse
from ...._base_client import make_request_options
from ....types.addressing.address_maps import ip_update_params
from ....types.addressing.address_maps.ip_delete_response import IPDeleteResponse
from ....types.addressing.address_maps.ip_update_response import IPUpdateResponse
__all__ = ["IPs", "AsyncIPs"]
__all__ = ["IPsResource", "AsyncIPsResource"]
class IPs(SyncAPIResource):
class IPsResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> IPsWithRawResponse:
return IPsWithRawResponse(self)
def with_raw_response(self) -> IPsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return IPsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> IPsWithStreamingResponse:
return IPsWithStreamingResponse(self)
def with_streaming_response(self) -> IPsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return IPsResourceWithStreamingResponse(self)
def update(
self,
@ -39,20 +48,21 @@ class IPs(SyncAPIResource):
*,
account_id: str,
address_map_id: str,
body: object,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[IPUpdateResponse]:
) -> IPUpdateResponse:
"""
Add an IP from a prefix owned by the account to a particular address map.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
ip_address: An IPv4 or IPv6 address.
@ -70,21 +80,13 @@ class IPs(SyncAPIResource):
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
if not ip_address:
raise ValueError(f"Expected a non-empty value for `ip_address` but received {ip_address!r}")
return cast(
Optional[IPUpdateResponse],
self._put(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/ips/{ip_address}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[IPUpdateResponse]
), # Union types cannot be passed in as arguments in the type system
return self._put(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/ips/{ip_address}",
body=maybe_transform(body, ip_update_params.IPUpdateParams),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=IPUpdateResponse,
)
def delete(
@ -99,14 +101,14 @@ class IPs(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[IPDeleteResponse]:
) -> IPDeleteResponse:
"""
Remove an IP from a particular address map.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
ip_address: An IPv4 or IPv6 address.
@ -124,32 +126,34 @@ class IPs(SyncAPIResource):
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
if not ip_address:
raise ValueError(f"Expected a non-empty value for `ip_address` but received {ip_address!r}")
return cast(
Optional[IPDeleteResponse],
self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/ips/{ip_address}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[IPDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
return self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/ips/{ip_address}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=IPDeleteResponse,
)
class AsyncIPs(AsyncAPIResource):
class AsyncIPsResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncIPsWithRawResponse:
return AsyncIPsWithRawResponse(self)
def with_raw_response(self) -> AsyncIPsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncIPsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncIPsWithStreamingResponse:
return AsyncIPsWithStreamingResponse(self)
def with_streaming_response(self) -> AsyncIPsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncIPsResourceWithStreamingResponse(self)
async def update(
self,
@ -157,20 +161,21 @@ class AsyncIPs(AsyncAPIResource):
*,
account_id: str,
address_map_id: str,
body: object,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[IPUpdateResponse]:
) -> IPUpdateResponse:
"""
Add an IP from a prefix owned by the account to a particular address map.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
ip_address: An IPv4 or IPv6 address.
@ -188,21 +193,13 @@ class AsyncIPs(AsyncAPIResource):
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
if not ip_address:
raise ValueError(f"Expected a non-empty value for `ip_address` but received {ip_address!r}")
return cast(
Optional[IPUpdateResponse],
await self._put(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/ips/{ip_address}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[IPUpdateResponse]
), # Union types cannot be passed in as arguments in the type system
return await self._put(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/ips/{ip_address}",
body=await async_maybe_transform(body, ip_update_params.IPUpdateParams),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=IPUpdateResponse,
)
async def delete(
@ -217,14 +214,14 @@ class AsyncIPs(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[IPDeleteResponse]:
) -> IPDeleteResponse:
"""
Remove an IP from a particular address map.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
ip_address: An IPv4 or IPv6 address.
@ -242,26 +239,17 @@ class AsyncIPs(AsyncAPIResource):
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
if not ip_address:
raise ValueError(f"Expected a non-empty value for `ip_address` but received {ip_address!r}")
return cast(
Optional[IPDeleteResponse],
await self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/ips/{ip_address}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[IPDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
return await self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/ips/{ip_address}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=IPDeleteResponse,
)
class IPsWithRawResponse:
def __init__(self, ips: IPs) -> None:
class IPsResourceWithRawResponse:
def __init__(self, ips: IPsResource) -> None:
self._ips = ips
self.update = to_raw_response_wrapper(
@ -272,8 +260,8 @@ class IPsWithRawResponse:
)
class AsyncIPsWithRawResponse:
def __init__(self, ips: AsyncIPs) -> None:
class AsyncIPsResourceWithRawResponse:
def __init__(self, ips: AsyncIPsResource) -> None:
self._ips = ips
self.update = async_to_raw_response_wrapper(
@ -284,8 +272,8 @@ class AsyncIPsWithRawResponse:
)
class IPsWithStreamingResponse:
def __init__(self, ips: IPs) -> None:
class IPsResourceWithStreamingResponse:
def __init__(self, ips: IPsResource) -> None:
self._ips = ips
self.update = to_streamed_response_wrapper(
@ -296,8 +284,8 @@ class IPsWithStreamingResponse:
)
class AsyncIPsWithStreamingResponse:
def __init__(self, ips: AsyncIPs) -> None:
class AsyncIPsResourceWithStreamingResponse:
def __init__(self, ips: AsyncIPsResource) -> None:
self._ips = ips
self.update = async_to_streamed_response_wrapper(

View file

@ -2,11 +2,10 @@
from __future__ import annotations
from typing import Any, Optional, cast
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
@ -15,23 +14,33 @@ from ...._response import (
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ...._base_client import (
make_request_options,
)
from ....types.addressing.address_maps import ZoneDeleteResponse, ZoneUpdateResponse
from ...._base_client import make_request_options
from ....types.addressing.address_maps import zone_update_params
from ....types.addressing.address_maps.zone_delete_response import ZoneDeleteResponse
from ....types.addressing.address_maps.zone_update_response import ZoneUpdateResponse
__all__ = ["Zones", "AsyncZones"]
__all__ = ["ZonesResource", "AsyncZonesResource"]
class Zones(SyncAPIResource):
class ZonesResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> ZonesWithRawResponse:
return ZonesWithRawResponse(self)
def with_raw_response(self) -> ZonesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return ZonesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> ZonesWithStreamingResponse:
return ZonesWithStreamingResponse(self)
def with_streaming_response(self) -> ZonesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return ZonesResourceWithStreamingResponse(self)
def update(
self,
@ -39,22 +48,23 @@ class Zones(SyncAPIResource):
*,
zone_id: str,
account_id: str,
body: object,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[ZoneUpdateResponse]:
) -> ZoneUpdateResponse:
"""
Add a zone as a member of a particular address map.
Args:
zone_id: Identifier
zone_id: Identifier of a zone.
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -70,32 +80,13 @@ class Zones(SyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not address_map_id:
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
if not account_id and not zone_id:
raise ValueError("You must provide either account_id or zone_id")
if account_id and zone_id:
raise ValueError("You cannot provide both account_id and zone_id")
if account_id:
account_or_zone = "accounts"
account_or_zone_id = account_id
else:
account_or_zone = "zones"
account_or_zone_id = zone_id
return cast(
Optional[ZoneUpdateResponse],
self._put(
f"/accounts/{account_or_zone}/addressing/address_maps/{address_map_id}/zones/{account_or_zone_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[ZoneUpdateResponse]
), # Union types cannot be passed in as arguments in the type system
return self._put(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/zones/{zone_id}",
body=maybe_transform(body, zone_update_params.ZoneUpdateParams),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=ZoneUpdateResponse,
)
def delete(
@ -110,16 +101,16 @@ class Zones(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[ZoneDeleteResponse]:
) -> ZoneDeleteResponse:
"""
Remove a zone as a member of a particular address map.
Args:
zone_id: Identifier
zone_id: Identifier of a zone.
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -135,43 +126,34 @@ class Zones(SyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not address_map_id:
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
if not account_id and not zone_id:
raise ValueError("You must provide either account_id or zone_id")
if account_id and zone_id:
raise ValueError("You cannot provide both account_id and zone_id")
if account_id:
account_or_zone = "accounts"
account_or_zone_id = account_id
else:
account_or_zone = "zones"
account_or_zone_id = zone_id
return cast(
Optional[ZoneDeleteResponse],
self._delete(
f"/accounts/{account_or_zone}/addressing/address_maps/{address_map_id}/zones/{account_or_zone_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[ZoneDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
return self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/zones/{zone_id}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=ZoneDeleteResponse,
)
class AsyncZones(AsyncAPIResource):
class AsyncZonesResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncZonesWithRawResponse:
return AsyncZonesWithRawResponse(self)
def with_raw_response(self) -> AsyncZonesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncZonesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncZonesWithStreamingResponse:
return AsyncZonesWithStreamingResponse(self)
def with_streaming_response(self) -> AsyncZonesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncZonesResourceWithStreamingResponse(self)
async def update(
self,
@ -179,22 +161,23 @@ class AsyncZones(AsyncAPIResource):
*,
zone_id: str,
account_id: str,
body: object,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[ZoneUpdateResponse]:
) -> ZoneUpdateResponse:
"""
Add a zone as a member of a particular address map.
Args:
zone_id: Identifier
zone_id: Identifier of a zone.
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -210,32 +193,13 @@ class AsyncZones(AsyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not address_map_id:
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
if not account_id and not zone_id:
raise ValueError("You must provide either account_id or zone_id")
if account_id and zone_id:
raise ValueError("You cannot provide both account_id and zone_id")
if account_id:
account_or_zone = "accounts"
account_or_zone_id = account_id
else:
account_or_zone = "zones"
account_or_zone_id = zone_id
return cast(
Optional[ZoneUpdateResponse],
await self._put(
f"/accounts/{account_or_zone}/addressing/address_maps/{address_map_id}/zones/{account_or_zone_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[ZoneUpdateResponse]
), # Union types cannot be passed in as arguments in the type system
return await self._put(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/zones/{zone_id}",
body=await async_maybe_transform(body, zone_update_params.ZoneUpdateParams),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=ZoneUpdateResponse,
)
async def delete(
@ -250,16 +214,16 @@ class AsyncZones(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[ZoneDeleteResponse]:
) -> ZoneDeleteResponse:
"""
Remove a zone as a member of a particular address map.
Args:
zone_id: Identifier
zone_id: Identifier of a zone.
account_id: Identifier
account_id: Identifier of a Cloudflare account.
address_map_id: Identifier
address_map_id: Identifier of an Address Map.
extra_headers: Send extra headers
@ -275,37 +239,17 @@ class AsyncZones(AsyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not address_map_id:
raise ValueError(f"Expected a non-empty value for `address_map_id` but received {address_map_id!r}")
if not account_id and not zone_id:
raise ValueError("You must provide either account_id or zone_id")
if account_id and zone_id:
raise ValueError("You cannot provide both account_id and zone_id")
if account_id:
account_or_zone = "accounts"
account_or_zone_id = account_id
else:
account_or_zone = "zones"
account_or_zone_id = zone_id
return cast(
Optional[ZoneDeleteResponse],
await self._delete(
f"/accounts/{account_or_zone}/addressing/address_maps/{address_map_id}/zones/{account_or_zone_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[ZoneDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
return await self._delete(
f"/accounts/{account_id}/addressing/address_maps/{address_map_id}/zones/{zone_id}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=ZoneDeleteResponse,
)
class ZonesWithRawResponse:
def __init__(self, zones: Zones) -> None:
class ZonesResourceWithRawResponse:
def __init__(self, zones: ZonesResource) -> None:
self._zones = zones
self.update = to_raw_response_wrapper(
@ -316,8 +260,8 @@ class ZonesWithRawResponse:
)
class AsyncZonesWithRawResponse:
def __init__(self, zones: AsyncZones) -> None:
class AsyncZonesResourceWithRawResponse:
def __init__(self, zones: AsyncZonesResource) -> None:
self._zones = zones
self.update = async_to_raw_response_wrapper(
@ -328,8 +272,8 @@ class AsyncZonesWithRawResponse:
)
class ZonesWithStreamingResponse:
def __init__(self, zones: Zones) -> None:
class ZonesResourceWithStreamingResponse:
def __init__(self, zones: ZonesResource) -> None:
self._zones = zones
self.update = to_streamed_response_wrapper(
@ -340,8 +284,8 @@ class ZonesWithStreamingResponse:
)
class AsyncZonesWithStreamingResponse:
def __init__(self, zones: AsyncZones) -> None:
class AsyncZonesResourceWithStreamingResponse:
def __init__(self, zones: AsyncZonesResource) -> None:
self._zones = zones
self.update = async_to_streamed_response_wrapper(

View file

@ -2,178 +2,229 @@
from __future__ import annotations
from .prefixes import (
Prefixes,
AsyncPrefixes,
PrefixesWithRawResponse,
AsyncPrefixesWithRawResponse,
PrefixesWithStreamingResponse,
AsyncPrefixesWithStreamingResponse,
)
from .services import (
Services,
AsyncServices,
ServicesWithRawResponse,
AsyncServicesWithRawResponse,
ServicesWithStreamingResponse,
AsyncServicesWithStreamingResponse,
ServicesResource,
AsyncServicesResource,
ServicesResourceWithRawResponse,
AsyncServicesResourceWithRawResponse,
ServicesResourceWithStreamingResponse,
AsyncServicesResourceWithStreamingResponse,
)
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from .address_maps import (
AddressMaps,
AsyncAddressMaps,
AddressMapsWithRawResponse,
AsyncAddressMapsWithRawResponse,
AddressMapsWithStreamingResponse,
AsyncAddressMapsWithStreamingResponse,
)
from .loa_documents import (
LOADocuments,
AsyncLOADocuments,
LOADocumentsWithRawResponse,
AsyncLOADocumentsWithRawResponse,
LOADocumentsWithStreamingResponse,
AsyncLOADocumentsWithStreamingResponse,
LOADocumentsResource,
AsyncLOADocumentsResource,
LOADocumentsResourceWithRawResponse,
AsyncLOADocumentsResourceWithRawResponse,
LOADocumentsResourceWithStreamingResponse,
AsyncLOADocumentsResourceWithStreamingResponse,
)
from .prefixes.prefixes import (
PrefixesResource,
AsyncPrefixesResource,
PrefixesResourceWithRawResponse,
AsyncPrefixesResourceWithRawResponse,
PrefixesResourceWithStreamingResponse,
AsyncPrefixesResourceWithStreamingResponse,
)
from .address_maps.address_maps import (
AddressMapsResource,
AsyncAddressMapsResource,
AddressMapsResourceWithRawResponse,
AsyncAddressMapsResourceWithRawResponse,
AddressMapsResourceWithStreamingResponse,
AsyncAddressMapsResourceWithStreamingResponse,
)
from .regional_hostnames.regional_hostnames import (
RegionalHostnamesResource,
AsyncRegionalHostnamesResource,
RegionalHostnamesResourceWithRawResponse,
AsyncRegionalHostnamesResourceWithRawResponse,
RegionalHostnamesResourceWithStreamingResponse,
AsyncRegionalHostnamesResourceWithStreamingResponse,
)
from .prefixes.prefixes import Prefixes, AsyncPrefixes
from .address_maps.address_maps import AddressMaps, AsyncAddressMaps
from .loa_documents.loa_documents import LOADocuments, AsyncLOADocuments
__all__ = ["Addressing", "AsyncAddressing"]
__all__ = ["AddressingResource", "AsyncAddressingResource"]
class Addressing(SyncAPIResource):
class AddressingResource(SyncAPIResource):
@cached_property
def services(self) -> Services:
return Services(self._client)
def regional_hostnames(self) -> RegionalHostnamesResource:
return RegionalHostnamesResource(self._client)
@cached_property
def address_maps(self) -> AddressMaps:
return AddressMaps(self._client)
def services(self) -> ServicesResource:
return ServicesResource(self._client)
@cached_property
def loa_documents(self) -> LOADocuments:
return LOADocuments(self._client)
def address_maps(self) -> AddressMapsResource:
return AddressMapsResource(self._client)
@cached_property
def prefixes(self) -> Prefixes:
return Prefixes(self._client)
def loa_documents(self) -> LOADocumentsResource:
return LOADocumentsResource(self._client)
@cached_property
def with_raw_response(self) -> AddressingWithRawResponse:
return AddressingWithRawResponse(self)
def prefixes(self) -> PrefixesResource:
return PrefixesResource(self._client)
@cached_property
def with_streaming_response(self) -> AddressingWithStreamingResponse:
return AddressingWithStreamingResponse(self)
def with_raw_response(self) -> AddressingResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
class AsyncAddressing(AsyncAPIResource):
@cached_property
def services(self) -> AsyncServices:
return AsyncServices(self._client)
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AddressingResourceWithRawResponse(self)
@cached_property
def address_maps(self) -> AsyncAddressMaps:
return AsyncAddressMaps(self._client)
def with_streaming_response(self) -> AddressingResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AddressingResourceWithStreamingResponse(self)
class AsyncAddressingResource(AsyncAPIResource):
@cached_property
def regional_hostnames(self) -> AsyncRegionalHostnamesResource:
return AsyncRegionalHostnamesResource(self._client)
@cached_property
def loa_documents(self) -> AsyncLOADocuments:
return AsyncLOADocuments(self._client)
def services(self) -> AsyncServicesResource:
return AsyncServicesResource(self._client)
@cached_property
def prefixes(self) -> AsyncPrefixes:
return AsyncPrefixes(self._client)
def address_maps(self) -> AsyncAddressMapsResource:
return AsyncAddressMapsResource(self._client)
@cached_property
def with_raw_response(self) -> AsyncAddressingWithRawResponse:
return AsyncAddressingWithRawResponse(self)
def loa_documents(self) -> AsyncLOADocumentsResource:
return AsyncLOADocumentsResource(self._client)
@cached_property
def with_streaming_response(self) -> AsyncAddressingWithStreamingResponse:
return AsyncAddressingWithStreamingResponse(self)
def prefixes(self) -> AsyncPrefixesResource:
return AsyncPrefixesResource(self._client)
@cached_property
def with_raw_response(self) -> AsyncAddressingResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncAddressingResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncAddressingResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncAddressingResourceWithStreamingResponse(self)
class AddressingWithRawResponse:
def __init__(self, addressing: Addressing) -> None:
class AddressingResourceWithRawResponse:
def __init__(self, addressing: AddressingResource) -> None:
self._addressing = addressing
@cached_property
def services(self) -> ServicesWithRawResponse:
return ServicesWithRawResponse(self._addressing.services)
def regional_hostnames(self) -> RegionalHostnamesResourceWithRawResponse:
return RegionalHostnamesResourceWithRawResponse(self._addressing.regional_hostnames)
@cached_property
def address_maps(self) -> AddressMapsWithRawResponse:
return AddressMapsWithRawResponse(self._addressing.address_maps)
def services(self) -> ServicesResourceWithRawResponse:
return ServicesResourceWithRawResponse(self._addressing.services)
@cached_property
def loa_documents(self) -> LOADocumentsWithRawResponse:
return LOADocumentsWithRawResponse(self._addressing.loa_documents)
def address_maps(self) -> AddressMapsResourceWithRawResponse:
return AddressMapsResourceWithRawResponse(self._addressing.address_maps)
@cached_property
def prefixes(self) -> PrefixesWithRawResponse:
return PrefixesWithRawResponse(self._addressing.prefixes)
def loa_documents(self) -> LOADocumentsResourceWithRawResponse:
return LOADocumentsResourceWithRawResponse(self._addressing.loa_documents)
@cached_property
def prefixes(self) -> PrefixesResourceWithRawResponse:
return PrefixesResourceWithRawResponse(self._addressing.prefixes)
class AsyncAddressingWithRawResponse:
def __init__(self, addressing: AsyncAddressing) -> None:
class AsyncAddressingResourceWithRawResponse:
def __init__(self, addressing: AsyncAddressingResource) -> None:
self._addressing = addressing
@cached_property
def services(self) -> AsyncServicesWithRawResponse:
return AsyncServicesWithRawResponse(self._addressing.services)
def regional_hostnames(self) -> AsyncRegionalHostnamesResourceWithRawResponse:
return AsyncRegionalHostnamesResourceWithRawResponse(self._addressing.regional_hostnames)
@cached_property
def address_maps(self) -> AsyncAddressMapsWithRawResponse:
return AsyncAddressMapsWithRawResponse(self._addressing.address_maps)
def services(self) -> AsyncServicesResourceWithRawResponse:
return AsyncServicesResourceWithRawResponse(self._addressing.services)
@cached_property
def loa_documents(self) -> AsyncLOADocumentsWithRawResponse:
return AsyncLOADocumentsWithRawResponse(self._addressing.loa_documents)
def address_maps(self) -> AsyncAddressMapsResourceWithRawResponse:
return AsyncAddressMapsResourceWithRawResponse(self._addressing.address_maps)
@cached_property
def prefixes(self) -> AsyncPrefixesWithRawResponse:
return AsyncPrefixesWithRawResponse(self._addressing.prefixes)
def loa_documents(self) -> AsyncLOADocumentsResourceWithRawResponse:
return AsyncLOADocumentsResourceWithRawResponse(self._addressing.loa_documents)
@cached_property
def prefixes(self) -> AsyncPrefixesResourceWithRawResponse:
return AsyncPrefixesResourceWithRawResponse(self._addressing.prefixes)
class AddressingWithStreamingResponse:
def __init__(self, addressing: Addressing) -> None:
class AddressingResourceWithStreamingResponse:
def __init__(self, addressing: AddressingResource) -> None:
self._addressing = addressing
@cached_property
def services(self) -> ServicesWithStreamingResponse:
return ServicesWithStreamingResponse(self._addressing.services)
def regional_hostnames(self) -> RegionalHostnamesResourceWithStreamingResponse:
return RegionalHostnamesResourceWithStreamingResponse(self._addressing.regional_hostnames)
@cached_property
def address_maps(self) -> AddressMapsWithStreamingResponse:
return AddressMapsWithStreamingResponse(self._addressing.address_maps)
def services(self) -> ServicesResourceWithStreamingResponse:
return ServicesResourceWithStreamingResponse(self._addressing.services)
@cached_property
def loa_documents(self) -> LOADocumentsWithStreamingResponse:
return LOADocumentsWithStreamingResponse(self._addressing.loa_documents)
def address_maps(self) -> AddressMapsResourceWithStreamingResponse:
return AddressMapsResourceWithStreamingResponse(self._addressing.address_maps)
@cached_property
def prefixes(self) -> PrefixesWithStreamingResponse:
return PrefixesWithStreamingResponse(self._addressing.prefixes)
def loa_documents(self) -> LOADocumentsResourceWithStreamingResponse:
return LOADocumentsResourceWithStreamingResponse(self._addressing.loa_documents)
@cached_property
def prefixes(self) -> PrefixesResourceWithStreamingResponse:
return PrefixesResourceWithStreamingResponse(self._addressing.prefixes)
class AsyncAddressingWithStreamingResponse:
def __init__(self, addressing: AsyncAddressing) -> None:
class AsyncAddressingResourceWithStreamingResponse:
def __init__(self, addressing: AsyncAddressingResource) -> None:
self._addressing = addressing
@cached_property
def services(self) -> AsyncServicesWithStreamingResponse:
return AsyncServicesWithStreamingResponse(self._addressing.services)
def regional_hostnames(self) -> AsyncRegionalHostnamesResourceWithStreamingResponse:
return AsyncRegionalHostnamesResourceWithStreamingResponse(self._addressing.regional_hostnames)
@cached_property
def address_maps(self) -> AsyncAddressMapsWithStreamingResponse:
return AsyncAddressMapsWithStreamingResponse(self._addressing.address_maps)
def services(self) -> AsyncServicesResourceWithStreamingResponse:
return AsyncServicesResourceWithStreamingResponse(self._addressing.services)
@cached_property
def loa_documents(self) -> AsyncLOADocumentsWithStreamingResponse:
return AsyncLOADocumentsWithStreamingResponse(self._addressing.loa_documents)
def address_maps(self) -> AsyncAddressMapsResourceWithStreamingResponse:
return AsyncAddressMapsResourceWithStreamingResponse(self._addressing.address_maps)
@cached_property
def prefixes(self) -> AsyncPrefixesWithStreamingResponse:
return AsyncPrefixesWithStreamingResponse(self._addressing.prefixes)
def loa_documents(self) -> AsyncLOADocumentsResourceWithStreamingResponse:
return AsyncLOADocumentsResourceWithStreamingResponse(self._addressing.loa_documents)
@cached_property
def prefixes(self) -> AsyncPrefixesResourceWithStreamingResponse:
return AsyncPrefixesResourceWithStreamingResponse(self._addressing.prefixes)

View file

@ -0,0 +1,304 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Type, Optional, cast
import httpx
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import maybe_transform, async_maybe_transform
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
BinaryAPIResponse,
AsyncBinaryAPIResponse,
StreamedBinaryAPIResponse,
AsyncStreamedBinaryAPIResponse,
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
to_custom_raw_response_wrapper,
async_to_streamed_response_wrapper,
to_custom_streamed_response_wrapper,
async_to_custom_raw_response_wrapper,
async_to_custom_streamed_response_wrapper,
)
from ..._wrappers import ResultWrapper
from ..._base_client import make_request_options
from ...types.addressing import loa_document_create_params
from ...types.addressing.loa_document_create_response import LOADocumentCreateResponse
__all__ = ["LOADocumentsResource", "AsyncLOADocumentsResource"]
class LOADocumentsResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> LOADocumentsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return LOADocumentsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> LOADocumentsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return LOADocumentsResourceWithStreamingResponse(self)
def create(
self,
*,
account_id: str,
loa_document: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[LOADocumentCreateResponse]:
"""
Submit LOA document (pdf format) under the account.
Args:
account_id: Identifier of a Cloudflare account.
loa_document: LOA document to upload.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
# It should be noted that the actual Content-Type header that will be
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
return self._post(
f"/accounts/{account_id}/addressing/loa_documents",
body=maybe_transform({"loa_document": loa_document}, loa_document_create_params.LOADocumentCreateParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[LOADocumentCreateResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[LOADocumentCreateResponse]], ResultWrapper[LOADocumentCreateResponse]),
)
def get(
self,
loa_document_id: Optional[str],
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> BinaryAPIResponse:
"""
Download specified LOA document under the account.
Args:
account_id: Identifier of a Cloudflare account.
loa_document_id: Identifier for the uploaded LOA document.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not loa_document_id:
raise ValueError(f"Expected a non-empty value for `loa_document_id` but received {loa_document_id!r}")
extra_headers = {"Accept": "application/pdf", **(extra_headers or {})}
return self._get(
f"/accounts/{account_id}/addressing/loa_documents/{loa_document_id}/download",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=BinaryAPIResponse,
)
class AsyncLOADocumentsResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncLOADocumentsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncLOADocumentsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncLOADocumentsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncLOADocumentsResourceWithStreamingResponse(self)
async def create(
self,
*,
account_id: str,
loa_document: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[LOADocumentCreateResponse]:
"""
Submit LOA document (pdf format) under the account.
Args:
account_id: Identifier of a Cloudflare account.
loa_document: LOA document to upload.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
# It should be noted that the actual Content-Type header that will be
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
return await self._post(
f"/accounts/{account_id}/addressing/loa_documents",
body=await async_maybe_transform(
{"loa_document": loa_document}, loa_document_create_params.LOADocumentCreateParams
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[LOADocumentCreateResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[LOADocumentCreateResponse]], ResultWrapper[LOADocumentCreateResponse]),
)
async def get(
self,
loa_document_id: Optional[str],
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncBinaryAPIResponse:
"""
Download specified LOA document under the account.
Args:
account_id: Identifier of a Cloudflare account.
loa_document_id: Identifier for the uploaded LOA document.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not loa_document_id:
raise ValueError(f"Expected a non-empty value for `loa_document_id` but received {loa_document_id!r}")
extra_headers = {"Accept": "application/pdf", **(extra_headers or {})}
return await self._get(
f"/accounts/{account_id}/addressing/loa_documents/{loa_document_id}/download",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=AsyncBinaryAPIResponse,
)
class LOADocumentsResourceWithRawResponse:
def __init__(self, loa_documents: LOADocumentsResource) -> None:
self._loa_documents = loa_documents
self.create = to_raw_response_wrapper(
loa_documents.create,
)
self.get = to_custom_raw_response_wrapper(
loa_documents.get,
BinaryAPIResponse,
)
class AsyncLOADocumentsResourceWithRawResponse:
def __init__(self, loa_documents: AsyncLOADocumentsResource) -> None:
self._loa_documents = loa_documents
self.create = async_to_raw_response_wrapper(
loa_documents.create,
)
self.get = async_to_custom_raw_response_wrapper(
loa_documents.get,
AsyncBinaryAPIResponse,
)
class LOADocumentsResourceWithStreamingResponse:
def __init__(self, loa_documents: LOADocumentsResource) -> None:
self._loa_documents = loa_documents
self.create = to_streamed_response_wrapper(
loa_documents.create,
)
self.get = to_custom_streamed_response_wrapper(
loa_documents.get,
StreamedBinaryAPIResponse,
)
class AsyncLOADocumentsResourceWithStreamingResponse:
def __init__(self, loa_documents: AsyncLOADocumentsResource) -> None:
self._loa_documents = loa_documents
self.create = async_to_streamed_response_wrapper(
loa_documents.create,
)
self.get = async_to_custom_streamed_response_wrapper(
loa_documents.get,
AsyncStreamedBinaryAPIResponse,
)

View file

@ -1,33 +0,0 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .downloads import (
Downloads,
AsyncDownloads,
DownloadsWithRawResponse,
AsyncDownloadsWithRawResponse,
DownloadsWithStreamingResponse,
AsyncDownloadsWithStreamingResponse,
)
from .loa_documents import (
LOADocuments,
AsyncLOADocuments,
LOADocumentsWithRawResponse,
AsyncLOADocumentsWithRawResponse,
LOADocumentsWithStreamingResponse,
AsyncLOADocumentsWithStreamingResponse,
)
__all__ = [
"Downloads",
"AsyncDownloads",
"DownloadsWithRawResponse",
"AsyncDownloadsWithRawResponse",
"DownloadsWithStreamingResponse",
"AsyncDownloadsWithStreamingResponse",
"LOADocuments",
"AsyncLOADocuments",
"LOADocumentsWithRawResponse",
"AsyncLOADocumentsWithRawResponse",
"LOADocumentsWithStreamingResponse",
"AsyncLOADocumentsWithStreamingResponse",
]

View file

@ -1,158 +0,0 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Optional
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ...._base_client import (
make_request_options,
)
__all__ = ["Downloads", "AsyncDownloads"]
class Downloads(SyncAPIResource):
@cached_property
def with_raw_response(self) -> DownloadsWithRawResponse:
return DownloadsWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> DownloadsWithStreamingResponse:
return DownloadsWithStreamingResponse(self)
def get(
self,
loa_document_id: Optional[str],
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> object:
"""
Download specified LOA document under the account.
Args:
account_id: Identifier
loa_document_id: Identifier for the uploaded LOA document.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not loa_document_id:
raise ValueError(f"Expected a non-empty value for `loa_document_id` but received {loa_document_id!r}")
return self._get(
f"/accounts/{account_id}/addressing/loa_documents/{loa_document_id}/download",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=object,
)
class AsyncDownloads(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncDownloadsWithRawResponse:
return AsyncDownloadsWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncDownloadsWithStreamingResponse:
return AsyncDownloadsWithStreamingResponse(self)
async def get(
self,
loa_document_id: Optional[str],
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> object:
"""
Download specified LOA document under the account.
Args:
account_id: Identifier
loa_document_id: Identifier for the uploaded LOA document.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not loa_document_id:
raise ValueError(f"Expected a non-empty value for `loa_document_id` but received {loa_document_id!r}")
return await self._get(
f"/accounts/{account_id}/addressing/loa_documents/{loa_document_id}/download",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=object,
)
class DownloadsWithRawResponse:
def __init__(self, downloads: Downloads) -> None:
self._downloads = downloads
self.get = to_raw_response_wrapper(
downloads.get,
)
class AsyncDownloadsWithRawResponse:
def __init__(self, downloads: AsyncDownloads) -> None:
self._downloads = downloads
self.get = async_to_raw_response_wrapper(
downloads.get,
)
class DownloadsWithStreamingResponse:
def __init__(self, downloads: Downloads) -> None:
self._downloads = downloads
self.get = to_streamed_response_wrapper(
downloads.get,
)
class AsyncDownloadsWithStreamingResponse:
def __init__(self, downloads: AsyncDownloads) -> None:
self._downloads = downloads
self.get = async_to_streamed_response_wrapper(
downloads.get,
)

View file

@ -1,204 +0,0 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Type, cast
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import (
maybe_transform,
async_maybe_transform,
)
from .downloads import (
Downloads,
AsyncDownloads,
DownloadsWithRawResponse,
AsyncDownloadsWithRawResponse,
DownloadsWithStreamingResponse,
AsyncDownloadsWithStreamingResponse,
)
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ...._base_client import (
make_request_options,
)
from ....types.addressing import LOADocumentCreateResponse, loa_document_create_params
__all__ = ["LOADocuments", "AsyncLOADocuments"]
class LOADocuments(SyncAPIResource):
@cached_property
def downloads(self) -> Downloads:
return Downloads(self._client)
@cached_property
def with_raw_response(self) -> LOADocumentsWithRawResponse:
return LOADocumentsWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> LOADocumentsWithStreamingResponse:
return LOADocumentsWithStreamingResponse(self)
def create(
self,
*,
account_id: str,
loa_document: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> LOADocumentCreateResponse:
"""
Submit LOA document (pdf format) under the account.
Args:
account_id: Identifier
loa_document: LOA document to upload.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._post(
f"/accounts/{account_id}/addressing/loa_documents",
body=maybe_transform({"loa_document": loa_document}, loa_document_create_params.LOADocumentCreateParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[LOADocumentCreateResponse], ResultWrapper[LOADocumentCreateResponse]),
)
class AsyncLOADocuments(AsyncAPIResource):
@cached_property
def downloads(self) -> AsyncDownloads:
return AsyncDownloads(self._client)
@cached_property
def with_raw_response(self) -> AsyncLOADocumentsWithRawResponse:
return AsyncLOADocumentsWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncLOADocumentsWithStreamingResponse:
return AsyncLOADocumentsWithStreamingResponse(self)
async def create(
self,
*,
account_id: str,
loa_document: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> LOADocumentCreateResponse:
"""
Submit LOA document (pdf format) under the account.
Args:
account_id: Identifier
loa_document: LOA document to upload.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return await self._post(
f"/accounts/{account_id}/addressing/loa_documents",
body=await async_maybe_transform(
{"loa_document": loa_document}, loa_document_create_params.LOADocumentCreateParams
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[LOADocumentCreateResponse], ResultWrapper[LOADocumentCreateResponse]),
)
class LOADocumentsWithRawResponse:
def __init__(self, loa_documents: LOADocuments) -> None:
self._loa_documents = loa_documents
self.create = to_raw_response_wrapper(
loa_documents.create,
)
@cached_property
def downloads(self) -> DownloadsWithRawResponse:
return DownloadsWithRawResponse(self._loa_documents.downloads)
class AsyncLOADocumentsWithRawResponse:
def __init__(self, loa_documents: AsyncLOADocuments) -> None:
self._loa_documents = loa_documents
self.create = async_to_raw_response_wrapper(
loa_documents.create,
)
@cached_property
def downloads(self) -> AsyncDownloadsWithRawResponse:
return AsyncDownloadsWithRawResponse(self._loa_documents.downloads)
class LOADocumentsWithStreamingResponse:
def __init__(self, loa_documents: LOADocuments) -> None:
self._loa_documents = loa_documents
self.create = to_streamed_response_wrapper(
loa_documents.create,
)
@cached_property
def downloads(self) -> DownloadsWithStreamingResponse:
return DownloadsWithStreamingResponse(self._loa_documents.downloads)
class AsyncLOADocumentsWithStreamingResponse:
def __init__(self, loa_documents: AsyncLOADocuments) -> None:
self._loa_documents = loa_documents
self.create = async_to_streamed_response_wrapper(
loa_documents.create,
)
@cached_property
def downloads(self) -> AsyncDownloadsWithStreamingResponse:
return AsyncDownloadsWithStreamingResponse(self._loa_documents.downloads)

View file

@ -1,47 +1,75 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .bgp import (
BGP,
AsyncBGP,
BGPWithRawResponse,
AsyncBGPWithRawResponse,
BGPWithStreamingResponse,
AsyncBGPWithStreamingResponse,
)
from .prefixes import (
Prefixes,
AsyncPrefixes,
PrefixesWithRawResponse,
AsyncPrefixesWithRawResponse,
PrefixesWithStreamingResponse,
AsyncPrefixesWithStreamingResponse,
PrefixesResource,
AsyncPrefixesResource,
PrefixesResourceWithRawResponse,
AsyncPrefixesResourceWithRawResponse,
PrefixesResourceWithStreamingResponse,
AsyncPrefixesResourceWithStreamingResponse,
)
from .delegations import (
Delegations,
AsyncDelegations,
DelegationsWithRawResponse,
AsyncDelegationsWithRawResponse,
DelegationsWithStreamingResponse,
AsyncDelegationsWithStreamingResponse,
DelegationsResource,
AsyncDelegationsResource,
DelegationsResourceWithRawResponse,
AsyncDelegationsResourceWithRawResponse,
DelegationsResourceWithStreamingResponse,
AsyncDelegationsResourceWithStreamingResponse,
)
from .bgp_prefixes import (
BGPPrefixesResource,
AsyncBGPPrefixesResource,
BGPPrefixesResourceWithRawResponse,
AsyncBGPPrefixesResourceWithRawResponse,
BGPPrefixesResourceWithStreamingResponse,
AsyncBGPPrefixesResourceWithStreamingResponse,
)
from .service_bindings import (
ServiceBindingsResource,
AsyncServiceBindingsResource,
ServiceBindingsResourceWithRawResponse,
AsyncServiceBindingsResourceWithRawResponse,
ServiceBindingsResourceWithStreamingResponse,
AsyncServiceBindingsResourceWithStreamingResponse,
)
from .advertisement_status import (
AdvertisementStatusResource,
AsyncAdvertisementStatusResource,
AdvertisementStatusResourceWithRawResponse,
AsyncAdvertisementStatusResourceWithRawResponse,
AdvertisementStatusResourceWithStreamingResponse,
AsyncAdvertisementStatusResourceWithStreamingResponse,
)
__all__ = [
"BGP",
"AsyncBGP",
"BGPWithRawResponse",
"AsyncBGPWithRawResponse",
"BGPWithStreamingResponse",
"AsyncBGPWithStreamingResponse",
"Delegations",
"AsyncDelegations",
"DelegationsWithRawResponse",
"AsyncDelegationsWithRawResponse",
"DelegationsWithStreamingResponse",
"AsyncDelegationsWithStreamingResponse",
"Prefixes",
"AsyncPrefixes",
"PrefixesWithRawResponse",
"AsyncPrefixesWithRawResponse",
"PrefixesWithStreamingResponse",
"AsyncPrefixesWithStreamingResponse",
"ServiceBindingsResource",
"AsyncServiceBindingsResource",
"ServiceBindingsResourceWithRawResponse",
"AsyncServiceBindingsResourceWithRawResponse",
"ServiceBindingsResourceWithStreamingResponse",
"AsyncServiceBindingsResourceWithStreamingResponse",
"BGPPrefixesResource",
"AsyncBGPPrefixesResource",
"BGPPrefixesResourceWithRawResponse",
"AsyncBGPPrefixesResourceWithRawResponse",
"BGPPrefixesResourceWithStreamingResponse",
"AsyncBGPPrefixesResourceWithStreamingResponse",
"AdvertisementStatusResource",
"AsyncAdvertisementStatusResource",
"AdvertisementStatusResourceWithRawResponse",
"AsyncAdvertisementStatusResourceWithRawResponse",
"AdvertisementStatusResourceWithStreamingResponse",
"AsyncAdvertisementStatusResourceWithStreamingResponse",
"DelegationsResource",
"AsyncDelegationsResource",
"DelegationsResourceWithRawResponse",
"AsyncDelegationsResourceWithRawResponse",
"DelegationsResourceWithStreamingResponse",
"AsyncDelegationsResourceWithStreamingResponse",
"PrefixesResource",
"AsyncPrefixesResource",
"PrefixesResourceWithRawResponse",
"AsyncPrefixesResourceWithRawResponse",
"PrefixesResourceWithStreamingResponse",
"AsyncPrefixesResourceWithStreamingResponse",
]

View file

@ -0,0 +1,342 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
import typing_extensions
from typing import Type, Optional, cast
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ...._base_client import make_request_options
from ....types.addressing.prefixes import advertisement_status_edit_params
from ....types.addressing.prefixes.advertisement_status_get_response import AdvertisementStatusGetResponse
from ....types.addressing.prefixes.advertisement_status_edit_response import AdvertisementStatusEditResponse
__all__ = ["AdvertisementStatusResource", "AsyncAdvertisementStatusResource"]
class AdvertisementStatusResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> AdvertisementStatusResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AdvertisementStatusResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AdvertisementStatusResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AdvertisementStatusResourceWithStreamingResponse(self)
@typing_extensions.deprecated("deprecated")
def edit(
self,
prefix_id: str,
*,
account_id: str,
advertised: bool,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AdvertisementStatusEditResponse]:
"""
Advertise or withdraw the BGP route for a prefix.
**Deprecated:** Prefer the BGP Prefixes endpoints, which additionally allow for
advertising and withdrawing subnets of an IP prefix.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
advertised: Advertisement status of the prefix. If `true`, the BGP route for the prefix is
advertised to the Internet. If `false`, the BGP route is withdrawn.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._patch(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status",
body=maybe_transform(
{"advertised": advertised}, advertisement_status_edit_params.AdvertisementStatusEditParams
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[AdvertisementStatusEditResponse]]._unwrapper,
),
cast_to=cast(
Type[Optional[AdvertisementStatusEditResponse]], ResultWrapper[AdvertisementStatusEditResponse]
),
)
@typing_extensions.deprecated("deprecated")
def get(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AdvertisementStatusGetResponse]:
"""
View the current advertisement state for a prefix.
**Deprecated:** Prefer the BGP Prefixes endpoints, which additionally allow for
advertising and withdrawing subnets of an IP prefix.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[AdvertisementStatusGetResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[AdvertisementStatusGetResponse]], ResultWrapper[AdvertisementStatusGetResponse]),
)
class AsyncAdvertisementStatusResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncAdvertisementStatusResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncAdvertisementStatusResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncAdvertisementStatusResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncAdvertisementStatusResourceWithStreamingResponse(self)
@typing_extensions.deprecated("deprecated")
async def edit(
self,
prefix_id: str,
*,
account_id: str,
advertised: bool,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AdvertisementStatusEditResponse]:
"""
Advertise or withdraw the BGP route for a prefix.
**Deprecated:** Prefer the BGP Prefixes endpoints, which additionally allow for
advertising and withdrawing subnets of an IP prefix.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
advertised: Advertisement status of the prefix. If `true`, the BGP route for the prefix is
advertised to the Internet. If `false`, the BGP route is withdrawn.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return await self._patch(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status",
body=await async_maybe_transform(
{"advertised": advertised}, advertisement_status_edit_params.AdvertisementStatusEditParams
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[AdvertisementStatusEditResponse]]._unwrapper,
),
cast_to=cast(
Type[Optional[AdvertisementStatusEditResponse]], ResultWrapper[AdvertisementStatusEditResponse]
),
)
@typing_extensions.deprecated("deprecated")
async def get(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[AdvertisementStatusGetResponse]:
"""
View the current advertisement state for a prefix.
**Deprecated:** Prefer the BGP Prefixes endpoints, which additionally allow for
advertising and withdrawing subnets of an IP prefix.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return await self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[AdvertisementStatusGetResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[AdvertisementStatusGetResponse]], ResultWrapper[AdvertisementStatusGetResponse]),
)
class AdvertisementStatusResourceWithRawResponse:
def __init__(self, advertisement_status: AdvertisementStatusResource) -> None:
self._advertisement_status = advertisement_status
self.edit = ( # pyright: ignore[reportDeprecated]
to_raw_response_wrapper(
advertisement_status.edit # pyright: ignore[reportDeprecated],
)
)
self.get = ( # pyright: ignore[reportDeprecated]
to_raw_response_wrapper(
advertisement_status.get # pyright: ignore[reportDeprecated],
)
)
class AsyncAdvertisementStatusResourceWithRawResponse:
def __init__(self, advertisement_status: AsyncAdvertisementStatusResource) -> None:
self._advertisement_status = advertisement_status
self.edit = ( # pyright: ignore[reportDeprecated]
async_to_raw_response_wrapper(
advertisement_status.edit # pyright: ignore[reportDeprecated],
)
)
self.get = ( # pyright: ignore[reportDeprecated]
async_to_raw_response_wrapper(
advertisement_status.get # pyright: ignore[reportDeprecated],
)
)
class AdvertisementStatusResourceWithStreamingResponse:
def __init__(self, advertisement_status: AdvertisementStatusResource) -> None:
self._advertisement_status = advertisement_status
self.edit = ( # pyright: ignore[reportDeprecated]
to_streamed_response_wrapper(
advertisement_status.edit # pyright: ignore[reportDeprecated],
)
)
self.get = ( # pyright: ignore[reportDeprecated]
to_streamed_response_wrapper(
advertisement_status.get # pyright: ignore[reportDeprecated],
)
)
class AsyncAdvertisementStatusResourceWithStreamingResponse:
def __init__(self, advertisement_status: AsyncAdvertisementStatusResource) -> None:
self._advertisement_status = advertisement_status
self.edit = ( # pyright: ignore[reportDeprecated]
async_to_streamed_response_wrapper(
advertisement_status.edit # pyright: ignore[reportDeprecated],
)
)
self.get = ( # pyright: ignore[reportDeprecated]
async_to_streamed_response_wrapper(
advertisement_status.get # pyright: ignore[reportDeprecated],
)
)

View file

@ -1,61 +0,0 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .bgp import (
BGP,
AsyncBGP,
BGPWithRawResponse,
AsyncBGPWithRawResponse,
BGPWithStreamingResponse,
AsyncBGPWithStreamingResponse,
)
from .bindings import (
Bindings,
AsyncBindings,
BindingsWithRawResponse,
AsyncBindingsWithRawResponse,
BindingsWithStreamingResponse,
AsyncBindingsWithStreamingResponse,
)
from .prefixes import (
Prefixes,
AsyncPrefixes,
PrefixesWithRawResponse,
AsyncPrefixesWithRawResponse,
PrefixesWithStreamingResponse,
AsyncPrefixesWithStreamingResponse,
)
from .statuses import (
Statuses,
AsyncStatuses,
StatusesWithRawResponse,
AsyncStatusesWithRawResponse,
StatusesWithStreamingResponse,
AsyncStatusesWithStreamingResponse,
)
__all__ = [
"Bindings",
"AsyncBindings",
"BindingsWithRawResponse",
"AsyncBindingsWithRawResponse",
"BindingsWithStreamingResponse",
"AsyncBindingsWithStreamingResponse",
"Prefixes",
"AsyncPrefixes",
"PrefixesWithRawResponse",
"AsyncPrefixesWithRawResponse",
"PrefixesWithStreamingResponse",
"AsyncPrefixesWithStreamingResponse",
"Statuses",
"AsyncStatuses",
"StatusesWithRawResponse",
"AsyncStatusesWithRawResponse",
"StatusesWithStreamingResponse",
"AsyncStatusesWithStreamingResponse",
"BGP",
"AsyncBGP",
"BGPWithRawResponse",
"AsyncBGPWithRawResponse",
"BGPWithStreamingResponse",
"AsyncBGPWithStreamingResponse",
]

View file

@ -1,144 +0,0 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from .bindings import (
Bindings,
AsyncBindings,
BindingsWithRawResponse,
AsyncBindingsWithRawResponse,
BindingsWithStreamingResponse,
AsyncBindingsWithStreamingResponse,
)
from .prefixes import (
Prefixes,
AsyncPrefixes,
PrefixesWithRawResponse,
AsyncPrefixesWithRawResponse,
PrefixesWithStreamingResponse,
AsyncPrefixesWithStreamingResponse,
)
from .statuses import (
Statuses,
AsyncStatuses,
StatusesWithRawResponse,
AsyncStatusesWithRawResponse,
StatusesWithStreamingResponse,
AsyncStatusesWithStreamingResponse,
)
from ....._compat import cached_property
from ....._resource import SyncAPIResource, AsyncAPIResource
__all__ = ["BGP", "AsyncBGP"]
class BGP(SyncAPIResource):
@cached_property
def bindings(self) -> Bindings:
return Bindings(self._client)
@cached_property
def prefixes(self) -> Prefixes:
return Prefixes(self._client)
@cached_property
def statuses(self) -> Statuses:
return Statuses(self._client)
@cached_property
def with_raw_response(self) -> BGPWithRawResponse:
return BGPWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> BGPWithStreamingResponse:
return BGPWithStreamingResponse(self)
class AsyncBGP(AsyncAPIResource):
@cached_property
def bindings(self) -> AsyncBindings:
return AsyncBindings(self._client)
@cached_property
def prefixes(self) -> AsyncPrefixes:
return AsyncPrefixes(self._client)
@cached_property
def statuses(self) -> AsyncStatuses:
return AsyncStatuses(self._client)
@cached_property
def with_raw_response(self) -> AsyncBGPWithRawResponse:
return AsyncBGPWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncBGPWithStreamingResponse:
return AsyncBGPWithStreamingResponse(self)
class BGPWithRawResponse:
def __init__(self, bgp: BGP) -> None:
self._bgp = bgp
@cached_property
def bindings(self) -> BindingsWithRawResponse:
return BindingsWithRawResponse(self._bgp.bindings)
@cached_property
def prefixes(self) -> PrefixesWithRawResponse:
return PrefixesWithRawResponse(self._bgp.prefixes)
@cached_property
def statuses(self) -> StatusesWithRawResponse:
return StatusesWithRawResponse(self._bgp.statuses)
class AsyncBGPWithRawResponse:
def __init__(self, bgp: AsyncBGP) -> None:
self._bgp = bgp
@cached_property
def bindings(self) -> AsyncBindingsWithRawResponse:
return AsyncBindingsWithRawResponse(self._bgp.bindings)
@cached_property
def prefixes(self) -> AsyncPrefixesWithRawResponse:
return AsyncPrefixesWithRawResponse(self._bgp.prefixes)
@cached_property
def statuses(self) -> AsyncStatusesWithRawResponse:
return AsyncStatusesWithRawResponse(self._bgp.statuses)
class BGPWithStreamingResponse:
def __init__(self, bgp: BGP) -> None:
self._bgp = bgp
@cached_property
def bindings(self) -> BindingsWithStreamingResponse:
return BindingsWithStreamingResponse(self._bgp.bindings)
@cached_property
def prefixes(self) -> PrefixesWithStreamingResponse:
return PrefixesWithStreamingResponse(self._bgp.prefixes)
@cached_property
def statuses(self) -> StatusesWithStreamingResponse:
return StatusesWithStreamingResponse(self._bgp.statuses)
class AsyncBGPWithStreamingResponse:
def __init__(self, bgp: AsyncBGP) -> None:
self._bgp = bgp
@cached_property
def bindings(self) -> AsyncBindingsWithStreamingResponse:
return AsyncBindingsWithStreamingResponse(self._bgp.bindings)
@cached_property
def prefixes(self) -> AsyncPrefixesWithStreamingResponse:
return AsyncPrefixesWithStreamingResponse(self._bgp.prefixes)
@cached_property
def statuses(self) -> AsyncStatusesWithStreamingResponse:
return AsyncStatusesWithStreamingResponse(self._bgp.statuses)

View file

@ -1,551 +0,0 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Any, Type, cast
import httpx
from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ....._utils import (
maybe_transform,
async_maybe_transform,
)
from ....._compat import cached_property
from ....._resource import SyncAPIResource, AsyncAPIResource
from ....._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ....._wrappers import ResultWrapper
from ....._base_client import (
make_request_options,
)
from .....types.addressing.prefixes.bgp import (
BindingListResponse,
BindingDeleteResponse,
AddressingServiceBinding,
binding_create_params,
)
__all__ = ["Bindings", "AsyncBindings"]
class Bindings(SyncAPIResource):
@cached_property
def with_raw_response(self) -> BindingsWithRawResponse:
return BindingsWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> BindingsWithStreamingResponse:
return BindingsWithStreamingResponse(self)
def create(
self,
prefix_id: str,
*,
account_id: str,
cidr: str | NotGiven = NOT_GIVEN,
service_id: str | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingServiceBinding:
"""
Creates a new Service Binding, routing traffic to IPs within the given CIDR to a
service running on Cloudflare's network. **Note:** This API may only be used on
prefixes currently configured with a Magic Transit service binding, and only
allows creating service bindings for the Cloudflare CDN or Cloudflare Spectrum.
Args:
account_id: Identifier
prefix_id: Identifier
cidr: IP Prefix in Classless Inter-Domain Routing format.
service_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._post(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings",
body=maybe_transform(
{
"cidr": cidr,
"service_id": service_id,
},
binding_create_params.BindingCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[AddressingServiceBinding], ResultWrapper[AddressingServiceBinding]),
)
def list(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> BindingListResponse:
"""List the Cloudflare services this prefix is currently bound to.
Traffic sent to
an address within an IP prefix will be routed to the Cloudflare service of the
most-specific Service Binding matching the address. **Example:** binding
`192.0.2.0/24` to Cloudflare Magic Transit and `192.0.2.1/32` to the Cloudflare
CDN would route traffic for `192.0.2.1` to the CDN, and traffic for all other
IPs in the prefix to Cloudflare Magic Transit.
Args:
account_id: Identifier
prefix_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[BindingListResponse], ResultWrapper[BindingListResponse]),
)
def delete(
self,
binding_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> BindingDeleteResponse:
"""
Delete a Service Binding
Args:
account_id: Identifier
prefix_id: Identifier
binding_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not binding_id:
raise ValueError(f"Expected a non-empty value for `binding_id` but received {binding_id!r}")
return cast(
BindingDeleteResponse,
self._delete(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[BindingDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
),
)
def get(
self,
binding_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingServiceBinding:
"""
Fetch a single Service Binding
Args:
account_id: Identifier
prefix_id: Identifier
binding_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not binding_id:
raise ValueError(f"Expected a non-empty value for `binding_id` but received {binding_id!r}")
return self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[AddressingServiceBinding], ResultWrapper[AddressingServiceBinding]),
)
class AsyncBindings(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncBindingsWithRawResponse:
return AsyncBindingsWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncBindingsWithStreamingResponse:
return AsyncBindingsWithStreamingResponse(self)
async def create(
self,
prefix_id: str,
*,
account_id: str,
cidr: str | NotGiven = NOT_GIVEN,
service_id: str | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingServiceBinding:
"""
Creates a new Service Binding, routing traffic to IPs within the given CIDR to a
service running on Cloudflare's network. **Note:** This API may only be used on
prefixes currently configured with a Magic Transit service binding, and only
allows creating service bindings for the Cloudflare CDN or Cloudflare Spectrum.
Args:
account_id: Identifier
prefix_id: Identifier
cidr: IP Prefix in Classless Inter-Domain Routing format.
service_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return await self._post(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings",
body=await async_maybe_transform(
{
"cidr": cidr,
"service_id": service_id,
},
binding_create_params.BindingCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[AddressingServiceBinding], ResultWrapper[AddressingServiceBinding]),
)
async def list(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> BindingListResponse:
"""List the Cloudflare services this prefix is currently bound to.
Traffic sent to
an address within an IP prefix will be routed to the Cloudflare service of the
most-specific Service Binding matching the address. **Example:** binding
`192.0.2.0/24` to Cloudflare Magic Transit and `192.0.2.1/32` to the Cloudflare
CDN would route traffic for `192.0.2.1` to the CDN, and traffic for all other
IPs in the prefix to Cloudflare Magic Transit.
Args:
account_id: Identifier
prefix_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return await self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[BindingListResponse], ResultWrapper[BindingListResponse]),
)
async def delete(
self,
binding_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> BindingDeleteResponse:
"""
Delete a Service Binding
Args:
account_id: Identifier
prefix_id: Identifier
binding_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not binding_id:
raise ValueError(f"Expected a non-empty value for `binding_id` but received {binding_id!r}")
return cast(
BindingDeleteResponse,
await self._delete(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[BindingDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
),
)
async def get(
self,
binding_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingServiceBinding:
"""
Fetch a single Service Binding
Args:
account_id: Identifier
prefix_id: Identifier
binding_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not binding_id:
raise ValueError(f"Expected a non-empty value for `binding_id` but received {binding_id!r}")
return await self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[AddressingServiceBinding], ResultWrapper[AddressingServiceBinding]),
)
class BindingsWithRawResponse:
def __init__(self, bindings: Bindings) -> None:
self._bindings = bindings
self.create = to_raw_response_wrapper(
bindings.create,
)
self.list = to_raw_response_wrapper(
bindings.list,
)
self.delete = to_raw_response_wrapper(
bindings.delete,
)
self.get = to_raw_response_wrapper(
bindings.get,
)
class AsyncBindingsWithRawResponse:
def __init__(self, bindings: AsyncBindings) -> None:
self._bindings = bindings
self.create = async_to_raw_response_wrapper(
bindings.create,
)
self.list = async_to_raw_response_wrapper(
bindings.list,
)
self.delete = async_to_raw_response_wrapper(
bindings.delete,
)
self.get = async_to_raw_response_wrapper(
bindings.get,
)
class BindingsWithStreamingResponse:
def __init__(self, bindings: Bindings) -> None:
self._bindings = bindings
self.create = to_streamed_response_wrapper(
bindings.create,
)
self.list = to_streamed_response_wrapper(
bindings.list,
)
self.delete = to_streamed_response_wrapper(
bindings.delete,
)
self.get = to_streamed_response_wrapper(
bindings.get,
)
class AsyncBindingsWithStreamingResponse:
def __init__(self, bindings: AsyncBindings) -> None:
self._bindings = bindings
self.create = async_to_streamed_response_wrapper(
bindings.create,
)
self.list = async_to_streamed_response_wrapper(
bindings.list,
)
self.delete = async_to_streamed_response_wrapper(
bindings.delete,
)
self.get = async_to_streamed_response_wrapper(
bindings.get,
)

View file

@ -1,406 +0,0 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Type, Optional, cast
import httpx
from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ....._utils import (
maybe_transform,
async_maybe_transform,
)
from ....._compat import cached_property
from ....._resource import SyncAPIResource, AsyncAPIResource
from ....._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ....._wrappers import ResultWrapper
from ....._base_client import (
make_request_options,
)
from .....types.addressing.prefixes.bgp import PrefixListResponse, AddressingIpamBGPPrefixes, prefix_edit_params
__all__ = ["Prefixes", "AsyncPrefixes"]
class Prefixes(SyncAPIResource):
@cached_property
def with_raw_response(self) -> PrefixesWithRawResponse:
return PrefixesWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> PrefixesWithStreamingResponse:
return PrefixesWithStreamingResponse(self)
def list(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[PrefixListResponse]:
"""List all BGP Prefixes within the specified IP Prefix.
BGP Prefixes are used to
control which specific subnets are advertised to the Internet. It is possible to
advertise subnets more specific than an IP Prefix by creating more specific BGP
Prefixes.
Args:
account_id: Identifier
prefix_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[Optional[PrefixListResponse]], ResultWrapper[PrefixListResponse]),
)
def edit(
self,
bgp_prefix_id: str,
*,
account_id: str,
prefix_id: str,
on_demand: prefix_edit_params.OnDemand | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamBGPPrefixes:
"""
Update the properties of a BGP Prefix, such as the on demand advertisement
status (advertised or withdrawn).
Args:
account_id: Identifier
prefix_id: Identifier
bgp_prefix_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not bgp_prefix_id:
raise ValueError(f"Expected a non-empty value for `bgp_prefix_id` but received {bgp_prefix_id!r}")
return self._patch(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}",
body=maybe_transform({"on_demand": on_demand}, prefix_edit_params.PrefixEditParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[AddressingIpamBGPPrefixes], ResultWrapper[AddressingIpamBGPPrefixes]),
)
def get(
self,
bgp_prefix_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamBGPPrefixes:
"""
Retrieve a single BGP Prefix according to its identifier
Args:
account_id: Identifier
prefix_id: Identifier
bgp_prefix_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not bgp_prefix_id:
raise ValueError(f"Expected a non-empty value for `bgp_prefix_id` but received {bgp_prefix_id!r}")
return self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[AddressingIpamBGPPrefixes], ResultWrapper[AddressingIpamBGPPrefixes]),
)
class AsyncPrefixes(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncPrefixesWithRawResponse:
return AsyncPrefixesWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncPrefixesWithStreamingResponse:
return AsyncPrefixesWithStreamingResponse(self)
async def list(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[PrefixListResponse]:
"""List all BGP Prefixes within the specified IP Prefix.
BGP Prefixes are used to
control which specific subnets are advertised to the Internet. It is possible to
advertise subnets more specific than an IP Prefix by creating more specific BGP
Prefixes.
Args:
account_id: Identifier
prefix_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return await self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[Optional[PrefixListResponse]], ResultWrapper[PrefixListResponse]),
)
async def edit(
self,
bgp_prefix_id: str,
*,
account_id: str,
prefix_id: str,
on_demand: prefix_edit_params.OnDemand | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamBGPPrefixes:
"""
Update the properties of a BGP Prefix, such as the on demand advertisement
status (advertised or withdrawn).
Args:
account_id: Identifier
prefix_id: Identifier
bgp_prefix_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not bgp_prefix_id:
raise ValueError(f"Expected a non-empty value for `bgp_prefix_id` but received {bgp_prefix_id!r}")
return await self._patch(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}",
body=await async_maybe_transform({"on_demand": on_demand}, prefix_edit_params.PrefixEditParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[AddressingIpamBGPPrefixes], ResultWrapper[AddressingIpamBGPPrefixes]),
)
async def get(
self,
bgp_prefix_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamBGPPrefixes:
"""
Retrieve a single BGP Prefix according to its identifier
Args:
account_id: Identifier
prefix_id: Identifier
bgp_prefix_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not bgp_prefix_id:
raise ValueError(f"Expected a non-empty value for `bgp_prefix_id` but received {bgp_prefix_id!r}")
return await self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[AddressingIpamBGPPrefixes], ResultWrapper[AddressingIpamBGPPrefixes]),
)
class PrefixesWithRawResponse:
def __init__(self, prefixes: Prefixes) -> None:
self._prefixes = prefixes
self.list = to_raw_response_wrapper(
prefixes.list,
)
self.edit = to_raw_response_wrapper(
prefixes.edit,
)
self.get = to_raw_response_wrapper(
prefixes.get,
)
class AsyncPrefixesWithRawResponse:
def __init__(self, prefixes: AsyncPrefixes) -> None:
self._prefixes = prefixes
self.list = async_to_raw_response_wrapper(
prefixes.list,
)
self.edit = async_to_raw_response_wrapper(
prefixes.edit,
)
self.get = async_to_raw_response_wrapper(
prefixes.get,
)
class PrefixesWithStreamingResponse:
def __init__(self, prefixes: Prefixes) -> None:
self._prefixes = prefixes
self.list = to_streamed_response_wrapper(
prefixes.list,
)
self.edit = to_streamed_response_wrapper(
prefixes.edit,
)
self.get = to_streamed_response_wrapper(
prefixes.get,
)
class AsyncPrefixesWithStreamingResponse:
def __init__(self, prefixes: AsyncPrefixes) -> None:
self._prefixes = prefixes
self.list = async_to_streamed_response_wrapper(
prefixes.list,
)
self.edit = async_to_streamed_response_wrapper(
prefixes.edit,
)
self.get = async_to_streamed_response_wrapper(
prefixes.get,
)

View file

@ -1,280 +0,0 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Type, cast
import httpx
from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ....._utils import (
maybe_transform,
async_maybe_transform,
)
from ....._compat import cached_property
from ....._resource import SyncAPIResource, AsyncAPIResource
from ....._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ....._wrappers import ResultWrapper
from ....._base_client import (
make_request_options,
)
from .....types.addressing.prefixes.bgp import StatusGetResponse, StatusEditResponse, status_edit_params
__all__ = ["Statuses", "AsyncStatuses"]
class Statuses(SyncAPIResource):
@cached_property
def with_raw_response(self) -> StatusesWithRawResponse:
return StatusesWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> StatusesWithStreamingResponse:
return StatusesWithStreamingResponse(self)
def edit(
self,
prefix_id: str,
*,
account_id: str,
advertised: bool,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> StatusEditResponse:
"""
Advertise or withdraw BGP route for a prefix.
Args:
account_id: Identifier
prefix_id: Identifier
advertised: Enablement of prefix advertisement to the Internet.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._patch(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status",
body=maybe_transform({"advertised": advertised}, status_edit_params.StatusEditParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[StatusEditResponse], ResultWrapper[StatusEditResponse]),
)
def get(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> StatusGetResponse:
"""
List the current advertisement state for a prefix.
Args:
account_id: Identifier
prefix_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[StatusGetResponse], ResultWrapper[StatusGetResponse]),
)
class AsyncStatuses(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncStatusesWithRawResponse:
return AsyncStatusesWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncStatusesWithStreamingResponse:
return AsyncStatusesWithStreamingResponse(self)
async def edit(
self,
prefix_id: str,
*,
account_id: str,
advertised: bool,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> StatusEditResponse:
"""
Advertise or withdraw BGP route for a prefix.
Args:
account_id: Identifier
prefix_id: Identifier
advertised: Enablement of prefix advertisement to the Internet.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return await self._patch(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status",
body=await async_maybe_transform({"advertised": advertised}, status_edit_params.StatusEditParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[StatusEditResponse], ResultWrapper[StatusEditResponse]),
)
async def get(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> StatusGetResponse:
"""
List the current advertisement state for a prefix.
Args:
account_id: Identifier
prefix_id: Identifier
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return await self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(Type[StatusGetResponse], ResultWrapper[StatusGetResponse]),
)
class StatusesWithRawResponse:
def __init__(self, statuses: Statuses) -> None:
self._statuses = statuses
self.edit = to_raw_response_wrapper(
statuses.edit,
)
self.get = to_raw_response_wrapper(
statuses.get,
)
class AsyncStatusesWithRawResponse:
def __init__(self, statuses: AsyncStatuses) -> None:
self._statuses = statuses
self.edit = async_to_raw_response_wrapper(
statuses.edit,
)
self.get = async_to_raw_response_wrapper(
statuses.get,
)
class StatusesWithStreamingResponse:
def __init__(self, statuses: Statuses) -> None:
self._statuses = statuses
self.edit = to_streamed_response_wrapper(
statuses.edit,
)
self.get = to_streamed_response_wrapper(
statuses.get,
)
class AsyncStatusesWithStreamingResponse:
def __init__(self, statuses: AsyncStatuses) -> None:
self._statuses = statuses
self.edit = async_to_streamed_response_wrapper(
statuses.edit,
)
self.get = async_to_streamed_response_wrapper(
statuses.get,
)

View file

@ -0,0 +1,561 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Type, Optional, cast
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ....pagination import SyncSinglePage, AsyncSinglePage
from ...._base_client import AsyncPaginator, make_request_options
from ....types.addressing.prefixes import bgp_prefix_edit_params, bgp_prefix_create_params
from ....types.addressing.prefixes.bgp_prefix import BGPPrefix
__all__ = ["BGPPrefixesResource", "AsyncBGPPrefixesResource"]
class BGPPrefixesResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> BGPPrefixesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return BGPPrefixesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> BGPPrefixesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return BGPPrefixesResourceWithStreamingResponse(self)
def create(
self,
prefix_id: str,
*,
account_id: str,
cidr: str | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[BGPPrefix]:
"""
Create a BGP prefix, controlling the BGP advertisement status of a specific
subnet. When created, BGP prefixes are initially withdrawn, and can be
advertised with the Update BGP Prefix API.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
cidr: IP Prefix in Classless Inter-Domain Routing format.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._post(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes",
body=maybe_transform({"cidr": cidr}, bgp_prefix_create_params.BGPPrefixCreateParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[BGPPrefix]]._unwrapper,
),
cast_to=cast(Type[Optional[BGPPrefix]], ResultWrapper[BGPPrefix]),
)
def list(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncSinglePage[BGPPrefix]:
"""List all BGP Prefixes within the specified IP Prefix.
BGP Prefixes are used to
control which specific subnets are advertised to the Internet. It is possible to
advertise subnets more specific than an IP Prefix by creating more specific BGP
Prefixes.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes",
page=SyncSinglePage[BGPPrefix],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=BGPPrefix,
)
def edit(
self,
bgp_prefix_id: str,
*,
account_id: str,
prefix_id: str,
asn_prepend_count: int | NotGiven = NOT_GIVEN,
on_demand: bgp_prefix_edit_params.OnDemand | NotGiven = NOT_GIVEN,
withdraw_if_no_route: bool | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[BGPPrefix]:
"""
Update the properties of a BGP Prefix, such as the on demand advertisement
status (advertised or withdrawn).
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
bgp_prefix_id: Identifier of BGP Prefix.
asn_prepend_count: Number of times to prepend the Cloudflare ASN to the BGP AS-Path attribute
withdraw_if_no_route: Controls whether the BGP prefix is automatically withdrawn when prefix is
withdrawn from Magic routing table (for Magic Transit customers using Direct
CNI)
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not bgp_prefix_id:
raise ValueError(f"Expected a non-empty value for `bgp_prefix_id` but received {bgp_prefix_id!r}")
return self._patch(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}",
body=maybe_transform(
{
"asn_prepend_count": asn_prepend_count,
"on_demand": on_demand,
"withdraw_if_no_route": withdraw_if_no_route,
},
bgp_prefix_edit_params.BGPPrefixEditParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[BGPPrefix]]._unwrapper,
),
cast_to=cast(Type[Optional[BGPPrefix]], ResultWrapper[BGPPrefix]),
)
def get(
self,
bgp_prefix_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[BGPPrefix]:
"""
Retrieve a single BGP Prefix according to its identifier
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
bgp_prefix_id: Identifier of BGP Prefix.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not bgp_prefix_id:
raise ValueError(f"Expected a non-empty value for `bgp_prefix_id` but received {bgp_prefix_id!r}")
return self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[BGPPrefix]]._unwrapper,
),
cast_to=cast(Type[Optional[BGPPrefix]], ResultWrapper[BGPPrefix]),
)
class AsyncBGPPrefixesResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncBGPPrefixesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncBGPPrefixesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncBGPPrefixesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncBGPPrefixesResourceWithStreamingResponse(self)
async def create(
self,
prefix_id: str,
*,
account_id: str,
cidr: str | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[BGPPrefix]:
"""
Create a BGP prefix, controlling the BGP advertisement status of a specific
subnet. When created, BGP prefixes are initially withdrawn, and can be
advertised with the Update BGP Prefix API.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
cidr: IP Prefix in Classless Inter-Domain Routing format.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return await self._post(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes",
body=await async_maybe_transform({"cidr": cidr}, bgp_prefix_create_params.BGPPrefixCreateParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[BGPPrefix]]._unwrapper,
),
cast_to=cast(Type[Optional[BGPPrefix]], ResultWrapper[BGPPrefix]),
)
def list(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[BGPPrefix, AsyncSinglePage[BGPPrefix]]:
"""List all BGP Prefixes within the specified IP Prefix.
BGP Prefixes are used to
control which specific subnets are advertised to the Internet. It is possible to
advertise subnets more specific than an IP Prefix by creating more specific BGP
Prefixes.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes",
page=AsyncSinglePage[BGPPrefix],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=BGPPrefix,
)
async def edit(
self,
bgp_prefix_id: str,
*,
account_id: str,
prefix_id: str,
asn_prepend_count: int | NotGiven = NOT_GIVEN,
on_demand: bgp_prefix_edit_params.OnDemand | NotGiven = NOT_GIVEN,
withdraw_if_no_route: bool | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[BGPPrefix]:
"""
Update the properties of a BGP Prefix, such as the on demand advertisement
status (advertised or withdrawn).
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
bgp_prefix_id: Identifier of BGP Prefix.
asn_prepend_count: Number of times to prepend the Cloudflare ASN to the BGP AS-Path attribute
withdraw_if_no_route: Controls whether the BGP prefix is automatically withdrawn when prefix is
withdrawn from Magic routing table (for Magic Transit customers using Direct
CNI)
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not bgp_prefix_id:
raise ValueError(f"Expected a non-empty value for `bgp_prefix_id` but received {bgp_prefix_id!r}")
return await self._patch(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}",
body=await async_maybe_transform(
{
"asn_prepend_count": asn_prepend_count,
"on_demand": on_demand,
"withdraw_if_no_route": withdraw_if_no_route,
},
bgp_prefix_edit_params.BGPPrefixEditParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[BGPPrefix]]._unwrapper,
),
cast_to=cast(Type[Optional[BGPPrefix]], ResultWrapper[BGPPrefix]),
)
async def get(
self,
bgp_prefix_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[BGPPrefix]:
"""
Retrieve a single BGP Prefix according to its identifier
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
bgp_prefix_id: Identifier of BGP Prefix.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not bgp_prefix_id:
raise ValueError(f"Expected a non-empty value for `bgp_prefix_id` but received {bgp_prefix_id!r}")
return await self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[BGPPrefix]]._unwrapper,
),
cast_to=cast(Type[Optional[BGPPrefix]], ResultWrapper[BGPPrefix]),
)
class BGPPrefixesResourceWithRawResponse:
def __init__(self, bgp_prefixes: BGPPrefixesResource) -> None:
self._bgp_prefixes = bgp_prefixes
self.create = to_raw_response_wrapper(
bgp_prefixes.create,
)
self.list = to_raw_response_wrapper(
bgp_prefixes.list,
)
self.edit = to_raw_response_wrapper(
bgp_prefixes.edit,
)
self.get = to_raw_response_wrapper(
bgp_prefixes.get,
)
class AsyncBGPPrefixesResourceWithRawResponse:
def __init__(self, bgp_prefixes: AsyncBGPPrefixesResource) -> None:
self._bgp_prefixes = bgp_prefixes
self.create = async_to_raw_response_wrapper(
bgp_prefixes.create,
)
self.list = async_to_raw_response_wrapper(
bgp_prefixes.list,
)
self.edit = async_to_raw_response_wrapper(
bgp_prefixes.edit,
)
self.get = async_to_raw_response_wrapper(
bgp_prefixes.get,
)
class BGPPrefixesResourceWithStreamingResponse:
def __init__(self, bgp_prefixes: BGPPrefixesResource) -> None:
self._bgp_prefixes = bgp_prefixes
self.create = to_streamed_response_wrapper(
bgp_prefixes.create,
)
self.list = to_streamed_response_wrapper(
bgp_prefixes.list,
)
self.edit = to_streamed_response_wrapper(
bgp_prefixes.edit,
)
self.get = to_streamed_response_wrapper(
bgp_prefixes.get,
)
class AsyncBGPPrefixesResourceWithStreamingResponse:
def __init__(self, bgp_prefixes: AsyncBGPPrefixesResource) -> None:
self._bgp_prefixes = bgp_prefixes
self.create = async_to_streamed_response_wrapper(
bgp_prefixes.create,
)
self.list = async_to_streamed_response_wrapper(
bgp_prefixes.list,
)
self.edit = async_to_streamed_response_wrapper(
bgp_prefixes.edit,
)
self.get = async_to_streamed_response_wrapper(
bgp_prefixes.get,
)

View file

@ -7,10 +7,7 @@ from typing import Type, Optional, cast
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import (
maybe_transform,
async_maybe_transform,
)
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
@ -20,27 +17,34 @@ from ...._response import (
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ...._base_client import (
make_request_options,
)
from ....types.addressing.prefixes import (
DelegationListResponse,
DelegationDeleteResponse,
AddressingIpamDelegations,
delegation_create_params,
)
from ....pagination import SyncSinglePage, AsyncSinglePage
from ...._base_client import AsyncPaginator, make_request_options
from ....types.addressing.prefixes import delegation_create_params
from ....types.addressing.prefixes.delegations import Delegations
from ....types.addressing.prefixes.delegation_delete_response import DelegationDeleteResponse
__all__ = ["Delegations", "AsyncDelegations"]
__all__ = ["DelegationsResource", "AsyncDelegationsResource"]
class Delegations(SyncAPIResource):
class DelegationsResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> DelegationsWithRawResponse:
return DelegationsWithRawResponse(self)
def with_raw_response(self) -> DelegationsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return DelegationsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> DelegationsWithStreamingResponse:
return DelegationsWithStreamingResponse(self)
def with_streaming_response(self) -> DelegationsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return DelegationsResourceWithStreamingResponse(self)
def create(
self,
@ -55,14 +59,14 @@ class Delegations(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamDelegations:
) -> Optional[Delegations]:
"""
Create a new account delegation for a given IP prefix.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
cidr: IP Prefix in Classless Inter-Domain Routing format.
@ -94,9 +98,9 @@ class Delegations(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Delegations]]._unwrapper,
),
cast_to=cast(Type[AddressingIpamDelegations], ResultWrapper[AddressingIpamDelegations]),
cast_to=cast(Type[Optional[Delegations]], ResultWrapper[Delegations]),
)
def list(
@ -110,14 +114,14 @@ class Delegations(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[DelegationListResponse]:
) -> SyncSinglePage[Delegations]:
"""
List all delegations for a given account IP prefix.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
@ -131,16 +135,13 @@ class Delegations(SyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._get(
return self._get_api_list(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/delegations",
page=SyncSinglePage[Delegations],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=cast(Type[Optional[DelegationListResponse]], ResultWrapper[DelegationListResponse]),
model=Delegations,
)
def delete(
@ -155,16 +156,16 @@ class Delegations(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> DelegationDeleteResponse:
) -> Optional[DelegationDeleteResponse]:
"""
Delete an account delegation for a given IP prefix.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
delegation_id: Delegation identifier tag.
delegation_id: Identifier of a Delegation.
extra_headers: Send extra headers
@ -187,20 +188,31 @@ class Delegations(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[DelegationDeleteResponse]]._unwrapper,
),
cast_to=cast(Type[DelegationDeleteResponse], ResultWrapper[DelegationDeleteResponse]),
cast_to=cast(Type[Optional[DelegationDeleteResponse]], ResultWrapper[DelegationDeleteResponse]),
)
class AsyncDelegations(AsyncAPIResource):
class AsyncDelegationsResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncDelegationsWithRawResponse:
return AsyncDelegationsWithRawResponse(self)
def with_raw_response(self) -> AsyncDelegationsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncDelegationsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncDelegationsWithStreamingResponse:
return AsyncDelegationsWithStreamingResponse(self)
def with_streaming_response(self) -> AsyncDelegationsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncDelegationsResourceWithStreamingResponse(self)
async def create(
self,
@ -215,14 +227,14 @@ class AsyncDelegations(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamDelegations:
) -> Optional[Delegations]:
"""
Create a new account delegation for a given IP prefix.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
cidr: IP Prefix in Classless Inter-Domain Routing format.
@ -254,12 +266,12 @@ class AsyncDelegations(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Delegations]]._unwrapper,
),
cast_to=cast(Type[AddressingIpamDelegations], ResultWrapper[AddressingIpamDelegations]),
cast_to=cast(Type[Optional[Delegations]], ResultWrapper[Delegations]),
)
async def list(
def list(
self,
prefix_id: str,
*,
@ -270,14 +282,14 @@ class AsyncDelegations(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[DelegationListResponse]:
) -> AsyncPaginator[Delegations, AsyncSinglePage[Delegations]]:
"""
List all delegations for a given account IP prefix.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
@ -291,16 +303,13 @@ class AsyncDelegations(AsyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return await self._get(
return self._get_api_list(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/delegations",
page=AsyncSinglePage[Delegations],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=cast(Type[Optional[DelegationListResponse]], ResultWrapper[DelegationListResponse]),
model=Delegations,
)
async def delete(
@ -315,16 +324,16 @@ class AsyncDelegations(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> DelegationDeleteResponse:
) -> Optional[DelegationDeleteResponse]:
"""
Delete an account delegation for a given IP prefix.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
delegation_id: Delegation identifier tag.
delegation_id: Identifier of a Delegation.
extra_headers: Send extra headers
@ -347,14 +356,14 @@ class AsyncDelegations(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[DelegationDeleteResponse]]._unwrapper,
),
cast_to=cast(Type[DelegationDeleteResponse], ResultWrapper[DelegationDeleteResponse]),
cast_to=cast(Type[Optional[DelegationDeleteResponse]], ResultWrapper[DelegationDeleteResponse]),
)
class DelegationsWithRawResponse:
def __init__(self, delegations: Delegations) -> None:
class DelegationsResourceWithRawResponse:
def __init__(self, delegations: DelegationsResource) -> None:
self._delegations = delegations
self.create = to_raw_response_wrapper(
@ -368,8 +377,8 @@ class DelegationsWithRawResponse:
)
class AsyncDelegationsWithRawResponse:
def __init__(self, delegations: AsyncDelegations) -> None:
class AsyncDelegationsResourceWithRawResponse:
def __init__(self, delegations: AsyncDelegationsResource) -> None:
self._delegations = delegations
self.create = async_to_raw_response_wrapper(
@ -383,8 +392,8 @@ class AsyncDelegationsWithRawResponse:
)
class DelegationsWithStreamingResponse:
def __init__(self, delegations: Delegations) -> None:
class DelegationsResourceWithStreamingResponse:
def __init__(self, delegations: DelegationsResource) -> None:
self._delegations = delegations
self.create = to_streamed_response_wrapper(
@ -398,8 +407,8 @@ class DelegationsWithStreamingResponse:
)
class AsyncDelegationsWithStreamingResponse:
def __init__(self, delegations: AsyncDelegations) -> None:
class AsyncDelegationsResourceWithStreamingResponse:
def __init__(self, delegations: AsyncDelegationsResource) -> None:
self._delegations = delegations
self.create = async_to_streamed_response_wrapper(

View file

@ -2,32 +2,20 @@
from __future__ import annotations
from typing import Any, Type, Optional, cast
from typing import Type, Optional, cast
import httpx
from .bgp import (
BGP,
AsyncBGP,
BGPWithRawResponse,
AsyncBGPWithRawResponse,
BGPWithStreamingResponse,
AsyncBGPWithStreamingResponse,
)
from .bgp.bgp import BGP, AsyncBGP
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import (
maybe_transform,
async_maybe_transform,
)
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from .delegations import (
Delegations,
AsyncDelegations,
DelegationsWithRawResponse,
AsyncDelegationsWithRawResponse,
DelegationsWithStreamingResponse,
AsyncDelegationsWithStreamingResponse,
DelegationsResource,
AsyncDelegationsResource,
DelegationsResourceWithRawResponse,
AsyncDelegationsResourceWithRawResponse,
DelegationsResourceWithStreamingResponse,
AsyncDelegationsResourceWithStreamingResponse,
)
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
@ -37,36 +25,74 @@ from ...._response import (
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ...._base_client import (
make_request_options,
from .bgp_prefixes import (
BGPPrefixesResource,
AsyncBGPPrefixesResource,
BGPPrefixesResourceWithRawResponse,
AsyncBGPPrefixesResourceWithRawResponse,
BGPPrefixesResourceWithStreamingResponse,
AsyncBGPPrefixesResourceWithStreamingResponse,
)
from ....types.addressing import (
PrefixListResponse,
PrefixDeleteResponse,
AddressingIpamPrefixes,
prefix_edit_params,
prefix_create_params,
from ....pagination import SyncSinglePage, AsyncSinglePage
from ...._base_client import AsyncPaginator, make_request_options
from .service_bindings import (
ServiceBindingsResource,
AsyncServiceBindingsResource,
ServiceBindingsResourceWithRawResponse,
AsyncServiceBindingsResourceWithRawResponse,
ServiceBindingsResourceWithStreamingResponse,
AsyncServiceBindingsResourceWithStreamingResponse,
)
from ....types.addressing import prefix_edit_params, prefix_create_params
from .advertisement_status import (
AdvertisementStatusResource,
AsyncAdvertisementStatusResource,
AdvertisementStatusResourceWithRawResponse,
AsyncAdvertisementStatusResourceWithRawResponse,
AdvertisementStatusResourceWithStreamingResponse,
AsyncAdvertisementStatusResourceWithStreamingResponse,
)
from ....types.addressing.prefix import Prefix
from ....types.addressing.prefix_delete_response import PrefixDeleteResponse
__all__ = ["Prefixes", "AsyncPrefixes"]
__all__ = ["PrefixesResource", "AsyncPrefixesResource"]
class Prefixes(SyncAPIResource):
class PrefixesResource(SyncAPIResource):
@cached_property
def bgp(self) -> BGP:
return BGP(self._client)
def service_bindings(self) -> ServiceBindingsResource:
return ServiceBindingsResource(self._client)
@cached_property
def delegations(self) -> Delegations:
return Delegations(self._client)
def bgp_prefixes(self) -> BGPPrefixesResource:
return BGPPrefixesResource(self._client)
@cached_property
def with_raw_response(self) -> PrefixesWithRawResponse:
return PrefixesWithRawResponse(self)
def advertisement_status(self) -> AdvertisementStatusResource:
return AdvertisementStatusResource(self._client)
@cached_property
def with_streaming_response(self) -> PrefixesWithStreamingResponse:
return PrefixesWithStreamingResponse(self)
def delegations(self) -> DelegationsResource:
return DelegationsResource(self._client)
@cached_property
def with_raw_response(self) -> PrefixesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return PrefixesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> PrefixesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return PrefixesResourceWithStreamingResponse(self)
def create(
self,
@ -81,12 +107,12 @@ class Prefixes(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamPrefixes:
) -> Optional[Prefix]:
"""
Add a new prefix under the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
asn: Autonomous System Number (ASN) the prefix will be advertised under.
@ -119,9 +145,9 @@ class Prefixes(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Prefix]]._unwrapper,
),
cast_to=cast(Type[AddressingIpamPrefixes], ResultWrapper[AddressingIpamPrefixes]),
cast_to=cast(Type[Optional[Prefix]], ResultWrapper[Prefix]),
)
def list(
@ -134,12 +160,12 @@ class Prefixes(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[PrefixListResponse]:
) -> SyncSinglePage[Prefix]:
"""
List all prefixes owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
extra_headers: Send extra headers
@ -151,16 +177,13 @@ class Prefixes(SyncAPIResource):
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get(
return self._get_api_list(
f"/accounts/{account_id}/addressing/prefixes",
page=SyncSinglePage[Prefix],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=cast(Type[Optional[PrefixListResponse]], ResultWrapper[PrefixListResponse]),
model=Prefix,
)
def delete(
@ -174,14 +197,14 @@ class Prefixes(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[PrefixDeleteResponse]:
) -> PrefixDeleteResponse:
"""
Delete an unapproved prefix owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
@ -195,21 +218,12 @@ class Prefixes(SyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return cast(
Optional[PrefixDeleteResponse],
self._delete(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[PrefixDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
return self._delete(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=PrefixDeleteResponse,
)
def edit(
@ -224,14 +238,14 @@ class Prefixes(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamPrefixes:
) -> Optional[Prefix]:
"""
Modify the description for a prefix owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
description: Description of the prefix.
@ -255,9 +269,9 @@ class Prefixes(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Prefix]]._unwrapper,
),
cast_to=cast(Type[AddressingIpamPrefixes], ResultWrapper[AddressingIpamPrefixes]),
cast_to=cast(Type[Optional[Prefix]], ResultWrapper[Prefix]),
)
def get(
@ -271,14 +285,14 @@ class Prefixes(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamPrefixes:
) -> Optional[Prefix]:
"""
List a particular prefix owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
@ -299,28 +313,47 @@ class Prefixes(SyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Prefix]]._unwrapper,
),
cast_to=cast(Type[AddressingIpamPrefixes], ResultWrapper[AddressingIpamPrefixes]),
cast_to=cast(Type[Optional[Prefix]], ResultWrapper[Prefix]),
)
class AsyncPrefixes(AsyncAPIResource):
class AsyncPrefixesResource(AsyncAPIResource):
@cached_property
def bgp(self) -> AsyncBGP:
return AsyncBGP(self._client)
def service_bindings(self) -> AsyncServiceBindingsResource:
return AsyncServiceBindingsResource(self._client)
@cached_property
def delegations(self) -> AsyncDelegations:
return AsyncDelegations(self._client)
def bgp_prefixes(self) -> AsyncBGPPrefixesResource:
return AsyncBGPPrefixesResource(self._client)
@cached_property
def with_raw_response(self) -> AsyncPrefixesWithRawResponse:
return AsyncPrefixesWithRawResponse(self)
def advertisement_status(self) -> AsyncAdvertisementStatusResource:
return AsyncAdvertisementStatusResource(self._client)
@cached_property
def with_streaming_response(self) -> AsyncPrefixesWithStreamingResponse:
return AsyncPrefixesWithStreamingResponse(self)
def delegations(self) -> AsyncDelegationsResource:
return AsyncDelegationsResource(self._client)
@cached_property
def with_raw_response(self) -> AsyncPrefixesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncPrefixesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncPrefixesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncPrefixesResourceWithStreamingResponse(self)
async def create(
self,
@ -335,12 +368,12 @@ class AsyncPrefixes(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamPrefixes:
) -> Optional[Prefix]:
"""
Add a new prefix under the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
asn: Autonomous System Number (ASN) the prefix will be advertised under.
@ -373,12 +406,12 @@ class AsyncPrefixes(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Prefix]]._unwrapper,
),
cast_to=cast(Type[AddressingIpamPrefixes], ResultWrapper[AddressingIpamPrefixes]),
cast_to=cast(Type[Optional[Prefix]], ResultWrapper[Prefix]),
)
async def list(
def list(
self,
*,
account_id: str,
@ -388,12 +421,12 @@ class AsyncPrefixes(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[PrefixListResponse]:
) -> AsyncPaginator[Prefix, AsyncSinglePage[Prefix]]:
"""
List all prefixes owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
extra_headers: Send extra headers
@ -405,16 +438,13 @@ class AsyncPrefixes(AsyncAPIResource):
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return await self._get(
return self._get_api_list(
f"/accounts/{account_id}/addressing/prefixes",
page=AsyncSinglePage[Prefix],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=cast(Type[Optional[PrefixListResponse]], ResultWrapper[PrefixListResponse]),
model=Prefix,
)
async def delete(
@ -428,14 +458,14 @@ class AsyncPrefixes(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[PrefixDeleteResponse]:
) -> PrefixDeleteResponse:
"""
Delete an unapproved prefix owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
@ -449,21 +479,12 @@ class AsyncPrefixes(AsyncAPIResource):
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return cast(
Optional[PrefixDeleteResponse],
await self._delete(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
),
cast_to=cast(
Any, ResultWrapper[PrefixDeleteResponse]
), # Union types cannot be passed in as arguments in the type system
return await self._delete(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=PrefixDeleteResponse,
)
async def edit(
@ -478,14 +499,14 @@ class AsyncPrefixes(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamPrefixes:
) -> Optional[Prefix]:
"""
Modify the description for a prefix owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
description: Description of the prefix.
@ -509,9 +530,9 @@ class AsyncPrefixes(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Prefix]]._unwrapper,
),
cast_to=cast(Type[AddressingIpamPrefixes], ResultWrapper[AddressingIpamPrefixes]),
cast_to=cast(Type[Optional[Prefix]], ResultWrapper[Prefix]),
)
async def get(
@ -525,14 +546,14 @@ class AsyncPrefixes(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AddressingIpamPrefixes:
) -> Optional[Prefix]:
"""
List a particular prefix owned by the account.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
@ -553,14 +574,14 @@ class AsyncPrefixes(AsyncAPIResource):
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
post_parser=ResultWrapper[Optional[Prefix]]._unwrapper,
),
cast_to=cast(Type[AddressingIpamPrefixes], ResultWrapper[AddressingIpamPrefixes]),
cast_to=cast(Type[Optional[Prefix]], ResultWrapper[Prefix]),
)
class PrefixesWithRawResponse:
def __init__(self, prefixes: Prefixes) -> None:
class PrefixesResourceWithRawResponse:
def __init__(self, prefixes: PrefixesResource) -> None:
self._prefixes = prefixes
self.create = to_raw_response_wrapper(
@ -580,16 +601,24 @@ class PrefixesWithRawResponse:
)
@cached_property
def bgp(self) -> BGPWithRawResponse:
return BGPWithRawResponse(self._prefixes.bgp)
def service_bindings(self) -> ServiceBindingsResourceWithRawResponse:
return ServiceBindingsResourceWithRawResponse(self._prefixes.service_bindings)
@cached_property
def delegations(self) -> DelegationsWithRawResponse:
return DelegationsWithRawResponse(self._prefixes.delegations)
def bgp_prefixes(self) -> BGPPrefixesResourceWithRawResponse:
return BGPPrefixesResourceWithRawResponse(self._prefixes.bgp_prefixes)
@cached_property
def advertisement_status(self) -> AdvertisementStatusResourceWithRawResponse:
return AdvertisementStatusResourceWithRawResponse(self._prefixes.advertisement_status)
@cached_property
def delegations(self) -> DelegationsResourceWithRawResponse:
return DelegationsResourceWithRawResponse(self._prefixes.delegations)
class AsyncPrefixesWithRawResponse:
def __init__(self, prefixes: AsyncPrefixes) -> None:
class AsyncPrefixesResourceWithRawResponse:
def __init__(self, prefixes: AsyncPrefixesResource) -> None:
self._prefixes = prefixes
self.create = async_to_raw_response_wrapper(
@ -609,16 +638,24 @@ class AsyncPrefixesWithRawResponse:
)
@cached_property
def bgp(self) -> AsyncBGPWithRawResponse:
return AsyncBGPWithRawResponse(self._prefixes.bgp)
def service_bindings(self) -> AsyncServiceBindingsResourceWithRawResponse:
return AsyncServiceBindingsResourceWithRawResponse(self._prefixes.service_bindings)
@cached_property
def delegations(self) -> AsyncDelegationsWithRawResponse:
return AsyncDelegationsWithRawResponse(self._prefixes.delegations)
def bgp_prefixes(self) -> AsyncBGPPrefixesResourceWithRawResponse:
return AsyncBGPPrefixesResourceWithRawResponse(self._prefixes.bgp_prefixes)
@cached_property
def advertisement_status(self) -> AsyncAdvertisementStatusResourceWithRawResponse:
return AsyncAdvertisementStatusResourceWithRawResponse(self._prefixes.advertisement_status)
@cached_property
def delegations(self) -> AsyncDelegationsResourceWithRawResponse:
return AsyncDelegationsResourceWithRawResponse(self._prefixes.delegations)
class PrefixesWithStreamingResponse:
def __init__(self, prefixes: Prefixes) -> None:
class PrefixesResourceWithStreamingResponse:
def __init__(self, prefixes: PrefixesResource) -> None:
self._prefixes = prefixes
self.create = to_streamed_response_wrapper(
@ -638,16 +675,24 @@ class PrefixesWithStreamingResponse:
)
@cached_property
def bgp(self) -> BGPWithStreamingResponse:
return BGPWithStreamingResponse(self._prefixes.bgp)
def service_bindings(self) -> ServiceBindingsResourceWithStreamingResponse:
return ServiceBindingsResourceWithStreamingResponse(self._prefixes.service_bindings)
@cached_property
def delegations(self) -> DelegationsWithStreamingResponse:
return DelegationsWithStreamingResponse(self._prefixes.delegations)
def bgp_prefixes(self) -> BGPPrefixesResourceWithStreamingResponse:
return BGPPrefixesResourceWithStreamingResponse(self._prefixes.bgp_prefixes)
@cached_property
def advertisement_status(self) -> AdvertisementStatusResourceWithStreamingResponse:
return AdvertisementStatusResourceWithStreamingResponse(self._prefixes.advertisement_status)
@cached_property
def delegations(self) -> DelegationsResourceWithStreamingResponse:
return DelegationsResourceWithStreamingResponse(self._prefixes.delegations)
class AsyncPrefixesWithStreamingResponse:
def __init__(self, prefixes: AsyncPrefixes) -> None:
class AsyncPrefixesResourceWithStreamingResponse:
def __init__(self, prefixes: AsyncPrefixesResource) -> None:
self._prefixes = prefixes
self.create = async_to_streamed_response_wrapper(
@ -667,9 +712,17 @@ class AsyncPrefixesWithStreamingResponse:
)
@cached_property
def bgp(self) -> AsyncBGPWithStreamingResponse:
return AsyncBGPWithStreamingResponse(self._prefixes.bgp)
def service_bindings(self) -> AsyncServiceBindingsResourceWithStreamingResponse:
return AsyncServiceBindingsResourceWithStreamingResponse(self._prefixes.service_bindings)
@cached_property
def delegations(self) -> AsyncDelegationsWithStreamingResponse:
return AsyncDelegationsWithStreamingResponse(self._prefixes.delegations)
def bgp_prefixes(self) -> AsyncBGPPrefixesResourceWithStreamingResponse:
return AsyncBGPPrefixesResourceWithStreamingResponse(self._prefixes.bgp_prefixes)
@cached_property
def advertisement_status(self) -> AsyncAdvertisementStatusResourceWithStreamingResponse:
return AsyncAdvertisementStatusResourceWithStreamingResponse(self._prefixes.advertisement_status)
@cached_property
def delegations(self) -> AsyncDelegationsResourceWithStreamingResponse:
return AsyncDelegationsResourceWithStreamingResponse(self._prefixes.delegations)

View file

@ -0,0 +1,546 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Type, Optional, cast
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ....pagination import SyncSinglePage, AsyncSinglePage
from ...._base_client import AsyncPaginator, make_request_options
from ....types.addressing.prefixes import service_binding_create_params
from ....types.addressing.prefixes.service_binding import ServiceBinding
from ....types.addressing.prefixes.service_binding_delete_response import ServiceBindingDeleteResponse
__all__ = ["ServiceBindingsResource", "AsyncServiceBindingsResource"]
class ServiceBindingsResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> ServiceBindingsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return ServiceBindingsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> ServiceBindingsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return ServiceBindingsResourceWithStreamingResponse(self)
def create(
self,
prefix_id: str,
*,
account_id: str,
cidr: str | NotGiven = NOT_GIVEN,
service_id: str | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[ServiceBinding]:
"""
Creates a new Service Binding, routing traffic to IPs within the given CIDR to a
service running on Cloudflare's network. **Note:** This API may only be used on
prefixes currently configured with a Magic Transit/Cloudflare CDN/Cloudflare
Spectrum service binding, and only allows creating upgrade service bindings for
the Cloudflare CDN or Cloudflare Spectrum.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
cidr: IP Prefix in Classless Inter-Domain Routing format.
service_id: Identifier of a Service on the Cloudflare network. Available services and their
IDs may be found in the **List Services** endpoint.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._post(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings",
body=maybe_transform(
{
"cidr": cidr,
"service_id": service_id,
},
service_binding_create_params.ServiceBindingCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[ServiceBinding]]._unwrapper,
),
cast_to=cast(Type[Optional[ServiceBinding]], ResultWrapper[ServiceBinding]),
)
def list(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncSinglePage[ServiceBinding]:
"""List the Cloudflare services this prefix is currently bound to.
Traffic sent to
an address within an IP prefix will be routed to the Cloudflare service of the
most-specific Service Binding matching the address. **Example:** binding
`192.0.2.0/24` to Cloudflare Magic Transit and `192.0.2.1/32` to the Cloudflare
CDN would route traffic for `192.0.2.1` to the CDN, and traffic for all other
IPs in the prefix to Cloudflare Magic Transit.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings",
page=SyncSinglePage[ServiceBinding],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=ServiceBinding,
)
def delete(
self,
binding_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> ServiceBindingDeleteResponse:
"""
Delete a Service Binding
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
binding_id: Identifier of a Service Binding.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not binding_id:
raise ValueError(f"Expected a non-empty value for `binding_id` but received {binding_id!r}")
return self._delete(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=ServiceBindingDeleteResponse,
)
def get(
self,
binding_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[ServiceBinding]:
"""
Fetch a single Service Binding
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
binding_id: Identifier of a Service Binding.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not binding_id:
raise ValueError(f"Expected a non-empty value for `binding_id` but received {binding_id!r}")
return self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[ServiceBinding]]._unwrapper,
),
cast_to=cast(Type[Optional[ServiceBinding]], ResultWrapper[ServiceBinding]),
)
class AsyncServiceBindingsResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncServiceBindingsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncServiceBindingsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncServiceBindingsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncServiceBindingsResourceWithStreamingResponse(self)
async def create(
self,
prefix_id: str,
*,
account_id: str,
cidr: str | NotGiven = NOT_GIVEN,
service_id: str | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[ServiceBinding]:
"""
Creates a new Service Binding, routing traffic to IPs within the given CIDR to a
service running on Cloudflare's network. **Note:** This API may only be used on
prefixes currently configured with a Magic Transit/Cloudflare CDN/Cloudflare
Spectrum service binding, and only allows creating upgrade service bindings for
the Cloudflare CDN or Cloudflare Spectrum.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
cidr: IP Prefix in Classless Inter-Domain Routing format.
service_id: Identifier of a Service on the Cloudflare network. Available services and their
IDs may be found in the **List Services** endpoint.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return await self._post(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings",
body=await async_maybe_transform(
{
"cidr": cidr,
"service_id": service_id,
},
service_binding_create_params.ServiceBindingCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[ServiceBinding]]._unwrapper,
),
cast_to=cast(Type[Optional[ServiceBinding]], ResultWrapper[ServiceBinding]),
)
def list(
self,
prefix_id: str,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[ServiceBinding, AsyncSinglePage[ServiceBinding]]:
"""List the Cloudflare services this prefix is currently bound to.
Traffic sent to
an address within an IP prefix will be routed to the Cloudflare service of the
most-specific Service Binding matching the address. **Example:** binding
`192.0.2.0/24` to Cloudflare Magic Transit and `192.0.2.1/32` to the Cloudflare
CDN would route traffic for `192.0.2.1` to the CDN, and traffic for all other
IPs in the prefix to Cloudflare Magic Transit.
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings",
page=AsyncSinglePage[ServiceBinding],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=ServiceBinding,
)
async def delete(
self,
binding_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> ServiceBindingDeleteResponse:
"""
Delete a Service Binding
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
binding_id: Identifier of a Service Binding.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not binding_id:
raise ValueError(f"Expected a non-empty value for `binding_id` but received {binding_id!r}")
return await self._delete(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=ServiceBindingDeleteResponse,
)
async def get(
self,
binding_id: str,
*,
account_id: str,
prefix_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[ServiceBinding]:
"""
Fetch a single Service Binding
Args:
account_id: Identifier of a Cloudflare account.
prefix_id: Identifier of an IP Prefix.
binding_id: Identifier of a Service Binding.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not prefix_id:
raise ValueError(f"Expected a non-empty value for `prefix_id` but received {prefix_id!r}")
if not binding_id:
raise ValueError(f"Expected a non-empty value for `binding_id` but received {binding_id!r}")
return await self._get(
f"/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[ServiceBinding]]._unwrapper,
),
cast_to=cast(Type[Optional[ServiceBinding]], ResultWrapper[ServiceBinding]),
)
class ServiceBindingsResourceWithRawResponse:
def __init__(self, service_bindings: ServiceBindingsResource) -> None:
self._service_bindings = service_bindings
self.create = to_raw_response_wrapper(
service_bindings.create,
)
self.list = to_raw_response_wrapper(
service_bindings.list,
)
self.delete = to_raw_response_wrapper(
service_bindings.delete,
)
self.get = to_raw_response_wrapper(
service_bindings.get,
)
class AsyncServiceBindingsResourceWithRawResponse:
def __init__(self, service_bindings: AsyncServiceBindingsResource) -> None:
self._service_bindings = service_bindings
self.create = async_to_raw_response_wrapper(
service_bindings.create,
)
self.list = async_to_raw_response_wrapper(
service_bindings.list,
)
self.delete = async_to_raw_response_wrapper(
service_bindings.delete,
)
self.get = async_to_raw_response_wrapper(
service_bindings.get,
)
class ServiceBindingsResourceWithStreamingResponse:
def __init__(self, service_bindings: ServiceBindingsResource) -> None:
self._service_bindings = service_bindings
self.create = to_streamed_response_wrapper(
service_bindings.create,
)
self.list = to_streamed_response_wrapper(
service_bindings.list,
)
self.delete = to_streamed_response_wrapper(
service_bindings.delete,
)
self.get = to_streamed_response_wrapper(
service_bindings.get,
)
class AsyncServiceBindingsResourceWithStreamingResponse:
def __init__(self, service_bindings: AsyncServiceBindingsResource) -> None:
self._service_bindings = service_bindings
self.create = async_to_streamed_response_wrapper(
service_bindings.create,
)
self.list = async_to_streamed_response_wrapper(
service_bindings.list,
)
self.delete = async_to_streamed_response_wrapper(
service_bindings.delete,
)
self.get = async_to_streamed_response_wrapper(
service_bindings.get,
)

View file

@ -0,0 +1,33 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .regions import (
RegionsResource,
AsyncRegionsResource,
RegionsResourceWithRawResponse,
AsyncRegionsResourceWithRawResponse,
RegionsResourceWithStreamingResponse,
AsyncRegionsResourceWithStreamingResponse,
)
from .regional_hostnames import (
RegionalHostnamesResource,
AsyncRegionalHostnamesResource,
RegionalHostnamesResourceWithRawResponse,
AsyncRegionalHostnamesResourceWithRawResponse,
RegionalHostnamesResourceWithStreamingResponse,
AsyncRegionalHostnamesResourceWithStreamingResponse,
)
__all__ = [
"RegionsResource",
"AsyncRegionsResource",
"RegionsResourceWithRawResponse",
"AsyncRegionsResourceWithRawResponse",
"RegionsResourceWithStreamingResponse",
"AsyncRegionsResourceWithStreamingResponse",
"RegionalHostnamesResource",
"AsyncRegionalHostnamesResource",
"RegionalHostnamesResourceWithRawResponse",
"AsyncRegionalHostnamesResourceWithRawResponse",
"RegionalHostnamesResourceWithStreamingResponse",
"AsyncRegionalHostnamesResourceWithStreamingResponse",
]

View file

@ -0,0 +1,657 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
from typing import Type, Optional, cast
import httpx
from .regions import (
RegionsResource,
AsyncRegionsResource,
RegionsResourceWithRawResponse,
AsyncRegionsResourceWithRawResponse,
RegionsResourceWithStreamingResponse,
AsyncRegionsResourceWithStreamingResponse,
)
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
from ....pagination import SyncSinglePage, AsyncSinglePage
from ...._base_client import AsyncPaginator, make_request_options
from ....types.addressing import regional_hostname_edit_params, regional_hostname_create_params
from ....types.addressing.regional_hostname_get_response import RegionalHostnameGetResponse
from ....types.addressing.regional_hostname_edit_response import RegionalHostnameEditResponse
from ....types.addressing.regional_hostname_list_response import RegionalHostnameListResponse
from ....types.addressing.regional_hostname_create_response import RegionalHostnameCreateResponse
from ....types.addressing.regional_hostname_delete_response import RegionalHostnameDeleteResponse
__all__ = ["RegionalHostnamesResource", "AsyncRegionalHostnamesResource"]
class RegionalHostnamesResource(SyncAPIResource):
@cached_property
def regions(self) -> RegionsResource:
return RegionsResource(self._client)
@cached_property
def with_raw_response(self) -> RegionalHostnamesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return RegionalHostnamesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> RegionalHostnamesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return RegionalHostnamesResourceWithStreamingResponse(self)
def create(
self,
*,
zone_id: str,
hostname: str,
region_key: str,
routing: str | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[RegionalHostnameCreateResponse]:
"""Create a new Regional Hostname entry.
Cloudflare will only use data centers that
are physically located within the chosen region to decrypt and service HTTPS
traffic. Learn more about
[Regional Services](https://developers.cloudflare.com/data-localization/regional-services/get-started/).
Args:
zone_id: Identifier.
hostname: DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are
supported for one level, e.g `*.example.com`
region_key: Identifying key for the region
routing: Configure which routing method to use for the regional hostname
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not zone_id:
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
return self._post(
f"/zones/{zone_id}/addressing/regional_hostnames",
body=maybe_transform(
{
"hostname": hostname,
"region_key": region_key,
"routing": routing,
},
regional_hostname_create_params.RegionalHostnameCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[RegionalHostnameCreateResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[RegionalHostnameCreateResponse]], ResultWrapper[RegionalHostnameCreateResponse]),
)
def list(
self,
*,
zone_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncSinglePage[RegionalHostnameListResponse]:
"""
List all Regional Hostnames within a zone.
Args:
zone_id: Identifier.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not zone_id:
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
return self._get_api_list(
f"/zones/{zone_id}/addressing/regional_hostnames",
page=SyncSinglePage[RegionalHostnameListResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=RegionalHostnameListResponse,
)
def delete(
self,
hostname: str,
*,
zone_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> RegionalHostnameDeleteResponse:
"""
Delete the region configuration for a specific Regional Hostname.
Args:
zone_id: Identifier.
hostname: DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are
supported for one level, e.g `*.example.com`
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not zone_id:
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
if not hostname:
raise ValueError(f"Expected a non-empty value for `hostname` but received {hostname!r}")
return self._delete(
f"/zones/{zone_id}/addressing/regional_hostnames/{hostname}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=RegionalHostnameDeleteResponse,
)
def edit(
self,
hostname: str,
*,
zone_id: str,
region_key: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[RegionalHostnameEditResponse]:
"""Update the configuration for a specific Regional Hostname.
Only the region_key
of a hostname is mutable.
Args:
zone_id: Identifier.
hostname: DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are
supported for one level, e.g `*.example.com`
region_key: Identifying key for the region
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not zone_id:
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
if not hostname:
raise ValueError(f"Expected a non-empty value for `hostname` but received {hostname!r}")
return self._patch(
f"/zones/{zone_id}/addressing/regional_hostnames/{hostname}",
body=maybe_transform({"region_key": region_key}, regional_hostname_edit_params.RegionalHostnameEditParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[RegionalHostnameEditResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[RegionalHostnameEditResponse]], ResultWrapper[RegionalHostnameEditResponse]),
)
def get(
self,
hostname: str,
*,
zone_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[RegionalHostnameGetResponse]:
"""
Fetch the configuration for a specific Regional Hostname, within a zone.
Args:
zone_id: Identifier.
hostname: DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are
supported for one level, e.g `*.example.com`
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not zone_id:
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
if not hostname:
raise ValueError(f"Expected a non-empty value for `hostname` but received {hostname!r}")
return self._get(
f"/zones/{zone_id}/addressing/regional_hostnames/{hostname}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[RegionalHostnameGetResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[RegionalHostnameGetResponse]], ResultWrapper[RegionalHostnameGetResponse]),
)
class AsyncRegionalHostnamesResource(AsyncAPIResource):
@cached_property
def regions(self) -> AsyncRegionsResource:
return AsyncRegionsResource(self._client)
@cached_property
def with_raw_response(self) -> AsyncRegionalHostnamesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncRegionalHostnamesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncRegionalHostnamesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncRegionalHostnamesResourceWithStreamingResponse(self)
async def create(
self,
*,
zone_id: str,
hostname: str,
region_key: str,
routing: str | NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[RegionalHostnameCreateResponse]:
"""Create a new Regional Hostname entry.
Cloudflare will only use data centers that
are physically located within the chosen region to decrypt and service HTTPS
traffic. Learn more about
[Regional Services](https://developers.cloudflare.com/data-localization/regional-services/get-started/).
Args:
zone_id: Identifier.
hostname: DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are
supported for one level, e.g `*.example.com`
region_key: Identifying key for the region
routing: Configure which routing method to use for the regional hostname
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not zone_id:
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
return await self._post(
f"/zones/{zone_id}/addressing/regional_hostnames",
body=await async_maybe_transform(
{
"hostname": hostname,
"region_key": region_key,
"routing": routing,
},
regional_hostname_create_params.RegionalHostnameCreateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[RegionalHostnameCreateResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[RegionalHostnameCreateResponse]], ResultWrapper[RegionalHostnameCreateResponse]),
)
def list(
self,
*,
zone_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[RegionalHostnameListResponse, AsyncSinglePage[RegionalHostnameListResponse]]:
"""
List all Regional Hostnames within a zone.
Args:
zone_id: Identifier.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not zone_id:
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
return self._get_api_list(
f"/zones/{zone_id}/addressing/regional_hostnames",
page=AsyncSinglePage[RegionalHostnameListResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=RegionalHostnameListResponse,
)
async def delete(
self,
hostname: str,
*,
zone_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> RegionalHostnameDeleteResponse:
"""
Delete the region configuration for a specific Regional Hostname.
Args:
zone_id: Identifier.
hostname: DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are
supported for one level, e.g `*.example.com`
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not zone_id:
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
if not hostname:
raise ValueError(f"Expected a non-empty value for `hostname` but received {hostname!r}")
return await self._delete(
f"/zones/{zone_id}/addressing/regional_hostnames/{hostname}",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=RegionalHostnameDeleteResponse,
)
async def edit(
self,
hostname: str,
*,
zone_id: str,
region_key: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[RegionalHostnameEditResponse]:
"""Update the configuration for a specific Regional Hostname.
Only the region_key
of a hostname is mutable.
Args:
zone_id: Identifier.
hostname: DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are
supported for one level, e.g `*.example.com`
region_key: Identifying key for the region
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not zone_id:
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
if not hostname:
raise ValueError(f"Expected a non-empty value for `hostname` but received {hostname!r}")
return await self._patch(
f"/zones/{zone_id}/addressing/regional_hostnames/{hostname}",
body=await async_maybe_transform(
{"region_key": region_key}, regional_hostname_edit_params.RegionalHostnameEditParams
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[RegionalHostnameEditResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[RegionalHostnameEditResponse]], ResultWrapper[RegionalHostnameEditResponse]),
)
async def get(
self,
hostname: str,
*,
zone_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> Optional[RegionalHostnameGetResponse]:
"""
Fetch the configuration for a specific Regional Hostname, within a zone.
Args:
zone_id: Identifier.
hostname: DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are
supported for one level, e.g `*.example.com`
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not zone_id:
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
if not hostname:
raise ValueError(f"Expected a non-empty value for `hostname` but received {hostname!r}")
return await self._get(
f"/zones/{zone_id}/addressing/regional_hostnames/{hostname}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper[Optional[RegionalHostnameGetResponse]]._unwrapper,
),
cast_to=cast(Type[Optional[RegionalHostnameGetResponse]], ResultWrapper[RegionalHostnameGetResponse]),
)
class RegionalHostnamesResourceWithRawResponse:
def __init__(self, regional_hostnames: RegionalHostnamesResource) -> None:
self._regional_hostnames = regional_hostnames
self.create = to_raw_response_wrapper(
regional_hostnames.create,
)
self.list = to_raw_response_wrapper(
regional_hostnames.list,
)
self.delete = to_raw_response_wrapper(
regional_hostnames.delete,
)
self.edit = to_raw_response_wrapper(
regional_hostnames.edit,
)
self.get = to_raw_response_wrapper(
regional_hostnames.get,
)
@cached_property
def regions(self) -> RegionsResourceWithRawResponse:
return RegionsResourceWithRawResponse(self._regional_hostnames.regions)
class AsyncRegionalHostnamesResourceWithRawResponse:
def __init__(self, regional_hostnames: AsyncRegionalHostnamesResource) -> None:
self._regional_hostnames = regional_hostnames
self.create = async_to_raw_response_wrapper(
regional_hostnames.create,
)
self.list = async_to_raw_response_wrapper(
regional_hostnames.list,
)
self.delete = async_to_raw_response_wrapper(
regional_hostnames.delete,
)
self.edit = async_to_raw_response_wrapper(
regional_hostnames.edit,
)
self.get = async_to_raw_response_wrapper(
regional_hostnames.get,
)
@cached_property
def regions(self) -> AsyncRegionsResourceWithRawResponse:
return AsyncRegionsResourceWithRawResponse(self._regional_hostnames.regions)
class RegionalHostnamesResourceWithStreamingResponse:
def __init__(self, regional_hostnames: RegionalHostnamesResource) -> None:
self._regional_hostnames = regional_hostnames
self.create = to_streamed_response_wrapper(
regional_hostnames.create,
)
self.list = to_streamed_response_wrapper(
regional_hostnames.list,
)
self.delete = to_streamed_response_wrapper(
regional_hostnames.delete,
)
self.edit = to_streamed_response_wrapper(
regional_hostnames.edit,
)
self.get = to_streamed_response_wrapper(
regional_hostnames.get,
)
@cached_property
def regions(self) -> RegionsResourceWithStreamingResponse:
return RegionsResourceWithStreamingResponse(self._regional_hostnames.regions)
class AsyncRegionalHostnamesResourceWithStreamingResponse:
def __init__(self, regional_hostnames: AsyncRegionalHostnamesResource) -> None:
self._regional_hostnames = regional_hostnames
self.create = async_to_streamed_response_wrapper(
regional_hostnames.create,
)
self.list = async_to_streamed_response_wrapper(
regional_hostnames.list,
)
self.delete = async_to_streamed_response_wrapper(
regional_hostnames.delete,
)
self.edit = async_to_streamed_response_wrapper(
regional_hostnames.edit,
)
self.get = async_to_streamed_response_wrapper(
regional_hostnames.get,
)
@cached_property
def regions(self) -> AsyncRegionsResourceWithStreamingResponse:
return AsyncRegionsResourceWithStreamingResponse(self._regional_hostnames.regions)

View file

@ -0,0 +1,170 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
import httpx
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ....pagination import SyncSinglePage, AsyncSinglePage
from ...._base_client import AsyncPaginator, make_request_options
from ....types.addressing.regional_hostnames.region_list_response import RegionListResponse
__all__ = ["RegionsResource", "AsyncRegionsResource"]
class RegionsResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> RegionsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return RegionsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> RegionsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return RegionsResourceWithStreamingResponse(self)
def list(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncSinglePage[RegionListResponse]:
"""
List all Regional Services regions available for use by this account.
Args:
account_id: Identifier.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/addressing/regional_hostnames/regions",
page=SyncSinglePage[RegionListResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=RegionListResponse,
)
class AsyncRegionsResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncRegionsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncRegionsResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncRegionsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncRegionsResourceWithStreamingResponse(self)
def list(
self,
*,
account_id: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[RegionListResponse, AsyncSinglePage[RegionListResponse]]:
"""
List all Regional Services regions available for use by this account.
Args:
account_id: Identifier.
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
extra_body: Add additional JSON properties to the request
timeout: Override the client-level default timeout for this request, in seconds
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get_api_list(
f"/accounts/{account_id}/addressing/regional_hostnames/regions",
page=AsyncSinglePage[RegionListResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
model=RegionListResponse,
)
class RegionsResourceWithRawResponse:
def __init__(self, regions: RegionsResource) -> None:
self._regions = regions
self.list = to_raw_response_wrapper(
regions.list,
)
class AsyncRegionsResourceWithRawResponse:
def __init__(self, regions: AsyncRegionsResource) -> None:
self._regions = regions
self.list = async_to_raw_response_wrapper(
regions.list,
)
class RegionsResourceWithStreamingResponse:
def __init__(self, regions: RegionsResource) -> None:
self._regions = regions
self.list = to_streamed_response_wrapper(
regions.list,
)
class AsyncRegionsResourceWithStreamingResponse:
def __init__(self, regions: AsyncRegionsResource) -> None:
self._regions = regions
self.list = async_to_streamed_response_wrapper(
regions.list,
)

View file

@ -2,8 +2,6 @@
from __future__ import annotations
from typing import Type, cast
import httpx
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
@ -15,23 +13,32 @@ from ..._response import (
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ..._wrappers import ResultWrapper
from ..._base_client import (
make_request_options,
)
from ...types.addressing import ServiceListResponse
from ...pagination import SyncSinglePage, AsyncSinglePage
from ..._base_client import AsyncPaginator, make_request_options
from ...types.addressing.service_list_response import ServiceListResponse
__all__ = ["Services", "AsyncServices"]
__all__ = ["ServicesResource", "AsyncServicesResource"]
class Services(SyncAPIResource):
class ServicesResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> ServicesWithRawResponse:
return ServicesWithRawResponse(self)
def with_raw_response(self) -> ServicesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return ServicesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> ServicesWithStreamingResponse:
return ServicesWithStreamingResponse(self)
def with_streaming_response(self) -> ServicesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return ServicesResourceWithStreamingResponse(self)
def list(
self,
@ -43,7 +50,7 @@ class Services(SyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> ServiceListResponse:
) -> SyncSinglePage[ServiceListResponse]:
"""
Bring-Your-Own IP (BYOIP) prefixes onboarded to Cloudflare must be bound to a
service running on the Cloudflare network to enable a Cloudflare product on the
@ -51,7 +58,7 @@ class Services(SyncAPIResource):
the Cloudflare network, and their service IDs.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
extra_headers: Send extra headers
@ -63,29 +70,37 @@ class Services(SyncAPIResource):
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return self._get(
return self._get_api_list(
f"/accounts/{account_id}/addressing/services",
page=SyncSinglePage[ServiceListResponse],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=cast(Type[ServiceListResponse], ResultWrapper[ServiceListResponse]),
model=ServiceListResponse,
)
class AsyncServices(AsyncAPIResource):
class AsyncServicesResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncServicesWithRawResponse:
return AsyncServicesWithRawResponse(self)
def with_raw_response(self) -> AsyncServicesResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
"""
return AsyncServicesResourceWithRawResponse(self)
@cached_property
def with_streaming_response(self) -> AsyncServicesWithStreamingResponse:
return AsyncServicesWithStreamingResponse(self)
def with_streaming_response(self) -> AsyncServicesResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
async def list(
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
"""
return AsyncServicesResourceWithStreamingResponse(self)
def list(
self,
*,
account_id: str,
@ -95,7 +110,7 @@ class AsyncServices(AsyncAPIResource):
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> ServiceListResponse:
) -> AsyncPaginator[ServiceListResponse, AsyncSinglePage[ServiceListResponse]]:
"""
Bring-Your-Own IP (BYOIP) prefixes onboarded to Cloudflare must be bound to a
service running on the Cloudflare network to enable a Cloudflare product on the
@ -103,7 +118,7 @@ class AsyncServices(AsyncAPIResource):
the Cloudflare network, and their service IDs.
Args:
account_id: Identifier
account_id: Identifier of a Cloudflare account.
extra_headers: Send extra headers
@ -115,21 +130,18 @@ class AsyncServices(AsyncAPIResource):
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
return await self._get(
return self._get_api_list(
f"/accounts/{account_id}/addressing/services",
page=AsyncSinglePage[ServiceListResponse],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
post_parser=ResultWrapper._unwrapper,
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=cast(Type[ServiceListResponse], ResultWrapper[ServiceListResponse]),
model=ServiceListResponse,
)
class ServicesWithRawResponse:
def __init__(self, services: Services) -> None:
class ServicesResourceWithRawResponse:
def __init__(self, services: ServicesResource) -> None:
self._services = services
self.list = to_raw_response_wrapper(
@ -137,8 +149,8 @@ class ServicesWithRawResponse:
)
class AsyncServicesWithRawResponse:
def __init__(self, services: AsyncServices) -> None:
class AsyncServicesResourceWithRawResponse:
def __init__(self, services: AsyncServicesResource) -> None:
self._services = services
self.list = async_to_raw_response_wrapper(
@ -146,8 +158,8 @@ class AsyncServicesWithRawResponse:
)
class ServicesWithStreamingResponse:
def __init__(self, services: Services) -> None:
class ServicesResourceWithStreamingResponse:
def __init__(self, services: ServicesResource) -> None:
self._services = services
self.list = to_streamed_response_wrapper(
@ -155,8 +167,8 @@ class ServicesWithStreamingResponse:
)
class AsyncServicesWithStreamingResponse:
def __init__(self, services: AsyncServices) -> None:
class AsyncServicesResourceWithStreamingResponse:
def __init__(self, services: AsyncServicesResource) -> None:
self._services = services
self.list = async_to_streamed_response_wrapper(

Some files were not shown because too many files have changed in this diff Show more