diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 782f39f19fa..4191c8899b7 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "3.0.0-beta.10"
+ ".": "3.0.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index b45dbe1d84d..bfdb542ea02 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,2 +1,2 @@
-configured_endpoints: 1348
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-49d54760f87326f9200c777f867e4ea579c92a43f481207ae252db9748c9b07b.yml
+configured_endpoints: 1353
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-1274668bf5bb40cc6a93aa05b9b1c96050656b905a292bccdb53941f50eaf81e.yml
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3525bc456e2..2f2f3ff4d30 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,135 @@
# Changelog
+## 3.0.0 (2024-06-24)
+
+Full Changelog: [v3.0.0-beta.10...v3.0.0](https://github.com/cloudflare/cloudflare-python/compare/v3.0.0-beta.10...v3.0.0)
+
+### Features
+
+* **api:** OpenAPI spec update via Stainless API ([4efa7b1](https://github.com/cloudflare/cloudflare-python/commit/4efa7b1a64dab2ded7acc9d08155867bfaa417ef))
+* **api:** OpenAPI spec update via Stainless API ([#1014](https://github.com/cloudflare/cloudflare-python/issues/1014)) ([f9b879a](https://github.com/cloudflare/cloudflare-python/commit/f9b879a727349e6604c3ae88c7949c388d655766))
+* **api:** OpenAPI spec update via Stainless API ([#1016](https://github.com/cloudflare/cloudflare-python/issues/1016)) ([b762e85](https://github.com/cloudflare/cloudflare-python/commit/b762e85608f579b5b3a69a8a6ee948857b7f605d))
+* **api:** OpenAPI spec update via Stainless API ([#1017](https://github.com/cloudflare/cloudflare-python/issues/1017)) ([7bfbdba](https://github.com/cloudflare/cloudflare-python/commit/7bfbdba867534d51955ded9e009dd501047cf99f))
+* **api:** OpenAPI spec update via Stainless API ([#1018](https://github.com/cloudflare/cloudflare-python/issues/1018)) ([038c47e](https://github.com/cloudflare/cloudflare-python/commit/038c47e76305fc244a936093f65031bdd022b4c6))
+* **api:** OpenAPI spec update via Stainless API ([#1019](https://github.com/cloudflare/cloudflare-python/issues/1019)) ([9367d59](https://github.com/cloudflare/cloudflare-python/commit/9367d593cef36eef75f464930c6e8d5fa97700d5))
+* **api:** OpenAPI spec update via Stainless API ([#1020](https://github.com/cloudflare/cloudflare-python/issues/1020)) ([8e20edf](https://github.com/cloudflare/cloudflare-python/commit/8e20edfc520c31134d110170ff84a927629753dc))
+* **api:** OpenAPI spec update via Stainless API ([#1021](https://github.com/cloudflare/cloudflare-python/issues/1021)) ([7d5572a](https://github.com/cloudflare/cloudflare-python/commit/7d5572aee61a0d57a27878bbdea6e753f08d1021))
+* **api:** OpenAPI spec update via Stainless API ([#1022](https://github.com/cloudflare/cloudflare-python/issues/1022)) ([c1ed21d](https://github.com/cloudflare/cloudflare-python/commit/c1ed21d227a7d7b543d52dcbcd93a6c3ec0e5e9c))
+* **api:** OpenAPI spec update via Stainless API ([#1023](https://github.com/cloudflare/cloudflare-python/issues/1023)) ([caa36b4](https://github.com/cloudflare/cloudflare-python/commit/caa36b444894f9f539595b93d66ed5cecf3defe8))
+* **api:** OpenAPI spec update via Stainless API ([#1024](https://github.com/cloudflare/cloudflare-python/issues/1024)) ([7371f0f](https://github.com/cloudflare/cloudflare-python/commit/7371f0fe9cf17803623f77c6ca1e710020dddbb9))
+* **api:** OpenAPI spec update via Stainless API ([#1025](https://github.com/cloudflare/cloudflare-python/issues/1025)) ([ed9dd82](https://github.com/cloudflare/cloudflare-python/commit/ed9dd829582c670ab471b3a977cb1bd4fe5c63d3))
+* **api:** OpenAPI spec update via Stainless API ([#1026](https://github.com/cloudflare/cloudflare-python/issues/1026)) ([4848bd1](https://github.com/cloudflare/cloudflare-python/commit/4848bd11c2654294cf6a98dc0de66d2f1ae21201))
+* **api:** OpenAPI spec update via Stainless API ([#1027](https://github.com/cloudflare/cloudflare-python/issues/1027)) ([71e22e2](https://github.com/cloudflare/cloudflare-python/commit/71e22e2f9b9b9e89d26017c9883ce682e61c0847))
+* **api:** OpenAPI spec update via Stainless API ([#1028](https://github.com/cloudflare/cloudflare-python/issues/1028)) ([500976b](https://github.com/cloudflare/cloudflare-python/commit/500976bfe6fd9056ea0cc3fad90e2868cb49cab7))
+* **api:** OpenAPI spec update via Stainless API ([#1029](https://github.com/cloudflare/cloudflare-python/issues/1029)) ([55865cf](https://github.com/cloudflare/cloudflare-python/commit/55865cfd42d5a66dbeeb9463a81f6a264597987f))
+* **api:** OpenAPI spec update via Stainless API ([#1030](https://github.com/cloudflare/cloudflare-python/issues/1030)) ([dadf271](https://github.com/cloudflare/cloudflare-python/commit/dadf2717c87f37a3c7e79c830b4edd636dc39ea1))
+* **api:** OpenAPI spec update via Stainless API ([#1031](https://github.com/cloudflare/cloudflare-python/issues/1031)) ([e71b384](https://github.com/cloudflare/cloudflare-python/commit/e71b38484ff5d03788df92b32407932aec8802ba))
+* **api:** OpenAPI spec update via Stainless API ([#1032](https://github.com/cloudflare/cloudflare-python/issues/1032)) ([f6ce7db](https://github.com/cloudflare/cloudflare-python/commit/f6ce7db2669cf56cdb5a53bbe4af6ee98cb66cd4))
+* **api:** OpenAPI spec update via Stainless API ([#1033](https://github.com/cloudflare/cloudflare-python/issues/1033)) ([4ea82b2](https://github.com/cloudflare/cloudflare-python/commit/4ea82b2757c7aa82a994467bbb32f387730403a8))
+* **api:** OpenAPI spec update via Stainless API ([#1034](https://github.com/cloudflare/cloudflare-python/issues/1034)) ([b1a4539](https://github.com/cloudflare/cloudflare-python/commit/b1a45398d3e832f18bb3f27733f42373e73b842f))
+* **api:** OpenAPI spec update via Stainless API ([#1035](https://github.com/cloudflare/cloudflare-python/issues/1035)) ([1f88ee5](https://github.com/cloudflare/cloudflare-python/commit/1f88ee5bdecdf429688e9fbdcf6a1bdaf8d8219e))
+* **api:** OpenAPI spec update via Stainless API ([#1036](https://github.com/cloudflare/cloudflare-python/issues/1036)) ([e020fef](https://github.com/cloudflare/cloudflare-python/commit/e020fef0b68ccc8fcdfdade8ee255dde21c83ef7))
+* **api:** OpenAPI spec update via Stainless API ([#1037](https://github.com/cloudflare/cloudflare-python/issues/1037)) ([b63a076](https://github.com/cloudflare/cloudflare-python/commit/b63a076dd8a8f235d00cb746bbeb7f9e7ca24341))
+* **api:** OpenAPI spec update via Stainless API ([#1038](https://github.com/cloudflare/cloudflare-python/issues/1038)) ([498913d](https://github.com/cloudflare/cloudflare-python/commit/498913d0e8d68490e6e4b7d8fe63951177386fb3))
+* **api:** OpenAPI spec update via Stainless API ([#1039](https://github.com/cloudflare/cloudflare-python/issues/1039)) ([1a82acf](https://github.com/cloudflare/cloudflare-python/commit/1a82acfe5e8892f1abdd2b1197df3c6ec5508766))
+* **api:** OpenAPI spec update via Stainless API ([#1040](https://github.com/cloudflare/cloudflare-python/issues/1040)) ([fe5de84](https://github.com/cloudflare/cloudflare-python/commit/fe5de84b8800c6d3916a7d979deef16692c8c1d2))
+* **api:** OpenAPI spec update via Stainless API ([#1041](https://github.com/cloudflare/cloudflare-python/issues/1041)) ([5acb02c](https://github.com/cloudflare/cloudflare-python/commit/5acb02c8c4cbc6c0c70a1f7b796a2025e023eb39))
+* **api:** OpenAPI spec update via Stainless API ([#1042](https://github.com/cloudflare/cloudflare-python/issues/1042)) ([997098f](https://github.com/cloudflare/cloudflare-python/commit/997098f3139f95d754fb54261191b9bd450cf14a))
+* **api:** OpenAPI spec update via Stainless API ([#1043](https://github.com/cloudflare/cloudflare-python/issues/1043)) ([46c4648](https://github.com/cloudflare/cloudflare-python/commit/46c4648beb57b43598fb0bdbd30072eacd4aaf46))
+* **api:** OpenAPI spec update via Stainless API ([#1044](https://github.com/cloudflare/cloudflare-python/issues/1044)) ([ef5e7ee](https://github.com/cloudflare/cloudflare-python/commit/ef5e7ee79fd11727d9f2e0a272c8799b06181c46))
+* **api:** OpenAPI spec update via Stainless API ([#1045](https://github.com/cloudflare/cloudflare-python/issues/1045)) ([cd59b4a](https://github.com/cloudflare/cloudflare-python/commit/cd59b4a3c7b1310293fbd5c05b9819be159c0317))
+* **api:** OpenAPI spec update via Stainless API ([#1046](https://github.com/cloudflare/cloudflare-python/issues/1046)) ([5e46560](https://github.com/cloudflare/cloudflare-python/commit/5e4656011ad6384e57a017859a8c0518dbbf7fae))
+* **api:** OpenAPI spec update via Stainless API ([#1047](https://github.com/cloudflare/cloudflare-python/issues/1047)) ([4a7b51b](https://github.com/cloudflare/cloudflare-python/commit/4a7b51ba9a6d3a8c482a52095f79fb2ad8e71020))
+* **api:** OpenAPI spec update via Stainless API ([#1048](https://github.com/cloudflare/cloudflare-python/issues/1048)) ([063addb](https://github.com/cloudflare/cloudflare-python/commit/063addb8c350277190beedebe40eeee5e3295169))
+* **api:** OpenAPI spec update via Stainless API ([#1049](https://github.com/cloudflare/cloudflare-python/issues/1049)) ([c996cad](https://github.com/cloudflare/cloudflare-python/commit/c996cadc39d61dc66e5bdec273365cf06dbee08d))
+* **api:** OpenAPI spec update via Stainless API ([#1050](https://github.com/cloudflare/cloudflare-python/issues/1050)) ([381ebf4](https://github.com/cloudflare/cloudflare-python/commit/381ebf4a87c30ad03d89f6bd8188d1ebaa8a8267))
+* **api:** OpenAPI spec update via Stainless API ([#1051](https://github.com/cloudflare/cloudflare-python/issues/1051)) ([f6430b7](https://github.com/cloudflare/cloudflare-python/commit/f6430b7da0306d943b55439b8e796efd083d3e7e))
+* **api:** OpenAPI spec update via Stainless API ([#1053](https://github.com/cloudflare/cloudflare-python/issues/1053)) ([3112e77](https://github.com/cloudflare/cloudflare-python/commit/3112e777017e66a420039fba934b3bb87bcaa9de))
+* **api:** OpenAPI spec update via Stainless API ([#1055](https://github.com/cloudflare/cloudflare-python/issues/1055)) ([aa12de0](https://github.com/cloudflare/cloudflare-python/commit/aa12de061769fba111534d81a441279074d56e8c))
+* **api:** OpenAPI spec update via Stainless API ([#1056](https://github.com/cloudflare/cloudflare-python/issues/1056)) ([db34d57](https://github.com/cloudflare/cloudflare-python/commit/db34d57cbb74e530523d498471c6c4192eefcabe))
+* **api:** OpenAPI spec update via Stainless API ([#1057](https://github.com/cloudflare/cloudflare-python/issues/1057)) ([ea91ee4](https://github.com/cloudflare/cloudflare-python/commit/ea91ee44ccc83e92367dac1fd2fe71d4ce933be5))
+* **api:** OpenAPI spec update via Stainless API ([#1058](https://github.com/cloudflare/cloudflare-python/issues/1058)) ([81b555a](https://github.com/cloudflare/cloudflare-python/commit/81b555abc94747badabcdaace26802de98b26e7d))
+* **api:** OpenAPI spec update via Stainless API ([#1059](https://github.com/cloudflare/cloudflare-python/issues/1059)) ([74de52f](https://github.com/cloudflare/cloudflare-python/commit/74de52fda87c620fabbbce539312dec6d2d59ff3))
+* **api:** OpenAPI spec update via Stainless API ([#1060](https://github.com/cloudflare/cloudflare-python/issues/1060)) ([e9e3fd8](https://github.com/cloudflare/cloudflare-python/commit/e9e3fd85d8069aa955f9a75f45feb08931cebbfb))
+* **api:** OpenAPI spec update via Stainless API ([#1061](https://github.com/cloudflare/cloudflare-python/issues/1061)) ([cd6884d](https://github.com/cloudflare/cloudflare-python/commit/cd6884d6a929540066973d6c1fb4c037119a7826))
+* **api:** OpenAPI spec update via Stainless API ([#1062](https://github.com/cloudflare/cloudflare-python/issues/1062)) ([052747a](https://github.com/cloudflare/cloudflare-python/commit/052747aa5cc15791963dc3e36d280bd15763ef54))
+* **api:** OpenAPI spec update via Stainless API ([#1063](https://github.com/cloudflare/cloudflare-python/issues/1063)) ([01a46c5](https://github.com/cloudflare/cloudflare-python/commit/01a46c58585a06cfbfd88143da063e365da1a360))
+* **api:** OpenAPI spec update via Stainless API ([#1064](https://github.com/cloudflare/cloudflare-python/issues/1064)) ([82bbd71](https://github.com/cloudflare/cloudflare-python/commit/82bbd717741ab44b1d7a381c798c03df47233d89))
+* **api:** OpenAPI spec update via Stainless API ([#1065](https://github.com/cloudflare/cloudflare-python/issues/1065)) ([fdeb11c](https://github.com/cloudflare/cloudflare-python/commit/fdeb11cf9867d9c63653385e9430574e4443de5b))
+* **api:** OpenAPI spec update via Stainless API ([#1066](https://github.com/cloudflare/cloudflare-python/issues/1066)) ([28eaa38](https://github.com/cloudflare/cloudflare-python/commit/28eaa3806500911a261c6d47e03017f7a9e8eba5))
+* **api:** OpenAPI spec update via Stainless API ([#1067](https://github.com/cloudflare/cloudflare-python/issues/1067)) ([6ff321d](https://github.com/cloudflare/cloudflare-python/commit/6ff321dc3d9160b864d735953e28fd054efcc63b))
+* **api:** OpenAPI spec update via Stainless API ([#1068](https://github.com/cloudflare/cloudflare-python/issues/1068)) ([439a829](https://github.com/cloudflare/cloudflare-python/commit/439a8292e7ba4ff45df84c3cd85a23a0dac89711))
+* **api:** OpenAPI spec update via Stainless API ([#1069](https://github.com/cloudflare/cloudflare-python/issues/1069)) ([82e8ca5](https://github.com/cloudflare/cloudflare-python/commit/82e8ca53c4ec9f0ba6e8c1184eb80a3f3c4e971c))
+* **api:** OpenAPI spec update via Stainless API ([#1070](https://github.com/cloudflare/cloudflare-python/issues/1070)) ([22c184e](https://github.com/cloudflare/cloudflare-python/commit/22c184ebf312ea3632bf4afcc1d6e4fb25f35902))
+* **api:** OpenAPI spec update via Stainless API ([#1071](https://github.com/cloudflare/cloudflare-python/issues/1071)) ([3c1897a](https://github.com/cloudflare/cloudflare-python/commit/3c1897a47d652c9fc929c4149520418d21acff6f))
+* **api:** OpenAPI spec update via Stainless API ([#1072](https://github.com/cloudflare/cloudflare-python/issues/1072)) ([1c76624](https://github.com/cloudflare/cloudflare-python/commit/1c766243ebd9f962e451e41230890f6e5930dc93))
+* **api:** OpenAPI spec update via Stainless API ([#1073](https://github.com/cloudflare/cloudflare-python/issues/1073)) ([8703733](https://github.com/cloudflare/cloudflare-python/commit/87037337470772614c0f795684ee6f401c2a7f1c))
+* **api:** OpenAPI spec update via Stainless API ([#1074](https://github.com/cloudflare/cloudflare-python/issues/1074)) ([cc22cb5](https://github.com/cloudflare/cloudflare-python/commit/cc22cb5b753e6b46ec7518f409e60803d659e074))
+* **api:** OpenAPI spec update via Stainless API ([#1075](https://github.com/cloudflare/cloudflare-python/issues/1075)) ([dc30697](https://github.com/cloudflare/cloudflare-python/commit/dc306973d55d184e941fe1c2e676c59cbcca0bf6))
+* **api:** OpenAPI spec update via Stainless API ([#1076](https://github.com/cloudflare/cloudflare-python/issues/1076)) ([69d14b3](https://github.com/cloudflare/cloudflare-python/commit/69d14b389088280354bb9584a0a9228decbc2f7c))
+* **api:** OpenAPI spec update via Stainless API ([#1077](https://github.com/cloudflare/cloudflare-python/issues/1077)) ([51c1d82](https://github.com/cloudflare/cloudflare-python/commit/51c1d82e653cbcdf365b33d811517484cda1f122))
+* **api:** OpenAPI spec update via Stainless API ([#1078](https://github.com/cloudflare/cloudflare-python/issues/1078)) ([ca74a01](https://github.com/cloudflare/cloudflare-python/commit/ca74a013a70525d4e6bc3e50d0d36896ff9c0302))
+* **api:** OpenAPI spec update via Stainless API ([#1079](https://github.com/cloudflare/cloudflare-python/issues/1079)) ([547d81d](https://github.com/cloudflare/cloudflare-python/commit/547d81dee6c5d49cd7f42029130751bc768024ae))
+* **api:** OpenAPI spec update via Stainless API ([#1080](https://github.com/cloudflare/cloudflare-python/issues/1080)) ([a0a142b](https://github.com/cloudflare/cloudflare-python/commit/a0a142b7958e791937147c2cc32665034a3bf417))
+* **api:** OpenAPI spec update via Stainless API ([#1081](https://github.com/cloudflare/cloudflare-python/issues/1081)) ([7932a90](https://github.com/cloudflare/cloudflare-python/commit/7932a902ef30c6b4dcb13990a35c156fd0d93469))
+* **api:** OpenAPI spec update via Stainless API ([#1082](https://github.com/cloudflare/cloudflare-python/issues/1082)) ([ece3ecc](https://github.com/cloudflare/cloudflare-python/commit/ece3ecc92770b2e1ee70dae2f4bb362646a889e0))
+* **api:** OpenAPI spec update via Stainless API ([#1083](https://github.com/cloudflare/cloudflare-python/issues/1083)) ([939d9df](https://github.com/cloudflare/cloudflare-python/commit/939d9df3e326eab43aa5606ccc6fc126996035a7))
+* **api:** OpenAPI spec update via Stainless API ([#1084](https://github.com/cloudflare/cloudflare-python/issues/1084)) ([eb53bcb](https://github.com/cloudflare/cloudflare-python/commit/eb53bcb83ae0303e1c2b33c659c44fa8879e4c66))
+* **api:** OpenAPI spec update via Stainless API ([#1085](https://github.com/cloudflare/cloudflare-python/issues/1085)) ([91ca108](https://github.com/cloudflare/cloudflare-python/commit/91ca108bd5b1e3d938b5f90a2f1ac5ef7dba32e9))
+* **api:** OpenAPI spec update via Stainless API ([#1086](https://github.com/cloudflare/cloudflare-python/issues/1086)) ([928a6d6](https://github.com/cloudflare/cloudflare-python/commit/928a6d613753c427a3f7f202a2b52246f679931d))
+* **api:** OpenAPI spec update via Stainless API ([#1087](https://github.com/cloudflare/cloudflare-python/issues/1087)) ([f4b9ad5](https://github.com/cloudflare/cloudflare-python/commit/f4b9ad590f68d749f11166972154a4ccc12a8c0b))
+* **api:** OpenAPI spec update via Stainless API ([#1088](https://github.com/cloudflare/cloudflare-python/issues/1088)) ([0d97401](https://github.com/cloudflare/cloudflare-python/commit/0d97401137b122a6136ee07806a7d6a95d536106))
+* **api:** OpenAPI spec update via Stainless API ([#1090](https://github.com/cloudflare/cloudflare-python/issues/1090)) ([a9fb4bd](https://github.com/cloudflare/cloudflare-python/commit/a9fb4bd815fa08e5690369283afc53bdc6235fbd))
+* **api:** OpenAPI spec update via Stainless API ([#1091](https://github.com/cloudflare/cloudflare-python/issues/1091)) ([d0f9b65](https://github.com/cloudflare/cloudflare-python/commit/d0f9b652b6d4acbacc343676c9dcffa9a2f4d1d5))
+* **api:** OpenAPI spec update via Stainless API ([#1092](https://github.com/cloudflare/cloudflare-python/issues/1092)) ([01a5f6d](https://github.com/cloudflare/cloudflare-python/commit/01a5f6dc3e00e2d5a6c2f65343e40880b37adb62))
+* **api:** OpenAPI spec update via Stainless API ([#1093](https://github.com/cloudflare/cloudflare-python/issues/1093)) ([8333cc9](https://github.com/cloudflare/cloudflare-python/commit/8333cc9895fc80d61fd979a18a140ceb32c9b196))
+* **api:** OpenAPI spec update via Stainless API ([#1094](https://github.com/cloudflare/cloudflare-python/issues/1094)) ([bbc5c47](https://github.com/cloudflare/cloudflare-python/commit/bbc5c47f99a732bbd7daaa017fe9b82e923507ab))
+* **api:** OpenAPI spec update via Stainless API ([#1095](https://github.com/cloudflare/cloudflare-python/issues/1095)) ([1bb1668](https://github.com/cloudflare/cloudflare-python/commit/1bb16681acaa9736a7a3fc7e8273336e740f7805))
+* **api:** OpenAPI spec update via Stainless API ([#1096](https://github.com/cloudflare/cloudflare-python/issues/1096)) ([97a4a6e](https://github.com/cloudflare/cloudflare-python/commit/97a4a6ecfb9a6dbf281956c39ee8c3f4add0b4b3))
+* **api:** OpenAPI spec update via Stainless API ([#1097](https://github.com/cloudflare/cloudflare-python/issues/1097)) ([d5b6b1e](https://github.com/cloudflare/cloudflare-python/commit/d5b6b1e041b9810cd0a25726e4b7174bf3e527ca))
+* **api:** OpenAPI spec update via Stainless API ([#1098](https://github.com/cloudflare/cloudflare-python/issues/1098)) ([0699645](https://github.com/cloudflare/cloudflare-python/commit/0699645b43c2f37b3fcfc0ae1f56bca8b3f413e1))
+* **api:** OpenAPI spec update via Stainless API ([#1099](https://github.com/cloudflare/cloudflare-python/issues/1099)) ([6aa6dd7](https://github.com/cloudflare/cloudflare-python/commit/6aa6dd76bdf37ea6a41e3931384c02b668c280fa))
+* **api:** OpenAPI spec update via Stainless API ([#1100](https://github.com/cloudflare/cloudflare-python/issues/1100)) ([e13944b](https://github.com/cloudflare/cloudflare-python/commit/e13944b5775e0152c29d442c019a30d18f1b5449))
+* **api:** OpenAPI spec update via Stainless API ([#1101](https://github.com/cloudflare/cloudflare-python/issues/1101)) ([109b240](https://github.com/cloudflare/cloudflare-python/commit/109b2408c8e404eefa83db28aa99bc724a77b96b))
+* **api:** OpenAPI spec update via Stainless API ([#1102](https://github.com/cloudflare/cloudflare-python/issues/1102)) ([a216e21](https://github.com/cloudflare/cloudflare-python/commit/a216e2158452cea410f07ae998b6dc67ba94006d))
+* **api:** OpenAPI spec update via Stainless API ([#1103](https://github.com/cloudflare/cloudflare-python/issues/1103)) ([42bde1c](https://github.com/cloudflare/cloudflare-python/commit/42bde1c4bc75403137acd12666e6d127c66cdceb))
+* **api:** OpenAPI spec update via Stainless API ([#1104](https://github.com/cloudflare/cloudflare-python/issues/1104)) ([cf616e1](https://github.com/cloudflare/cloudflare-python/commit/cf616e1770bee61d444780b293eb97706e1b8a2d))
+* **api:** OpenAPI spec update via Stainless API ([#1105](https://github.com/cloudflare/cloudflare-python/issues/1105)) ([6df8ac0](https://github.com/cloudflare/cloudflare-python/commit/6df8ac087eefa788d940a58f272fb0ed58c8a5b5))
+* **api:** OpenAPI spec update via Stainless API ([#1106](https://github.com/cloudflare/cloudflare-python/issues/1106)) ([26b8d4d](https://github.com/cloudflare/cloudflare-python/commit/26b8d4d554c2fe8090e255890de9f72bea3e9699))
+* **api:** OpenAPI spec update via Stainless API ([#1107](https://github.com/cloudflare/cloudflare-python/issues/1107)) ([07a9d1e](https://github.com/cloudflare/cloudflare-python/commit/07a9d1ef9aaf3fc23c9e0a2ed24b9d0445e7aa39))
+* **api:** OpenAPI spec update via Stainless API ([#1108](https://github.com/cloudflare/cloudflare-python/issues/1108)) ([913c058](https://github.com/cloudflare/cloudflare-python/commit/913c0585eca2062e1590d5093cea5de67a4ec22a))
+* **api:** OpenAPI spec update via Stainless API ([#1109](https://github.com/cloudflare/cloudflare-python/issues/1109)) ([1585de4](https://github.com/cloudflare/cloudflare-python/commit/1585de4614b4181765f07b25b8cb39492a96f429))
+* **api:** OpenAPI spec update via Stainless API ([#1110](https://github.com/cloudflare/cloudflare-python/issues/1110)) ([6d80a41](https://github.com/cloudflare/cloudflare-python/commit/6d80a4114d6daa16eae1350eceacdba01181df40))
+* **api:** OpenAPI spec update via Stainless API ([#1111](https://github.com/cloudflare/cloudflare-python/issues/1111)) ([e53d3c8](https://github.com/cloudflare/cloudflare-python/commit/e53d3c8c801f6604bc17f137ecff31c6924de3f8))
+* **api:** OpenAPI spec update via Stainless API ([#1112](https://github.com/cloudflare/cloudflare-python/issues/1112)) ([08aa37f](https://github.com/cloudflare/cloudflare-python/commit/08aa37f91c4567365f3bdcd0a75f041903a949aa))
+* **api:** OpenAPI spec update via Stainless API ([#1113](https://github.com/cloudflare/cloudflare-python/issues/1113)) ([ecf909a](https://github.com/cloudflare/cloudflare-python/commit/ecf909a83d252f12fef614dd75665cb7d3bb7e6d))
+* **api:** OpenAPI spec update via Stainless API ([#1114](https://github.com/cloudflare/cloudflare-python/issues/1114)) ([5ab5180](https://github.com/cloudflare/cloudflare-python/commit/5ab518014558a829c8011921cfcd99b20cc9d64f))
+* **api:** OpenAPI spec update via Stainless API ([#1115](https://github.com/cloudflare/cloudflare-python/issues/1115)) ([30991e5](https://github.com/cloudflare/cloudflare-python/commit/30991e5f82470586e3ff05973c7d51d6f0c4debf))
+* **api:** OpenAPI spec update via Stainless API ([#1116](https://github.com/cloudflare/cloudflare-python/issues/1116)) ([aa92860](https://github.com/cloudflare/cloudflare-python/commit/aa928602e2ffecead9cae4382d8dba724c90844f))
+* **api:** OpenAPI spec update via Stainless API ([#1117](https://github.com/cloudflare/cloudflare-python/issues/1117)) ([5d7efed](https://github.com/cloudflare/cloudflare-python/commit/5d7efed6050d9d71ca4cc699b88011b68ba38855))
+* **api:** OpenAPI spec update via Stainless API ([#1119](https://github.com/cloudflare/cloudflare-python/issues/1119)) ([e91b22d](https://github.com/cloudflare/cloudflare-python/commit/e91b22d78f5febfb73004c28afc0ff37369c5cd0))
+* **api:** OpenAPI spec update via Stainless API ([#1120](https://github.com/cloudflare/cloudflare-python/issues/1120)) ([e088fa3](https://github.com/cloudflare/cloudflare-python/commit/e088fa35be70b61e682c38505d186d55c526b41a))
+* **api:** OpenAPI spec update via Stainless API ([#1121](https://github.com/cloudflare/cloudflare-python/issues/1121)) ([e5f8fab](https://github.com/cloudflare/cloudflare-python/commit/e5f8fab9950504ff8698fa7829691dada3b050ad))
+* **api:** OpenAPI spec update via Stainless API ([#1122](https://github.com/cloudflare/cloudflare-python/issues/1122)) ([406cd14](https://github.com/cloudflare/cloudflare-python/commit/406cd146437080265845e1c624bed4e4cbc506ae))
+* **api:** OpenAPI spec update via Stainless API ([#1123](https://github.com/cloudflare/cloudflare-python/issues/1123)) ([4d07c92](https://github.com/cloudflare/cloudflare-python/commit/4d07c9279f476bd900fa730e714116d07eef7302))
+* **api:** OpenAPI spec update via Stainless API ([#1124](https://github.com/cloudflare/cloudflare-python/issues/1124)) ([3f4305f](https://github.com/cloudflare/cloudflare-python/commit/3f4305f5e07486a5457974970699092ae377cc28))
+* **api:** OpenAPI spec update via Stainless API ([#1125](https://github.com/cloudflare/cloudflare-python/issues/1125)) ([1c8fc9c](https://github.com/cloudflare/cloudflare-python/commit/1c8fc9c76e9a8d1272855f13d05d4e2709223a56))
+* **api:** OpenAPI spec update via Stainless API ([#1126](https://github.com/cloudflare/cloudflare-python/issues/1126)) ([5fee699](https://github.com/cloudflare/cloudflare-python/commit/5fee6993f6d19ac7c3a5e5882ac624539b2daf5d))
+* **api:** OpenAPI spec update via Stainless API ([#1127](https://github.com/cloudflare/cloudflare-python/issues/1127)) ([d9b6345](https://github.com/cloudflare/cloudflare-python/commit/d9b6345797c9bcf41e496d3bf4d50a1c0e6ec82d))
+* **api:** OpenAPI spec update via Stainless API ([#1128](https://github.com/cloudflare/cloudflare-python/issues/1128)) ([8208127](https://github.com/cloudflare/cloudflare-python/commit/82081277f560979c861108a1504433c0b1fcafb6))
+* **api:** OpenAPI spec update via Stainless API ([#1129](https://github.com/cloudflare/cloudflare-python/issues/1129)) ([a1f5225](https://github.com/cloudflare/cloudflare-python/commit/a1f52251ef825cd2917c8ca2dd15e0fe9ce8ed95))
+* **api:** OpenAPI spec update via Stainless API ([#1130](https://github.com/cloudflare/cloudflare-python/issues/1130)) ([0fbad95](https://github.com/cloudflare/cloudflare-python/commit/0fbad95a26fd182ca9431ea26c17affa87ce6f36))
+* **api:** OpenAPI spec update via Stainless API ([#1131](https://github.com/cloudflare/cloudflare-python/issues/1131)) ([5399fe7](https://github.com/cloudflare/cloudflare-python/commit/5399fe786fa075c154e4f3aeb18b2d3af24f11a4))
+* **api:** OpenAPI spec update via Stainless API ([#1132](https://github.com/cloudflare/cloudflare-python/issues/1132)) ([06c6fbb](https://github.com/cloudflare/cloudflare-python/commit/06c6fbbdfc2af5364bae50137c5f63785af9bad3))
+* **api:** OpenAPI spec update via Stainless API ([#1133](https://github.com/cloudflare/cloudflare-python/issues/1133)) ([cc58279](https://github.com/cloudflare/cloudflare-python/commit/cc58279d91f03df3d94bcd818022b1ba080dc951))
+* **api:** OpenAPI spec update via Stainless API ([#1136](https://github.com/cloudflare/cloudflare-python/issues/1136)) ([dc48e66](https://github.com/cloudflare/cloudflare-python/commit/dc48e66d518b049a4b8686acf29a418c7fdb1fe1))
+* **api:** update via SDK Studio ([#1052](https://github.com/cloudflare/cloudflare-python/issues/1052)) ([9deb2f4](https://github.com/cloudflare/cloudflare-python/commit/9deb2f41db57d3e30f5fdcd06f893f35cdfbcb72))
+* **api:** update via SDK Studio ([#1054](https://github.com/cloudflare/cloudflare-python/issues/1054)) ([7b85d22](https://github.com/cloudflare/cloudflare-python/commit/7b85d2262b210e2f65f08552ba048bf8c3a0f612))
+* **api:** update via SDK Studio ([#1089](https://github.com/cloudflare/cloudflare-python/issues/1089)) ([b02a3a6](https://github.com/cloudflare/cloudflare-python/commit/b02a3a6c0f71b407dab22e92e018d765f8a62c8c))
+* **api:** update via SDK Studio ([#1118](https://github.com/cloudflare/cloudflare-python/issues/1118)) ([8bc99ae](https://github.com/cloudflare/cloudflare-python/commit/8bc99ae68944cedbc668a80efe5a8ac9dae916cf))
+* **api:** update via SDK Studio ([#1134](https://github.com/cloudflare/cloudflare-python/issues/1134)) ([4107247](https://github.com/cloudflare/cloudflare-python/commit/410724701368ba7b53132156b36f0f4aea3659fe))
+* **api:** update via SDK Studio ([#1135](https://github.com/cloudflare/cloudflare-python/issues/1135)) ([d459a47](https://github.com/cloudflare/cloudflare-python/commit/d459a477e6f0d587aba59d2bf785685b641ccd9f))
+
## 3.0.0-beta.10 (2024-06-18)
Full Changelog: [v3.0.0-beta.9...v3.0.0-beta.10](https://github.com/cloudflare/cloudflare-python/compare/v3.0.0-beta.9...v3.0.0-beta.10)
diff --git a/api.md b/api.md
index 85216eb6939..3f970882269 100644
--- a/api.md
+++ b/api.md
@@ -3043,17 +3043,18 @@ Methods:
## Settings
-### SchemaValidation
-
Types:
```python
-from cloudflare.types.api_gateway.settings import Settings
+from cloudflare.types.api_gateway import Settings
```
+### SchemaValidation
+
Methods:
- client.api_gateway.settings.schema_validation.update(\*, zone_id, \*\*params) -> Settings
+- client.api_gateway.settings.schema_validation.edit(\*, zone_id, \*\*params) -> Settings
- client.api_gateway.settings.schema_validation.get(\*, zone_id) -> Settings
## UserSchemas
@@ -3089,12 +3090,6 @@ Methods:
- client.api_gateway.user_schemas.operations.list(schema_id, \*, zone_id, \*\*params) -> SyncSinglePage[OperationListResponse]
-## SchemaValidation
-
-Methods:
-
-- client.api_gateway.schema_validation.edit(\*, zone_id, \*\*params) -> Settings
-
# ManagedHeaders
Types:
@@ -4002,9 +3997,9 @@ from cloudflare.types.magic_transit import (
Methods:
-- client.magic_transit.cf_interconnects.update(tunnel_identifier, \*, account_id, \*\*params) -> CfInterconnectUpdateResponse
+- client.magic_transit.cf_interconnects.update(cf_interconnect_id, \*, account_id, \*\*params) -> CfInterconnectUpdateResponse
- client.magic_transit.cf_interconnects.list(\*, account_id) -> CfInterconnectListResponse
-- client.magic_transit.cf_interconnects.get(tunnel_identifier, \*, account_id) -> CfInterconnectGetResponse
+- client.magic_transit.cf_interconnects.get(cf_interconnect_id, \*, account_id) -> CfInterconnectGetResponse
## GRETunnels
@@ -4023,10 +4018,10 @@ from cloudflare.types.magic_transit import (
Methods:
- client.magic_transit.gre_tunnels.create(\*, account_id, \*\*params) -> GRETunnelCreateResponse
-- client.magic_transit.gre_tunnels.update(tunnel_identifier, \*, account_id, \*\*params) -> GRETunnelUpdateResponse
+- client.magic_transit.gre_tunnels.update(gre_tunnel_id, \*, account_id, \*\*params) -> GRETunnelUpdateResponse
- client.magic_transit.gre_tunnels.list(\*, account_id) -> GRETunnelListResponse
-- client.magic_transit.gre_tunnels.delete(tunnel_identifier, \*, account_id) -> GRETunnelDeleteResponse
-- client.magic_transit.gre_tunnels.get(tunnel_identifier, \*, account_id) -> GRETunnelGetResponse
+- client.magic_transit.gre_tunnels.delete(gre_tunnel_id, \*, account_id) -> GRETunnelDeleteResponse
+- client.magic_transit.gre_tunnels.get(gre_tunnel_id, \*, account_id) -> GRETunnelGetResponse
## IPSECTunnels
@@ -4047,11 +4042,11 @@ from cloudflare.types.magic_transit import (
Methods:
- client.magic_transit.ipsec_tunnels.create(\*, account_id, \*\*params) -> IPSECTunnelCreateResponse
-- client.magic_transit.ipsec_tunnels.update(tunnel_identifier, \*, account_id, \*\*params) -> IPSECTunnelUpdateResponse
+- client.magic_transit.ipsec_tunnels.update(ipsec_tunnel_id, \*, account_id, \*\*params) -> IPSECTunnelUpdateResponse
- client.magic_transit.ipsec_tunnels.list(\*, account_id) -> IPSECTunnelListResponse
-- client.magic_transit.ipsec_tunnels.delete(tunnel_identifier, \*, account_id) -> IPSECTunnelDeleteResponse
-- client.magic_transit.ipsec_tunnels.get(tunnel_identifier, \*, account_id) -> IPSECTunnelGetResponse
-- client.magic_transit.ipsec_tunnels.psk_generate(tunnel_identifier, \*, account_id, \*\*params) -> IPSECTunnelPSKGenerateResponse
+- client.magic_transit.ipsec_tunnels.delete(ipsec_tunnel_id, \*, account_id) -> IPSECTunnelDeleteResponse
+- client.magic_transit.ipsec_tunnels.get(ipsec_tunnel_id, \*, account_id) -> IPSECTunnelGetResponse
+- client.magic_transit.ipsec_tunnels.psk_generate(ipsec_tunnel_id, \*, account_id, \*\*params) -> IPSECTunnelPSKGenerateResponse
## Routes
@@ -4072,11 +4067,11 @@ from cloudflare.types.magic_transit import (
Methods:
- client.magic_transit.routes.create(\*, account_id, \*\*params) -> RouteCreateResponse
-- client.magic_transit.routes.update(route_identifier, \*, account_id, \*\*params) -> RouteUpdateResponse
+- client.magic_transit.routes.update(route_id, \*, account_id, \*\*params) -> RouteUpdateResponse
- client.magic_transit.routes.list(\*, account_id) -> RouteListResponse
-- client.magic_transit.routes.delete(route_identifier, \*, account_id) -> RouteDeleteResponse
+- client.magic_transit.routes.delete(route_id, \*, account_id) -> RouteDeleteResponse
- client.magic_transit.routes.empty(\*, account_id) -> RouteEmptyResponse
-- client.magic_transit.routes.get(route_identifier, \*, account_id) -> RouteGetResponse
+- client.magic_transit.routes.get(route_id, \*, account_id) -> RouteGetResponse
## Sites
@@ -4106,11 +4101,11 @@ from cloudflare.types.magic_transit.sites import ACL, ACLConfiguration, AllowedP
Methods:
- client.magic_transit.sites.acls.create(site_id, \*, account_id, \*\*params) -> ACL
-- client.magic_transit.sites.acls.update(acl_identifier, \*, account_id, site_id, \*\*params) -> ACL
+- client.magic_transit.sites.acls.update(acl_id, \*, account_id, site_id, \*\*params) -> ACL
- client.magic_transit.sites.acls.list(site_id, \*, account_id) -> SyncSinglePage[ACL]
-- client.magic_transit.sites.acls.delete(acl_identifier, \*, account_id, site_id) -> ACL
-- client.magic_transit.sites.acls.edit(acl_identifier, \*, account_id, site_id, \*\*params) -> ACL
-- client.magic_transit.sites.acls.get(acl_identifier, \*, account_id, site_id) -> ACL
+- client.magic_transit.sites.acls.delete(acl_id, \*, account_id, site_id) -> ACL
+- client.magic_transit.sites.acls.edit(acl_id, \*, account_id, site_id, \*\*params) -> ACL
+- client.magic_transit.sites.acls.get(acl_id, \*, account_id, site_id) -> ACL
### LANs
@@ -4642,6 +4637,7 @@ from cloudflare.types.stream.captions import LanguageDeleteResponse
Methods:
+- client.stream.captions.language.create(language, \*, account_id, identifier) -> Optional
- client.stream.captions.language.update(language, \*, account_id, identifier, \*\*params) -> Optional
- client.stream.captions.language.delete(language, \*, account_id, identifier) -> str
- client.stream.captions.language.get(language, \*, account_id, identifier) -> Optional
@@ -6079,7 +6075,7 @@ Methods:
- client.zero_trust.gateway.lists.create(\*, account_id, \*\*params) -> Optional
- client.zero_trust.gateway.lists.update(list_id, \*, account_id, \*\*params) -> Optional
-- client.zero_trust.gateway.lists.list(\*, account_id) -> SyncSinglePage[GatewayList]
+- client.zero_trust.gateway.lists.list(\*, account_id, \*\*params) -> SyncSinglePage[GatewayList]
- client.zero_trust.gateway.lists.delete(list_id, \*, account_id) -> Optional
- client.zero_trust.gateway.lists.edit(list_id, \*, account_id, \*\*params) -> Optional
- client.zero_trust.gateway.lists.get(list_id, \*, account_id) -> Optional
@@ -6170,6 +6166,26 @@ Methods:
- client.zero_trust.gateway.rules.delete(rule_id, \*, account_id) -> Optional
- client.zero_trust.gateway.rules.get(rule_id, \*, account_id) -> Optional
+### Certificates
+
+Types:
+
+```python
+from cloudflare.types.zero_trust.gateway import (
+ CertificateCreateResponse,
+ CertificateListResponse,
+ CertificateDeleteResponse,
+ CertificateGetResponse,
+)
+```
+
+Methods:
+
+- client.zero_trust.gateway.certificates.create(\*, account_id, \*\*params) -> Optional
+- client.zero_trust.gateway.certificates.list(\*, account_id) -> SyncSinglePage[CertificateListResponse]
+- client.zero_trust.gateway.certificates.delete(certificate_id, \*, account_id) -> Optional
+- client.zero_trust.gateway.certificates.get(certificate_id, \*, account_id) -> Optional
+
## Networks
### Routes
@@ -6431,7 +6447,7 @@ from cloudflare.types.url_scanner import (
Methods:
- client.url_scanner.scans.create(account_id, \*\*params) -> ScanCreateResponse
-- client.url_scanner.scans.get(scan_id, \*, account_id) -> ScanGetResponse
+- client.url_scanner.scans.get(scan_id, \*, account_id, \*\*params) -> ScanGetResponse
- client.url_scanner.scans.har(scan_id, \*, account_id) -> ScanHarResponse
- client.url_scanner.scans.screenshot(scan_id, \*, account_id, \*\*params) -> BinaryAPIResponse
@@ -6561,7 +6577,7 @@ Methods:
- client.radar.datasets.list(\*\*params) -> DatasetListResponse
- client.radar.datasets.download(\*\*params) -> DatasetDownloadResponse
-- client.radar.datasets.get(alias, \*\*params) -> str
+- client.radar.datasets.get(alias) -> str
## DNS
@@ -7870,12 +7886,12 @@ Methods:
Types:
```python
-from cloudflare.types.ai_gateway import LogGetResponse
+from cloudflare.types.ai_gateway import LogListResponse
```
Methods:
-- client.ai_gateway.logs.get(id, \*, account_id, \*\*params) -> LogGetResponse
+- client.ai_gateway.logs.list(id, \*, account_id, \*\*params) -> SyncV4PagePaginationArray[LogListResponse]
# IAM
diff --git a/pyproject.toml b/pyproject.toml
index 02bcdae2a23..47ea1a064d9 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "cloudflare"
-version = "3.0.0-beta.10"
+version = "3.0.0"
description = "The official Python library for the cloudflare API"
dynamic = ["readme"]
license = "Apache-2.0"
diff --git a/src/cloudflare/_base_client.py b/src/cloudflare/_base_client.py
index ca66d5b4018..d6730dbb3e4 100644
--- a/src/cloudflare/_base_client.py
+++ b/src/cloudflare/_base_client.py
@@ -60,7 +60,7 @@
RequestOptions,
ModelBuilderProtocol,
)
-from ._utils import is_dict, is_list, is_given, lru_cache, is_mapping
+from ._utils import is_dict, is_list, asyncify, is_given, lru_cache, is_mapping
from ._compat import model_copy, model_dump
from ._models import GenericModel, FinalRequestOptions, validate_type, construct_type
from ._response import (
@@ -358,6 +358,7 @@ def __init__(
self._custom_query = custom_query or {}
self._strict_response_validation = _strict_response_validation
self._idempotency_header = None
+ self._platform: Platform | None = None
if max_retries is None: # pyright: ignore[reportUnnecessaryComparison]
raise TypeError(
@@ -622,7 +623,10 @@ def base_url(self, url: URL | str) -> None:
self._base_url = self._enforce_trailing_slash(url if isinstance(url, URL) else URL(url))
def platform_headers(self) -> Dict[str, str]:
- return platform_headers(self._version)
+ # the actual implementation is in a separate `lru_cache` decorated
+ # function because adding `lru_cache` to methods will leak memory
+ # https://github.com/python/cpython/issues/88476
+ return platform_headers(self._version, platform=self._platform)
def _parse_retry_after_header(self, response_headers: Optional[httpx.Headers] = None) -> float | None:
"""Returns a float of the number of seconds (not milliseconds) to wait after retrying, or None if unspecified.
@@ -1498,6 +1502,11 @@ async def _request(
stream_cls: type[_AsyncStreamT] | None,
remaining_retries: int | None,
) -> ResponseT | _AsyncStreamT:
+ if self._platform is None:
+ # `get_platform` can make blocking IO calls so we
+ # execute it earlier while we are in an async context
+ self._platform = await asyncify(get_platform)()
+
cast_to = self._maybe_override_cast_to(cast_to, options)
await self._prepare_options(options)
@@ -1921,11 +1930,11 @@ def get_platform() -> Platform:
@lru_cache(maxsize=None)
-def platform_headers(version: str) -> Dict[str, str]:
+def platform_headers(version: str, *, platform: Platform | None) -> Dict[str, str]:
return {
"X-Stainless-Lang": "python",
"X-Stainless-Package-Version": version,
- "X-Stainless-OS": str(get_platform()),
+ "X-Stainless-OS": str(platform or get_platform()),
"X-Stainless-Arch": str(get_architecture()),
"X-Stainless-Runtime": get_python_runtime(),
"X-Stainless-Runtime-Version": get_python_version(),
diff --git a/src/cloudflare/_utils/__init__.py b/src/cloudflare/_utils/__init__.py
index 31b5b22799e..667e2473f65 100644
--- a/src/cloudflare/_utils/__init__.py
+++ b/src/cloudflare/_utils/__init__.py
@@ -49,3 +49,4 @@
maybe_transform as maybe_transform,
async_maybe_transform as async_maybe_transform,
)
+from ._reflection import function_has_argument as function_has_argument
diff --git a/src/cloudflare/_utils/_reflection.py b/src/cloudflare/_utils/_reflection.py
new file mode 100644
index 00000000000..e134f58e086
--- /dev/null
+++ b/src/cloudflare/_utils/_reflection.py
@@ -0,0 +1,8 @@
+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
diff --git a/src/cloudflare/_utils/_sync.py b/src/cloudflare/_utils/_sync.py
index 595924e5b19..d0d810337ec 100644
--- a/src/cloudflare/_utils/_sync.py
+++ b/src/cloudflare/_utils/_sync.py
@@ -7,6 +7,8 @@
import anyio
import anyio.to_thread
+from ._reflection import function_has_argument
+
T_Retval = TypeVar("T_Retval")
T_ParamSpec = ParamSpec("T_ParamSpec")
@@ -59,6 +61,21 @@ def do_work(arg1, arg2, kwarg1="", kwarg2="") -> str:
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)
+
+ # In `v4.1.0` anyio added the `abandon_on_cancel` argument and deprecated the old
+ # `cancellable` argument, so we need to use the new `abandon_on_cancel` to avoid
+ # surfacing deprecation warnings.
+ if function_has_argument(anyio.to_thread.run_sync, "abandon_on_cancel"):
+ return await anyio.to_thread.run_sync(
+ partial_f,
+ abandon_on_cancel=cancellable,
+ limiter=limiter,
+ )
+
+ return await anyio.to_thread.run_sync(
+ partial_f,
+ cancellable=cancellable,
+ limiter=limiter,
+ )
return wrapper
diff --git a/src/cloudflare/_version.py b/src/cloudflare/_version.py
index 92e51bde907..7fde4ddd25b 100644
--- a/src/cloudflare/_version.py
+++ b/src/cloudflare/_version.py
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
__title__ = "cloudflare"
-__version__ = "3.0.0-beta.10" # x-release-please-version
+__version__ = "3.0.0" # x-release-please-version
diff --git a/src/cloudflare/resources/ai_gateway/ai_gateway.py b/src/cloudflare/resources/ai_gateway/ai_gateway.py
index 2fc5cfcef74..ac5a9237f0b 100644
--- a/src/cloudflare/resources/ai_gateway/ai_gateway.py
+++ b/src/cloudflare/resources/ai_gateway/ai_gateway.py
@@ -190,7 +190,7 @@ def list(
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> SyncV4PagePaginationArray[AIGatewayListResponse]:
"""
- List Gateway's
+ List Gateways
Args:
id: gateway id
@@ -457,7 +457,7 @@ def list(
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> AsyncPaginator[AIGatewayListResponse, AsyncV4PagePaginationArray[AIGatewayListResponse]]:
"""
- List Gateway's
+ List Gateways
Args:
id: gateway id
diff --git a/src/cloudflare/resources/ai_gateway/logs.py b/src/cloudflare/resources/ai_gateway/logs.py
index 01650e97aa3..58f38d09fbc 100644
--- a/src/cloudflare/resources/ai_gateway/logs.py
+++ b/src/cloudflare/resources/ai_gateway/logs.py
@@ -2,17 +2,14 @@
from __future__ import annotations
-from typing import Type, Union, cast
+from typing import Union
from datetime import datetime
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 ..._utils import maybe_transform
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
@@ -21,12 +18,13 @@
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.ai_gateway import log_get_params
-from ...types.ai_gateway.log_get_response import LogGetResponse
+from ...types.ai_gateway import log_list_params
+from ...types.ai_gateway.log_list_response import LogListResponse
__all__ = ["LogsResource", "AsyncLogsResource"]
@@ -40,7 +38,7 @@ def with_raw_response(self) -> LogsResourceWithRawResponse:
def with_streaming_response(self) -> LogsResourceWithStreamingResponse:
return LogsResourceWithStreamingResponse(self)
- def get(
+ def list(
self,
id: str,
*,
@@ -60,7 +58,7 @@ def get(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> LogGetResponse:
+ ) -> SyncV4PagePaginationArray[LogListResponse]:
"""
List Gateway Logs
@@ -79,8 +77,9 @@ def get(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
- return self._get(
+ return self._get_api_list(
f"/accounts/{account_id}/ai-gateway/gateways/{id}/logs",
+ page=SyncV4PagePaginationArray[LogListResponse],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -98,11 +97,10 @@ def get(
"start_date": start_date,
"success": success,
},
- log_get_params.LogGetParams,
+ log_list_params.LogListParams,
),
- post_parser=ResultWrapper[LogGetResponse]._unwrapper,
),
- cast_to=cast(Type[LogGetResponse], ResultWrapper[LogGetResponse]),
+ model=LogListResponse,
)
@@ -115,7 +113,7 @@ def with_raw_response(self) -> AsyncLogsResourceWithRawResponse:
def with_streaming_response(self) -> AsyncLogsResourceWithStreamingResponse:
return AsyncLogsResourceWithStreamingResponse(self)
- async def get(
+ def list(
self,
id: str,
*,
@@ -135,7 +133,7 @@ async def get(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> LogGetResponse:
+ ) -> AsyncPaginator[LogListResponse, AsyncV4PagePaginationArray[LogListResponse]]:
"""
List Gateway Logs
@@ -154,14 +152,15 @@ async def get(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
- return await self._get(
+ return self._get_api_list(
f"/accounts/{account_id}/ai-gateway/gateways/{id}/logs",
+ page=AsyncV4PagePaginationArray[LogListResponse],
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
- query=await async_maybe_transform(
+ query=maybe_transform(
{
"cached": cached,
"direction": direction,
@@ -173,11 +172,10 @@ async def get(
"start_date": start_date,
"success": success,
},
- log_get_params.LogGetParams,
+ log_list_params.LogListParams,
),
- post_parser=ResultWrapper[LogGetResponse]._unwrapper,
),
- cast_to=cast(Type[LogGetResponse], ResultWrapper[LogGetResponse]),
+ model=LogListResponse,
)
@@ -185,8 +183,8 @@ class LogsResourceWithRawResponse:
def __init__(self, logs: LogsResource) -> None:
self._logs = logs
- self.get = to_raw_response_wrapper(
- logs.get,
+ self.list = to_raw_response_wrapper(
+ logs.list,
)
@@ -194,8 +192,8 @@ class AsyncLogsResourceWithRawResponse:
def __init__(self, logs: AsyncLogsResource) -> None:
self._logs = logs
- self.get = async_to_raw_response_wrapper(
- logs.get,
+ self.list = async_to_raw_response_wrapper(
+ logs.list,
)
@@ -203,8 +201,8 @@ class LogsResourceWithStreamingResponse:
def __init__(self, logs: LogsResource) -> None:
self._logs = logs
- self.get = to_streamed_response_wrapper(
- logs.get,
+ self.list = to_streamed_response_wrapper(
+ logs.list,
)
@@ -212,6 +210,6 @@ class AsyncLogsResourceWithStreamingResponse:
def __init__(self, logs: AsyncLogsResource) -> None:
self._logs = logs
- self.get = async_to_streamed_response_wrapper(
- logs.get,
+ self.list = async_to_streamed_response_wrapper(
+ logs.list,
)
diff --git a/src/cloudflare/resources/api_gateway/__init__.py b/src/cloudflare/resources/api_gateway/__init__.py
index 4adb2b18211..c92d2837cfb 100644
--- a/src/cloudflare/resources/api_gateway/__init__.py
+++ b/src/cloudflare/resources/api_gateway/__init__.py
@@ -56,14 +56,6 @@
ConfigurationsResourceWithStreamingResponse,
AsyncConfigurationsResourceWithStreamingResponse,
)
-from .schema_validation import (
- SchemaValidationResource,
- AsyncSchemaValidationResource,
- SchemaValidationResourceWithRawResponse,
- AsyncSchemaValidationResourceWithRawResponse,
- SchemaValidationResourceWithStreamingResponse,
- AsyncSchemaValidationResourceWithStreamingResponse,
-)
__all__ = [
"ConfigurationsResource",
@@ -102,12 +94,6 @@
"AsyncUserSchemasResourceWithRawResponse",
"UserSchemasResourceWithStreamingResponse",
"AsyncUserSchemasResourceWithStreamingResponse",
- "SchemaValidationResource",
- "AsyncSchemaValidationResource",
- "SchemaValidationResourceWithRawResponse",
- "AsyncSchemaValidationResourceWithRawResponse",
- "SchemaValidationResourceWithStreamingResponse",
- "AsyncSchemaValidationResourceWithStreamingResponse",
"APIGatewayResource",
"AsyncAPIGatewayResource",
"APIGatewayResourceWithRawResponse",
diff --git a/src/cloudflare/resources/api_gateway/api_gateway.py b/src/cloudflare/resources/api_gateway/api_gateway.py
index baae4ee7e3b..5df1917d66b 100644
--- a/src/cloudflare/resources/api_gateway/api_gateway.py
+++ b/src/cloudflare/resources/api_gateway/api_gateway.py
@@ -52,14 +52,6 @@
ConfigurationsResourceWithStreamingResponse,
AsyncConfigurationsResourceWithStreamingResponse,
)
-from .schema_validation import (
- SchemaValidationResource,
- AsyncSchemaValidationResource,
- SchemaValidationResourceWithRawResponse,
- AsyncSchemaValidationResourceWithRawResponse,
- SchemaValidationResourceWithStreamingResponse,
- AsyncSchemaValidationResourceWithStreamingResponse,
-)
from .settings.settings import SettingsResource, AsyncSettingsResource
from .discovery.discovery import DiscoveryResource, AsyncDiscoveryResource
from .operations.operations import OperationsResource, AsyncOperationsResource
@@ -93,10 +85,6 @@ def settings(self) -> SettingsResource:
def user_schemas(self) -> UserSchemasResource:
return UserSchemasResource(self._client)
- @cached_property
- def schema_validation(self) -> SchemaValidationResource:
- return SchemaValidationResource(self._client)
-
@cached_property
def with_raw_response(self) -> APIGatewayResourceWithRawResponse:
return APIGatewayResourceWithRawResponse(self)
@@ -131,10 +119,6 @@ def settings(self) -> AsyncSettingsResource:
def user_schemas(self) -> AsyncUserSchemasResource:
return AsyncUserSchemasResource(self._client)
- @cached_property
- def schema_validation(self) -> AsyncSchemaValidationResource:
- return AsyncSchemaValidationResource(self._client)
-
@cached_property
def with_raw_response(self) -> AsyncAPIGatewayResourceWithRawResponse:
return AsyncAPIGatewayResourceWithRawResponse(self)
@@ -172,10 +156,6 @@ def settings(self) -> SettingsResourceWithRawResponse:
def user_schemas(self) -> UserSchemasResourceWithRawResponse:
return UserSchemasResourceWithRawResponse(self._api_gateway.user_schemas)
- @cached_property
- def schema_validation(self) -> SchemaValidationResourceWithRawResponse:
- return SchemaValidationResourceWithRawResponse(self._api_gateway.schema_validation)
-
class AsyncAPIGatewayResourceWithRawResponse:
def __init__(self, api_gateway: AsyncAPIGatewayResource) -> None:
@@ -205,10 +185,6 @@ def settings(self) -> AsyncSettingsResourceWithRawResponse:
def user_schemas(self) -> AsyncUserSchemasResourceWithRawResponse:
return AsyncUserSchemasResourceWithRawResponse(self._api_gateway.user_schemas)
- @cached_property
- def schema_validation(self) -> AsyncSchemaValidationResourceWithRawResponse:
- return AsyncSchemaValidationResourceWithRawResponse(self._api_gateway.schema_validation)
-
class APIGatewayResourceWithStreamingResponse:
def __init__(self, api_gateway: APIGatewayResource) -> None:
@@ -238,10 +214,6 @@ def settings(self) -> SettingsResourceWithStreamingResponse:
def user_schemas(self) -> UserSchemasResourceWithStreamingResponse:
return UserSchemasResourceWithStreamingResponse(self._api_gateway.user_schemas)
- @cached_property
- def schema_validation(self) -> SchemaValidationResourceWithStreamingResponse:
- return SchemaValidationResourceWithStreamingResponse(self._api_gateway.schema_validation)
-
class AsyncAPIGatewayResourceWithStreamingResponse:
def __init__(self, api_gateway: AsyncAPIGatewayResource) -> None:
@@ -270,7 +242,3 @@ def settings(self) -> AsyncSettingsResourceWithStreamingResponse:
@cached_property
def user_schemas(self) -> AsyncUserSchemasResourceWithStreamingResponse:
return AsyncUserSchemasResourceWithStreamingResponse(self._api_gateway.user_schemas)
-
- @cached_property
- def schema_validation(self) -> AsyncSchemaValidationResourceWithStreamingResponse:
- return AsyncSchemaValidationResourceWithStreamingResponse(self._api_gateway.schema_validation)
diff --git a/src/cloudflare/resources/api_gateway/schema_validation.py b/src/cloudflare/resources/api_gateway/schema_validation.py
deleted file mode 100644
index e1d210edd73..00000000000
--- a/src/cloudflare/resources/api_gateway/schema_validation.py
+++ /dev/null
@@ -1,211 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing import Optional
-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 ..._base_client import (
- make_request_options,
-)
-from ...types.api_gateway import schema_validation_edit_params
-from ...types.api_gateway.settings.settings import Settings
-
-__all__ = ["SchemaValidationResource", "AsyncSchemaValidationResource"]
-
-
-class SchemaValidationResource(SyncAPIResource):
- @cached_property
- def with_raw_response(self) -> SchemaValidationResourceWithRawResponse:
- return SchemaValidationResourceWithRawResponse(self)
-
- @cached_property
- def with_streaming_response(self) -> SchemaValidationResourceWithStreamingResponse:
- return SchemaValidationResourceWithStreamingResponse(self)
-
- def edit(
- self,
- *,
- zone_id: str,
- validation_default_mitigation_action: Optional[Literal["none", "log", "block"]] | NotGiven = NOT_GIVEN,
- validation_override_mitigation_action: Optional[Literal["none", "disable_override"]] | 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,
- ) -> Settings:
- """
- Updates zone level schema validation settings on the zone
-
- Args:
- zone_id: Identifier
-
- validation_default_mitigation_action: The default mitigation action used when there is no mitigation action defined on
- the operation Mitigation actions are as follows:
-
- - `log` - log request when request does not conform to schema
- - `block` - deny access to the site when request does not conform to schema
-
- A special value of of `none` will skip running schema validation entirely for
- the request when there is no mitigation action defined on the operation
-
- `null` will have no effect.
-
- validation_override_mitigation_action: When set, this overrides both zone level and operation level mitigation actions.
-
- - `none` will skip running schema validation entirely for the request
-
- To clear any override, use the special value `disable_override`
-
- `null` will have no effect.
-
- 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._patch(
- f"/zones/{zone_id}/api_gateway/settings/schema_validation",
- body=maybe_transform(
- {
- "validation_default_mitigation_action": validation_default_mitigation_action,
- "validation_override_mitigation_action": validation_override_mitigation_action,
- },
- schema_validation_edit_params.SchemaValidationEditParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=Settings,
- )
-
-
-class AsyncSchemaValidationResource(AsyncAPIResource):
- @cached_property
- def with_raw_response(self) -> AsyncSchemaValidationResourceWithRawResponse:
- return AsyncSchemaValidationResourceWithRawResponse(self)
-
- @cached_property
- def with_streaming_response(self) -> AsyncSchemaValidationResourceWithStreamingResponse:
- return AsyncSchemaValidationResourceWithStreamingResponse(self)
-
- async def edit(
- self,
- *,
- zone_id: str,
- validation_default_mitigation_action: Optional[Literal["none", "log", "block"]] | NotGiven = NOT_GIVEN,
- validation_override_mitigation_action: Optional[Literal["none", "disable_override"]] | 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,
- ) -> Settings:
- """
- Updates zone level schema validation settings on the zone
-
- Args:
- zone_id: Identifier
-
- validation_default_mitigation_action: The default mitigation action used when there is no mitigation action defined on
- the operation Mitigation actions are as follows:
-
- - `log` - log request when request does not conform to schema
- - `block` - deny access to the site when request does not conform to schema
-
- A special value of of `none` will skip running schema validation entirely for
- the request when there is no mitigation action defined on the operation
-
- `null` will have no effect.
-
- validation_override_mitigation_action: When set, this overrides both zone level and operation level mitigation actions.
-
- - `none` will skip running schema validation entirely for the request
-
- To clear any override, use the special value `disable_override`
-
- `null` will have no effect.
-
- 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._patch(
- f"/zones/{zone_id}/api_gateway/settings/schema_validation",
- body=await async_maybe_transform(
- {
- "validation_default_mitigation_action": validation_default_mitigation_action,
- "validation_override_mitigation_action": validation_override_mitigation_action,
- },
- schema_validation_edit_params.SchemaValidationEditParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=Settings,
- )
-
-
-class SchemaValidationResourceWithRawResponse:
- def __init__(self, schema_validation: SchemaValidationResource) -> None:
- self._schema_validation = schema_validation
-
- self.edit = to_raw_response_wrapper(
- schema_validation.edit,
- )
-
-
-class AsyncSchemaValidationResourceWithRawResponse:
- def __init__(self, schema_validation: AsyncSchemaValidationResource) -> None:
- self._schema_validation = schema_validation
-
- self.edit = async_to_raw_response_wrapper(
- schema_validation.edit,
- )
-
-
-class SchemaValidationResourceWithStreamingResponse:
- def __init__(self, schema_validation: SchemaValidationResource) -> None:
- self._schema_validation = schema_validation
-
- self.edit = to_streamed_response_wrapper(
- schema_validation.edit,
- )
-
-
-class AsyncSchemaValidationResourceWithStreamingResponse:
- def __init__(self, schema_validation: AsyncSchemaValidationResource) -> None:
- self._schema_validation = schema_validation
-
- self.edit = async_to_streamed_response_wrapper(
- schema_validation.edit,
- )
diff --git a/src/cloudflare/resources/api_gateway/settings/schema_validation.py b/src/cloudflare/resources/api_gateway/settings/schema_validation.py
index f750f0775b3..74acb51c4a5 100644
--- a/src/cloudflare/resources/api_gateway/settings/schema_validation.py
+++ b/src/cloudflare/resources/api_gateway/settings/schema_validation.py
@@ -23,7 +23,7 @@
from ...._base_client import (
make_request_options,
)
-from ....types.api_gateway.settings import schema_validation_update_params
+from ....types.api_gateway.settings import schema_validation_edit_params, schema_validation_update_params
from ....types.api_gateway.settings.settings import Settings
__all__ = ["SchemaValidationResource", "AsyncSchemaValidationResource"]
@@ -100,6 +100,69 @@ def update(
cast_to=Settings,
)
+ def edit(
+ self,
+ *,
+ zone_id: str,
+ validation_default_mitigation_action: Optional[Literal["none", "log", "block"]] | NotGiven = NOT_GIVEN,
+ validation_override_mitigation_action: Optional[Literal["none", "disable_override"]] | 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,
+ ) -> Settings:
+ """
+ Updates zone level schema validation settings on the zone
+
+ Args:
+ zone_id: Identifier
+
+ validation_default_mitigation_action: The default mitigation action used when there is no mitigation action defined on
+ the operation Mitigation actions are as follows:
+
+ - `log` - log request when request does not conform to schema
+ - `block` - deny access to the site when request does not conform to schema
+
+ A special value of of `none` will skip running schema validation entirely for
+ the request when there is no mitigation action defined on the operation
+
+ `null` will have no effect.
+
+ validation_override_mitigation_action: When set, this overrides both zone level and operation level mitigation actions.
+
+ - `none` will skip running schema validation entirely for the request
+
+ To clear any override, use the special value `disable_override`
+
+ `null` will have no effect.
+
+ 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._patch(
+ f"/zones/{zone_id}/api_gateway/settings/schema_validation",
+ body=maybe_transform(
+ {
+ "validation_default_mitigation_action": validation_default_mitigation_action,
+ "validation_override_mitigation_action": validation_override_mitigation_action,
+ },
+ schema_validation_edit_params.SchemaValidationEditParams,
+ ),
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=Settings,
+ )
+
def get(
self,
*,
@@ -207,6 +270,69 @@ async def update(
cast_to=Settings,
)
+ async def edit(
+ self,
+ *,
+ zone_id: str,
+ validation_default_mitigation_action: Optional[Literal["none", "log", "block"]] | NotGiven = NOT_GIVEN,
+ validation_override_mitigation_action: Optional[Literal["none", "disable_override"]] | 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,
+ ) -> Settings:
+ """
+ Updates zone level schema validation settings on the zone
+
+ Args:
+ zone_id: Identifier
+
+ validation_default_mitigation_action: The default mitigation action used when there is no mitigation action defined on
+ the operation Mitigation actions are as follows:
+
+ - `log` - log request when request does not conform to schema
+ - `block` - deny access to the site when request does not conform to schema
+
+ A special value of of `none` will skip running schema validation entirely for
+ the request when there is no mitigation action defined on the operation
+
+ `null` will have no effect.
+
+ validation_override_mitigation_action: When set, this overrides both zone level and operation level mitigation actions.
+
+ - `none` will skip running schema validation entirely for the request
+
+ To clear any override, use the special value `disable_override`
+
+ `null` will have no effect.
+
+ 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._patch(
+ f"/zones/{zone_id}/api_gateway/settings/schema_validation",
+ body=await async_maybe_transform(
+ {
+ "validation_default_mitigation_action": validation_default_mitigation_action,
+ "validation_override_mitigation_action": validation_override_mitigation_action,
+ },
+ schema_validation_edit_params.SchemaValidationEditParams,
+ ),
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=Settings,
+ )
+
async def get(
self,
*,
@@ -250,6 +376,9 @@ def __init__(self, schema_validation: SchemaValidationResource) -> None:
self.update = to_raw_response_wrapper(
schema_validation.update,
)
+ self.edit = to_raw_response_wrapper(
+ schema_validation.edit,
+ )
self.get = to_raw_response_wrapper(
schema_validation.get,
)
@@ -262,6 +391,9 @@ def __init__(self, schema_validation: AsyncSchemaValidationResource) -> None:
self.update = async_to_raw_response_wrapper(
schema_validation.update,
)
+ self.edit = async_to_raw_response_wrapper(
+ schema_validation.edit,
+ )
self.get = async_to_raw_response_wrapper(
schema_validation.get,
)
@@ -274,6 +406,9 @@ def __init__(self, schema_validation: SchemaValidationResource) -> None:
self.update = to_streamed_response_wrapper(
schema_validation.update,
)
+ self.edit = to_streamed_response_wrapper(
+ schema_validation.edit,
+ )
self.get = to_streamed_response_wrapper(
schema_validation.get,
)
@@ -286,6 +421,9 @@ def __init__(self, schema_validation: AsyncSchemaValidationResource) -> None:
self.update = async_to_streamed_response_wrapper(
schema_validation.update,
)
+ self.edit = async_to_streamed_response_wrapper(
+ schema_validation.edit,
+ )
self.get = async_to_streamed_response_wrapper(
schema_validation.get,
)
diff --git a/src/cloudflare/resources/dns/records.py b/src/cloudflare/resources/dns/records.py
index b5142133fe4..078bf19d50e 100644
--- a/src/cloudflare/resources/dns/records.py
+++ b/src/cloudflare/resources/dns/records.py
@@ -63,6 +63,7 @@ def create(
content: str,
name: str,
type: Literal["A"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -93,6 +94,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -123,6 +126,7 @@ def create(
content: str,
name: str,
type: Literal["AAAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -153,6 +157,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -183,6 +189,7 @@ def create(
data: record_create_params.CAARecordData,
name: str,
type: Literal["CAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -212,6 +219,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -239,6 +248,7 @@ def create(
data: record_create_params.CERTRecordData,
name: str,
type: Literal["CERT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -268,6 +278,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -295,6 +307,7 @@ def create(
content: object,
name: str,
type: Literal["CNAME"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -325,6 +338,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -355,6 +370,7 @@ def create(
data: record_create_params.DNSKEYRecordData,
name: str,
type: Literal["DNSKEY"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -384,6 +400,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -411,6 +429,7 @@ def create(
data: record_create_params.DSRecordData,
name: str,
type: Literal["DS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -440,6 +459,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -467,6 +488,7 @@ def create(
data: record_create_params.HTTPSRecordData,
name: str,
type: Literal["HTTPS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -496,6 +518,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -523,6 +547,7 @@ def create(
data: record_create_params.LOCRecordData,
name: str,
type: Literal["LOC"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -552,6 +577,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -580,6 +607,7 @@ def create(
name: str,
priority: float,
type: Literal["MX"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -612,6 +640,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -639,6 +669,7 @@ def create(
data: record_create_params.NAPTRRecordData,
name: str,
type: Literal["NAPTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -668,6 +699,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -695,6 +728,7 @@ def create(
content: str,
name: str,
type: Literal["NS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -724,6 +758,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -751,6 +787,7 @@ def create(
content: str,
name: str,
type: Literal["PTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -780,6 +817,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -807,6 +846,7 @@ def create(
data: record_create_params.SMIMEARecordData,
name: str,
type: Literal["SMIMEA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -836,6 +876,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -863,6 +905,7 @@ def create(
data: record_create_params.SRVRecordData,
name: str,
type: Literal["SRV"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -894,6 +937,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -921,6 +966,7 @@ def create(
data: record_create_params.SSHFPRecordData,
name: str,
type: Literal["SSHFP"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -950,6 +996,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -977,6 +1025,7 @@ def create(
data: record_create_params.SVCBRecordData,
name: str,
type: Literal["SVCB"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1006,6 +1055,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1033,6 +1084,7 @@ def create(
data: record_create_params.TLSARecordData,
name: str,
type: Literal["TLSA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1062,6 +1114,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1089,6 +1143,7 @@ def create(
content: str,
name: str,
type: Literal["TXT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1118,6 +1173,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1146,6 +1203,7 @@ def create(
name: str,
priority: float,
type: Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1178,6 +1236,8 @@ def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1229,6 +1289,7 @@ def create(
| Literal["TLSA"]
| Literal["TXT"]
| Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -1264,6 +1325,7 @@ def create(
"content": content,
"name": name,
"type": type,
+ "id": id,
"comment": comment,
"proxied": proxied,
"tags": tags,
@@ -1295,6 +1357,7 @@ def update(
content: str,
name: str,
type: Literal["A"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -1326,6 +1389,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1357,6 +1422,7 @@ def update(
content: str,
name: str,
type: Literal["AAAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -1388,6 +1454,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1419,6 +1487,7 @@ def update(
data: record_update_params.CAARecordData,
name: str,
type: Literal["CAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1449,6 +1518,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1477,6 +1548,7 @@ def update(
data: record_update_params.CERTRecordData,
name: str,
type: Literal["CERT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1507,6 +1579,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1535,6 +1609,7 @@ def update(
content: object,
name: str,
type: Literal["CNAME"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -1566,6 +1641,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1597,6 +1674,7 @@ def update(
data: record_update_params.DNSKEYRecordData,
name: str,
type: Literal["DNSKEY"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1627,6 +1705,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1655,6 +1735,7 @@ def update(
data: record_update_params.DSRecordData,
name: str,
type: Literal["DS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1685,6 +1766,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1713,6 +1796,7 @@ def update(
data: record_update_params.HTTPSRecordData,
name: str,
type: Literal["HTTPS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1743,6 +1827,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1771,6 +1857,7 @@ def update(
data: record_update_params.LOCRecordData,
name: str,
type: Literal["LOC"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1801,6 +1888,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1830,6 +1919,7 @@ def update(
name: str,
priority: float,
type: Literal["MX"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1863,6 +1953,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1891,6 +1983,7 @@ def update(
data: record_update_params.NAPTRRecordData,
name: str,
type: Literal["NAPTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1921,6 +2014,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -1949,6 +2044,7 @@ def update(
content: str,
name: str,
type: Literal["NS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -1979,6 +2075,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2007,6 +2105,7 @@ def update(
content: str,
name: str,
type: Literal["PTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -2037,6 +2136,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2065,6 +2166,7 @@ def update(
data: record_update_params.SMIMEARecordData,
name: str,
type: Literal["SMIMEA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -2095,6 +2197,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2123,6 +2227,7 @@ def update(
data: record_update_params.SRVRecordData,
name: str,
type: Literal["SRV"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -2155,6 +2260,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2183,6 +2290,7 @@ def update(
data: record_update_params.SSHFPRecordData,
name: str,
type: Literal["SSHFP"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -2213,6 +2321,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2241,6 +2351,7 @@ def update(
data: record_update_params.SVCBRecordData,
name: str,
type: Literal["SVCB"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -2271,6 +2382,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2299,6 +2412,7 @@ def update(
data: record_update_params.TLSARecordData,
name: str,
type: Literal["TLSA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -2329,6 +2443,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2357,6 +2473,7 @@ def update(
content: str,
name: str,
type: Literal["TXT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -2387,6 +2504,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2416,6 +2535,7 @@ def update(
name: str,
priority: float,
type: Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -2449,6 +2569,8 @@ def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2501,6 +2623,7 @@ def update(
| Literal["TLSA"]
| Literal["TXT"]
| Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -2538,6 +2661,7 @@ def update(
"content": content,
"name": name,
"type": type,
+ "id": id,
"comment": comment,
"proxied": proxied,
"tags": tags,
@@ -2738,6 +2862,7 @@ def edit(
content: str,
name: str,
type: Literal["A"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -2769,6 +2894,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2800,6 +2927,7 @@ def edit(
content: str,
name: str,
type: Literal["AAAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -2831,6 +2959,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2862,6 +2992,7 @@ def edit(
data: record_edit_params.CAARecordData,
name: str,
type: Literal["CAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -2892,6 +3023,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2920,6 +3053,7 @@ def edit(
data: record_edit_params.CERTRecordData,
name: str,
type: Literal["CERT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -2950,6 +3084,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -2978,6 +3114,7 @@ def edit(
content: object,
name: str,
type: Literal["CNAME"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -3009,6 +3146,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3040,6 +3179,7 @@ def edit(
data: record_edit_params.DNSKEYRecordData,
name: str,
type: Literal["DNSKEY"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3070,6 +3210,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3098,6 +3240,7 @@ def edit(
data: record_edit_params.DSRecordData,
name: str,
type: Literal["DS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3128,6 +3271,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3156,6 +3301,7 @@ def edit(
data: record_edit_params.HTTPSRecordData,
name: str,
type: Literal["HTTPS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3186,6 +3332,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3214,6 +3362,7 @@ def edit(
data: record_edit_params.LOCRecordData,
name: str,
type: Literal["LOC"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3244,6 +3393,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3273,6 +3424,7 @@ def edit(
name: str,
priority: float,
type: Literal["MX"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3306,6 +3458,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3334,6 +3488,7 @@ def edit(
data: record_edit_params.NAPTRRecordData,
name: str,
type: Literal["NAPTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3364,6 +3519,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3392,6 +3549,7 @@ def edit(
content: str,
name: str,
type: Literal["NS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3422,6 +3580,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3450,6 +3610,7 @@ def edit(
content: str,
name: str,
type: Literal["PTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3480,6 +3641,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3508,6 +3671,7 @@ def edit(
data: record_edit_params.SMIMEARecordData,
name: str,
type: Literal["SMIMEA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3538,6 +3702,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3566,6 +3732,7 @@ def edit(
data: record_edit_params.SRVRecordData,
name: str,
type: Literal["SRV"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3598,6 +3765,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3626,6 +3795,7 @@ def edit(
data: record_edit_params.SSHFPRecordData,
name: str,
type: Literal["SSHFP"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3656,6 +3826,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3684,6 +3856,7 @@ def edit(
data: record_edit_params.SVCBRecordData,
name: str,
type: Literal["SVCB"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3714,6 +3887,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3742,6 +3917,7 @@ def edit(
data: record_edit_params.TLSARecordData,
name: str,
type: Literal["TLSA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3772,6 +3948,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3800,6 +3978,7 @@ def edit(
content: str,
name: str,
type: Literal["TXT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3830,6 +4009,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3859,6 +4040,7 @@ def edit(
name: str,
priority: float,
type: Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -3892,6 +4074,8 @@ def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -3944,6 +4128,7 @@ def edit(
| Literal["TLSA"]
| Literal["TXT"]
| Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -3981,6 +4166,7 @@ def edit(
"content": content,
"name": name,
"type": type,
+ "id": id,
"comment": comment,
"proxied": proxied,
"tags": tags,
@@ -4219,6 +4405,7 @@ async def create(
content: str,
name: str,
type: Literal["A"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -4249,6 +4436,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4279,6 +4468,7 @@ async def create(
content: str,
name: str,
type: Literal["AAAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -4309,6 +4499,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4339,6 +4531,7 @@ async def create(
data: record_create_params.CAARecordData,
name: str,
type: Literal["CAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -4368,6 +4561,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4395,6 +4590,7 @@ async def create(
data: record_create_params.CERTRecordData,
name: str,
type: Literal["CERT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -4424,6 +4620,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4451,6 +4649,7 @@ async def create(
content: object,
name: str,
type: Literal["CNAME"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -4481,6 +4680,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4511,6 +4712,7 @@ async def create(
data: record_create_params.DNSKEYRecordData,
name: str,
type: Literal["DNSKEY"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -4540,6 +4742,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4567,6 +4771,7 @@ async def create(
data: record_create_params.DSRecordData,
name: str,
type: Literal["DS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -4596,6 +4801,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4623,6 +4830,7 @@ async def create(
data: record_create_params.HTTPSRecordData,
name: str,
type: Literal["HTTPS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -4652,6 +4860,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4679,6 +4889,7 @@ async def create(
data: record_create_params.LOCRecordData,
name: str,
type: Literal["LOC"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -4708,6 +4919,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4736,6 +4949,7 @@ async def create(
name: str,
priority: float,
type: Literal["MX"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -4768,6 +4982,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4795,6 +5011,7 @@ async def create(
data: record_create_params.NAPTRRecordData,
name: str,
type: Literal["NAPTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -4824,6 +5041,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4851,6 +5070,7 @@ async def create(
content: str,
name: str,
type: Literal["NS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -4880,6 +5100,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4907,6 +5129,7 @@ async def create(
content: str,
name: str,
type: Literal["PTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -4936,6 +5159,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -4963,6 +5188,7 @@ async def create(
data: record_create_params.SMIMEARecordData,
name: str,
type: Literal["SMIMEA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -4992,6 +5218,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5019,6 +5247,7 @@ async def create(
data: record_create_params.SRVRecordData,
name: str,
type: Literal["SRV"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5050,6 +5279,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5077,6 +5308,7 @@ async def create(
data: record_create_params.SSHFPRecordData,
name: str,
type: Literal["SSHFP"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5106,6 +5338,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5133,6 +5367,7 @@ async def create(
data: record_create_params.SVCBRecordData,
name: str,
type: Literal["SVCB"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5162,6 +5397,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5189,6 +5426,7 @@ async def create(
data: record_create_params.TLSARecordData,
name: str,
type: Literal["TLSA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5218,6 +5456,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5245,6 +5485,7 @@ async def create(
content: str,
name: str,
type: Literal["TXT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5274,6 +5515,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5302,6 +5545,7 @@ async def create(
name: str,
priority: float,
type: Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5334,6 +5578,8 @@ async def create(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5385,6 +5631,7 @@ async def create(
| Literal["TLSA"]
| Literal["TXT"]
| Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -5420,6 +5667,7 @@ async def create(
"content": content,
"name": name,
"type": type,
+ "id": id,
"comment": comment,
"proxied": proxied,
"tags": tags,
@@ -5451,6 +5699,7 @@ async def update(
content: str,
name: str,
type: Literal["A"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -5482,6 +5731,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5513,6 +5764,7 @@ async def update(
content: str,
name: str,
type: Literal["AAAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -5544,6 +5796,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5575,6 +5829,7 @@ async def update(
data: record_update_params.CAARecordData,
name: str,
type: Literal["CAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5605,6 +5860,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5633,6 +5890,7 @@ async def update(
data: record_update_params.CERTRecordData,
name: str,
type: Literal["CERT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5663,6 +5921,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5691,6 +5951,7 @@ async def update(
content: object,
name: str,
type: Literal["CNAME"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -5722,6 +5983,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5753,6 +6016,7 @@ async def update(
data: record_update_params.DNSKEYRecordData,
name: str,
type: Literal["DNSKEY"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5783,6 +6047,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5811,6 +6077,7 @@ async def update(
data: record_update_params.DSRecordData,
name: str,
type: Literal["DS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5841,6 +6108,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5869,6 +6138,7 @@ async def update(
data: record_update_params.HTTPSRecordData,
name: str,
type: Literal["HTTPS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5899,6 +6169,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5927,6 +6199,7 @@ async def update(
data: record_update_params.LOCRecordData,
name: str,
type: Literal["LOC"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -5957,6 +6230,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -5986,6 +6261,7 @@ async def update(
name: str,
priority: float,
type: Literal["MX"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -6019,6 +6295,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6047,6 +6325,7 @@ async def update(
data: record_update_params.NAPTRRecordData,
name: str,
type: Literal["NAPTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -6077,6 +6356,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6105,6 +6386,7 @@ async def update(
content: str,
name: str,
type: Literal["NS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -6135,6 +6417,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6163,6 +6447,7 @@ async def update(
content: str,
name: str,
type: Literal["PTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -6193,6 +6478,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6221,6 +6508,7 @@ async def update(
data: record_update_params.SMIMEARecordData,
name: str,
type: Literal["SMIMEA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -6251,6 +6539,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6279,6 +6569,7 @@ async def update(
data: record_update_params.SRVRecordData,
name: str,
type: Literal["SRV"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -6311,6 +6602,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6339,6 +6632,7 @@ async def update(
data: record_update_params.SSHFPRecordData,
name: str,
type: Literal["SSHFP"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -6369,6 +6663,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6397,6 +6693,7 @@ async def update(
data: record_update_params.SVCBRecordData,
name: str,
type: Literal["SVCB"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -6427,6 +6724,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6455,6 +6754,7 @@ async def update(
data: record_update_params.TLSARecordData,
name: str,
type: Literal["TLSA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -6485,6 +6785,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6513,6 +6815,7 @@ async def update(
content: str,
name: str,
type: Literal["TXT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -6543,6 +6846,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6572,6 +6877,7 @@ async def update(
name: str,
priority: float,
type: Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -6605,6 +6911,8 @@ async def update(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6657,6 +6965,7 @@ async def update(
| Literal["TLSA"]
| Literal["TXT"]
| Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -6694,6 +7003,7 @@ async def update(
"content": content,
"name": name,
"type": type,
+ "id": id,
"comment": comment,
"proxied": proxied,
"tags": tags,
@@ -6894,6 +7204,7 @@ async def edit(
content: str,
name: str,
type: Literal["A"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -6925,6 +7236,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -6956,6 +7269,7 @@ async def edit(
content: str,
name: str,
type: Literal["AAAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -6987,6 +7301,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7018,6 +7334,7 @@ async def edit(
data: record_edit_params.CAARecordData,
name: str,
type: Literal["CAA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7048,6 +7365,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7076,6 +7395,7 @@ async def edit(
data: record_edit_params.CERTRecordData,
name: str,
type: Literal["CERT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7106,6 +7426,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7134,6 +7456,7 @@ async def edit(
content: object,
name: str,
type: Literal["CNAME"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -7165,6 +7488,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7196,6 +7521,7 @@ async def edit(
data: record_edit_params.DNSKEYRecordData,
name: str,
type: Literal["DNSKEY"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7226,6 +7552,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7254,6 +7582,7 @@ async def edit(
data: record_edit_params.DSRecordData,
name: str,
type: Literal["DS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7284,6 +7613,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7312,6 +7643,7 @@ async def edit(
data: record_edit_params.HTTPSRecordData,
name: str,
type: Literal["HTTPS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7342,6 +7674,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7370,6 +7704,7 @@ async def edit(
data: record_edit_params.LOCRecordData,
name: str,
type: Literal["LOC"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7400,6 +7735,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7429,6 +7766,7 @@ async def edit(
name: str,
priority: float,
type: Literal["MX"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7462,6 +7800,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7490,6 +7830,7 @@ async def edit(
data: record_edit_params.NAPTRRecordData,
name: str,
type: Literal["NAPTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7520,6 +7861,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7548,6 +7891,7 @@ async def edit(
content: str,
name: str,
type: Literal["NS"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7578,6 +7922,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7606,6 +7952,7 @@ async def edit(
content: str,
name: str,
type: Literal["PTR"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7636,6 +7983,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7664,6 +8013,7 @@ async def edit(
data: record_edit_params.SMIMEARecordData,
name: str,
type: Literal["SMIMEA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7694,6 +8044,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7722,6 +8074,7 @@ async def edit(
data: record_edit_params.SRVRecordData,
name: str,
type: Literal["SRV"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7754,6 +8107,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7782,6 +8137,7 @@ async def edit(
data: record_edit_params.SSHFPRecordData,
name: str,
type: Literal["SSHFP"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7812,6 +8168,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7840,6 +8198,7 @@ async def edit(
data: record_edit_params.SVCBRecordData,
name: str,
type: Literal["SVCB"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7870,6 +8229,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7898,6 +8259,7 @@ async def edit(
data: record_edit_params.TLSARecordData,
name: str,
type: Literal["TLSA"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7928,6 +8290,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -7956,6 +8320,7 @@ async def edit(
content: str,
name: str,
type: Literal["TXT"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -7986,6 +8351,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -8015,6 +8382,7 @@ async def edit(
name: str,
priority: float,
type: Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
ttl: TTLParam | NotGiven = NOT_GIVEN,
@@ -8048,6 +8416,8 @@ async def edit(
type: Record type.
+ id: Identifier
+
comment: Comments or notes about the DNS record. This field has no effect on DNS
responses.
@@ -8100,6 +8470,7 @@ async def edit(
| Literal["TLSA"]
| Literal["TXT"]
| Literal["URI"],
+ id: str | NotGiven = NOT_GIVEN,
comment: str | NotGiven = NOT_GIVEN,
proxied: bool | NotGiven = NOT_GIVEN,
tags: List[RecordTags] | NotGiven = NOT_GIVEN,
@@ -8137,6 +8508,7 @@ async def edit(
"content": content,
"name": name,
"type": type,
+ "id": id,
"comment": comment,
"proxied": proxied,
"tags": tags,
diff --git a/src/cloudflare/resources/magic_transit/cf_interconnects.py b/src/cloudflare/resources/magic_transit/cf_interconnects.py
index 753c1abf218..e06f3339eaa 100644
--- a/src/cloudflare/resources/magic_transit/cf_interconnects.py
+++ b/src/cloudflare/resources/magic_transit/cf_interconnects.py
@@ -42,7 +42,7 @@ def with_streaming_response(self) -> CfInterconnectsResourceWithStreamingRespons
def update(
self,
- tunnel_identifier: str,
+ cf_interconnect_id: str,
*,
account_id: str,
description: str | NotGiven = NOT_GIVEN,
@@ -66,7 +66,7 @@ def update(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ cf_interconnect_id: Identifier
description: An optional description of the interconnect.
@@ -89,10 +89,10 @@ def update(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not cf_interconnect_id:
+ raise ValueError(f"Expected a non-empty value for `cf_interconnect_id` but received {cf_interconnect_id!r}")
return self._put(
- f"/accounts/{account_id}/magic/cf_interconnects/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}",
body=maybe_transform(
{
"description": description,
@@ -154,7 +154,7 @@ def list(
def get(
self,
- tunnel_identifier: str,
+ cf_interconnect_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.
@@ -170,7 +170,7 @@ def get(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ cf_interconnect_id: Identifier
extra_headers: Send extra headers
@@ -182,10 +182,10 @@ def get(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not cf_interconnect_id:
+ raise ValueError(f"Expected a non-empty value for `cf_interconnect_id` but received {cf_interconnect_id!r}")
return self._get(
- f"/accounts/{account_id}/magic/cf_interconnects/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -208,7 +208,7 @@ def with_streaming_response(self) -> AsyncCfInterconnectsResourceWithStreamingRe
async def update(
self,
- tunnel_identifier: str,
+ cf_interconnect_id: str,
*,
account_id: str,
description: str | NotGiven = NOT_GIVEN,
@@ -232,7 +232,7 @@ async def update(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ cf_interconnect_id: Identifier
description: An optional description of the interconnect.
@@ -255,10 +255,10 @@ async def update(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not cf_interconnect_id:
+ raise ValueError(f"Expected a non-empty value for `cf_interconnect_id` but received {cf_interconnect_id!r}")
return await self._put(
- f"/accounts/{account_id}/magic/cf_interconnects/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}",
body=await async_maybe_transform(
{
"description": description,
@@ -320,7 +320,7 @@ async def list(
async def get(
self,
- tunnel_identifier: str,
+ cf_interconnect_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.
@@ -336,7 +336,7 @@ async def get(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ cf_interconnect_id: Identifier
extra_headers: Send extra headers
@@ -348,10 +348,10 @@ async def get(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not cf_interconnect_id:
+ raise ValueError(f"Expected a non-empty value for `cf_interconnect_id` but received {cf_interconnect_id!r}")
return await self._get(
- f"/accounts/{account_id}/magic/cf_interconnects/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
diff --git a/src/cloudflare/resources/magic_transit/gre_tunnels.py b/src/cloudflare/resources/magic_transit/gre_tunnels.py
index 7129aeb334e..0a0ecac6b40 100644
--- a/src/cloudflare/resources/magic_transit/gre_tunnels.py
+++ b/src/cloudflare/resources/magic_transit/gre_tunnels.py
@@ -88,7 +88,7 @@ def create(
def update(
self,
- tunnel_identifier: str,
+ gre_tunnel_id: str,
*,
account_id: str,
cloudflare_gre_endpoint: str,
@@ -114,7 +114,7 @@ def update(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ gre_tunnel_id: Identifier
cloudflare_gre_endpoint: The IP address assigned to the Cloudflare side of the GRE tunnel.
@@ -144,10 +144,10 @@ def update(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not gre_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `gre_tunnel_id` but received {gre_tunnel_id!r}")
return self._put(
- f"/accounts/{account_id}/magic/gre_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}",
body=maybe_transform(
{
"cloudflare_gre_endpoint": cloudflare_gre_endpoint,
@@ -212,7 +212,7 @@ def list(
def delete(
self,
- tunnel_identifier: str,
+ gre_tunnel_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.
@@ -230,7 +230,7 @@ def delete(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ gre_tunnel_id: Identifier
extra_headers: Send extra headers
@@ -242,10 +242,10 @@ def delete(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not gre_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `gre_tunnel_id` but received {gre_tunnel_id!r}")
return self._delete(
- f"/accounts/{account_id}/magic/gre_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -258,7 +258,7 @@ def delete(
def get(
self,
- tunnel_identifier: str,
+ gre_tunnel_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.
@@ -274,7 +274,7 @@ def get(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ gre_tunnel_id: Identifier
extra_headers: Send extra headers
@@ -286,10 +286,10 @@ def get(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not gre_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `gre_tunnel_id` but received {gre_tunnel_id!r}")
return self._get(
- f"/accounts/{account_id}/magic/gre_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -355,7 +355,7 @@ async def create(
async def update(
self,
- tunnel_identifier: str,
+ gre_tunnel_id: str,
*,
account_id: str,
cloudflare_gre_endpoint: str,
@@ -381,7 +381,7 @@ async def update(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ gre_tunnel_id: Identifier
cloudflare_gre_endpoint: The IP address assigned to the Cloudflare side of the GRE tunnel.
@@ -411,10 +411,10 @@ async def update(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not gre_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `gre_tunnel_id` but received {gre_tunnel_id!r}")
return await self._put(
- f"/accounts/{account_id}/magic/gre_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}",
body=await async_maybe_transform(
{
"cloudflare_gre_endpoint": cloudflare_gre_endpoint,
@@ -479,7 +479,7 @@ async def list(
async def delete(
self,
- tunnel_identifier: str,
+ gre_tunnel_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.
@@ -497,7 +497,7 @@ async def delete(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ gre_tunnel_id: Identifier
extra_headers: Send extra headers
@@ -509,10 +509,10 @@ async def delete(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not gre_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `gre_tunnel_id` but received {gre_tunnel_id!r}")
return await self._delete(
- f"/accounts/{account_id}/magic/gre_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -525,7 +525,7 @@ async def delete(
async def get(
self,
- tunnel_identifier: str,
+ gre_tunnel_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.
@@ -541,7 +541,7 @@ async def get(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ gre_tunnel_id: Identifier
extra_headers: Send extra headers
@@ -553,10 +553,10 @@ async def get(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not gre_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `gre_tunnel_id` but received {gre_tunnel_id!r}")
return await self._get(
- f"/accounts/{account_id}/magic/gre_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
diff --git a/src/cloudflare/resources/magic_transit/ipsec_tunnels.py b/src/cloudflare/resources/magic_transit/ipsec_tunnels.py
index 02240b292b4..5628e089a81 100644
--- a/src/cloudflare/resources/magic_transit/ipsec_tunnels.py
+++ b/src/cloudflare/resources/magic_transit/ipsec_tunnels.py
@@ -131,7 +131,7 @@ def create(
def update(
self,
- tunnel_identifier: str,
+ ipsec_tunnel_id: str,
*,
account_id: str,
cloudflare_endpoint: str,
@@ -158,7 +158,7 @@ def update(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ ipsec_tunnel_id: Identifier
cloudflare_endpoint: The IP address assigned to the Cloudflare side of the IPsec tunnel.
@@ -188,10 +188,10 @@ def update(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not ipsec_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `ipsec_tunnel_id` but received {ipsec_tunnel_id!r}")
return self._put(
- f"/accounts/{account_id}/magic/ipsec_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}",
body=maybe_transform(
{
"cloudflare_endpoint": cloudflare_endpoint,
@@ -256,7 +256,7 @@ def list(
def delete(
self,
- tunnel_identifier: str,
+ ipsec_tunnel_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.
@@ -274,7 +274,7 @@ def delete(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ ipsec_tunnel_id: Identifier
extra_headers: Send extra headers
@@ -286,10 +286,10 @@ def delete(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not ipsec_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `ipsec_tunnel_id` but received {ipsec_tunnel_id!r}")
return self._delete(
- f"/accounts/{account_id}/magic/ipsec_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -302,7 +302,7 @@ def delete(
def get(
self,
- tunnel_identifier: str,
+ ipsec_tunnel_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.
@@ -318,7 +318,7 @@ def get(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ ipsec_tunnel_id: Identifier
extra_headers: Send extra headers
@@ -330,10 +330,10 @@ def get(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not ipsec_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `ipsec_tunnel_id` but received {ipsec_tunnel_id!r}")
return self._get(
- f"/accounts/{account_id}/magic/ipsec_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -346,7 +346,7 @@ def get(
def psk_generate(
self,
- tunnel_identifier: str,
+ ipsec_tunnel_id: str,
*,
account_id: str,
body: object,
@@ -367,7 +367,7 @@ def psk_generate(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ ipsec_tunnel_id: Identifier
extra_headers: Send extra headers
@@ -379,10 +379,10 @@ def psk_generate(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not ipsec_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `ipsec_tunnel_id` but received {ipsec_tunnel_id!r}")
return self._post(
- f"/accounts/{account_id}/magic/ipsec_tunnels/{tunnel_identifier}/psk_generate",
+ f"/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}/psk_generate",
body=maybe_transform(body, ipsec_tunnel_psk_generate_params.IPSECTunnelPSKGenerateParams),
options=make_request_options(
extra_headers=extra_headers,
@@ -487,7 +487,7 @@ async def create(
async def update(
self,
- tunnel_identifier: str,
+ ipsec_tunnel_id: str,
*,
account_id: str,
cloudflare_endpoint: str,
@@ -514,7 +514,7 @@ async def update(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ ipsec_tunnel_id: Identifier
cloudflare_endpoint: The IP address assigned to the Cloudflare side of the IPsec tunnel.
@@ -544,10 +544,10 @@ async def update(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not ipsec_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `ipsec_tunnel_id` but received {ipsec_tunnel_id!r}")
return await self._put(
- f"/accounts/{account_id}/magic/ipsec_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}",
body=await async_maybe_transform(
{
"cloudflare_endpoint": cloudflare_endpoint,
@@ -612,7 +612,7 @@ async def list(
async def delete(
self,
- tunnel_identifier: str,
+ ipsec_tunnel_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.
@@ -630,7 +630,7 @@ async def delete(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ ipsec_tunnel_id: Identifier
extra_headers: Send extra headers
@@ -642,10 +642,10 @@ async def delete(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not ipsec_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `ipsec_tunnel_id` but received {ipsec_tunnel_id!r}")
return await self._delete(
- f"/accounts/{account_id}/magic/ipsec_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -658,7 +658,7 @@ async def delete(
async def get(
self,
- tunnel_identifier: str,
+ ipsec_tunnel_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.
@@ -674,7 +674,7 @@ async def get(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ ipsec_tunnel_id: Identifier
extra_headers: Send extra headers
@@ -686,10 +686,10 @@ async def get(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not ipsec_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `ipsec_tunnel_id` but received {ipsec_tunnel_id!r}")
return await self._get(
- f"/accounts/{account_id}/magic/ipsec_tunnels/{tunnel_identifier}",
+ f"/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -702,7 +702,7 @@ async def get(
async def psk_generate(
self,
- tunnel_identifier: str,
+ ipsec_tunnel_id: str,
*,
account_id: str,
body: object,
@@ -723,7 +723,7 @@ async def psk_generate(
Args:
account_id: Identifier
- tunnel_identifier: Identifier
+ ipsec_tunnel_id: Identifier
extra_headers: Send extra headers
@@ -735,10 +735,10 @@ async def psk_generate(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not tunnel_identifier:
- raise ValueError(f"Expected a non-empty value for `tunnel_identifier` but received {tunnel_identifier!r}")
+ if not ipsec_tunnel_id:
+ raise ValueError(f"Expected a non-empty value for `ipsec_tunnel_id` but received {ipsec_tunnel_id!r}")
return await self._post(
- f"/accounts/{account_id}/magic/ipsec_tunnels/{tunnel_identifier}/psk_generate",
+ f"/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}/psk_generate",
body=await async_maybe_transform(body, ipsec_tunnel_psk_generate_params.IPSECTunnelPSKGenerateParams),
options=make_request_options(
extra_headers=extra_headers,
diff --git a/src/cloudflare/resources/magic_transit/routes.py b/src/cloudflare/resources/magic_transit/routes.py
index d8eef542fc5..be721725cbc 100644
--- a/src/cloudflare/resources/magic_transit/routes.py
+++ b/src/cloudflare/resources/magic_transit/routes.py
@@ -89,7 +89,7 @@ def create(
def update(
self,
- route_identifier: str,
+ route_id: str,
*,
account_id: str,
nexthop: str,
@@ -113,7 +113,7 @@ def update(
Args:
account_id: Identifier
- route_identifier: Identifier
+ route_id: Identifier
nexthop: The next-hop IP Address for the static route.
@@ -137,10 +137,10 @@ def update(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not route_identifier:
- raise ValueError(f"Expected a non-empty value for `route_identifier` but received {route_identifier!r}")
+ if not route_id:
+ raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}")
return self._put(
- f"/accounts/{account_id}/magic/routes/{route_identifier}",
+ f"/accounts/{account_id}/magic/routes/{route_id}",
body=maybe_transform(
{
"nexthop": nexthop,
@@ -203,7 +203,7 @@ def list(
def delete(
self,
- route_identifier: str,
+ route_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.
@@ -219,7 +219,7 @@ def delete(
Args:
account_id: Identifier
- route_identifier: Identifier
+ route_id: Identifier
extra_headers: Send extra headers
@@ -231,10 +231,10 @@ def delete(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not route_identifier:
- raise ValueError(f"Expected a non-empty value for `route_identifier` but received {route_identifier!r}")
+ if not route_id:
+ raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}")
return self._delete(
- f"/accounts/{account_id}/magic/routes/{route_identifier}",
+ f"/accounts/{account_id}/magic/routes/{route_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -286,7 +286,7 @@ def empty(
def get(
self,
- route_identifier: str,
+ route_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.
@@ -302,7 +302,7 @@ def get(
Args:
account_id: Identifier
- route_identifier: Identifier
+ route_id: Identifier
extra_headers: Send extra headers
@@ -314,10 +314,10 @@ def get(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not route_identifier:
- raise ValueError(f"Expected a non-empty value for `route_identifier` but received {route_identifier!r}")
+ if not route_id:
+ raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}")
return self._get(
- f"/accounts/{account_id}/magic/routes/{route_identifier}",
+ f"/accounts/{account_id}/magic/routes/{route_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -383,7 +383,7 @@ async def create(
async def update(
self,
- route_identifier: str,
+ route_id: str,
*,
account_id: str,
nexthop: str,
@@ -407,7 +407,7 @@ async def update(
Args:
account_id: Identifier
- route_identifier: Identifier
+ route_id: Identifier
nexthop: The next-hop IP Address for the static route.
@@ -431,10 +431,10 @@ async def update(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not route_identifier:
- raise ValueError(f"Expected a non-empty value for `route_identifier` but received {route_identifier!r}")
+ if not route_id:
+ raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}")
return await self._put(
- f"/accounts/{account_id}/magic/routes/{route_identifier}",
+ f"/accounts/{account_id}/magic/routes/{route_id}",
body=await async_maybe_transform(
{
"nexthop": nexthop,
@@ -497,7 +497,7 @@ async def list(
async def delete(
self,
- route_identifier: str,
+ route_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.
@@ -513,7 +513,7 @@ async def delete(
Args:
account_id: Identifier
- route_identifier: Identifier
+ route_id: Identifier
extra_headers: Send extra headers
@@ -525,10 +525,10 @@ async def delete(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not route_identifier:
- raise ValueError(f"Expected a non-empty value for `route_identifier` but received {route_identifier!r}")
+ if not route_id:
+ raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}")
return await self._delete(
- f"/accounts/{account_id}/magic/routes/{route_identifier}",
+ f"/accounts/{account_id}/magic/routes/{route_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -580,7 +580,7 @@ async def empty(
async def get(
self,
- route_identifier: str,
+ route_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.
@@ -596,7 +596,7 @@ async def get(
Args:
account_id: Identifier
- route_identifier: Identifier
+ route_id: Identifier
extra_headers: Send extra headers
@@ -608,10 +608,10 @@ async def get(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not route_identifier:
- raise ValueError(f"Expected a non-empty value for `route_identifier` but received {route_identifier!r}")
+ if not route_id:
+ raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}")
return await self._get(
- f"/accounts/{account_id}/magic/routes/{route_identifier}",
+ f"/accounts/{account_id}/magic/routes/{route_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
diff --git a/src/cloudflare/resources/magic_transit/sites/acls.py b/src/cloudflare/resources/magic_transit/sites/acls.py
index 8c6e537f60b..6d675b5378a 100644
--- a/src/cloudflare/resources/magic_transit/sites/acls.py
+++ b/src/cloudflare/resources/magic_transit/sites/acls.py
@@ -114,7 +114,7 @@ def create(
def update(
self,
- acl_identifier: str,
+ acl_id: str,
*,
account_id: str,
site_id: str,
@@ -139,7 +139,7 @@ def update(
site_id: Identifier
- acl_identifier: Identifier
+ acl_id: Identifier
description: Description for the ACL.
@@ -162,10 +162,10 @@ def update(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not site_id:
raise ValueError(f"Expected a non-empty value for `site_id` but received {site_id!r}")
- if not acl_identifier:
- raise ValueError(f"Expected a non-empty value for `acl_identifier` but received {acl_identifier!r}")
+ if not acl_id:
+ raise ValueError(f"Expected a non-empty value for `acl_id` but received {acl_id!r}")
return self._put(
- f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_identifier}",
+ f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}",
body=maybe_transform(
{
"description": description,
@@ -230,7 +230,7 @@ def list(
def delete(
self,
- acl_identifier: str,
+ acl_id: str,
*,
account_id: str,
site_id: str,
@@ -249,7 +249,7 @@ def delete(
site_id: Identifier
- acl_identifier: Identifier
+ acl_id: Identifier
extra_headers: Send extra headers
@@ -263,10 +263,10 @@ def delete(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not site_id:
raise ValueError(f"Expected a non-empty value for `site_id` but received {site_id!r}")
- if not acl_identifier:
- raise ValueError(f"Expected a non-empty value for `acl_identifier` but received {acl_identifier!r}")
+ if not acl_id:
+ raise ValueError(f"Expected a non-empty value for `acl_id` but received {acl_id!r}")
return self._delete(
- f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_identifier}",
+ f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -279,7 +279,7 @@ def delete(
def edit(
self,
- acl_identifier: str,
+ acl_id: str,
*,
account_id: str,
site_id: str,
@@ -304,7 +304,7 @@ def edit(
site_id: Identifier
- acl_identifier: Identifier
+ acl_id: Identifier
description: Description for the ACL.
@@ -327,10 +327,10 @@ def edit(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not site_id:
raise ValueError(f"Expected a non-empty value for `site_id` but received {site_id!r}")
- if not acl_identifier:
- raise ValueError(f"Expected a non-empty value for `acl_identifier` but received {acl_identifier!r}")
+ if not acl_id:
+ raise ValueError(f"Expected a non-empty value for `acl_id` but received {acl_id!r}")
return self._patch(
- f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_identifier}",
+ f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}",
body=maybe_transform(
{
"description": description,
@@ -354,7 +354,7 @@ def edit(
def get(
self,
- acl_identifier: str,
+ acl_id: str,
*,
account_id: str,
site_id: str,
@@ -373,7 +373,7 @@ def get(
site_id: Identifier
- acl_identifier: Identifier
+ acl_id: Identifier
extra_headers: Send extra headers
@@ -387,10 +387,10 @@ def get(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not site_id:
raise ValueError(f"Expected a non-empty value for `site_id` but received {site_id!r}")
- if not acl_identifier:
- raise ValueError(f"Expected a non-empty value for `acl_identifier` but received {acl_identifier!r}")
+ if not acl_id:
+ raise ValueError(f"Expected a non-empty value for `acl_id` but received {acl_id!r}")
return self._get(
- f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_identifier}",
+ f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -483,7 +483,7 @@ async def create(
async def update(
self,
- acl_identifier: str,
+ acl_id: str,
*,
account_id: str,
site_id: str,
@@ -508,7 +508,7 @@ async def update(
site_id: Identifier
- acl_identifier: Identifier
+ acl_id: Identifier
description: Description for the ACL.
@@ -531,10 +531,10 @@ async def update(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not site_id:
raise ValueError(f"Expected a non-empty value for `site_id` but received {site_id!r}")
- if not acl_identifier:
- raise ValueError(f"Expected a non-empty value for `acl_identifier` but received {acl_identifier!r}")
+ if not acl_id:
+ raise ValueError(f"Expected a non-empty value for `acl_id` but received {acl_id!r}")
return await self._put(
- f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_identifier}",
+ f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}",
body=await async_maybe_transform(
{
"description": description,
@@ -599,7 +599,7 @@ def list(
async def delete(
self,
- acl_identifier: str,
+ acl_id: str,
*,
account_id: str,
site_id: str,
@@ -618,7 +618,7 @@ async def delete(
site_id: Identifier
- acl_identifier: Identifier
+ acl_id: Identifier
extra_headers: Send extra headers
@@ -632,10 +632,10 @@ async def delete(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not site_id:
raise ValueError(f"Expected a non-empty value for `site_id` but received {site_id!r}")
- if not acl_identifier:
- raise ValueError(f"Expected a non-empty value for `acl_identifier` but received {acl_identifier!r}")
+ if not acl_id:
+ raise ValueError(f"Expected a non-empty value for `acl_id` but received {acl_id!r}")
return await self._delete(
- f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_identifier}",
+ f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -648,7 +648,7 @@ async def delete(
async def edit(
self,
- acl_identifier: str,
+ acl_id: str,
*,
account_id: str,
site_id: str,
@@ -673,7 +673,7 @@ async def edit(
site_id: Identifier
- acl_identifier: Identifier
+ acl_id: Identifier
description: Description for the ACL.
@@ -696,10 +696,10 @@ async def edit(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not site_id:
raise ValueError(f"Expected a non-empty value for `site_id` but received {site_id!r}")
- if not acl_identifier:
- raise ValueError(f"Expected a non-empty value for `acl_identifier` but received {acl_identifier!r}")
+ if not acl_id:
+ raise ValueError(f"Expected a non-empty value for `acl_id` but received {acl_id!r}")
return await self._patch(
- f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_identifier}",
+ f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}",
body=await async_maybe_transform(
{
"description": description,
@@ -723,7 +723,7 @@ async def edit(
async def get(
self,
- acl_identifier: str,
+ acl_id: str,
*,
account_id: str,
site_id: str,
@@ -742,7 +742,7 @@ async def get(
site_id: Identifier
- acl_identifier: Identifier
+ acl_id: Identifier
extra_headers: Send extra headers
@@ -756,10 +756,10 @@ async def get(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not site_id:
raise ValueError(f"Expected a non-empty value for `site_id` but received {site_id!r}")
- if not acl_identifier:
- raise ValueError(f"Expected a non-empty value for `acl_identifier` but received {acl_identifier!r}")
+ if not acl_id:
+ raise ValueError(f"Expected a non-empty value for `acl_id` but received {acl_id!r}")
return await self._get(
- f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_identifier}",
+ f"/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
diff --git a/src/cloudflare/resources/radar/attacks/layer3/top/top.py b/src/cloudflare/resources/radar/attacks/layer3/top/top.py
index 984669786f7..42c7224e8d6 100644
--- a/src/cloudflare/resources/radar/attacks/layer3/top/top.py
+++ b/src/cloudflare/resources/radar/attacks/layer3/top/top.py
@@ -87,6 +87,7 @@ def attacks(
limit_per_location: int | NotGiven = NOT_GIVEN,
location: List[str] | NotGiven = NOT_GIVEN,
name: List[str] | NotGiven = NOT_GIVEN,
+ normalization: Literal["PERCENTAGE", "MIN_MAX"] | NotGiven = NOT_GIVEN,
protocol: List[Literal["UDP", "TCP", "ICMP", "GRE"]] | 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.
@@ -134,6 +135,9 @@ def attacks(
name: Array of names that will be used to name the series in responses.
+ normalization: Normalization method applied. Refer to
+ [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+
protocol: Array of L3/4 attack types.
extra_headers: Send extra headers
@@ -164,6 +168,7 @@ def attacks(
"limit_per_location": limit_per_location,
"location": location,
"name": name,
+ "normalization": normalization,
"protocol": protocol,
},
top_attacks_params.TopAttacksParams,
@@ -428,6 +433,7 @@ async def attacks(
limit_per_location: int | NotGiven = NOT_GIVEN,
location: List[str] | NotGiven = NOT_GIVEN,
name: List[str] | NotGiven = NOT_GIVEN,
+ normalization: Literal["PERCENTAGE", "MIN_MAX"] | NotGiven = NOT_GIVEN,
protocol: List[Literal["UDP", "TCP", "ICMP", "GRE"]] | 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.
@@ -475,6 +481,9 @@ async def attacks(
name: Array of names that will be used to name the series in responses.
+ normalization: Normalization method applied. Refer to
+ [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+
protocol: Array of L3/4 attack types.
extra_headers: Send extra headers
@@ -505,6 +514,7 @@ async def attacks(
"limit_per_location": limit_per_location,
"location": location,
"name": name,
+ "normalization": normalization,
"protocol": protocol,
},
top_attacks_params.TopAttacksParams,
diff --git a/src/cloudflare/resources/radar/attacks/layer7/top/top.py b/src/cloudflare/resources/radar/attacks/layer7/top/top.py
index 38429445f3e..7ad637c5f91 100644
--- a/src/cloudflare/resources/radar/attacks/layer7/top/top.py
+++ b/src/cloudflare/resources/radar/attacks/layer7/top/top.py
@@ -100,6 +100,7 @@ def attacks(
location: List[str] | NotGiven = NOT_GIVEN,
magnitude: Literal["AFFECTED_ZONES", "MITIGATED_REQUESTS"] | NotGiven = NOT_GIVEN,
name: List[str] | NotGiven = NOT_GIVEN,
+ normalization: Literal["PERCENTAGE", "MIN_MAX"] | 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,
@@ -152,6 +153,9 @@ def attacks(
name: Array of names that will be used to name the series in responses.
+ normalization: Normalization method applied. Refer to
+ [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -181,6 +185,7 @@ def attacks(
"location": location,
"magnitude": magnitude,
"name": name,
+ "normalization": normalization,
},
top_attacks_params.TopAttacksParams,
),
@@ -445,6 +450,7 @@ async def attacks(
location: List[str] | NotGiven = NOT_GIVEN,
magnitude: Literal["AFFECTED_ZONES", "MITIGATED_REQUESTS"] | NotGiven = NOT_GIVEN,
name: List[str] | NotGiven = NOT_GIVEN,
+ normalization: Literal["PERCENTAGE", "MIN_MAX"] | 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,
@@ -497,6 +503,9 @@ async def attacks(
name: Array of names that will be used to name the series in responses.
+ normalization: Normalization method applied. Refer to
+ [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -526,6 +535,7 @@ async def attacks(
"location": location,
"magnitude": magnitude,
"name": name,
+ "normalization": normalization,
},
top_attacks_params.TopAttacksParams,
),
diff --git a/src/cloudflare/resources/radar/datasets.py b/src/cloudflare/resources/radar/datasets.py
index 021724e8c30..68a0bf3e5f1 100644
--- a/src/cloudflare/resources/radar/datasets.py
+++ b/src/cloudflare/resources/radar/datasets.py
@@ -2,7 +2,7 @@
from __future__ import annotations
-from typing import Type, Optional, cast
+from typing import Type, cast
from typing_extensions import Literal
import httpx
@@ -21,7 +21,7 @@
async_to_streamed_response_wrapper,
)
from ..._wrappers import ResultWrapper
-from ...types.radar import dataset_get_params, dataset_list_params, dataset_download_params
+from ...types.radar import dataset_list_params, dataset_download_params
from ..._base_client import (
make_request_options,
)
@@ -139,7 +139,6 @@ def get(
self,
alias: str,
*,
- date: Optional[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,
@@ -156,8 +155,6 @@ def get(
Args:
alias: Dataset alias or id
- date: Filter dataset alias by date
-
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -172,11 +169,7 @@ def get(
return self._get(
f"/radar/datasets/{alias}",
options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- query=maybe_transform({"date": date}, dataset_get_params.DatasetGetParams),
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=str,
)
@@ -290,7 +283,6 @@ async def get(
self,
alias: str,
*,
- date: Optional[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,
@@ -307,8 +299,6 @@ async def get(
Args:
alias: Dataset alias or id
- date: Filter dataset alias by date
-
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -323,11 +313,7 @@ async def get(
return await self._get(
f"/radar/datasets/{alias}",
options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- query=await async_maybe_transform({"date": date}, dataset_get_params.DatasetGetParams),
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=str,
)
diff --git a/src/cloudflare/resources/radar/ranking/domain.py b/src/cloudflare/resources/radar/ranking/domain.py
index 19aaa5d8e25..3cc705d7ad6 100644
--- a/src/cloudflare/resources/radar/ranking/domain.py
+++ b/src/cloudflare/resources/radar/ranking/domain.py
@@ -2,7 +2,7 @@
from __future__ import annotations
-from typing import List, Type, Optional, cast
+from typing import List, Type, cast
from typing_extensions import Literal
import httpx
@@ -43,7 +43,7 @@ def get(
self,
domain: str,
*,
- date: List[Optional[str]] | NotGiven = NOT_GIVEN,
+ date: List[str] | NotGiven = NOT_GIVEN,
format: Literal["JSON", "CSV"] | NotGiven = NOT_GIVEN,
limit: int | NotGiven = NOT_GIVEN,
name: List[str] | NotGiven = NOT_GIVEN,
@@ -119,7 +119,7 @@ async def get(
self,
domain: str,
*,
- date: List[Optional[str]] | NotGiven = NOT_GIVEN,
+ date: List[str] | NotGiven = NOT_GIVEN,
format: Literal["JSON", "CSV"] | NotGiven = NOT_GIVEN,
limit: int | NotGiven = NOT_GIVEN,
name: List[str] | NotGiven = NOT_GIVEN,
diff --git a/src/cloudflare/resources/radar/ranking/ranking.py b/src/cloudflare/resources/radar/ranking/ranking.py
index ecabe6a0154..fdbb566b907 100644
--- a/src/cloudflare/resources/radar/ranking/ranking.py
+++ b/src/cloudflare/resources/radar/ranking/ranking.py
@@ -2,7 +2,7 @@
from __future__ import annotations
-from typing import List, Type, Union, Optional, cast
+from typing import List, Type, Union, cast
from datetime import datetime
from typing_extensions import Literal
@@ -153,7 +153,7 @@ def timeseries_groups(
def top(
self,
*,
- date: List[Optional[str]] | NotGiven = NOT_GIVEN,
+ date: List[str] | NotGiven = NOT_GIVEN,
format: Literal["JSON", "CSV"] | NotGiven = NOT_GIVEN,
limit: int | NotGiven = NOT_GIVEN,
location: List[str] | NotGiven = NOT_GIVEN,
@@ -331,7 +331,7 @@ async def timeseries_groups(
async def top(
self,
*,
- date: List[Optional[str]] | NotGiven = NOT_GIVEN,
+ date: List[str] | NotGiven = NOT_GIVEN,
format: Literal["JSON", "CSV"] | NotGiven = NOT_GIVEN,
limit: int | NotGiven = NOT_GIVEN,
location: List[str] | NotGiven = NOT_GIVEN,
diff --git a/src/cloudflare/resources/stream/captions/language/language.py b/src/cloudflare/resources/stream/captions/language/language.py
index 34ca70cdff5..3c1bfec470e 100644
--- a/src/cloudflare/resources/stream/captions/language/language.py
+++ b/src/cloudflare/resources/stream/captions/language/language.py
@@ -51,6 +51,55 @@ def with_raw_response(self) -> LanguageResourceWithRawResponse:
def with_streaming_response(self) -> LanguageResourceWithStreamingResponse:
return LanguageResourceWithStreamingResponse(self)
+ def create(
+ self,
+ language: str,
+ *,
+ account_id: str,
+ identifier: 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[Caption]:
+ """
+ Generate captions or subtitles for provided language via AI.
+
+ Args:
+ account_id: Identifier
+
+ identifier: A Cloudflare-generated unique identifier for a media item.
+
+ language: The language tag in BCP 47 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 identifier:
+ raise ValueError(f"Expected a non-empty value for `identifier` but received {identifier!r}")
+ if not language:
+ raise ValueError(f"Expected a non-empty value for `language` but received {language!r}")
+ return self._post(
+ f"/accounts/{account_id}/stream/{identifier}/captions/{language}/generate",
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ post_parser=ResultWrapper[Optional[Caption]]._unwrapper,
+ ),
+ cast_to=cast(Type[Optional[Caption]], ResultWrapper[Caption]),
+ )
+
def update(
self,
language: str,
@@ -217,6 +266,55 @@ def with_raw_response(self) -> AsyncLanguageResourceWithRawResponse:
def with_streaming_response(self) -> AsyncLanguageResourceWithStreamingResponse:
return AsyncLanguageResourceWithStreamingResponse(self)
+ async def create(
+ self,
+ language: str,
+ *,
+ account_id: str,
+ identifier: 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[Caption]:
+ """
+ Generate captions or subtitles for provided language via AI.
+
+ Args:
+ account_id: Identifier
+
+ identifier: A Cloudflare-generated unique identifier for a media item.
+
+ language: The language tag in BCP 47 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 identifier:
+ raise ValueError(f"Expected a non-empty value for `identifier` but received {identifier!r}")
+ if not language:
+ raise ValueError(f"Expected a non-empty value for `language` but received {language!r}")
+ return await self._post(
+ f"/accounts/{account_id}/stream/{identifier}/captions/{language}/generate",
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ post_parser=ResultWrapper[Optional[Caption]]._unwrapper,
+ ),
+ cast_to=cast(Type[Optional[Caption]], ResultWrapper[Caption]),
+ )
+
async def update(
self,
language: str,
@@ -374,6 +472,9 @@ class LanguageResourceWithRawResponse:
def __init__(self, language: LanguageResource) -> None:
self._language = language
+ self.create = to_raw_response_wrapper(
+ language.create,
+ )
self.update = to_raw_response_wrapper(
language.update,
)
@@ -393,6 +494,9 @@ class AsyncLanguageResourceWithRawResponse:
def __init__(self, language: AsyncLanguageResource) -> None:
self._language = language
+ self.create = async_to_raw_response_wrapper(
+ language.create,
+ )
self.update = async_to_raw_response_wrapper(
language.update,
)
@@ -412,6 +516,9 @@ class LanguageResourceWithStreamingResponse:
def __init__(self, language: LanguageResource) -> None:
self._language = language
+ self.create = to_streamed_response_wrapper(
+ language.create,
+ )
self.update = to_streamed_response_wrapper(
language.update,
)
@@ -431,6 +538,9 @@ class AsyncLanguageResourceWithStreamingResponse:
def __init__(self, language: AsyncLanguageResource) -> None:
self._language = language
+ self.create = async_to_streamed_response_wrapper(
+ language.create,
+ )
self.update = async_to_streamed_response_wrapper(
language.update,
)
diff --git a/src/cloudflare/resources/stream/copy.py b/src/cloudflare/resources/stream/copy.py
index 426b93d4b48..e6b85f79d95 100644
--- a/src/cloudflare/resources/stream/copy.py
+++ b/src/cloudflare/resources/stream/copy.py
@@ -10,6 +10,7 @@
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import (
maybe_transform,
+ strip_not_given,
async_maybe_transform,
)
from ..._compat import cached_property
@@ -52,6 +53,8 @@ def create(
scheduled_deletion: Union[str, datetime] | NotGiven = NOT_GIVEN,
thumbnail_timestamp_pct: float | NotGiven = NOT_GIVEN,
watermark: copy_create_params.Watermark | NotGiven = NOT_GIVEN,
+ upload_creator: str | NotGiven = NOT_GIVEN,
+ upload_metadata: 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,
@@ -90,6 +93,12 @@ def create(
divide the desired timestamp by the total duration of the video. If this value
is not set, the default thumbnail image is taken from 0s of the video.
+ upload_creator: A user-defined identifier for the media creator.
+
+ upload_metadata: Comma-separated key-value pairs following the TUS protocol specification. Values
+ are Base-64 encoded. Supported keys: `name`, `requiresignedurls`,
+ `allowedorigins`, `thumbnailtimestamppct`, `watermark`, `scheduleddeletion`.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -100,6 +109,15 @@ def create(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
+ extra_headers = {
+ **strip_not_given(
+ {
+ "Upload-Creator": upload_creator,
+ "Upload-Metadata": upload_metadata,
+ }
+ ),
+ **(extra_headers or {}),
+ }
return self._post(
f"/accounts/{account_id}/stream/copy",
body=maybe_transform(
@@ -147,6 +165,8 @@ async def create(
scheduled_deletion: Union[str, datetime] | NotGiven = NOT_GIVEN,
thumbnail_timestamp_pct: float | NotGiven = NOT_GIVEN,
watermark: copy_create_params.Watermark | NotGiven = NOT_GIVEN,
+ upload_creator: str | NotGiven = NOT_GIVEN,
+ upload_metadata: 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,
@@ -185,6 +205,12 @@ async def create(
divide the desired timestamp by the total duration of the video. If this value
is not set, the default thumbnail image is taken from 0s of the video.
+ upload_creator: A user-defined identifier for the media creator.
+
+ upload_metadata: Comma-separated key-value pairs following the TUS protocol specification. Values
+ are Base-64 encoded. Supported keys: `name`, `requiresignedurls`,
+ `allowedorigins`, `thumbnailtimestamppct`, `watermark`, `scheduleddeletion`.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -195,6 +221,15 @@ async def create(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
+ extra_headers = {
+ **strip_not_given(
+ {
+ "Upload-Creator": upload_creator,
+ "Upload-Metadata": upload_metadata,
+ }
+ ),
+ **(extra_headers or {}),
+ }
return await self._post(
f"/accounts/{account_id}/stream/copy",
body=await async_maybe_transform(
diff --git a/src/cloudflare/resources/stream/direct_upload.py b/src/cloudflare/resources/stream/direct_upload.py
index de337332a8c..efa26368eeb 100644
--- a/src/cloudflare/resources/stream/direct_upload.py
+++ b/src/cloudflare/resources/stream/direct_upload.py
@@ -10,6 +10,7 @@
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import (
maybe_transform,
+ strip_not_given,
async_maybe_transform,
)
from ..._compat import cached_property
@@ -53,6 +54,7 @@ def create(
scheduled_deletion: Union[str, datetime] | NotGiven = NOT_GIVEN,
thumbnail_timestamp_pct: float | NotGiven = NOT_GIVEN,
watermark: direct_upload_create_params.Watermark | NotGiven = NOT_GIVEN,
+ upload_creator: 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,
@@ -94,6 +96,8 @@ def create(
divide the desired timestamp by the total duration of the video. If this value
is not set, the default thumbnail image is taken from 0s of the video.
+ upload_creator: A user-defined identifier for the media creator.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -104,6 +108,7 @@ def create(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
+ extra_headers = {**strip_not_given({"Upload-Creator": upload_creator}), **(extra_headers or {})}
return self._post(
f"/accounts/{account_id}/stream/direct_upload",
body=maybe_transform(
@@ -153,6 +158,7 @@ async def create(
scheduled_deletion: Union[str, datetime] | NotGiven = NOT_GIVEN,
thumbnail_timestamp_pct: float | NotGiven = NOT_GIVEN,
watermark: direct_upload_create_params.Watermark | NotGiven = NOT_GIVEN,
+ upload_creator: 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,
@@ -194,6 +200,8 @@ async def create(
divide the desired timestamp by the total duration of the video. If this value
is not set, the default thumbnail image is taken from 0s of the video.
+ upload_creator: A user-defined identifier for the media creator.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -204,6 +212,7 @@ async def create(
"""
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
+ extra_headers = {**strip_not_given({"Upload-Creator": upload_creator}), **(extra_headers or {})}
return await self._post(
f"/accounts/{account_id}/stream/direct_upload",
body=await async_maybe_transform(
diff --git a/src/cloudflare/resources/stream/stream.py b/src/cloudflare/resources/stream/stream.py
index 4a66a234404..5c7449705e8 100644
--- a/src/cloudflare/resources/stream/stream.py
+++ b/src/cloudflare/resources/stream/stream.py
@@ -59,6 +59,7 @@
from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
from ..._utils import (
maybe_transform,
+ strip_not_given,
async_maybe_transform,
)
from .captions import (
@@ -205,6 +206,10 @@ def create(
*,
account_id: str,
body: object,
+ tus_resumable: Literal["1.0.0"],
+ upload_length: int,
+ upload_creator: str | NotGiven = NOT_GIVEN,
+ upload_metadata: 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,
@@ -222,6 +227,18 @@ def create(
Args:
account_id: The account identifier tag.
+ tus_resumable: Specifies the TUS protocol version. This value must be included in every upload
+ request. Notes: The only supported version of TUS protocol is 1.0.0.
+
+ upload_length: Indicates the size of the entire upload in bytes. The value must be a
+ non-negative integer.
+
+ upload_creator: A user-defined identifier for the media creator.
+
+ upload_metadata: Comma-separated key-value pairs following the TUS protocol specification. Values
+ are Base-64 encoded. Supported keys: `name`, `requiresignedurls`,
+ `allowedorigins`, `thumbnailtimestamppct`, `watermark`, `scheduleddeletion`.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -233,6 +250,17 @@ def create(
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
+ extra_headers = {
+ **strip_not_given(
+ {
+ "Tus-Resumable": str(tus_resumable),
+ "Upload-Length": str(upload_length),
+ "Upload-Creator": upload_creator,
+ "Upload-Metadata": upload_metadata,
+ }
+ ),
+ **(extra_headers or {}),
+ }
return self._post(
f"/accounts/{account_id}/stream",
body=maybe_transform(body, stream_create_params.StreamCreateParams),
@@ -475,6 +503,10 @@ async def create(
*,
account_id: str,
body: object,
+ tus_resumable: Literal["1.0.0"],
+ upload_length: int,
+ upload_creator: str | NotGiven = NOT_GIVEN,
+ upload_metadata: 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,
@@ -492,6 +524,18 @@ async def create(
Args:
account_id: The account identifier tag.
+ tus_resumable: Specifies the TUS protocol version. This value must be included in every upload
+ request. Notes: The only supported version of TUS protocol is 1.0.0.
+
+ upload_length: Indicates the size of the entire upload in bytes. The value must be a
+ non-negative integer.
+
+ upload_creator: A user-defined identifier for the media creator.
+
+ upload_metadata: Comma-separated key-value pairs following the TUS protocol specification. Values
+ are Base-64 encoded. Supported keys: `name`, `requiresignedurls`,
+ `allowedorigins`, `thumbnailtimestamppct`, `watermark`, `scheduleddeletion`.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -503,6 +547,17 @@ async def create(
if not account_id:
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
+ extra_headers = {
+ **strip_not_given(
+ {
+ "Tus-Resumable": str(tus_resumable),
+ "Upload-Length": str(upload_length),
+ "Upload-Creator": upload_creator,
+ "Upload-Metadata": upload_metadata,
+ }
+ ),
+ **(extra_headers or {}),
+ }
return await self._post(
f"/accounts/{account_id}/stream",
body=await async_maybe_transform(body, stream_create_params.StreamCreateParams),
diff --git a/src/cloudflare/resources/url_scanner/scans.py b/src/cloudflare/resources/url_scanner/scans.py
index 5708cfda794..54764c566f1 100644
--- a/src/cloudflare/resources/url_scanner/scans.py
+++ b/src/cloudflare/resources/url_scanner/scans.py
@@ -32,7 +32,7 @@
from ..._base_client import (
make_request_options,
)
-from ...types.url_scanner import scan_create_params, scan_screenshot_params
+from ...types.url_scanner import scan_get_params, scan_create_params, scan_screenshot_params
from ...types.url_scanner.scan_get_response import ScanGetResponse
from ...types.url_scanner.scan_har_response import ScanHarResponse
from ...types.url_scanner.scan_create_response import ScanCreateResponse
@@ -119,6 +119,7 @@ def get(
scan_id: str,
*,
account_id: str,
+ full: 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,
@@ -134,6 +135,8 @@ def get(
scan_id: Scan uuid
+ full: Whether to return full report (scan summary and network log).
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -153,6 +156,7 @@ def get(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
+ query=maybe_transform({"full": full}, scan_get_params.ScanGetParams),
post_parser=ResultWrapper[ScanGetResponse]._unwrapper,
),
cast_to=cast(Type[ScanGetResponse], ResultWrapper[ScanGetResponse]),
@@ -332,6 +336,7 @@ async def get(
scan_id: str,
*,
account_id: str,
+ full: 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,
@@ -347,6 +352,8 @@ async def get(
scan_id: Scan uuid
+ full: Whether to return full report (scan summary and network log).
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -366,6 +373,7 @@ async def get(
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
+ query=await async_maybe_transform({"full": full}, scan_get_params.ScanGetParams),
post_parser=ResultWrapper[ScanGetResponse]._unwrapper,
),
cast_to=cast(Type[ScanGetResponse], ResultWrapper[ScanGetResponse]),
diff --git a/src/cloudflare/resources/workers/scripts/content.py b/src/cloudflare/resources/workers/scripts/content.py
index 04ea3cd8771..381a25fff2d 100644
--- a/src/cloudflare/resources/workers/scripts/content.py
+++ b/src/cloudflare/resources/workers/scripts/content.py
@@ -10,6 +10,7 @@
from ...._utils import (
extract_files,
maybe_transform,
+ strip_not_given,
deepcopy_minimal,
async_maybe_transform,
)
@@ -56,6 +57,8 @@ def update(
account_id: str,
any_part_name: List[FileTypes] | NotGiven = NOT_GIVEN,
metadata: WorkerMetadataParam | NotGiven = NOT_GIVEN,
+ cf_worker_body_part: str | NotGiven = NOT_GIVEN,
+ cf_worker_main_module_part: 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,
@@ -92,6 +95,15 @@ def update(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not script_name:
raise ValueError(f"Expected a non-empty value for `script_name` but received {script_name!r}")
+ extra_headers = {
+ **strip_not_given(
+ {
+ "CF-WORKER-BODY-PART": cf_worker_body_part,
+ "CF-WORKER-MAIN-MODULE-PART": cf_worker_main_module_part,
+ }
+ ),
+ **(extra_headers or {}),
+ }
body = deepcopy_minimal(
{
"any_part_name": any_part_name,
@@ -176,6 +188,8 @@ async def update(
account_id: str,
any_part_name: List[FileTypes] | NotGiven = NOT_GIVEN,
metadata: WorkerMetadataParam | NotGiven = NOT_GIVEN,
+ cf_worker_body_part: str | NotGiven = NOT_GIVEN,
+ cf_worker_main_module_part: 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,
@@ -212,6 +226,15 @@ async def update(
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
if not script_name:
raise ValueError(f"Expected a non-empty value for `script_name` but received {script_name!r}")
+ extra_headers = {
+ **strip_not_given(
+ {
+ "CF-WORKER-BODY-PART": cf_worker_body_part,
+ "CF-WORKER-MAIN-MODULE-PART": cf_worker_main_module_part,
+ }
+ ),
+ **(extra_headers or {}),
+ }
body = deepcopy_minimal(
{
"any_part_name": any_part_name,
diff --git a/src/cloudflare/resources/workers_for_platforms/dispatch/namespaces/scripts/content.py b/src/cloudflare/resources/workers_for_platforms/dispatch/namespaces/scripts/content.py
index 66185449605..c0e679c40d1 100644
--- a/src/cloudflare/resources/workers_for_platforms/dispatch/namespaces/scripts/content.py
+++ b/src/cloudflare/resources/workers_for_platforms/dispatch/namespaces/scripts/content.py
@@ -10,6 +10,7 @@
from ......_utils import (
extract_files,
maybe_transform,
+ strip_not_given,
deepcopy_minimal,
async_maybe_transform,
)
@@ -57,6 +58,8 @@ def update(
dispatch_namespace: str,
any_part_name: List[FileTypes] | NotGiven = NOT_GIVEN,
metadata: WorkerMetadataParam | NotGiven = NOT_GIVEN,
+ cf_worker_body_part: str | NotGiven = NOT_GIVEN,
+ cf_worker_main_module_part: 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,
@@ -97,6 +100,15 @@ def update(
raise ValueError(f"Expected a non-empty value for `dispatch_namespace` but received {dispatch_namespace!r}")
if not script_name:
raise ValueError(f"Expected a non-empty value for `script_name` but received {script_name!r}")
+ extra_headers = {
+ **strip_not_given(
+ {
+ "CF-WORKER-BODY-PART": cf_worker_body_part,
+ "CF-WORKER-MAIN-MODULE-PART": cf_worker_main_module_part,
+ }
+ ),
+ **(extra_headers or {}),
+ }
body = deepcopy_minimal(
{
"any_part_name": any_part_name,
@@ -188,6 +200,8 @@ async def update(
dispatch_namespace: str,
any_part_name: List[FileTypes] | NotGiven = NOT_GIVEN,
metadata: WorkerMetadataParam | NotGiven = NOT_GIVEN,
+ cf_worker_body_part: str | NotGiven = NOT_GIVEN,
+ cf_worker_main_module_part: 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,
@@ -228,6 +242,15 @@ async def update(
raise ValueError(f"Expected a non-empty value for `dispatch_namespace` but received {dispatch_namespace!r}")
if not script_name:
raise ValueError(f"Expected a non-empty value for `script_name` but received {script_name!r}")
+ extra_headers = {
+ **strip_not_given(
+ {
+ "CF-WORKER-BODY-PART": cf_worker_body_part,
+ "CF-WORKER-MAIN-MODULE-PART": cf_worker_main_module_part,
+ }
+ ),
+ **(extra_headers or {}),
+ }
body = deepcopy_minimal(
{
"any_part_name": any_part_name,
diff --git a/src/cloudflare/resources/zero_trust/gateway/__init__.py b/src/cloudflare/resources/zero_trust/gateway/__init__.py
index e121dd0022f..dd71429636f 100644
--- a/src/cloudflare/resources/zero_trust/gateway/__init__.py
+++ b/src/cloudflare/resources/zero_trust/gateway/__init__.py
@@ -56,6 +56,14 @@
CategoriesResourceWithStreamingResponse,
AsyncCategoriesResourceWithStreamingResponse,
)
+from .certificates import (
+ CertificatesResource,
+ AsyncCertificatesResource,
+ CertificatesResourceWithRawResponse,
+ AsyncCertificatesResourceWithRawResponse,
+ CertificatesResourceWithStreamingResponse,
+ AsyncCertificatesResourceWithStreamingResponse,
+)
from .configurations import (
ConfigurationsResource,
AsyncConfigurationsResource,
@@ -136,6 +144,12 @@
"AsyncRulesResourceWithRawResponse",
"RulesResourceWithStreamingResponse",
"AsyncRulesResourceWithStreamingResponse",
+ "CertificatesResource",
+ "AsyncCertificatesResource",
+ "CertificatesResourceWithRawResponse",
+ "AsyncCertificatesResourceWithRawResponse",
+ "CertificatesResourceWithStreamingResponse",
+ "AsyncCertificatesResourceWithStreamingResponse",
"GatewayResource",
"AsyncGatewayResource",
"GatewayResourceWithRawResponse",
diff --git a/src/cloudflare/resources/zero_trust/gateway/certificates.py b/src/cloudflare/resources/zero_trust/gateway/certificates.py
new file mode 100644
index 00000000000..8e9b8b954f2
--- /dev/null
+++ b/src/cloudflare/resources/zero_trust/gateway/certificates.py
@@ -0,0 +1,450 @@
+# 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.zero_trust.gateway import certificate_create_params
+from ....types.zero_trust.gateway.certificate_get_response import CertificateGetResponse
+from ....types.zero_trust.gateway.certificate_list_response import CertificateListResponse
+from ....types.zero_trust.gateway.certificate_create_response import CertificateCreateResponse
+from ....types.zero_trust.gateway.certificate_delete_response import CertificateDeleteResponse
+
+__all__ = ["CertificatesResource", "AsyncCertificatesResource"]
+
+
+class CertificatesResource(SyncAPIResource):
+ @cached_property
+ def with_raw_response(self) -> CertificatesResourceWithRawResponse:
+ return CertificatesResourceWithRawResponse(self)
+
+ @cached_property
+ def with_streaming_response(self) -> CertificatesResourceWithStreamingResponse:
+ return CertificatesResourceWithStreamingResponse(self)
+
+ def create(
+ self,
+ *,
+ account_id: str,
+ validity_period_days: int | 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[CertificateCreateResponse]:
+ """
+ Creates a new Zero Trust certificate.
+
+ Args:
+ validity_period_days: Number of days the generated certificate will be valid, minimum 1 day and
+ maximum 30 years. Defaults to 5 years.
+
+ 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}/gateway/certificates",
+ body=maybe_transform(
+ {"validity_period_days": validity_period_days}, certificate_create_params.CertificateCreateParams
+ ),
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ post_parser=ResultWrapper[Optional[CertificateCreateResponse]]._unwrapper,
+ ),
+ cast_to=cast(Type[Optional[CertificateCreateResponse]], ResultWrapper[CertificateCreateResponse]),
+ )
+
+ 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[CertificateListResponse]:
+ """
+ Fetches all Zero Trust certificates 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
+ """
+ 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}/gateway/certificates",
+ page=SyncSinglePage[CertificateListResponse],
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ model=CertificateListResponse,
+ )
+
+ def delete(
+ self,
+ certificate_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[CertificateDeleteResponse]:
+ """
+ Deletes a gateway-managed Zero Trust certificate.
+
+ Args:
+ certificate_id: Certificate UUID 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 certificate_id:
+ raise ValueError(f"Expected a non-empty value for `certificate_id` but received {certificate_id!r}")
+ return self._delete(
+ f"/accounts/{account_id}/gateway/certificates/{certificate_id}",
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ post_parser=ResultWrapper[Optional[CertificateDeleteResponse]]._unwrapper,
+ ),
+ cast_to=cast(Type[Optional[CertificateDeleteResponse]], ResultWrapper[CertificateDeleteResponse]),
+ )
+
+ def get(
+ self,
+ certificate_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[CertificateGetResponse]:
+ """
+ Fetches a single Zero Trust certificate.
+
+ Args:
+ certificate_id: Certificate UUID 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 certificate_id:
+ raise ValueError(f"Expected a non-empty value for `certificate_id` but received {certificate_id!r}")
+ return self._get(
+ f"/accounts/{account_id}/gateway/certificates/{certificate_id}",
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ post_parser=ResultWrapper[Optional[CertificateGetResponse]]._unwrapper,
+ ),
+ cast_to=cast(Type[Optional[CertificateGetResponse]], ResultWrapper[CertificateGetResponse]),
+ )
+
+
+class AsyncCertificatesResource(AsyncAPIResource):
+ @cached_property
+ def with_raw_response(self) -> AsyncCertificatesResourceWithRawResponse:
+ return AsyncCertificatesResourceWithRawResponse(self)
+
+ @cached_property
+ def with_streaming_response(self) -> AsyncCertificatesResourceWithStreamingResponse:
+ return AsyncCertificatesResourceWithStreamingResponse(self)
+
+ async def create(
+ self,
+ *,
+ account_id: str,
+ validity_period_days: int | 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[CertificateCreateResponse]:
+ """
+ Creates a new Zero Trust certificate.
+
+ Args:
+ validity_period_days: Number of days the generated certificate will be valid, minimum 1 day and
+ maximum 30 years. Defaults to 5 years.
+
+ 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}/gateway/certificates",
+ body=await async_maybe_transform(
+ {"validity_period_days": validity_period_days}, certificate_create_params.CertificateCreateParams
+ ),
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ post_parser=ResultWrapper[Optional[CertificateCreateResponse]]._unwrapper,
+ ),
+ cast_to=cast(Type[Optional[CertificateCreateResponse]], ResultWrapper[CertificateCreateResponse]),
+ )
+
+ 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[CertificateListResponse, AsyncSinglePage[CertificateListResponse]]:
+ """
+ Fetches all Zero Trust certificates 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
+ """
+ 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}/gateway/certificates",
+ page=AsyncSinglePage[CertificateListResponse],
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ model=CertificateListResponse,
+ )
+
+ async def delete(
+ self,
+ certificate_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[CertificateDeleteResponse]:
+ """
+ Deletes a gateway-managed Zero Trust certificate.
+
+ Args:
+ certificate_id: Certificate UUID 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 certificate_id:
+ raise ValueError(f"Expected a non-empty value for `certificate_id` but received {certificate_id!r}")
+ return await self._delete(
+ f"/accounts/{account_id}/gateway/certificates/{certificate_id}",
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ post_parser=ResultWrapper[Optional[CertificateDeleteResponse]]._unwrapper,
+ ),
+ cast_to=cast(Type[Optional[CertificateDeleteResponse]], ResultWrapper[CertificateDeleteResponse]),
+ )
+
+ async def get(
+ self,
+ certificate_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[CertificateGetResponse]:
+ """
+ Fetches a single Zero Trust certificate.
+
+ Args:
+ certificate_id: Certificate UUID 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 certificate_id:
+ raise ValueError(f"Expected a non-empty value for `certificate_id` but received {certificate_id!r}")
+ return await self._get(
+ f"/accounts/{account_id}/gateway/certificates/{certificate_id}",
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ post_parser=ResultWrapper[Optional[CertificateGetResponse]]._unwrapper,
+ ),
+ cast_to=cast(Type[Optional[CertificateGetResponse]], ResultWrapper[CertificateGetResponse]),
+ )
+
+
+class CertificatesResourceWithRawResponse:
+ def __init__(self, certificates: CertificatesResource) -> None:
+ self._certificates = certificates
+
+ self.create = to_raw_response_wrapper(
+ certificates.create,
+ )
+ self.list = to_raw_response_wrapper(
+ certificates.list,
+ )
+ self.delete = to_raw_response_wrapper(
+ certificates.delete,
+ )
+ self.get = to_raw_response_wrapper(
+ certificates.get,
+ )
+
+
+class AsyncCertificatesResourceWithRawResponse:
+ def __init__(self, certificates: AsyncCertificatesResource) -> None:
+ self._certificates = certificates
+
+ self.create = async_to_raw_response_wrapper(
+ certificates.create,
+ )
+ self.list = async_to_raw_response_wrapper(
+ certificates.list,
+ )
+ self.delete = async_to_raw_response_wrapper(
+ certificates.delete,
+ )
+ self.get = async_to_raw_response_wrapper(
+ certificates.get,
+ )
+
+
+class CertificatesResourceWithStreamingResponse:
+ def __init__(self, certificates: CertificatesResource) -> None:
+ self._certificates = certificates
+
+ self.create = to_streamed_response_wrapper(
+ certificates.create,
+ )
+ self.list = to_streamed_response_wrapper(
+ certificates.list,
+ )
+ self.delete = to_streamed_response_wrapper(
+ certificates.delete,
+ )
+ self.get = to_streamed_response_wrapper(
+ certificates.get,
+ )
+
+
+class AsyncCertificatesResourceWithStreamingResponse:
+ def __init__(self, certificates: AsyncCertificatesResource) -> None:
+ self._certificates = certificates
+
+ self.create = async_to_streamed_response_wrapper(
+ certificates.create,
+ )
+ self.list = async_to_streamed_response_wrapper(
+ certificates.list,
+ )
+ self.delete = async_to_streamed_response_wrapper(
+ certificates.delete,
+ )
+ self.get = async_to_streamed_response_wrapper(
+ certificates.get,
+ )
diff --git a/src/cloudflare/resources/zero_trust/gateway/configurations.py b/src/cloudflare/resources/zero_trust/gateway/configurations.py
index ce316798e47..6f30fdb7210 100644
--- a/src/cloudflare/resources/zero_trust/gateway/configurations.py
+++ b/src/cloudflare/resources/zero_trust/gateway/configurations.py
@@ -102,8 +102,8 @@ def edit(
This endpoint can update a
single subcollection of settings such as `antivirus`, `tls_decrypt`,
`activity_log`, `block_page`, `browser_isolation`, `fips`, `body_scanning`, or
- `custom_certificate`, without updating the entire configuration object. Returns
- an error if any collection of settings is not properly configured.
+ `certificate`, without updating the entire configuration object. Returns an
+ error if any collection of settings is not properly configured.
Args:
settings: account settings.
@@ -238,8 +238,8 @@ async def edit(
This endpoint can update a
single subcollection of settings such as `antivirus`, `tls_decrypt`,
`activity_log`, `block_page`, `browser_isolation`, `fips`, `body_scanning`, or
- `custom_certificate`, without updating the entire configuration object. Returns
- an error if any collection of settings is not properly configured.
+ `certificate`, without updating the entire configuration object. Returns an
+ error if any collection of settings is not properly configured.
Args:
settings: account settings.
diff --git a/src/cloudflare/resources/zero_trust/gateway/gateway.py b/src/cloudflare/resources/zero_trust/gateway/gateway.py
index a2e994272d9..9d43923083a 100644
--- a/src/cloudflare/resources/zero_trust/gateway/gateway.py
+++ b/src/cloudflare/resources/zero_trust/gateway/gateway.py
@@ -65,6 +65,14 @@
async_to_streamed_response_wrapper,
)
from ...._wrappers import ResultWrapper
+from .certificates import (
+ CertificatesResource,
+ AsyncCertificatesResource,
+ CertificatesResourceWithRawResponse,
+ AsyncCertificatesResourceWithRawResponse,
+ CertificatesResourceWithStreamingResponse,
+ AsyncCertificatesResourceWithStreamingResponse,
+)
from .configurations import (
ConfigurationsResource,
AsyncConfigurationsResource,
@@ -135,6 +143,10 @@ def proxy_endpoints(self) -> ProxyEndpointsResource:
def rules(self) -> RulesResource:
return RulesResource(self._client)
+ @cached_property
+ def certificates(self) -> CertificatesResource:
+ return CertificatesResource(self._client)
+
@cached_property
def with_raw_response(self) -> GatewayResourceWithRawResponse:
return GatewayResourceWithRawResponse(self)
@@ -255,6 +267,10 @@ def proxy_endpoints(self) -> AsyncProxyEndpointsResource:
def rules(self) -> AsyncRulesResource:
return AsyncRulesResource(self._client)
+ @cached_property
+ def certificates(self) -> AsyncCertificatesResource:
+ return AsyncCertificatesResource(self._client)
+
@cached_property
def with_raw_response(self) -> AsyncGatewayResourceWithRawResponse:
return AsyncGatewayResourceWithRawResponse(self)
@@ -385,6 +401,10 @@ def proxy_endpoints(self) -> ProxyEndpointsResourceWithRawResponse:
def rules(self) -> RulesResourceWithRawResponse:
return RulesResourceWithRawResponse(self._gateway.rules)
+ @cached_property
+ def certificates(self) -> CertificatesResourceWithRawResponse:
+ return CertificatesResourceWithRawResponse(self._gateway.certificates)
+
class AsyncGatewayResourceWithRawResponse:
def __init__(self, gateway: AsyncGatewayResource) -> None:
@@ -433,6 +453,10 @@ def proxy_endpoints(self) -> AsyncProxyEndpointsResourceWithRawResponse:
def rules(self) -> AsyncRulesResourceWithRawResponse:
return AsyncRulesResourceWithRawResponse(self._gateway.rules)
+ @cached_property
+ def certificates(self) -> AsyncCertificatesResourceWithRawResponse:
+ return AsyncCertificatesResourceWithRawResponse(self._gateway.certificates)
+
class GatewayResourceWithStreamingResponse:
def __init__(self, gateway: GatewayResource) -> None:
@@ -481,6 +505,10 @@ def proxy_endpoints(self) -> ProxyEndpointsResourceWithStreamingResponse:
def rules(self) -> RulesResourceWithStreamingResponse:
return RulesResourceWithStreamingResponse(self._gateway.rules)
+ @cached_property
+ def certificates(self) -> CertificatesResourceWithStreamingResponse:
+ return CertificatesResourceWithStreamingResponse(self._gateway.certificates)
+
class AsyncGatewayResourceWithStreamingResponse:
def __init__(self, gateway: AsyncGatewayResource) -> None:
@@ -528,3 +556,7 @@ def proxy_endpoints(self) -> AsyncProxyEndpointsResourceWithStreamingResponse:
@cached_property
def rules(self) -> AsyncRulesResourceWithStreamingResponse:
return AsyncRulesResourceWithStreamingResponse(self._gateway.rules)
+
+ @cached_property
+ def certificates(self) -> AsyncCertificatesResourceWithStreamingResponse:
+ return AsyncCertificatesResourceWithStreamingResponse(self._gateway.certificates)
diff --git a/src/cloudflare/resources/zero_trust/gateway/lists/lists.py b/src/cloudflare/resources/zero_trust/gateway/lists/lists.py
index 0810dafa367..20f88988e72 100644
--- a/src/cloudflare/resources/zero_trust/gateway/lists/lists.py
+++ b/src/cloudflare/resources/zero_trust/gateway/lists/lists.py
@@ -34,7 +34,7 @@
AsyncPaginator,
make_request_options,
)
-from .....types.zero_trust.gateway import list_edit_params, list_create_params, list_update_params
+from .....types.zero_trust.gateway import list_edit_params, list_list_params, list_create_params, list_update_params
from .....types.zero_trust.gateway.gateway_list import GatewayList
from .....types.zero_trust.gateway.gateway_item_param import GatewayItemParam
from .....types.zero_trust.gateway.list_create_response import ListCreateResponse
@@ -173,6 +173,7 @@ def list(
self,
*,
account_id: str,
+ type: Literal["SERIAL", "URL", "DOMAIN", "EMAIL", "IP"] | 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,
@@ -184,6 +185,8 @@ def list(
Fetches all Zero Trust lists for an account.
Args:
+ type: The type of list.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -198,7 +201,11 @@ def list(
f"/accounts/{account_id}/gateway/lists",
page=SyncSinglePage[GatewayList],
options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ query=maybe_transform({"type": type}, list_list_params.ListListParams),
),
model=GatewayList,
)
@@ -478,6 +485,7 @@ def list(
self,
*,
account_id: str,
+ type: Literal["SERIAL", "URL", "DOMAIN", "EMAIL", "IP"] | 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,
@@ -489,6 +497,8 @@ def list(
Fetches all Zero Trust lists for an account.
Args:
+ type: The type of list.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -503,7 +513,11 @@ def list(
f"/accounts/{account_id}/gateway/lists",
page=AsyncSinglePage[GatewayList],
options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ query=maybe_transform({"type": type}, list_list_params.ListListParams),
),
model=GatewayList,
)
diff --git a/src/cloudflare/types/ai_gateway/__init__.py b/src/cloudflare/types/ai_gateway/__init__.py
index e34365f10eb..8a4216b8edb 100644
--- a/src/cloudflare/types/ai_gateway/__init__.py
+++ b/src/cloudflare/types/ai_gateway/__init__.py
@@ -2,8 +2,8 @@
from __future__ import annotations
-from .log_get_params import LogGetParams as LogGetParams
-from .log_get_response import LogGetResponse as LogGetResponse
+from .log_list_params import LogListParams as LogListParams
+from .log_list_response import LogListResponse as LogListResponse
from .ai_gateway_list_params import AIGatewayListParams as AIGatewayListParams
from .ai_gateway_get_response import AIGatewayGetResponse as AIGatewayGetResponse
from .ai_gateway_create_params import AIGatewayCreateParams as AIGatewayCreateParams
diff --git a/src/cloudflare/types/ai_gateway/log_get_params.py b/src/cloudflare/types/ai_gateway/log_list_params.py
similarity index 89%
rename from src/cloudflare/types/ai_gateway/log_get_params.py
rename to src/cloudflare/types/ai_gateway/log_list_params.py
index c6503dfd736..3f3bbe5efa6 100644
--- a/src/cloudflare/types/ai_gateway/log_get_params.py
+++ b/src/cloudflare/types/ai_gateway/log_list_params.py
@@ -8,10 +8,10 @@
from ..._utils import PropertyInfo
-__all__ = ["LogGetParams"]
+__all__ = ["LogListParams"]
-class LogGetParams(TypedDict, total=False):
+class LogListParams(TypedDict, total=False):
account_id: Required[str]
cached: bool
diff --git a/src/cloudflare/types/ai_gateway/log_get_response.py b/src/cloudflare/types/ai_gateway/log_list_response.py
similarity index 78%
rename from src/cloudflare/types/ai_gateway/log_get_response.py
rename to src/cloudflare/types/ai_gateway/log_list_response.py
index c78976e56d4..54366ffe597 100644
--- a/src/cloudflare/types/ai_gateway/log_get_response.py
+++ b/src/cloudflare/types/ai_gateway/log_list_response.py
@@ -1,14 +1,14 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from typing import List, Optional
+from typing import Optional
from datetime import datetime
from ..._models import BaseModel
-__all__ = ["LogGetResponse", "LogGetResponseItem"]
+__all__ = ["LogListResponse"]
-class LogGetResponseItem(BaseModel):
+class LogListResponse(BaseModel):
id: str
cached: bool
@@ -44,6 +44,3 @@ class LogGetResponseItem(BaseModel):
status_code: Optional[int] = None
step: Optional[int] = None
-
-
-LogGetResponse = List[LogGetResponseItem]
diff --git a/src/cloudflare/types/api_gateway/__init__.py b/src/cloudflare/types/api_gateway/__init__.py
index 15e921a339f..03e7d8be4f3 100644
--- a/src/cloudflare/types/api_gateway/__init__.py
+++ b/src/cloudflare/types/api_gateway/__init__.py
@@ -3,6 +3,7 @@
from __future__ import annotations
from .message import Message as Message
+from .settings import Settings as Settings
from .api_shield import APIShield as APIShield
from .configuration import Configuration as Configuration
from .public_schema import PublicSchema as PublicSchema
@@ -24,4 +25,3 @@
from .configuration_update_params import ConfigurationUpdateParams as ConfigurationUpdateParams
from .user_schema_delete_response import UserSchemaDeleteResponse as UserSchemaDeleteResponse
from .configuration_update_response import ConfigurationUpdateResponse as ConfigurationUpdateResponse
-from .schema_validation_edit_params import SchemaValidationEditParams as SchemaValidationEditParams
diff --git a/src/cloudflare/types/api_gateway/settings/__init__.py b/src/cloudflare/types/api_gateway/settings/__init__.py
index 6bf117b4acd..4a0d2fe1880 100644
--- a/src/cloudflare/types/api_gateway/settings/__init__.py
+++ b/src/cloudflare/types/api_gateway/settings/__init__.py
@@ -3,4 +3,5 @@
from __future__ import annotations
from .settings import Settings as Settings
+from .schema_validation_edit_params import SchemaValidationEditParams as SchemaValidationEditParams
from .schema_validation_update_params import SchemaValidationUpdateParams as SchemaValidationUpdateParams
diff --git a/src/cloudflare/types/api_gateway/schema_validation_edit_params.py b/src/cloudflare/types/api_gateway/settings/schema_validation_edit_params.py
similarity index 100%
rename from src/cloudflare/types/api_gateway/schema_validation_edit_params.py
rename to src/cloudflare/types/api_gateway/settings/schema_validation_edit_params.py
diff --git a/src/cloudflare/types/dns/a_record.py b/src/cloudflare/types/dns/a_record.py
index dc064cf7d8a..c42be657c7c 100644
--- a/src/cloudflare/types/dns/a_record.py
+++ b/src/cloudflare/types/dns/a_record.py
@@ -64,9 +64,3 @@ class ARecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/aaaa_record.py b/src/cloudflare/types/dns/aaaa_record.py
index 75f77f1ab61..4e4bd1218e6 100644
--- a/src/cloudflare/types/dns/aaaa_record.py
+++ b/src/cloudflare/types/dns/aaaa_record.py
@@ -64,9 +64,3 @@ class AAAARecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/caa_record.py b/src/cloudflare/types/dns/caa_record.py
index 298495fc040..e81689a332e 100644
--- a/src/cloudflare/types/dns/caa_record.py
+++ b/src/cloudflare/types/dns/caa_record.py
@@ -72,9 +72,3 @@ class CAARecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/cert_record.py b/src/cloudflare/types/dns/cert_record.py
index d9a7a6ba9b3..58c471f4c7f 100644
--- a/src/cloudflare/types/dns/cert_record.py
+++ b/src/cloudflare/types/dns/cert_record.py
@@ -75,9 +75,3 @@ class CERTRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/cname_record.py b/src/cloudflare/types/dns/cname_record.py
index 39e42f0f7d4..9c034629645 100644
--- a/src/cloudflare/types/dns/cname_record.py
+++ b/src/cloudflare/types/dns/cname_record.py
@@ -64,9 +64,3 @@ class CNAMERecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/dnskey_record.py b/src/cloudflare/types/dns/dnskey_record.py
index e2f6284d7ca..72c2ae66d67 100644
--- a/src/cloudflare/types/dns/dnskey_record.py
+++ b/src/cloudflare/types/dns/dnskey_record.py
@@ -75,9 +75,3 @@ class DNSKEYRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/ds_record.py b/src/cloudflare/types/dns/ds_record.py
index cc6e93c8ab7..d6210dce096 100644
--- a/src/cloudflare/types/dns/ds_record.py
+++ b/src/cloudflare/types/dns/ds_record.py
@@ -75,9 +75,3 @@ class DSRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/https_record.py b/src/cloudflare/types/dns/https_record.py
index f3a412966f5..6900410e735 100644
--- a/src/cloudflare/types/dns/https_record.py
+++ b/src/cloudflare/types/dns/https_record.py
@@ -72,9 +72,3 @@ class HTTPSRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/loc_record.py b/src/cloudflare/types/dns/loc_record.py
index 66b3e2d9eaf..5d4f84c06b7 100644
--- a/src/cloudflare/types/dns/loc_record.py
+++ b/src/cloudflare/types/dns/loc_record.py
@@ -99,9 +99,3 @@ class LOCRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/mx_record.py b/src/cloudflare/types/dns/mx_record.py
index dd2aa333e2a..3722755f904 100644
--- a/src/cloudflare/types/dns/mx_record.py
+++ b/src/cloudflare/types/dns/mx_record.py
@@ -64,9 +64,3 @@ class MXRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/naptr_record.py b/src/cloudflare/types/dns/naptr_record.py
index 77dc8f3539a..0dc8a697aca 100644
--- a/src/cloudflare/types/dns/naptr_record.py
+++ b/src/cloudflare/types/dns/naptr_record.py
@@ -81,9 +81,3 @@ class NAPTRRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/ns_record.py b/src/cloudflare/types/dns/ns_record.py
index d71fd5437fa..0b60f0a307f 100644
--- a/src/cloudflare/types/dns/ns_record.py
+++ b/src/cloudflare/types/dns/ns_record.py
@@ -58,9 +58,3 @@ class NSRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/ptr_record.py b/src/cloudflare/types/dns/ptr_record.py
index 46d91d3a4eb..d5835b62faf 100644
--- a/src/cloudflare/types/dns/ptr_record.py
+++ b/src/cloudflare/types/dns/ptr_record.py
@@ -58,9 +58,3 @@ class PTRRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/record_create_params.py b/src/cloudflare/types/dns/record_create_params.py
index 50b85946681..c7fbb84ff10 100644
--- a/src/cloudflare/types/dns/record_create_params.py
+++ b/src/cloudflare/types/dns/record_create_params.py
@@ -59,6 +59,9 @@ class ARecord(TypedDict, total=False):
type: Required[Literal["A"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -95,6 +98,9 @@ class AAAARecord(TypedDict, total=False):
type: Required[Literal["AAAA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -131,6 +137,9 @@ class CAARecord(TypedDict, total=False):
type: Required[Literal["CAA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -172,6 +181,9 @@ class CERTRecord(TypedDict, total=False):
type: Required[Literal["CERT"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -216,6 +228,9 @@ class CNAMERecord(TypedDict, total=False):
type: Required[Literal["CNAME"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -252,6 +267,9 @@ class DNSKEYRecord(TypedDict, total=False):
type: Required[Literal["DNSKEY"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -296,6 +314,9 @@ class DSRecord(TypedDict, total=False):
type: Required[Literal["DS"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -340,6 +361,9 @@ class HTTPSRecord(TypedDict, total=False):
type: Required[Literal["HTTPS"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -381,6 +405,9 @@ class LOCRecord(TypedDict, total=False):
type: Required[Literal["LOC"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -455,6 +482,9 @@ class MXRecord(TypedDict, total=False):
type: Required[Literal["MX"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -485,6 +515,9 @@ class NAPTRRecord(TypedDict, total=False):
type: Required[Literal["NAPTR"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -535,6 +568,9 @@ class NSRecord(TypedDict, total=False):
type: Required[Literal["NS"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -565,6 +601,9 @@ class PTRRecord(TypedDict, total=False):
type: Required[Literal["PTR"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -595,6 +634,9 @@ class SMIMEARecord(TypedDict, total=False):
type: Required[Literal["SMIMEA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -643,6 +685,9 @@ class SRVRecord(TypedDict, total=False):
type: Required[Literal["SRV"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -712,6 +757,9 @@ class SSHFPRecord(TypedDict, total=False):
type: Required[Literal["SSHFP"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -753,6 +801,9 @@ class SVCBRecord(TypedDict, total=False):
type: Required[Literal["SVCB"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -794,6 +845,9 @@ class TLSARecord(TypedDict, total=False):
type: Required[Literal["TLSA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -838,6 +892,9 @@ class TXTRecord(TypedDict, total=False):
type: Required[Literal["TXT"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -874,6 +931,9 @@ class URIRecord(TypedDict, total=False):
type: Required[Literal["URI"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
diff --git a/src/cloudflare/types/dns/record_edit_params.py b/src/cloudflare/types/dns/record_edit_params.py
index e5604e9762c..4162570edcc 100644
--- a/src/cloudflare/types/dns/record_edit_params.py
+++ b/src/cloudflare/types/dns/record_edit_params.py
@@ -59,6 +59,9 @@ class ARecord(TypedDict, total=False):
type: Required[Literal["A"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -95,6 +98,9 @@ class AAAARecord(TypedDict, total=False):
type: Required[Literal["AAAA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -131,6 +137,9 @@ class CAARecord(TypedDict, total=False):
type: Required[Literal["CAA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -172,6 +181,9 @@ class CERTRecord(TypedDict, total=False):
type: Required[Literal["CERT"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -216,6 +228,9 @@ class CNAMERecord(TypedDict, total=False):
type: Required[Literal["CNAME"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -252,6 +267,9 @@ class DNSKEYRecord(TypedDict, total=False):
type: Required[Literal["DNSKEY"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -296,6 +314,9 @@ class DSRecord(TypedDict, total=False):
type: Required[Literal["DS"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -340,6 +361,9 @@ class HTTPSRecord(TypedDict, total=False):
type: Required[Literal["HTTPS"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -381,6 +405,9 @@ class LOCRecord(TypedDict, total=False):
type: Required[Literal["LOC"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -455,6 +482,9 @@ class MXRecord(TypedDict, total=False):
type: Required[Literal["MX"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -485,6 +515,9 @@ class NAPTRRecord(TypedDict, total=False):
type: Required[Literal["NAPTR"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -535,6 +568,9 @@ class NSRecord(TypedDict, total=False):
type: Required[Literal["NS"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -565,6 +601,9 @@ class PTRRecord(TypedDict, total=False):
type: Required[Literal["PTR"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -595,6 +634,9 @@ class SMIMEARecord(TypedDict, total=False):
type: Required[Literal["SMIMEA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -643,6 +685,9 @@ class SRVRecord(TypedDict, total=False):
type: Required[Literal["SRV"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -712,6 +757,9 @@ class SSHFPRecord(TypedDict, total=False):
type: Required[Literal["SSHFP"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -753,6 +801,9 @@ class SVCBRecord(TypedDict, total=False):
type: Required[Literal["SVCB"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -794,6 +845,9 @@ class TLSARecord(TypedDict, total=False):
type: Required[Literal["TLSA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -838,6 +892,9 @@ class TXTRecord(TypedDict, total=False):
type: Required[Literal["TXT"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -874,6 +931,9 @@ class URIRecord(TypedDict, total=False):
type: Required[Literal["URI"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
diff --git a/src/cloudflare/types/dns/record_update_params.py b/src/cloudflare/types/dns/record_update_params.py
index 881f62f1c71..743522c6331 100644
--- a/src/cloudflare/types/dns/record_update_params.py
+++ b/src/cloudflare/types/dns/record_update_params.py
@@ -59,6 +59,9 @@ class ARecord(TypedDict, total=False):
type: Required[Literal["A"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -95,6 +98,9 @@ class AAAARecord(TypedDict, total=False):
type: Required[Literal["AAAA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -131,6 +137,9 @@ class CAARecord(TypedDict, total=False):
type: Required[Literal["CAA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -172,6 +181,9 @@ class CERTRecord(TypedDict, total=False):
type: Required[Literal["CERT"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -216,6 +228,9 @@ class CNAMERecord(TypedDict, total=False):
type: Required[Literal["CNAME"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -252,6 +267,9 @@ class DNSKEYRecord(TypedDict, total=False):
type: Required[Literal["DNSKEY"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -296,6 +314,9 @@ class DSRecord(TypedDict, total=False):
type: Required[Literal["DS"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -340,6 +361,9 @@ class HTTPSRecord(TypedDict, total=False):
type: Required[Literal["HTTPS"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -381,6 +405,9 @@ class LOCRecord(TypedDict, total=False):
type: Required[Literal["LOC"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -455,6 +482,9 @@ class MXRecord(TypedDict, total=False):
type: Required[Literal["MX"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -485,6 +515,9 @@ class NAPTRRecord(TypedDict, total=False):
type: Required[Literal["NAPTR"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -535,6 +568,9 @@ class NSRecord(TypedDict, total=False):
type: Required[Literal["NS"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -565,6 +601,9 @@ class PTRRecord(TypedDict, total=False):
type: Required[Literal["PTR"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -595,6 +634,9 @@ class SMIMEARecord(TypedDict, total=False):
type: Required[Literal["SMIMEA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -643,6 +685,9 @@ class SRVRecord(TypedDict, total=False):
type: Required[Literal["SRV"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -712,6 +757,9 @@ class SSHFPRecord(TypedDict, total=False):
type: Required[Literal["SSHFP"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -753,6 +801,9 @@ class SVCBRecord(TypedDict, total=False):
type: Required[Literal["SVCB"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -794,6 +845,9 @@ class TLSARecord(TypedDict, total=False):
type: Required[Literal["TLSA"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -838,6 +892,9 @@ class TXTRecord(TypedDict, total=False):
type: Required[Literal["TXT"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
@@ -874,6 +931,9 @@ class URIRecord(TypedDict, total=False):
type: Required[Literal["URI"]]
"""Record type."""
+ id: str
+ """Identifier"""
+
comment: str
"""Comments or notes about the DNS record.
diff --git a/src/cloudflare/types/dns/smimea_record.py b/src/cloudflare/types/dns/smimea_record.py
index 34ce2908956..a8393cee684 100644
--- a/src/cloudflare/types/dns/smimea_record.py
+++ b/src/cloudflare/types/dns/smimea_record.py
@@ -75,9 +75,3 @@ class SMIMEARecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/srv_record.py b/src/cloudflare/types/dns/srv_record.py
index 5bb285beee5..43c8df32709 100644
--- a/src/cloudflare/types/dns/srv_record.py
+++ b/src/cloudflare/types/dns/srv_record.py
@@ -107,9 +107,3 @@ class SRVRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/sshfp_record.py b/src/cloudflare/types/dns/sshfp_record.py
index 7be08b2031e..3541eefc8c6 100644
--- a/src/cloudflare/types/dns/sshfp_record.py
+++ b/src/cloudflare/types/dns/sshfp_record.py
@@ -72,9 +72,3 @@ class SSHFPRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/svcb_record.py b/src/cloudflare/types/dns/svcb_record.py
index 5b5fcad2b98..db981322f9d 100644
--- a/src/cloudflare/types/dns/svcb_record.py
+++ b/src/cloudflare/types/dns/svcb_record.py
@@ -72,9 +72,3 @@ class SVCBRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/tlsa_record.py b/src/cloudflare/types/dns/tlsa_record.py
index a398ee626ec..1d2c1600bad 100644
--- a/src/cloudflare/types/dns/tlsa_record.py
+++ b/src/cloudflare/types/dns/tlsa_record.py
@@ -75,9 +75,3 @@ class TLSARecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/txt_record.py b/src/cloudflare/types/dns/txt_record.py
index f2e0404df9a..3eb3f3402f2 100644
--- a/src/cloudflare/types/dns/txt_record.py
+++ b/src/cloudflare/types/dns/txt_record.py
@@ -58,9 +58,3 @@ class TXTRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/dns/uri_record.py b/src/cloudflare/types/dns/uri_record.py
index 15534dd560a..ce953c709d0 100644
--- a/src/cloudflare/types/dns/uri_record.py
+++ b/src/cloudflare/types/dns/uri_record.py
@@ -75,9 +75,3 @@ class URIRecord(BaseModel):
Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the
minimum reduced to 30 for Enterprise zones.
"""
-
- zone_id: Optional[str] = None
- """Identifier"""
-
- zone_name: Optional[str] = None
- """The domain of the record."""
diff --git a/src/cloudflare/types/radar/__init__.py b/src/cloudflare/types/radar/__init__.py
index cab083c87f6..63e479b1721 100644
--- a/src/cloudflare/types/radar/__init__.py
+++ b/src/cloudflare/types/radar/__init__.py
@@ -3,7 +3,6 @@
from __future__ import annotations
from .entity_get_params import EntityGetParams as EntityGetParams
-from .dataset_get_params import DatasetGetParams as DatasetGetParams
from .radar_email_series import RadarEmailSeries as RadarEmailSeries
from .ranking_top_params import RankingTopParams as RankingTopParams
from .dataset_list_params import DatasetListParams as DatasetListParams
diff --git a/src/cloudflare/types/radar/as112/summary_dnssec_response.py b/src/cloudflare/types/radar/as112/summary_dnssec_response.py
index 1dea9f500ff..b692d28f07f 100644
--- a/src/cloudflare/types/radar/as112/summary_dnssec_response.py
+++ b/src/cloudflare/types/radar/as112/summary_dnssec_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/as112/summary_edns_response.py b/src/cloudflare/types/radar/as112/summary_edns_response.py
index da899d3649d..48ca7517798 100644
--- a/src/cloudflare/types/radar/as112/summary_edns_response.py
+++ b/src/cloudflare/types/radar/as112/summary_edns_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/as112/summary_ip_version_response.py b/src/cloudflare/types/radar/as112/summary_ip_version_response.py
index e8515c06e80..6286c80dc1d 100644
--- a/src/cloudflare/types/radar/as112/summary_ip_version_response.py
+++ b/src/cloudflare/types/radar/as112/summary_ip_version_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/as112/summary_protocol_response.py b/src/cloudflare/types/radar/as112/summary_protocol_response.py
index 3af1df35781..473abd3666c 100644
--- a/src/cloudflare/types/radar/as112/summary_protocol_response.py
+++ b/src/cloudflare/types/radar/as112/summary_protocol_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/as112/summary_query_type_response.py b/src/cloudflare/types/radar/as112/summary_query_type_response.py
index d302fae8743..d5268d2eb3f 100644
--- a/src/cloudflare/types/radar/as112/summary_query_type_response.py
+++ b/src/cloudflare/types/radar/as112/summary_query_type_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/as112/summary_response_codes_response.py b/src/cloudflare/types/radar/as112/summary_response_codes_response.py
index 9ee9b90e7d0..9c916f07a98 100644
--- a/src/cloudflare/types/radar/as112/summary_response_codes_response.py
+++ b/src/cloudflare/types/radar/as112/summary_response_codes_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/as112/top_dnssec_response.py b/src/cloudflare/types/radar/as112/top_dnssec_response.py
index 6896a1eb516..a911d0d50b3 100644
--- a/src/cloudflare/types/radar/as112/top_dnssec_response.py
+++ b/src/cloudflare/types/radar/as112/top_dnssec_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/as112/top_edns_response.py b/src/cloudflare/types/radar/as112/top_edns_response.py
index 88dd69c3350..208c881c579 100644
--- a/src/cloudflare/types/radar/as112/top_edns_response.py
+++ b/src/cloudflare/types/radar/as112/top_edns_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/as112/top_ip_version_response.py b/src/cloudflare/types/radar/as112/top_ip_version_response.py
index 3ca89699881..3b48dfa0ca0 100644
--- a/src/cloudflare/types/radar/as112/top_ip_version_response.py
+++ b/src/cloudflare/types/radar/as112/top_ip_version_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/as112/top_locations_response.py b/src/cloudflare/types/radar/as112/top_locations_response.py
index ccfeff38397..671c3284576 100644
--- a/src/cloudflare/types/radar/as112/top_locations_response.py
+++ b/src/cloudflare/types/radar/as112/top_locations_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/as112_timeseries_response.py b/src/cloudflare/types/radar/as112_timeseries_response.py
index 169b4dc6611..3664bedad75 100644
--- a/src/cloudflare/types/radar/as112_timeseries_response.py
+++ b/src/cloudflare/types/radar/as112_timeseries_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/summary_bitrate_response.py b/src/cloudflare/types/radar/attacks/layer3/summary_bitrate_response.py
index 8669564cff6..b04e158c215 100644
--- a/src/cloudflare/types/radar/attacks/layer3/summary_bitrate_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/summary_bitrate_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/summary_duration_response.py b/src/cloudflare/types/radar/attacks/layer3/summary_duration_response.py
index 648f29c9030..a08fb88a43b 100644
--- a/src/cloudflare/types/radar/attacks/layer3/summary_duration_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/summary_duration_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/summary_get_response.py b/src/cloudflare/types/radar/attacks/layer3/summary_get_response.py
index 1465bcb67d6..e332260ec8e 100644
--- a/src/cloudflare/types/radar/attacks/layer3/summary_get_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/summary_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/summary_ip_version_response.py b/src/cloudflare/types/radar/attacks/layer3/summary_ip_version_response.py
index b4f96b8667e..e1a3995c7e5 100644
--- a/src/cloudflare/types/radar/attacks/layer3/summary_ip_version_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/summary_ip_version_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/summary_protocol_response.py b/src/cloudflare/types/radar/attacks/layer3/summary_protocol_response.py
index 1cf176e0a5e..7d749df3a2a 100644
--- a/src/cloudflare/types/radar/attacks/layer3/summary_protocol_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/summary_protocol_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/summary_vector_response.py b/src/cloudflare/types/radar/attacks/layer3/summary_vector_response.py
index 47fb5fed0c0..cf21e355719 100644
--- a/src/cloudflare/types/radar/attacks/layer3/summary_vector_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/summary_vector_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/timeseries_group_get_response.py b/src/cloudflare/types/radar/attacks/layer3/timeseries_group_get_response.py
index e7bf91ff7a1..ea55dbde517 100644
--- a/src/cloudflare/types/radar/attacks/layer3/timeseries_group_get_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/timeseries_group_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/top/location_origin_response.py b/src/cloudflare/types/radar/attacks/layer3/top/location_origin_response.py
index 486e59f89c0..102661bf56a 100644
--- a/src/cloudflare/types/radar/attacks/layer3/top/location_origin_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/top/location_origin_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/top/location_target_response.py b/src/cloudflare/types/radar/attacks/layer3/top/location_target_response.py
index 781bdd4f4f4..4641eb271e6 100644
--- a/src/cloudflare/types/radar/attacks/layer3/top/location_target_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/top/location_target_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/top_attacks_params.py b/src/cloudflare/types/radar/attacks/layer3/top_attacks_params.py
index 06f4f3147ac..ca4d349d09a 100644
--- a/src/cloudflare/types/radar/attacks/layer3/top_attacks_params.py
+++ b/src/cloudflare/types/radar/attacks/layer3/top_attacks_params.py
@@ -85,5 +85,12 @@ class TopAttacksParams(TypedDict, total=False):
name: List[str]
"""Array of names that will be used to name the series in responses."""
+ normalization: Literal["PERCENTAGE", "MIN_MAX"]
+ """Normalization method applied.
+
+ Refer to
+ [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+ """
+
protocol: List[Literal["UDP", "TCP", "ICMP", "GRE"]]
"""Array of L3/4 attack types."""
diff --git a/src/cloudflare/types/radar/attacks/layer3/top_attacks_response.py b/src/cloudflare/types/radar/attacks/layer3/top_attacks_response.py
index 96160d6f724..100bfdc7d49 100644
--- a/src/cloudflare/types/radar/attacks/layer3/top_attacks_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/top_attacks_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/top_industry_response.py b/src/cloudflare/types/radar/attacks/layer3/top_industry_response.py
index 26420c75ec6..01b6e141308 100644
--- a/src/cloudflare/types/radar/attacks/layer3/top_industry_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/top_industry_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer3/top_vertical_response.py b/src/cloudflare/types/radar/attacks/layer3/top_vertical_response.py
index 5b236c7c4ae..83a240b3100 100644
--- a/src/cloudflare/types/radar/attacks/layer3/top_vertical_response.py
+++ b/src/cloudflare/types/radar/attacks/layer3/top_vertical_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/summary_get_response.py b/src/cloudflare/types/radar/attacks/layer7/summary_get_response.py
index 8b65b6328df..3830406025a 100644
--- a/src/cloudflare/types/radar/attacks/layer7/summary_get_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/summary_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/summary_http_method_response.py b/src/cloudflare/types/radar/attacks/layer7/summary_http_method_response.py
index 40b3d9de8d0..38203e4eb07 100644
--- a/src/cloudflare/types/radar/attacks/layer7/summary_http_method_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/summary_http_method_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/summary_http_version_response.py b/src/cloudflare/types/radar/attacks/layer7/summary_http_version_response.py
index 6fc2906c230..f78c229daaa 100644
--- a/src/cloudflare/types/radar/attacks/layer7/summary_http_version_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/summary_http_version_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/summary_ip_version_response.py b/src/cloudflare/types/radar/attacks/layer7/summary_ip_version_response.py
index b4f96b8667e..e1a3995c7e5 100644
--- a/src/cloudflare/types/radar/attacks/layer7/summary_ip_version_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/summary_ip_version_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/summary_managed_rules_response.py b/src/cloudflare/types/radar/attacks/layer7/summary_managed_rules_response.py
index 98285c0015c..c62312dffd7 100644
--- a/src/cloudflare/types/radar/attacks/layer7/summary_managed_rules_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/summary_managed_rules_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/summary_mitigation_product_response.py b/src/cloudflare/types/radar/attacks/layer7/summary_mitigation_product_response.py
index 2e1ac27eb10..f815da2375a 100644
--- a/src/cloudflare/types/radar/attacks/layer7/summary_mitigation_product_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/summary_mitigation_product_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/timeseries_group_get_response.py b/src/cloudflare/types/radar/attacks/layer7/timeseries_group_get_response.py
index 422b256d9cb..60c8a9d9117 100644
--- a/src/cloudflare/types/radar/attacks/layer7/timeseries_group_get_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/timeseries_group_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/top/ase_origin_response.py b/src/cloudflare/types/radar/attacks/layer7/top/ase_origin_response.py
index 10a3c3a5307..7c7bdac68f6 100644
--- a/src/cloudflare/types/radar/attacks/layer7/top/ase_origin_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/top/ase_origin_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/top/location_origin_response.py b/src/cloudflare/types/radar/attacks/layer7/top/location_origin_response.py
index 486e59f89c0..102661bf56a 100644
--- a/src/cloudflare/types/radar/attacks/layer7/top/location_origin_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/top/location_origin_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/top/location_target_response.py b/src/cloudflare/types/radar/attacks/layer7/top/location_target_response.py
index 781bdd4f4f4..4641eb271e6 100644
--- a/src/cloudflare/types/radar/attacks/layer7/top/location_target_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/top/location_target_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/top_attacks_params.py b/src/cloudflare/types/radar/attacks/layer7/top_attacks_params.py
index c279092fe73..62ec38abfb3 100644
--- a/src/cloudflare/types/radar/attacks/layer7/top_attacks_params.py
+++ b/src/cloudflare/types/radar/attacks/layer7/top_attacks_params.py
@@ -94,3 +94,10 @@ class TopAttacksParams(TypedDict, total=False):
name: List[str]
"""Array of names that will be used to name the series in responses."""
+
+ normalization: Literal["PERCENTAGE", "MIN_MAX"]
+ """Normalization method applied.
+
+ Refer to
+ [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/).
+ """
diff --git a/src/cloudflare/types/radar/attacks/layer7/top_attacks_response.py b/src/cloudflare/types/radar/attacks/layer7/top_attacks_response.py
index f9824a7d0b8..68577c2c62c 100644
--- a/src/cloudflare/types/radar/attacks/layer7/top_attacks_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/top_attacks_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/top_industry_response.py b/src/cloudflare/types/radar/attacks/layer7/top_industry_response.py
index 26420c75ec6..01b6e141308 100644
--- a/src/cloudflare/types/radar/attacks/layer7/top_industry_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/top_industry_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7/top_vertical_response.py b/src/cloudflare/types/radar/attacks/layer7/top_vertical_response.py
index 5b236c7c4ae..83a240b3100 100644
--- a/src/cloudflare/types/radar/attacks/layer7/top_vertical_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7/top_vertical_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/attacks/layer7_timeseries_response.py b/src/cloudflare/types/radar/attacks/layer7_timeseries_response.py
index 6cc4c9b2636..355696d9df5 100644
--- a/src/cloudflare/types/radar/attacks/layer7_timeseries_response.py
+++ b/src/cloudflare/types/radar/attacks/layer7_timeseries_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/bgp/top/ase_get_params.py b/src/cloudflare/types/radar/bgp/top/ase_get_params.py
index f24fe9c65e8..c5ea6aeafaf 100644
--- a/src/cloudflare/types/radar/bgp/top/ase_get_params.py
+++ b/src/cloudflare/types/radar/bgp/top/ase_get_params.py
@@ -69,10 +69,19 @@ class AseGetParams(TypedDict, total=False):
"""Array of BGP update types."""
-class Prefix(TypedDict, total=False):
- location: Required[str]
+_PrefixReservedKeywords = TypedDict(
+ "_PrefixReservedKeywords",
+ {
+ "in": str,
+ },
+ total=False,
+)
+
+class Prefix(_PrefixReservedKeywords, total=False):
name: Required[str]
+ test: Required[float]
+
type: str
"""Network prefix, IPv4 or IPv6."""
diff --git a/src/cloudflare/types/radar/bgp_timeseries_params.py b/src/cloudflare/types/radar/bgp_timeseries_params.py
index 53697dd7bf2..60be5fc3baf 100644
--- a/src/cloudflare/types/radar/bgp_timeseries_params.py
+++ b/src/cloudflare/types/radar/bgp_timeseries_params.py
@@ -73,10 +73,19 @@ class BGPTimeseriesParams(TypedDict, total=False):
"""Array of BGP update types."""
-class Prefix(TypedDict, total=False):
- location: Required[str]
+_PrefixReservedKeywords = TypedDict(
+ "_PrefixReservedKeywords",
+ {
+ "in": str,
+ },
+ total=False,
+)
+
+class Prefix(_PrefixReservedKeywords, total=False):
name: Required[str]
+ test: Required[float]
+
type: str
"""Network prefix, IPv4 or IPv6."""
diff --git a/src/cloudflare/types/radar/bgp_timeseries_response.py b/src/cloudflare/types/radar/bgp_timeseries_response.py
index 0d3f009785a..b3ca270daa5 100644
--- a/src/cloudflare/types/radar/bgp_timeseries_response.py
+++ b/src/cloudflare/types/radar/bgp_timeseries_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/connection_tampering_summary_response.py b/src/cloudflare/types/radar/connection_tampering_summary_response.py
index c2685cd0557..4f093b99de1 100644
--- a/src/cloudflare/types/radar/connection_tampering_summary_response.py
+++ b/src/cloudflare/types/radar/connection_tampering_summary_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/connection_tampering_timeseries_groups_response.py b/src/cloudflare/types/radar/connection_tampering_timeseries_groups_response.py
index 32bef3b657f..f6aeb05577b 100644
--- a/src/cloudflare/types/radar/connection_tampering_timeseries_groups_response.py
+++ b/src/cloudflare/types/radar/connection_tampering_timeseries_groups_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/dataset_get_params.py b/src/cloudflare/types/radar/dataset_get_params.py
deleted file mode 100644
index 69de9bfc200..00000000000
--- a/src/cloudflare/types/radar/dataset_get_params.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing import Optional
-from typing_extensions import TypedDict
-
-__all__ = ["DatasetGetParams"]
-
-
-class DatasetGetParams(TypedDict, total=False):
- date: Optional[str]
- """Filter dataset alias by date"""
diff --git a/src/cloudflare/types/radar/dns/top_ases_response.py b/src/cloudflare/types/radar/dns/top_ases_response.py
index e1094d9a13e..e87c9d659f0 100644
--- a/src/cloudflare/types/radar/dns/top_ases_response.py
+++ b/src/cloudflare/types/radar/dns/top_ases_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/dns/top_locations_response.py b/src/cloudflare/types/radar/dns/top_locations_response.py
index e87ae114cf4..4be71f2a029 100644
--- a/src/cloudflare/types/radar/dns/top_locations_response.py
+++ b/src/cloudflare/types/radar/dns/top_locations_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/routing/summary_arc_response.py b/src/cloudflare/types/radar/email/routing/summary_arc_response.py
index 7b709e6be09..274e9a535ba 100644
--- a/src/cloudflare/types/radar/email/routing/summary_arc_response.py
+++ b/src/cloudflare/types/radar/email/routing/summary_arc_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/routing/summary_dkim_response.py b/src/cloudflare/types/radar/email/routing/summary_dkim_response.py
index 3baed82617a..df8a79048cd 100644
--- a/src/cloudflare/types/radar/email/routing/summary_dkim_response.py
+++ b/src/cloudflare/types/radar/email/routing/summary_dkim_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/routing/summary_dmarc_response.py b/src/cloudflare/types/radar/email/routing/summary_dmarc_response.py
index 311673b6b74..0563a742286 100644
--- a/src/cloudflare/types/radar/email/routing/summary_dmarc_response.py
+++ b/src/cloudflare/types/radar/email/routing/summary_dmarc_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/routing/summary_encrypted_response.py b/src/cloudflare/types/radar/email/routing/summary_encrypted_response.py
index 61c4957355f..5461181d3de 100644
--- a/src/cloudflare/types/radar/email/routing/summary_encrypted_response.py
+++ b/src/cloudflare/types/radar/email/routing/summary_encrypted_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/routing/summary_ip_version_response.py b/src/cloudflare/types/radar/email/routing/summary_ip_version_response.py
index b4f96b8667e..e1a3995c7e5 100644
--- a/src/cloudflare/types/radar/email/routing/summary_ip_version_response.py
+++ b/src/cloudflare/types/radar/email/routing/summary_ip_version_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/routing/summary_spf_response.py b/src/cloudflare/types/radar/email/routing/summary_spf_response.py
index 0c62ac60f1f..9cd062e392f 100644
--- a/src/cloudflare/types/radar/email/routing/summary_spf_response.py
+++ b/src/cloudflare/types/radar/email/routing/summary_spf_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/summary_arc_response.py b/src/cloudflare/types/radar/email/security/summary_arc_response.py
index 7b709e6be09..274e9a535ba 100644
--- a/src/cloudflare/types/radar/email/security/summary_arc_response.py
+++ b/src/cloudflare/types/radar/email/security/summary_arc_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/summary_dkim_response.py b/src/cloudflare/types/radar/email/security/summary_dkim_response.py
index 3baed82617a..df8a79048cd 100644
--- a/src/cloudflare/types/radar/email/security/summary_dkim_response.py
+++ b/src/cloudflare/types/radar/email/security/summary_dkim_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/summary_dmarc_response.py b/src/cloudflare/types/radar/email/security/summary_dmarc_response.py
index 311673b6b74..0563a742286 100644
--- a/src/cloudflare/types/radar/email/security/summary_dmarc_response.py
+++ b/src/cloudflare/types/radar/email/security/summary_dmarc_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/summary_malicious_response.py b/src/cloudflare/types/radar/email/security/summary_malicious_response.py
index 011e9d8e9a3..44426a6e84e 100644
--- a/src/cloudflare/types/radar/email/security/summary_malicious_response.py
+++ b/src/cloudflare/types/radar/email/security/summary_malicious_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/summary_spam_response.py b/src/cloudflare/types/radar/email/security/summary_spam_response.py
index cf8250de214..4fe4f3c5172 100644
--- a/src/cloudflare/types/radar/email/security/summary_spam_response.py
+++ b/src/cloudflare/types/radar/email/security/summary_spam_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/summary_spf_response.py b/src/cloudflare/types/radar/email/security/summary_spf_response.py
index 0c62ac60f1f..9cd062e392f 100644
--- a/src/cloudflare/types/radar/email/security/summary_spf_response.py
+++ b/src/cloudflare/types/radar/email/security/summary_spf_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/summary_spoof_response.py b/src/cloudflare/types/radar/email/security/summary_spoof_response.py
index cd55371280b..b9e738ea0e1 100644
--- a/src/cloudflare/types/radar/email/security/summary_spoof_response.py
+++ b/src/cloudflare/types/radar/email/security/summary_spoof_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/summary_threat_category_response.py b/src/cloudflare/types/radar/email/security/summary_threat_category_response.py
index 0ed00cba9cc..36e2d29bbdf 100644
--- a/src/cloudflare/types/radar/email/security/summary_threat_category_response.py
+++ b/src/cloudflare/types/radar/email/security/summary_threat_category_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/summary_tls_version_response.py b/src/cloudflare/types/radar/email/security/summary_tls_version_response.py
index ad9e0d52245..f9ea5ad0711 100644
--- a/src/cloudflare/types/radar/email/security/summary_tls_version_response.py
+++ b/src/cloudflare/types/radar/email/security/summary_tls_version_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/top/tld_get_response.py b/src/cloudflare/types/radar/email/security/top/tld_get_response.py
index d52b588621e..f9c3e48d916 100644
--- a/src/cloudflare/types/radar/email/security/top/tld_get_response.py
+++ b/src/cloudflare/types/radar/email/security/top/tld_get_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/top/tlds/malicious_get_response.py b/src/cloudflare/types/radar/email/security/top/tlds/malicious_get_response.py
index 715d0bc0f9c..1ad92077064 100644
--- a/src/cloudflare/types/radar/email/security/top/tlds/malicious_get_response.py
+++ b/src/cloudflare/types/radar/email/security/top/tlds/malicious_get_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/top/tlds/spam_get_response.py b/src/cloudflare/types/radar/email/security/top/tlds/spam_get_response.py
index 52a8f700e53..a2bf953b472 100644
--- a/src/cloudflare/types/radar/email/security/top/tlds/spam_get_response.py
+++ b/src/cloudflare/types/radar/email/security/top/tlds/spam_get_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/email/security/top/tlds/spoof_get_response.py b/src/cloudflare/types/radar/email/security/top/tlds/spoof_get_response.py
index 5c927efe84d..18a319011be 100644
--- a/src/cloudflare/types/radar/email/security/top/tlds/spoof_get_response.py
+++ b/src/cloudflare/types/radar/email/security/top/tlds/spoof_get_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/ase_get_response.py b/src/cloudflare/types/radar/http/ase_get_response.py
index 8daef594897..a606c25f81c 100644
--- a/src/cloudflare/types/radar/http/ase_get_response.py
+++ b/src/cloudflare/types/radar/http/ase_get_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/ases/bot_class_get_response.py b/src/cloudflare/types/radar/http/ases/bot_class_get_response.py
index f31bfef2e86..c48362beaed 100644
--- a/src/cloudflare/types/radar/http/ases/bot_class_get_response.py
+++ b/src/cloudflare/types/radar/http/ases/bot_class_get_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/ases/browser_family_get_response.py b/src/cloudflare/types/radar/http/ases/browser_family_get_response.py
index e7bd3b48901..f4d2f1fc2be 100644
--- a/src/cloudflare/types/radar/http/ases/browser_family_get_response.py
+++ b/src/cloudflare/types/radar/http/ases/browser_family_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/ases/device_type_get_response.py b/src/cloudflare/types/radar/http/ases/device_type_get_response.py
index f6392b8020c..a619785971d 100644
--- a/src/cloudflare/types/radar/http/ases/device_type_get_response.py
+++ b/src/cloudflare/types/radar/http/ases/device_type_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/ases/http_method_get_response.py b/src/cloudflare/types/radar/http/ases/http_method_get_response.py
index ea15fbf1f95..d4e4622fe36 100644
--- a/src/cloudflare/types/radar/http/ases/http_method_get_response.py
+++ b/src/cloudflare/types/radar/http/ases/http_method_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/ases/http_protocol_get_response.py b/src/cloudflare/types/radar/http/ases/http_protocol_get_response.py
index 14a1768cd08..3552fc7cad0 100644
--- a/src/cloudflare/types/radar/http/ases/http_protocol_get_response.py
+++ b/src/cloudflare/types/radar/http/ases/http_protocol_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/ases/ip_version_get_response.py b/src/cloudflare/types/radar/http/ases/ip_version_get_response.py
index f2af7dd18a2..cb714fbcdf2 100644
--- a/src/cloudflare/types/radar/http/ases/ip_version_get_response.py
+++ b/src/cloudflare/types/radar/http/ases/ip_version_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/ases/os_get_response.py b/src/cloudflare/types/radar/http/ases/os_get_response.py
index 1bbbd47f758..a8777949f24 100644
--- a/src/cloudflare/types/radar/http/ases/os_get_response.py
+++ b/src/cloudflare/types/radar/http/ases/os_get_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/ases/tls_version_get_response.py b/src/cloudflare/types/radar/http/ases/tls_version_get_response.py
index 132880a8088..1ffc7b6c327 100644
--- a/src/cloudflare/types/radar/http/ases/tls_version_get_response.py
+++ b/src/cloudflare/types/radar/http/ases/tls_version_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/location_get_response.py b/src/cloudflare/types/radar/http/location_get_response.py
index fbed118e87d..95a4c526fe3 100644
--- a/src/cloudflare/types/radar/http/location_get_response.py
+++ b/src/cloudflare/types/radar/http/location_get_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/locations/bot_class_get_response.py b/src/cloudflare/types/radar/http/locations/bot_class_get_response.py
index 929152ac6d2..9b7d9f6c23d 100644
--- a/src/cloudflare/types/radar/http/locations/bot_class_get_response.py
+++ b/src/cloudflare/types/radar/http/locations/bot_class_get_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/locations/browser_family_get_response.py b/src/cloudflare/types/radar/http/locations/browser_family_get_response.py
index faa107c1193..5f161c3903e 100644
--- a/src/cloudflare/types/radar/http/locations/browser_family_get_response.py
+++ b/src/cloudflare/types/radar/http/locations/browser_family_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/locations/device_type_get_response.py b/src/cloudflare/types/radar/http/locations/device_type_get_response.py
index fe44c5066f6..ed2f568faad 100644
--- a/src/cloudflare/types/radar/http/locations/device_type_get_response.py
+++ b/src/cloudflare/types/radar/http/locations/device_type_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/locations/http_method_get_response.py b/src/cloudflare/types/radar/http/locations/http_method_get_response.py
index cc7fa8f3096..ed56bfd057f 100644
--- a/src/cloudflare/types/radar/http/locations/http_method_get_response.py
+++ b/src/cloudflare/types/radar/http/locations/http_method_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/locations/http_protocol_get_response.py b/src/cloudflare/types/radar/http/locations/http_protocol_get_response.py
index 487174e2c48..6d9b31aad62 100644
--- a/src/cloudflare/types/radar/http/locations/http_protocol_get_response.py
+++ b/src/cloudflare/types/radar/http/locations/http_protocol_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/locations/ip_version_get_response.py b/src/cloudflare/types/radar/http/locations/ip_version_get_response.py
index 148244ac334..bb30d89b81e 100644
--- a/src/cloudflare/types/radar/http/locations/ip_version_get_response.py
+++ b/src/cloudflare/types/radar/http/locations/ip_version_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/locations/os_get_response.py b/src/cloudflare/types/radar/http/locations/os_get_response.py
index 0696ba3b166..31e24633774 100644
--- a/src/cloudflare/types/radar/http/locations/os_get_response.py
+++ b/src/cloudflare/types/radar/http/locations/os_get_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/locations/tls_version_get_response.py b/src/cloudflare/types/radar/http/locations/tls_version_get_response.py
index 158ddcdffaf..82d4b85eec7 100644
--- a/src/cloudflare/types/radar/http/locations/tls_version_get_response.py
+++ b/src/cloudflare/types/radar/http/locations/tls_version_get_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/summary_bot_class_response.py b/src/cloudflare/types/radar/http/summary_bot_class_response.py
index 133e6e9b160..d4c5847ae8d 100644
--- a/src/cloudflare/types/radar/http/summary_bot_class_response.py
+++ b/src/cloudflare/types/radar/http/summary_bot_class_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/summary_device_type_response.py b/src/cloudflare/types/radar/http/summary_device_type_response.py
index b59e448a726..7aa1bbd9fd7 100644
--- a/src/cloudflare/types/radar/http/summary_device_type_response.py
+++ b/src/cloudflare/types/radar/http/summary_device_type_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/summary_http_protocol_response.py b/src/cloudflare/types/radar/http/summary_http_protocol_response.py
index 5777d29f25d..3ee6ffef02f 100644
--- a/src/cloudflare/types/radar/http/summary_http_protocol_response.py
+++ b/src/cloudflare/types/radar/http/summary_http_protocol_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/summary_http_version_response.py b/src/cloudflare/types/radar/http/summary_http_version_response.py
index f8c1e4f3f9e..7c3c97a3d57 100644
--- a/src/cloudflare/types/radar/http/summary_http_version_response.py
+++ b/src/cloudflare/types/radar/http/summary_http_version_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/summary_ip_version_response.py b/src/cloudflare/types/radar/http/summary_ip_version_response.py
index e8515c06e80..6286c80dc1d 100644
--- a/src/cloudflare/types/radar/http/summary_ip_version_response.py
+++ b/src/cloudflare/types/radar/http/summary_ip_version_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/summary_os_response.py b/src/cloudflare/types/radar/http/summary_os_response.py
index eba9ffc9621..b9737a2dcf9 100644
--- a/src/cloudflare/types/radar/http/summary_os_response.py
+++ b/src/cloudflare/types/radar/http/summary_os_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/summary_post_quantum_response.py b/src/cloudflare/types/radar/http/summary_post_quantum_response.py
index 5a0ef8618f4..f244b9910b7 100644
--- a/src/cloudflare/types/radar/http/summary_post_quantum_response.py
+++ b/src/cloudflare/types/radar/http/summary_post_quantum_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/summary_tls_version_response.py b/src/cloudflare/types/radar/http/summary_tls_version_response.py
index 67c78083050..1a8ffeb3e19 100644
--- a/src/cloudflare/types/radar/http/summary_tls_version_response.py
+++ b/src/cloudflare/types/radar/http/summary_tls_version_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/top_browser_families_response.py b/src/cloudflare/types/radar/http/top_browser_families_response.py
index ca364af9b0a..34575a1c574 100644
--- a/src/cloudflare/types/radar/http/top_browser_families_response.py
+++ b/src/cloudflare/types/radar/http/top_browser_families_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http/top_browsers_response.py b/src/cloudflare/types/radar/http/top_browsers_response.py
index 587df8db78f..5f75affe2d0 100644
--- a/src/cloudflare/types/radar/http/top_browsers_response.py
+++ b/src/cloudflare/types/radar/http/top_browsers_response.py
@@ -26,7 +26,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/http_timeseries_response.py b/src/cloudflare/types/radar/http_timeseries_response.py
index 00d0b8dada4..6b45e4c117c 100644
--- a/src/cloudflare/types/radar/http_timeseries_response.py
+++ b/src/cloudflare/types/radar/http_timeseries_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/netflow_timeseries_response.py b/src/cloudflare/types/radar/netflow_timeseries_response.py
index d58a81a7360..99701458c4d 100644
--- a/src/cloudflare/types/radar/netflow_timeseries_response.py
+++ b/src/cloudflare/types/radar/netflow_timeseries_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/quality/iqi_summary_response.py b/src/cloudflare/types/radar/quality/iqi_summary_response.py
index 9b9c2a25df7..3e241c1ed90 100644
--- a/src/cloudflare/types/radar/quality/iqi_summary_response.py
+++ b/src/cloudflare/types/radar/quality/iqi_summary_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/quality/speed/top_ases_response.py b/src/cloudflare/types/radar/quality/speed/top_ases_response.py
index 1f6fdf10cac..a67ff9d1ba8 100644
--- a/src/cloudflare/types/radar/quality/speed/top_ases_response.py
+++ b/src/cloudflare/types/radar/quality/speed/top_ases_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/quality/speed/top_locations_response.py b/src/cloudflare/types/radar/quality/speed/top_locations_response.py
index 588ddd56f4d..37420438e16 100644
--- a/src/cloudflare/types/radar/quality/speed/top_locations_response.py
+++ b/src/cloudflare/types/radar/quality/speed/top_locations_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/quality/speed_summary_response.py b/src/cloudflare/types/radar/quality/speed_summary_response.py
index a549509d36d..af59a84fb16 100644
--- a/src/cloudflare/types/radar/quality/speed_summary_response.py
+++ b/src/cloudflare/types/radar/quality/speed_summary_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/ranking/domain_get_params.py b/src/cloudflare/types/radar/ranking/domain_get_params.py
index bb013085bb8..98bbbaf27da 100644
--- a/src/cloudflare/types/radar/ranking/domain_get_params.py
+++ b/src/cloudflare/types/radar/ranking/domain_get_params.py
@@ -2,7 +2,7 @@
from __future__ import annotations
-from typing import List, Optional
+from typing import List
from typing_extensions import Literal, Annotated, TypedDict
from ...._utils import PropertyInfo
@@ -11,7 +11,7 @@
class DomainGetParams(TypedDict, total=False):
- date: List[Optional[str]]
+ date: List[str]
"""Array of dates to filter the ranking."""
format: Literal["JSON", "CSV"]
diff --git a/src/cloudflare/types/radar/ranking_top_params.py b/src/cloudflare/types/radar/ranking_top_params.py
index b848aa8b944..e482e6f9f96 100644
--- a/src/cloudflare/types/radar/ranking_top_params.py
+++ b/src/cloudflare/types/radar/ranking_top_params.py
@@ -2,7 +2,7 @@
from __future__ import annotations
-from typing import List, Optional
+from typing import List
from typing_extensions import Literal, Annotated, TypedDict
from ..._utils import PropertyInfo
@@ -11,7 +11,7 @@
class RankingTopParams(TypedDict, total=False):
- date: List[Optional[str]]
+ date: List[str]
"""Array of dates to filter the ranking."""
format: Literal["JSON", "CSV"]
diff --git a/src/cloudflare/types/radar/verified_bots/top_bots_response.py b/src/cloudflare/types/radar/verified_bots/top_bots_response.py
index b75b4174bc9..2e3ffc6a653 100644
--- a/src/cloudflare/types/radar/verified_bots/top_bots_response.py
+++ b/src/cloudflare/types/radar/verified_bots/top_bots_response.py
@@ -25,7 +25,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/radar/verified_bots/top_categories_response.py b/src/cloudflare/types/radar/verified_bots/top_categories_response.py
index ddc083c00ac..46260e454ca 100644
--- a/src/cloudflare/types/radar/verified_bots/top_categories_response.py
+++ b/src/cloudflare/types/radar/verified_bots/top_categories_response.py
@@ -32,7 +32,7 @@ class MetaConfidenceInfoAnnotation(BaseModel):
event_type: str = FieldInfo(alias="eventType")
- is_instantaneous: object = FieldInfo(alias="isInstantaneous")
+ is_instantaneous: bool = FieldInfo(alias="isInstantaneous")
end_time: Optional[datetime] = FieldInfo(alias="endTime", default=None)
diff --git a/src/cloudflare/types/stream/caption.py b/src/cloudflare/types/stream/caption.py
index 4fc03b8b2f4..296ed927f18 100644
--- a/src/cloudflare/types/stream/caption.py
+++ b/src/cloudflare/types/stream/caption.py
@@ -1,6 +1,7 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from typing import Optional
+from typing_extensions import Literal
from ..._models import BaseModel
@@ -8,8 +9,14 @@
class Caption(BaseModel):
+ generated: Optional[bool] = None
+ """Whether the caption was generated via AI."""
+
label: Optional[str] = None
"""The language label displayed in the native language to users."""
language: Optional[str] = None
"""The language tag in BCP 47 format."""
+
+ status: Optional[Literal["ready", "inprogress", "error"]] = None
+ """The status of a generated caption."""
diff --git a/src/cloudflare/types/stream/copy_create_params.py b/src/cloudflare/types/stream/copy_create_params.py
index 7049042d564..94338a1f17b 100644
--- a/src/cloudflare/types/stream/copy_create_params.py
+++ b/src/cloudflare/types/stream/copy_create_params.py
@@ -65,6 +65,16 @@ class CopyCreateParams(TypedDict, total=False):
watermark: Watermark
+ upload_creator: Annotated[str, PropertyInfo(alias="Upload-Creator")]
+ """A user-defined identifier for the media creator."""
+
+ upload_metadata: Annotated[str, PropertyInfo(alias="Upload-Metadata")]
+ """Comma-separated key-value pairs following the TUS protocol specification.
+
+ Values are Base-64 encoded. Supported keys: `name`, `requiresignedurls`,
+ `allowedorigins`, `thumbnailtimestamppct`, `watermark`, `scheduleddeletion`.
+ """
+
class Watermark(TypedDict, total=False):
uid: str
diff --git a/src/cloudflare/types/stream/direct_upload_create_params.py b/src/cloudflare/types/stream/direct_upload_create_params.py
index 6689ff92e37..7b4354993a1 100644
--- a/src/cloudflare/types/stream/direct_upload_create_params.py
+++ b/src/cloudflare/types/stream/direct_upload_create_params.py
@@ -68,6 +68,9 @@ class DirectUploadCreateParams(TypedDict, total=False):
watermark: Watermark
+ upload_creator: Annotated[str, PropertyInfo(alias="Upload-Creator")]
+ """A user-defined identifier for the media creator."""
+
class Watermark(TypedDict, total=False):
uid: str
diff --git a/src/cloudflare/types/stream/stream_create_params.py b/src/cloudflare/types/stream/stream_create_params.py
index 438ac398bc7..9585b05ec41 100644
--- a/src/cloudflare/types/stream/stream_create_params.py
+++ b/src/cloudflare/types/stream/stream_create_params.py
@@ -2,7 +2,9 @@
from __future__ import annotations
-from typing_extensions import Required, TypedDict
+from typing_extensions import Literal, Required, Annotated, TypedDict
+
+from ..._utils import PropertyInfo
__all__ = ["StreamCreateParams"]
@@ -12,3 +14,26 @@ class StreamCreateParams(TypedDict, total=False):
"""The account identifier tag."""
body: Required[object]
+
+ tus_resumable: Required[Annotated[Literal["1.0.0"], PropertyInfo(alias="Tus-Resumable")]]
+ """Specifies the TUS protocol version.
+
+ This value must be included in every upload request. Notes: The only supported
+ version of TUS protocol is 1.0.0.
+ """
+
+ upload_length: Required[Annotated[int, PropertyInfo(alias="Upload-Length")]]
+ """Indicates the size of the entire upload in bytes.
+
+ The value must be a non-negative integer.
+ """
+
+ upload_creator: Annotated[str, PropertyInfo(alias="Upload-Creator")]
+ """A user-defined identifier for the media creator."""
+
+ upload_metadata: Annotated[str, PropertyInfo(alias="Upload-Metadata")]
+ """Comma-separated key-value pairs following the TUS protocol specification.
+
+ Values are Base-64 encoded. Supported keys: `name`, `requiresignedurls`,
+ `allowedorigins`, `thumbnailtimestamppct`, `watermark`, `scheduleddeletion`.
+ """
diff --git a/src/cloudflare/types/url_scanner/__init__.py b/src/cloudflare/types/url_scanner/__init__.py
index dc7c82ec8f9..a533b1cdeb9 100644
--- a/src/cloudflare/types/url_scanner/__init__.py
+++ b/src/cloudflare/types/url_scanner/__init__.py
@@ -2,6 +2,7 @@
from __future__ import annotations
+from .scan_get_params import ScanGetParams as ScanGetParams
from .scan_get_response import ScanGetResponse as ScanGetResponse
from .scan_har_response import ScanHarResponse as ScanHarResponse
from .scan_create_params import ScanCreateParams as ScanCreateParams
diff --git a/src/cloudflare/types/url_scanner/scan_get_params.py b/src/cloudflare/types/url_scanner/scan_get_params.py
new file mode 100644
index 00000000000..3e19b2920f1
--- /dev/null
+++ b/src/cloudflare/types/url_scanner/scan_get_params.py
@@ -0,0 +1,17 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing_extensions import Required, Annotated, TypedDict
+
+from ..._utils import PropertyInfo
+
+__all__ = ["ScanGetParams"]
+
+
+class ScanGetParams(TypedDict, total=False):
+ account_id: Required[Annotated[str, PropertyInfo(alias="accountId")]]
+ """Account Id"""
+
+ full: bool
+ """Whether to return full report (scan summary and network log)."""
diff --git a/src/cloudflare/types/workers/scripts/content_update_params.py b/src/cloudflare/types/workers/scripts/content_update_params.py
index 8cc85869cad..f5c5e96e343 100644
--- a/src/cloudflare/types/workers/scripts/content_update_params.py
+++ b/src/cloudflare/types/workers/scripts/content_update_params.py
@@ -29,3 +29,7 @@ class ContentUpdateParams(TypedDict, total=False):
metadata: WorkerMetadataParam
"""JSON encoded metadata about the uploaded parts and Worker configuration."""
+
+ cf_worker_body_part: Annotated[str, PropertyInfo(alias="CF-WORKER-BODY-PART")]
+
+ cf_worker_main_module_part: Annotated[str, PropertyInfo(alias="CF-WORKER-MAIN-MODULE-PART")]
diff --git a/src/cloudflare/types/workers_for_platforms/dispatch/namespaces/scripts/content_update_params.py b/src/cloudflare/types/workers_for_platforms/dispatch/namespaces/scripts/content_update_params.py
index a9f9eceeb85..9f4d3118469 100644
--- a/src/cloudflare/types/workers_for_platforms/dispatch/namespaces/scripts/content_update_params.py
+++ b/src/cloudflare/types/workers_for_platforms/dispatch/namespaces/scripts/content_update_params.py
@@ -32,3 +32,7 @@ class ContentUpdateParams(TypedDict, total=False):
metadata: WorkerMetadataParam
"""JSON encoded metadata about the uploaded parts and Worker configuration."""
+
+ cf_worker_body_part: Annotated[str, PropertyInfo(alias="CF-WORKER-BODY-PART")]
+
+ cf_worker_main_module_part: Annotated[str, PropertyInfo(alias="CF-WORKER-MAIN-MODULE-PART")]
diff --git a/src/cloudflare/types/zero_trust/gateway/__init__.py b/src/cloudflare/types/zero_trust/gateway/__init__.py
index c3abd0c2212..e0f7ea5cf69 100644
--- a/src/cloudflare/types/zero_trust/gateway/__init__.py
+++ b/src/cloudflare/types/zero_trust/gateway/__init__.py
@@ -19,6 +19,7 @@
from .logging_setting import LoggingSetting as LoggingSetting
from .gateway_settings import GatewaySettings as GatewaySettings
from .list_edit_params import ListEditParams as ListEditParams
+from .list_list_params import ListListParams as ListListParams
from .location_network import LocationNetwork as LocationNetwork
from .gateway_item_param import GatewayItemParam as GatewayItemParam
from .list_create_params import ListCreateParams as ListCreateParams
@@ -42,17 +43,22 @@
from .location_network_param import LocationNetworkParam as LocationNetworkParam
from .location_update_params import LocationUpdateParams as LocationUpdateParams
from .extended_email_matching import ExtendedEmailMatching as ExtendedEmailMatching
+from .certificate_get_response import CertificateGetResponse as CertificateGetResponse
from .dns_resolver_settings_v4 import DNSResolverSettingsV4 as DNSResolverSettingsV4
from .dns_resolver_settings_v6 import DNSResolverSettingsV6 as DNSResolverSettingsV6
from .location_delete_response import LocationDeleteResponse as LocationDeleteResponse
from .protocol_detection_param import ProtocolDetectionParam as ProtocolDetectionParam
from .anti_virus_settings_param import AntiVirusSettingsParam as AntiVirusSettingsParam
from .block_page_settings_param import BlockPageSettingsParam as BlockPageSettingsParam
+from .certificate_create_params import CertificateCreateParams as CertificateCreateParams
+from .certificate_list_response import CertificateListResponse as CertificateListResponse
from .configuration_edit_params import ConfigurationEditParams as ConfigurationEditParams
from .browser_isolation_settings import BrowserIsolationSettings as BrowserIsolationSettings
from .configuration_get_response import ConfigurationGetResponse as ConfigurationGetResponse
from .proxy_endpoint_edit_params import ProxyEndpointEditParams as ProxyEndpointEditParams
from .activity_log_settings_param import ActivityLogSettingsParam as ActivityLogSettingsParam
+from .certificate_create_response import CertificateCreateResponse as CertificateCreateResponse
+from .certificate_delete_response import CertificateDeleteResponse as CertificateDeleteResponse
from .configuration_edit_response import ConfigurationEditResponse as ConfigurationEditResponse
from .configuration_update_params import ConfigurationUpdateParams as ConfigurationUpdateParams
from .custom_certificate_settings import CustomCertificateSettings as CustomCertificateSettings
diff --git a/src/cloudflare/types/zero_trust/gateway/certificate_create_params.py b/src/cloudflare/types/zero_trust/gateway/certificate_create_params.py
new file mode 100644
index 00000000000..1de699e498c
--- /dev/null
+++ b/src/cloudflare/types/zero_trust/gateway/certificate_create_params.py
@@ -0,0 +1,17 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing_extensions import Required, TypedDict
+
+__all__ = ["CertificateCreateParams"]
+
+
+class CertificateCreateParams(TypedDict, total=False):
+ account_id: Required[str]
+
+ validity_period_days: int
+ """
+ Number of days the generated certificate will be valid, minimum 1 day and
+ maximum 30 years. Defaults to 5 years.
+ """
diff --git a/src/cloudflare/types/zero_trust/gateway/certificate_create_response.py b/src/cloudflare/types/zero_trust/gateway/certificate_create_response.py
new file mode 100644
index 00000000000..f80dc62369e
--- /dev/null
+++ b/src/cloudflare/types/zero_trust/gateway/certificate_create_response.py
@@ -0,0 +1,31 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing import Optional
+from datetime import datetime
+from typing_extensions import Literal
+
+from ...._models import BaseModel
+
+__all__ = ["CertificateCreateResponse"]
+
+
+class CertificateCreateResponse(BaseModel):
+ id: Optional[str] = None
+ """Certificate UUID tag."""
+
+ binding_status: Optional[Literal["pending_deployment", "active", "pending_deletion", "inactive"]] = None
+ """The deployment status of the certificate on Cloudflare's edge."""
+
+ created_at: Optional[datetime] = None
+
+ enabled: Optional[bool] = None
+ """Use this certificate for Gateway TLS interception"""
+
+ expires_on: Optional[datetime] = None
+
+ type: Optional[Literal["custom", "gateway_managed"]] = None
+ """The type of certificate, either BYO-PKI (custom) or Gateway-managed."""
+
+ updated_at: Optional[datetime] = None
+
+ uploaded_on: Optional[datetime] = None
diff --git a/src/cloudflare/types/zero_trust/gateway/certificate_delete_response.py b/src/cloudflare/types/zero_trust/gateway/certificate_delete_response.py
new file mode 100644
index 00000000000..b8e44b1a35b
--- /dev/null
+++ b/src/cloudflare/types/zero_trust/gateway/certificate_delete_response.py
@@ -0,0 +1,31 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing import Optional
+from datetime import datetime
+from typing_extensions import Literal
+
+from ...._models import BaseModel
+
+__all__ = ["CertificateDeleteResponse"]
+
+
+class CertificateDeleteResponse(BaseModel):
+ id: Optional[str] = None
+ """Certificate UUID tag."""
+
+ binding_status: Optional[Literal["pending_deployment", "active", "pending_deletion", "inactive"]] = None
+ """The deployment status of the certificate on Cloudflare's edge."""
+
+ created_at: Optional[datetime] = None
+
+ enabled: Optional[bool] = None
+ """Use this certificate for Gateway TLS interception"""
+
+ expires_on: Optional[datetime] = None
+
+ type: Optional[Literal["custom", "gateway_managed"]] = None
+ """The type of certificate, either BYO-PKI (custom) or Gateway-managed."""
+
+ updated_at: Optional[datetime] = None
+
+ uploaded_on: Optional[datetime] = None
diff --git a/src/cloudflare/types/zero_trust/gateway/certificate_get_response.py b/src/cloudflare/types/zero_trust/gateway/certificate_get_response.py
new file mode 100644
index 00000000000..6a702b1122f
--- /dev/null
+++ b/src/cloudflare/types/zero_trust/gateway/certificate_get_response.py
@@ -0,0 +1,31 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing import Optional
+from datetime import datetime
+from typing_extensions import Literal
+
+from ...._models import BaseModel
+
+__all__ = ["CertificateGetResponse"]
+
+
+class CertificateGetResponse(BaseModel):
+ id: Optional[str] = None
+ """Certificate UUID tag."""
+
+ binding_status: Optional[Literal["pending_deployment", "active", "pending_deletion", "inactive"]] = None
+ """The deployment status of the certificate on Cloudflare's edge."""
+
+ created_at: Optional[datetime] = None
+
+ enabled: Optional[bool] = None
+ """Use this certificate for Gateway TLS interception"""
+
+ expires_on: Optional[datetime] = None
+
+ type: Optional[Literal["custom", "gateway_managed"]] = None
+ """The type of certificate, either BYO-PKI (custom) or Gateway-managed."""
+
+ updated_at: Optional[datetime] = None
+
+ uploaded_on: Optional[datetime] = None
diff --git a/src/cloudflare/types/zero_trust/gateway/certificate_list_response.py b/src/cloudflare/types/zero_trust/gateway/certificate_list_response.py
new file mode 100644
index 00000000000..322c092fcaf
--- /dev/null
+++ b/src/cloudflare/types/zero_trust/gateway/certificate_list_response.py
@@ -0,0 +1,31 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing import Optional
+from datetime import datetime
+from typing_extensions import Literal
+
+from ...._models import BaseModel
+
+__all__ = ["CertificateListResponse"]
+
+
+class CertificateListResponse(BaseModel):
+ id: Optional[str] = None
+ """Certificate UUID tag."""
+
+ binding_status: Optional[Literal["pending_deployment", "active", "pending_deletion", "inactive"]] = None
+ """The deployment status of the certificate on Cloudflare's edge."""
+
+ created_at: Optional[datetime] = None
+
+ enabled: Optional[bool] = None
+ """Use this certificate for Gateway TLS interception"""
+
+ expires_on: Optional[datetime] = None
+
+ type: Optional[Literal["custom", "gateway_managed"]] = None
+ """The type of certificate, either BYO-PKI (custom) or Gateway-managed."""
+
+ updated_at: Optional[datetime] = None
+
+ uploaded_on: Optional[datetime] = None
diff --git a/src/cloudflare/types/zero_trust/gateway/gateway_configuration_settings.py b/src/cloudflare/types/zero_trust/gateway/gateway_configuration_settings.py
index 13705c996f6..5504ecf870a 100644
--- a/src/cloudflare/types/zero_trust/gateway/gateway_configuration_settings.py
+++ b/src/cloudflare/types/zero_trust/gateway/gateway_configuration_settings.py
@@ -14,7 +14,12 @@
from .browser_isolation_settings import BrowserIsolationSettings
from .custom_certificate_settings import CustomCertificateSettings
-__all__ = ["GatewayConfigurationSettings"]
+__all__ = ["GatewayConfigurationSettings", "Certificate"]
+
+
+class Certificate(BaseModel):
+ id: str
+ """UUID of certificate to be used for interception."""
class GatewayConfigurationSettings(BaseModel):
@@ -33,8 +38,17 @@ class GatewayConfigurationSettings(BaseModel):
browser_isolation: Optional[BrowserIsolationSettings] = None
"""Browser isolation settings."""
+ certificate: Optional[Certificate] = None
+ """Certificate settings for Gateway TLS interception.
+
+ If not specified, the Cloudflare Root CA will be used.
+ """
+
custom_certificate: Optional[CustomCertificateSettings] = None
- """Custom certificate settings for BYO-PKI."""
+ """Custom certificate settings for BYO-PKI.
+
+ (deprecated and replaced by `certificate`)
+ """
extended_email_matching: Optional[ExtendedEmailMatching] = None
"""Extended e-mail matching settings."""
diff --git a/src/cloudflare/types/zero_trust/gateway/gateway_configuration_settings_param.py b/src/cloudflare/types/zero_trust/gateway/gateway_configuration_settings_param.py
index 8b0b1443581..11cea789954 100644
--- a/src/cloudflare/types/zero_trust/gateway/gateway_configuration_settings_param.py
+++ b/src/cloudflare/types/zero_trust/gateway/gateway_configuration_settings_param.py
@@ -2,7 +2,7 @@
from __future__ import annotations
-from typing_extensions import TypedDict
+from typing_extensions import Required, TypedDict
from .tls_settings_param import TLSSettingsParam
from .fips_settings_param import FipsSettingsParam
@@ -15,7 +15,12 @@
from .browser_isolation_settings_param import BrowserIsolationSettingsParam
from .custom_certificate_settings_param import CustomCertificateSettingsParam
-__all__ = ["GatewayConfigurationSettingsParam"]
+__all__ = ["GatewayConfigurationSettingsParam", "Certificate"]
+
+
+class Certificate(TypedDict, total=False):
+ id: Required[str]
+ """UUID of certificate to be used for interception."""
class GatewayConfigurationSettingsParam(TypedDict, total=False):
@@ -34,8 +39,17 @@ class GatewayConfigurationSettingsParam(TypedDict, total=False):
browser_isolation: BrowserIsolationSettingsParam
"""Browser isolation settings."""
+ certificate: Certificate
+ """Certificate settings for Gateway TLS interception.
+
+ If not specified, the Cloudflare Root CA will be used.
+ """
+
custom_certificate: CustomCertificateSettingsParam
- """Custom certificate settings for BYO-PKI."""
+ """Custom certificate settings for BYO-PKI.
+
+ (deprecated and replaced by `certificate`)
+ """
extended_email_matching: ExtendedEmailMatchingParam
"""Extended e-mail matching settings."""
diff --git a/src/cloudflare/types/zero_trust/gateway/gateway_item.py b/src/cloudflare/types/zero_trust/gateway/gateway_item.py
index 44efdae06e5..7d6c7f3cdd1 100644
--- a/src/cloudflare/types/zero_trust/gateway/gateway_item.py
+++ b/src/cloudflare/types/zero_trust/gateway/gateway_item.py
@@ -11,5 +11,8 @@
class GatewayItem(BaseModel):
created_at: Optional[datetime] = None
+ description: Optional[str] = None
+ """The description of the list item, if present"""
+
value: Optional[str] = None
"""The value of the item in a list."""
diff --git a/src/cloudflare/types/zero_trust/gateway/gateway_item_param.py b/src/cloudflare/types/zero_trust/gateway/gateway_item_param.py
index 5b5d081859d..b9354f12b21 100644
--- a/src/cloudflare/types/zero_trust/gateway/gateway_item_param.py
+++ b/src/cloudflare/types/zero_trust/gateway/gateway_item_param.py
@@ -2,11 +2,20 @@
from __future__ import annotations
-from typing_extensions import TypedDict
+from typing import Union
+from datetime import datetime
+from typing_extensions import Annotated, TypedDict
+
+from ...._utils import PropertyInfo
__all__ = ["GatewayItemParam"]
class GatewayItemParam(TypedDict, total=False):
+ created_at: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
+
+ description: str
+ """The description of the list item, if present"""
+
value: str
"""The value of the item in a list."""
diff --git a/src/cloudflare/types/zero_trust/gateway/list_list_params.py b/src/cloudflare/types/zero_trust/gateway/list_list_params.py
new file mode 100644
index 00000000000..30c9d6123e6
--- /dev/null
+++ b/src/cloudflare/types/zero_trust/gateway/list_list_params.py
@@ -0,0 +1,14 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing_extensions import Literal, Required, TypedDict
+
+__all__ = ["ListListParams"]
+
+
+class ListListParams(TypedDict, total=False):
+ account_id: Required[str]
+
+ type: Literal["SERIAL", "URL", "DOMAIN", "EMAIL", "IP"]
+ """The type of list."""
diff --git a/src/cloudflare/types/zero_trust/gateway/rule_setting.py b/src/cloudflare/types/zero_trust/gateway/rule_setting.py
index 9af12528729..1e87ca2204e 100644
--- a/src/cloudflare/types/zero_trust/gateway/rule_setting.py
+++ b/src/cloudflare/types/zero_trust/gateway/rule_setting.py
@@ -28,19 +28,19 @@ class AuditSSH(BaseModel):
class BisoAdminControls(BaseModel):
dcp: Optional[bool] = None
- """Set to true to enable copy-pasting."""
+ """Set to false to enable copy-pasting."""
dd: Optional[bool] = None
- """Set to true to enable downloading."""
+ """Set to false to enable downloading."""
dk: Optional[bool] = None
- """Set to true to enable keyboard usage."""
+ """Set to false to enable keyboard usage."""
dp: Optional[bool] = None
- """Set to true to enable printing."""
+ """Set to false to enable printing."""
du: Optional[bool] = None
- """Set to true to enable uploading."""
+ """Set to false to enable uploading."""
class CheckSession(BaseModel):
@@ -153,6 +153,13 @@ class RuleSetting(BaseModel):
it to indicate local egress via WARP IPs.
"""
+ ignore_cname_category_matches: Optional[bool] = None
+ """Set to true, to ignore the category matches at CNAME domains in a response.
+
+ If unchecked, the categories in this rule will be checked against all the CNAME
+ domain categories in a response.
+ """
+
insecure_disable_dnssec_validation: Optional[bool] = None
"""INSECURE - disable DNSSEC validation (for Allow actions)."""
diff --git a/src/cloudflare/types/zero_trust/gateway/rule_setting_param.py b/src/cloudflare/types/zero_trust/gateway/rule_setting_param.py
index 62fe1523f29..0992e550137 100644
--- a/src/cloudflare/types/zero_trust/gateway/rule_setting_param.py
+++ b/src/cloudflare/types/zero_trust/gateway/rule_setting_param.py
@@ -29,19 +29,19 @@ class AuditSSH(TypedDict, total=False):
class BisoAdminControls(TypedDict, total=False):
dcp: bool
- """Set to true to enable copy-pasting."""
+ """Set to false to enable copy-pasting."""
dd: bool
- """Set to true to enable downloading."""
+ """Set to false to enable downloading."""
dk: bool
- """Set to true to enable keyboard usage."""
+ """Set to false to enable keyboard usage."""
dp: bool
- """Set to true to enable printing."""
+ """Set to false to enable printing."""
du: bool
- """Set to true to enable uploading."""
+ """Set to false to enable uploading."""
class CheckSession(TypedDict, total=False):
@@ -154,6 +154,13 @@ class RuleSettingParam(TypedDict, total=False):
it to indicate local egress via WARP IPs.
"""
+ ignore_cname_category_matches: bool
+ """Set to true, to ignore the category matches at CNAME domains in a response.
+
+ If unchecked, the categories in this rule will be checked against all the CNAME
+ domain categories in a response.
+ """
+
insecure_disable_dnssec_validation: bool
"""INSECURE - disable DNSSEC validation (for Allow actions)."""
diff --git a/tests/api_resources/ai_gateway/test_logs.py b/tests/api_resources/ai_gateway/test_logs.py
index 78439db3a89..79fbfbf7ca0 100644
--- a/tests/api_resources/ai_gateway/test_logs.py
+++ b/tests/api_resources/ai_gateway/test_logs.py
@@ -10,7 +10,8 @@
from cloudflare import Cloudflare, AsyncCloudflare
from tests.utils import assert_matches_type
from cloudflare._utils import parse_datetime
-from cloudflare.types.ai_gateway import LogGetResponse
+from cloudflare.pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray
+from cloudflare.types.ai_gateway import LogListResponse
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -19,16 +20,16 @@ class TestLogs:
parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
@parametrize
- def test_method_get(self, client: Cloudflare) -> None:
- log = client.ai_gateway.logs.get(
+ def test_method_list(self, client: Cloudflare) -> None:
+ log = client.ai_gateway.logs.list(
"my-gateway",
account_id="0d37909e38d3e99c29fa2cd343ac421a",
)
- assert_matches_type(LogGetResponse, log, path=["response"])
+ assert_matches_type(SyncV4PagePaginationArray[LogListResponse], log, path=["response"])
@parametrize
- def test_method_get_with_all_params(self, client: Cloudflare) -> None:
- log = client.ai_gateway.logs.get(
+ def test_method_list_with_all_params(self, client: Cloudflare) -> None:
+ log = client.ai_gateway.logs.list(
"my-gateway",
account_id="0d37909e38d3e99c29fa2cd343ac421a",
cached=True,
@@ -41,11 +42,11 @@ def test_method_get_with_all_params(self, client: Cloudflare) -> None:
start_date=parse_datetime("2019-12-27T18:11:19.117Z"),
success=True,
)
- assert_matches_type(LogGetResponse, log, path=["response"])
+ assert_matches_type(SyncV4PagePaginationArray[LogListResponse], log, path=["response"])
@parametrize
- def test_raw_response_get(self, client: Cloudflare) -> None:
- response = client.ai_gateway.logs.with_raw_response.get(
+ def test_raw_response_list(self, client: Cloudflare) -> None:
+ response = client.ai_gateway.logs.with_raw_response.list(
"my-gateway",
account_id="0d37909e38d3e99c29fa2cd343ac421a",
)
@@ -53,11 +54,11 @@ def test_raw_response_get(self, client: Cloudflare) -> None:
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
log = response.parse()
- assert_matches_type(LogGetResponse, log, path=["response"])
+ assert_matches_type(SyncV4PagePaginationArray[LogListResponse], log, path=["response"])
@parametrize
- def test_streaming_response_get(self, client: Cloudflare) -> None:
- with client.ai_gateway.logs.with_streaming_response.get(
+ def test_streaming_response_list(self, client: Cloudflare) -> None:
+ with client.ai_gateway.logs.with_streaming_response.list(
"my-gateway",
account_id="0d37909e38d3e99c29fa2cd343ac421a",
) as response:
@@ -65,20 +66,20 @@ def test_streaming_response_get(self, client: Cloudflare) -> None:
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
log = response.parse()
- assert_matches_type(LogGetResponse, log, path=["response"])
+ assert_matches_type(SyncV4PagePaginationArray[LogListResponse], log, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
- def test_path_params_get(self, client: Cloudflare) -> None:
+ def test_path_params_list(self, client: Cloudflare) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- client.ai_gateway.logs.with_raw_response.get(
+ client.ai_gateway.logs.with_raw_response.list(
"my-gateway",
account_id="",
)
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- client.ai_gateway.logs.with_raw_response.get(
+ client.ai_gateway.logs.with_raw_response.list(
"",
account_id="0d37909e38d3e99c29fa2cd343ac421a",
)
@@ -88,16 +89,16 @@ class TestAsyncLogs:
parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"])
@parametrize
- async def test_method_get(self, async_client: AsyncCloudflare) -> None:
- log = await async_client.ai_gateway.logs.get(
+ async def test_method_list(self, async_client: AsyncCloudflare) -> None:
+ log = await async_client.ai_gateway.logs.list(
"my-gateway",
account_id="0d37909e38d3e99c29fa2cd343ac421a",
)
- assert_matches_type(LogGetResponse, log, path=["response"])
+ assert_matches_type(AsyncV4PagePaginationArray[LogListResponse], log, path=["response"])
@parametrize
- async def test_method_get_with_all_params(self, async_client: AsyncCloudflare) -> None:
- log = await async_client.ai_gateway.logs.get(
+ async def test_method_list_with_all_params(self, async_client: AsyncCloudflare) -> None:
+ log = await async_client.ai_gateway.logs.list(
"my-gateway",
account_id="0d37909e38d3e99c29fa2cd343ac421a",
cached=True,
@@ -110,11 +111,11 @@ async def test_method_get_with_all_params(self, async_client: AsyncCloudflare) -
start_date=parse_datetime("2019-12-27T18:11:19.117Z"),
success=True,
)
- assert_matches_type(LogGetResponse, log, path=["response"])
+ assert_matches_type(AsyncV4PagePaginationArray[LogListResponse], log, path=["response"])
@parametrize
- async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
- response = await async_client.ai_gateway.logs.with_raw_response.get(
+ async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None:
+ response = await async_client.ai_gateway.logs.with_raw_response.list(
"my-gateway",
account_id="0d37909e38d3e99c29fa2cd343ac421a",
)
@@ -122,11 +123,11 @@ async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
log = await response.parse()
- assert_matches_type(LogGetResponse, log, path=["response"])
+ assert_matches_type(AsyncV4PagePaginationArray[LogListResponse], log, path=["response"])
@parametrize
- async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> None:
- async with async_client.ai_gateway.logs.with_streaming_response.get(
+ async def test_streaming_response_list(self, async_client: AsyncCloudflare) -> None:
+ async with async_client.ai_gateway.logs.with_streaming_response.list(
"my-gateway",
account_id="0d37909e38d3e99c29fa2cd343ac421a",
) as response:
@@ -134,20 +135,20 @@ async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> No
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
log = await response.parse()
- assert_matches_type(LogGetResponse, log, path=["response"])
+ assert_matches_type(AsyncV4PagePaginationArray[LogListResponse], log, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
- async def test_path_params_get(self, async_client: AsyncCloudflare) -> None:
+ async def test_path_params_list(self, async_client: AsyncCloudflare) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- await async_client.ai_gateway.logs.with_raw_response.get(
+ await async_client.ai_gateway.logs.with_raw_response.list(
"my-gateway",
account_id="",
)
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- await async_client.ai_gateway.logs.with_raw_response.get(
+ await async_client.ai_gateway.logs.with_raw_response.list(
"",
account_id="0d37909e38d3e99c29fa2cd343ac421a",
)
diff --git a/tests/api_resources/api_gateway/settings/test_schema_validation.py b/tests/api_resources/api_gateway/settings/test_schema_validation.py
index f0d5bb47925..2441b86a24c 100644
--- a/tests/api_resources/api_gateway/settings/test_schema_validation.py
+++ b/tests/api_resources/api_gateway/settings/test_schema_validation.py
@@ -9,7 +9,9 @@
from cloudflare import Cloudflare, AsyncCloudflare
from tests.utils import assert_matches_type
-from cloudflare.types.api_gateway.settings import Settings
+from cloudflare.types.api_gateway.settings import (
+ Settings,
+)
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -68,6 +70,53 @@ def test_path_params_update(self, client: Cloudflare) -> None:
validation_default_mitigation_action="block",
)
+ @parametrize
+ def test_method_edit(self, client: Cloudflare) -> None:
+ schema_validation = client.api_gateway.settings.schema_validation.edit(
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
+ )
+ assert_matches_type(Settings, schema_validation, path=["response"])
+
+ @parametrize
+ def test_method_edit_with_all_params(self, client: Cloudflare) -> None:
+ schema_validation = client.api_gateway.settings.schema_validation.edit(
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
+ validation_default_mitigation_action="block",
+ validation_override_mitigation_action="none",
+ )
+ assert_matches_type(Settings, schema_validation, path=["response"])
+
+ @parametrize
+ def test_raw_response_edit(self, client: Cloudflare) -> None:
+ response = client.api_gateway.settings.schema_validation.with_raw_response.edit(
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ schema_validation = response.parse()
+ assert_matches_type(Settings, schema_validation, path=["response"])
+
+ @parametrize
+ def test_streaming_response_edit(self, client: Cloudflare) -> None:
+ with client.api_gateway.settings.schema_validation.with_streaming_response.edit(
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ schema_validation = response.parse()
+ assert_matches_type(Settings, schema_validation, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ def test_path_params_edit(self, client: Cloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `zone_id` but received ''"):
+ client.api_gateway.settings.schema_validation.with_raw_response.edit(
+ zone_id="",
+ )
+
@parametrize
def test_method_get(self, client: Cloudflare) -> None:
schema_validation = client.api_gateway.settings.schema_validation.get(
@@ -161,6 +210,53 @@ async def test_path_params_update(self, async_client: AsyncCloudflare) -> None:
validation_default_mitigation_action="block",
)
+ @parametrize
+ async def test_method_edit(self, async_client: AsyncCloudflare) -> None:
+ schema_validation = await async_client.api_gateway.settings.schema_validation.edit(
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
+ )
+ assert_matches_type(Settings, schema_validation, path=["response"])
+
+ @parametrize
+ async def test_method_edit_with_all_params(self, async_client: AsyncCloudflare) -> None:
+ schema_validation = await async_client.api_gateway.settings.schema_validation.edit(
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
+ validation_default_mitigation_action="block",
+ validation_override_mitigation_action="none",
+ )
+ assert_matches_type(Settings, schema_validation, path=["response"])
+
+ @parametrize
+ async def test_raw_response_edit(self, async_client: AsyncCloudflare) -> None:
+ response = await async_client.api_gateway.settings.schema_validation.with_raw_response.edit(
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ schema_validation = await response.parse()
+ assert_matches_type(Settings, schema_validation, path=["response"])
+
+ @parametrize
+ async def test_streaming_response_edit(self, async_client: AsyncCloudflare) -> None:
+ async with async_client.api_gateway.settings.schema_validation.with_streaming_response.edit(
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ schema_validation = await response.parse()
+ assert_matches_type(Settings, schema_validation, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_edit(self, async_client: AsyncCloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `zone_id` but received ''"):
+ await async_client.api_gateway.settings.schema_validation.with_raw_response.edit(
+ zone_id="",
+ )
+
@parametrize
async def test_method_get(self, async_client: AsyncCloudflare) -> None:
schema_validation = await async_client.api_gateway.settings.schema_validation.get(
diff --git a/tests/api_resources/api_gateway/test_schema_validation.py b/tests/api_resources/api_gateway/test_schema_validation.py
deleted file mode 100644
index dbe446a6c02..00000000000
--- a/tests/api_resources/api_gateway/test_schema_validation.py
+++ /dev/null
@@ -1,116 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-import os
-from typing import Any, cast
-
-import pytest
-
-from cloudflare import Cloudflare, AsyncCloudflare
-from tests.utils import assert_matches_type
-from cloudflare.types.api_gateway.settings import Settings
-
-base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
-
-
-class TestSchemaValidation:
- parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
-
- @parametrize
- def test_method_edit(self, client: Cloudflare) -> None:
- schema_validation = client.api_gateway.schema_validation.edit(
- zone_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
- assert_matches_type(Settings, schema_validation, path=["response"])
-
- @parametrize
- def test_method_edit_with_all_params(self, client: Cloudflare) -> None:
- schema_validation = client.api_gateway.schema_validation.edit(
- zone_id="023e105f4ecef8ad9ca31a8372d0c353",
- validation_default_mitigation_action="block",
- validation_override_mitigation_action="none",
- )
- assert_matches_type(Settings, schema_validation, path=["response"])
-
- @parametrize
- def test_raw_response_edit(self, client: Cloudflare) -> None:
- response = client.api_gateway.schema_validation.with_raw_response.edit(
- zone_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- schema_validation = response.parse()
- assert_matches_type(Settings, schema_validation, path=["response"])
-
- @parametrize
- def test_streaming_response_edit(self, client: Cloudflare) -> None:
- with client.api_gateway.schema_validation.with_streaming_response.edit(
- zone_id="023e105f4ecef8ad9ca31a8372d0c353",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- schema_validation = response.parse()
- assert_matches_type(Settings, schema_validation, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- def test_path_params_edit(self, client: Cloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `zone_id` but received ''"):
- client.api_gateway.schema_validation.with_raw_response.edit(
- zone_id="",
- )
-
-
-class TestAsyncSchemaValidation:
- parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"])
-
- @parametrize
- async def test_method_edit(self, async_client: AsyncCloudflare) -> None:
- schema_validation = await async_client.api_gateway.schema_validation.edit(
- zone_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
- assert_matches_type(Settings, schema_validation, path=["response"])
-
- @parametrize
- async def test_method_edit_with_all_params(self, async_client: AsyncCloudflare) -> None:
- schema_validation = await async_client.api_gateway.schema_validation.edit(
- zone_id="023e105f4ecef8ad9ca31a8372d0c353",
- validation_default_mitigation_action="block",
- validation_override_mitigation_action="none",
- )
- assert_matches_type(Settings, schema_validation, path=["response"])
-
- @parametrize
- async def test_raw_response_edit(self, async_client: AsyncCloudflare) -> None:
- response = await async_client.api_gateway.schema_validation.with_raw_response.edit(
- zone_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- schema_validation = await response.parse()
- assert_matches_type(Settings, schema_validation, path=["response"])
-
- @parametrize
- async def test_streaming_response_edit(self, async_client: AsyncCloudflare) -> None:
- async with async_client.api_gateway.schema_validation.with_streaming_response.edit(
- zone_id="023e105f4ecef8ad9ca31a8372d0c353",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- schema_validation = await response.parse()
- assert_matches_type(Settings, schema_validation, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- async def test_path_params_edit(self, async_client: AsyncCloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `zone_id` but received ''"):
- await async_client.api_gateway.schema_validation.with_raw_response.edit(
- zone_id="",
- )
diff --git a/tests/api_resources/dns/test_records.py b/tests/api_resources/dns/test_records.py
index afb7b9304be..55ae9e690a8 100644
--- a/tests/api_resources/dns/test_records.py
+++ b/tests/api_resources/dns/test_records.py
@@ -42,6 +42,7 @@ def test_method_create_with_all_params_overload_1(self, client: Cloudflare) -> N
content="198.51.100.4",
name="example.com",
type="A",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -111,6 +112,7 @@ def test_method_create_with_all_params_overload_2(self, client: Cloudflare) -> N
content="2400:cb00:2049::1",
name="example.com",
type="AAAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -184,6 +186,7 @@ def test_method_create_with_all_params_overload_3(self, client: Cloudflare) -> N
},
name="example.com",
type="CAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -257,6 +260,7 @@ def test_method_create_with_all_params_overload_4(self, client: Cloudflare) -> N
},
name="example.com",
type="CERT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -325,6 +329,7 @@ def test_method_create_with_all_params_overload_5(self, client: Cloudflare) -> N
content={},
name="example.com",
type="CNAME",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -399,6 +404,7 @@ def test_method_create_with_all_params_overload_6(self, client: Cloudflare) -> N
},
name="example.com",
type="DNSKEY",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -472,6 +478,7 @@ def test_method_create_with_all_params_overload_7(self, client: Cloudflare) -> N
},
name="example.com",
type="DS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -544,6 +551,7 @@ def test_method_create_with_all_params_overload_8(self, client: Cloudflare) -> N
},
name="example.com",
type="HTTPS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -625,6 +633,7 @@ def test_method_create_with_all_params_overload_9(self, client: Cloudflare) -> N
},
name="example.com",
type="LOC",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -695,6 +704,7 @@ def test_method_create_with_all_params_overload_10(self, client: Cloudflare) ->
name="example.com",
priority=10,
type="MX",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -773,6 +783,7 @@ def test_method_create_with_all_params_overload_11(self, client: Cloudflare) ->
},
name="example.com",
type="NAPTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -841,6 +852,7 @@ def test_method_create_with_all_params_overload_12(self, client: Cloudflare) ->
content="ns1.example.com",
name="example.com",
type="NS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -909,6 +921,7 @@ def test_method_create_with_all_params_overload_13(self, client: Cloudflare) ->
content="example.com",
name="example.com",
type="PTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -982,6 +995,7 @@ def test_method_create_with_all_params_overload_14(self, client: Cloudflare) ->
},
name="example.com",
type="SMIMEA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -1058,6 +1072,7 @@ def test_method_create_with_all_params_overload_15(self, client: Cloudflare) ->
},
name="_sip._tcp.example.com",
type="SRV",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -1130,6 +1145,7 @@ def test_method_create_with_all_params_overload_16(self, client: Cloudflare) ->
},
name="example.com",
type="SSHFP",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -1202,6 +1218,7 @@ def test_method_create_with_all_params_overload_17(self, client: Cloudflare) ->
},
name="example.com",
type="SVCB",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -1275,6 +1292,7 @@ def test_method_create_with_all_params_overload_18(self, client: Cloudflare) ->
},
name="example.com",
type="TLSA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -1343,6 +1361,7 @@ def test_method_create_with_all_params_overload_19(self, client: Cloudflare) ->
content="example text content",
name="example.com",
type="TXT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -1416,6 +1435,7 @@ def test_method_create_with_all_params_overload_20(self, client: Cloudflare) ->
name="example.com",
priority=10,
type="URI",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -1489,6 +1509,7 @@ def test_method_update_with_all_params_overload_1(self, client: Cloudflare) -> N
content="198.51.100.4",
name="example.com",
type="A",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -1572,6 +1593,7 @@ def test_method_update_with_all_params_overload_2(self, client: Cloudflare) -> N
content="2400:cb00:2049::1",
name="example.com",
type="AAAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -1659,6 +1681,7 @@ def test_method_update_with_all_params_overload_3(self, client: Cloudflare) -> N
},
name="example.com",
type="CAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -1746,6 +1769,7 @@ def test_method_update_with_all_params_overload_4(self, client: Cloudflare) -> N
},
name="example.com",
type="CERT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -1828,6 +1852,7 @@ def test_method_update_with_all_params_overload_5(self, client: Cloudflare) -> N
content={},
name="example.com",
type="CNAME",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -1916,6 +1941,7 @@ def test_method_update_with_all_params_overload_6(self, client: Cloudflare) -> N
},
name="example.com",
type="DNSKEY",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2003,6 +2029,7 @@ def test_method_update_with_all_params_overload_7(self, client: Cloudflare) -> N
},
name="example.com",
type="DS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2089,6 +2116,7 @@ def test_method_update_with_all_params_overload_8(self, client: Cloudflare) -> N
},
name="example.com",
type="HTTPS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2184,6 +2212,7 @@ def test_method_update_with_all_params_overload_9(self, client: Cloudflare) -> N
},
name="example.com",
type="LOC",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2268,6 +2297,7 @@ def test_method_update_with_all_params_overload_10(self, client: Cloudflare) ->
name="example.com",
priority=10,
type="MX",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2361,6 +2391,7 @@ def test_method_update_with_all_params_overload_11(self, client: Cloudflare) ->
},
name="example.com",
type="NAPTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2443,6 +2474,7 @@ def test_method_update_with_all_params_overload_12(self, client: Cloudflare) ->
content="ns1.example.com",
name="example.com",
type="NS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2525,6 +2557,7 @@ def test_method_update_with_all_params_overload_13(self, client: Cloudflare) ->
content="example.com",
name="example.com",
type="PTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2612,6 +2645,7 @@ def test_method_update_with_all_params_overload_14(self, client: Cloudflare) ->
},
name="example.com",
type="SMIMEA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2702,6 +2736,7 @@ def test_method_update_with_all_params_overload_15(self, client: Cloudflare) ->
},
name="_sip._tcp.example.com",
type="SRV",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2788,6 +2823,7 @@ def test_method_update_with_all_params_overload_16(self, client: Cloudflare) ->
},
name="example.com",
type="SSHFP",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2874,6 +2910,7 @@ def test_method_update_with_all_params_overload_17(self, client: Cloudflare) ->
},
name="example.com",
type="SVCB",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -2961,6 +2998,7 @@ def test_method_update_with_all_params_overload_18(self, client: Cloudflare) ->
},
name="example.com",
type="TLSA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -3043,6 +3081,7 @@ def test_method_update_with_all_params_overload_19(self, client: Cloudflare) ->
content="example text content",
name="example.com",
type="TXT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -3130,6 +3169,7 @@ def test_method_update_with_all_params_overload_20(self, client: Cloudflare) ->
name="example.com",
priority=10,
type="URI",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -3336,6 +3376,7 @@ def test_method_edit_with_all_params_overload_1(self, client: Cloudflare) -> Non
content="198.51.100.4",
name="example.com",
type="A",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -3419,6 +3460,7 @@ def test_method_edit_with_all_params_overload_2(self, client: Cloudflare) -> Non
content="2400:cb00:2049::1",
name="example.com",
type="AAAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -3506,6 +3548,7 @@ def test_method_edit_with_all_params_overload_3(self, client: Cloudflare) -> Non
},
name="example.com",
type="CAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -3593,6 +3636,7 @@ def test_method_edit_with_all_params_overload_4(self, client: Cloudflare) -> Non
},
name="example.com",
type="CERT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -3675,6 +3719,7 @@ def test_method_edit_with_all_params_overload_5(self, client: Cloudflare) -> Non
content={},
name="example.com",
type="CNAME",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -3763,6 +3808,7 @@ def test_method_edit_with_all_params_overload_6(self, client: Cloudflare) -> Non
},
name="example.com",
type="DNSKEY",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -3850,6 +3896,7 @@ def test_method_edit_with_all_params_overload_7(self, client: Cloudflare) -> Non
},
name="example.com",
type="DS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -3936,6 +3983,7 @@ def test_method_edit_with_all_params_overload_8(self, client: Cloudflare) -> Non
},
name="example.com",
type="HTTPS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4031,6 +4079,7 @@ def test_method_edit_with_all_params_overload_9(self, client: Cloudflare) -> Non
},
name="example.com",
type="LOC",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4115,6 +4164,7 @@ def test_method_edit_with_all_params_overload_10(self, client: Cloudflare) -> No
name="example.com",
priority=10,
type="MX",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4208,6 +4258,7 @@ def test_method_edit_with_all_params_overload_11(self, client: Cloudflare) -> No
},
name="example.com",
type="NAPTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4290,6 +4341,7 @@ def test_method_edit_with_all_params_overload_12(self, client: Cloudflare) -> No
content="ns1.example.com",
name="example.com",
type="NS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4372,6 +4424,7 @@ def test_method_edit_with_all_params_overload_13(self, client: Cloudflare) -> No
content="example.com",
name="example.com",
type="PTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4459,6 +4512,7 @@ def test_method_edit_with_all_params_overload_14(self, client: Cloudflare) -> No
},
name="example.com",
type="SMIMEA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4549,6 +4603,7 @@ def test_method_edit_with_all_params_overload_15(self, client: Cloudflare) -> No
},
name="_sip._tcp.example.com",
type="SRV",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4635,6 +4690,7 @@ def test_method_edit_with_all_params_overload_16(self, client: Cloudflare) -> No
},
name="example.com",
type="SSHFP",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4721,6 +4777,7 @@ def test_method_edit_with_all_params_overload_17(self, client: Cloudflare) -> No
},
name="example.com",
type="SVCB",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4808,6 +4865,7 @@ def test_method_edit_with_all_params_overload_18(self, client: Cloudflare) -> No
},
name="example.com",
type="TLSA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4890,6 +4948,7 @@ def test_method_edit_with_all_params_overload_19(self, client: Cloudflare) -> No
content="example text content",
name="example.com",
type="TXT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -4977,6 +5036,7 @@ def test_method_edit_with_all_params_overload_20(self, client: Cloudflare) -> No
name="example.com",
priority=10,
type="URI",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -5249,6 +5309,7 @@ async def test_method_create_with_all_params_overload_1(self, async_client: Asyn
content="198.51.100.4",
name="example.com",
type="A",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -5318,6 +5379,7 @@ async def test_method_create_with_all_params_overload_2(self, async_client: Asyn
content="2400:cb00:2049::1",
name="example.com",
type="AAAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -5391,6 +5453,7 @@ async def test_method_create_with_all_params_overload_3(self, async_client: Asyn
},
name="example.com",
type="CAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -5464,6 +5527,7 @@ async def test_method_create_with_all_params_overload_4(self, async_client: Asyn
},
name="example.com",
type="CERT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -5532,6 +5596,7 @@ async def test_method_create_with_all_params_overload_5(self, async_client: Asyn
content={},
name="example.com",
type="CNAME",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -5606,6 +5671,7 @@ async def test_method_create_with_all_params_overload_6(self, async_client: Asyn
},
name="example.com",
type="DNSKEY",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -5679,6 +5745,7 @@ async def test_method_create_with_all_params_overload_7(self, async_client: Asyn
},
name="example.com",
type="DS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -5751,6 +5818,7 @@ async def test_method_create_with_all_params_overload_8(self, async_client: Asyn
},
name="example.com",
type="HTTPS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -5832,6 +5900,7 @@ async def test_method_create_with_all_params_overload_9(self, async_client: Asyn
},
name="example.com",
type="LOC",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -5902,6 +5971,7 @@ async def test_method_create_with_all_params_overload_10(self, async_client: Asy
name="example.com",
priority=10,
type="MX",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -5980,6 +6050,7 @@ async def test_method_create_with_all_params_overload_11(self, async_client: Asy
},
name="example.com",
type="NAPTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -6048,6 +6119,7 @@ async def test_method_create_with_all_params_overload_12(self, async_client: Asy
content="ns1.example.com",
name="example.com",
type="NS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -6116,6 +6188,7 @@ async def test_method_create_with_all_params_overload_13(self, async_client: Asy
content="example.com",
name="example.com",
type="PTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -6189,6 +6262,7 @@ async def test_method_create_with_all_params_overload_14(self, async_client: Asy
},
name="example.com",
type="SMIMEA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -6265,6 +6339,7 @@ async def test_method_create_with_all_params_overload_15(self, async_client: Asy
},
name="_sip._tcp.example.com",
type="SRV",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -6337,6 +6412,7 @@ async def test_method_create_with_all_params_overload_16(self, async_client: Asy
},
name="example.com",
type="SSHFP",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -6409,6 +6485,7 @@ async def test_method_create_with_all_params_overload_17(self, async_client: Asy
},
name="example.com",
type="SVCB",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -6482,6 +6559,7 @@ async def test_method_create_with_all_params_overload_18(self, async_client: Asy
},
name="example.com",
type="TLSA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -6550,6 +6628,7 @@ async def test_method_create_with_all_params_overload_19(self, async_client: Asy
content="example text content",
name="example.com",
type="TXT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -6623,6 +6702,7 @@ async def test_method_create_with_all_params_overload_20(self, async_client: Asy
name="example.com",
priority=10,
type="URI",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -6696,6 +6776,7 @@ async def test_method_update_with_all_params_overload_1(self, async_client: Asyn
content="198.51.100.4",
name="example.com",
type="A",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -6779,6 +6860,7 @@ async def test_method_update_with_all_params_overload_2(self, async_client: Asyn
content="2400:cb00:2049::1",
name="example.com",
type="AAAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -6866,6 +6948,7 @@ async def test_method_update_with_all_params_overload_3(self, async_client: Asyn
},
name="example.com",
type="CAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -6953,6 +7036,7 @@ async def test_method_update_with_all_params_overload_4(self, async_client: Asyn
},
name="example.com",
type="CERT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -7035,6 +7119,7 @@ async def test_method_update_with_all_params_overload_5(self, async_client: Asyn
content={},
name="example.com",
type="CNAME",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -7123,6 +7208,7 @@ async def test_method_update_with_all_params_overload_6(self, async_client: Asyn
},
name="example.com",
type="DNSKEY",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -7210,6 +7296,7 @@ async def test_method_update_with_all_params_overload_7(self, async_client: Asyn
},
name="example.com",
type="DS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -7296,6 +7383,7 @@ async def test_method_update_with_all_params_overload_8(self, async_client: Asyn
},
name="example.com",
type="HTTPS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -7391,6 +7479,7 @@ async def test_method_update_with_all_params_overload_9(self, async_client: Asyn
},
name="example.com",
type="LOC",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -7475,6 +7564,7 @@ async def test_method_update_with_all_params_overload_10(self, async_client: Asy
name="example.com",
priority=10,
type="MX",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -7568,6 +7658,7 @@ async def test_method_update_with_all_params_overload_11(self, async_client: Asy
},
name="example.com",
type="NAPTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -7650,6 +7741,7 @@ async def test_method_update_with_all_params_overload_12(self, async_client: Asy
content="ns1.example.com",
name="example.com",
type="NS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -7732,6 +7824,7 @@ async def test_method_update_with_all_params_overload_13(self, async_client: Asy
content="example.com",
name="example.com",
type="PTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -7819,6 +7912,7 @@ async def test_method_update_with_all_params_overload_14(self, async_client: Asy
},
name="example.com",
type="SMIMEA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -7909,6 +8003,7 @@ async def test_method_update_with_all_params_overload_15(self, async_client: Asy
},
name="_sip._tcp.example.com",
type="SRV",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -7995,6 +8090,7 @@ async def test_method_update_with_all_params_overload_16(self, async_client: Asy
},
name="example.com",
type="SSHFP",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -8081,6 +8177,7 @@ async def test_method_update_with_all_params_overload_17(self, async_client: Asy
},
name="example.com",
type="SVCB",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -8168,6 +8265,7 @@ async def test_method_update_with_all_params_overload_18(self, async_client: Asy
},
name="example.com",
type="TLSA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -8250,6 +8348,7 @@ async def test_method_update_with_all_params_overload_19(self, async_client: Asy
content="example text content",
name="example.com",
type="TXT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -8337,6 +8436,7 @@ async def test_method_update_with_all_params_overload_20(self, async_client: Asy
name="example.com",
priority=10,
type="URI",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -8543,6 +8643,7 @@ async def test_method_edit_with_all_params_overload_1(self, async_client: AsyncC
content="198.51.100.4",
name="example.com",
type="A",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -8626,6 +8727,7 @@ async def test_method_edit_with_all_params_overload_2(self, async_client: AsyncC
content="2400:cb00:2049::1",
name="example.com",
type="AAAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -8713,6 +8815,7 @@ async def test_method_edit_with_all_params_overload_3(self, async_client: AsyncC
},
name="example.com",
type="CAA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -8800,6 +8903,7 @@ async def test_method_edit_with_all_params_overload_4(self, async_client: AsyncC
},
name="example.com",
type="CERT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -8882,6 +8986,7 @@ async def test_method_edit_with_all_params_overload_5(self, async_client: AsyncC
content={},
name="example.com",
type="CNAME",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
proxied=False,
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
@@ -8970,6 +9075,7 @@ async def test_method_edit_with_all_params_overload_6(self, async_client: AsyncC
},
name="example.com",
type="DNSKEY",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -9057,6 +9163,7 @@ async def test_method_edit_with_all_params_overload_7(self, async_client: AsyncC
},
name="example.com",
type="DS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -9143,6 +9250,7 @@ async def test_method_edit_with_all_params_overload_8(self, async_client: AsyncC
},
name="example.com",
type="HTTPS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -9238,6 +9346,7 @@ async def test_method_edit_with_all_params_overload_9(self, async_client: AsyncC
},
name="example.com",
type="LOC",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -9322,6 +9431,7 @@ async def test_method_edit_with_all_params_overload_10(self, async_client: Async
name="example.com",
priority=10,
type="MX",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -9415,6 +9525,7 @@ async def test_method_edit_with_all_params_overload_11(self, async_client: Async
},
name="example.com",
type="NAPTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -9497,6 +9608,7 @@ async def test_method_edit_with_all_params_overload_12(self, async_client: Async
content="ns1.example.com",
name="example.com",
type="NS",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -9579,6 +9691,7 @@ async def test_method_edit_with_all_params_overload_13(self, async_client: Async
content="example.com",
name="example.com",
type="PTR",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -9666,6 +9779,7 @@ async def test_method_edit_with_all_params_overload_14(self, async_client: Async
},
name="example.com",
type="SMIMEA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -9756,6 +9870,7 @@ async def test_method_edit_with_all_params_overload_15(self, async_client: Async
},
name="_sip._tcp.example.com",
type="SRV",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -9842,6 +9957,7 @@ async def test_method_edit_with_all_params_overload_16(self, async_client: Async
},
name="example.com",
type="SSHFP",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -9928,6 +10044,7 @@ async def test_method_edit_with_all_params_overload_17(self, async_client: Async
},
name="example.com",
type="SVCB",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -10015,6 +10132,7 @@ async def test_method_edit_with_all_params_overload_18(self, async_client: Async
},
name="example.com",
type="TLSA",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -10097,6 +10215,7 @@ async def test_method_edit_with_all_params_overload_19(self, async_client: Async
content="example text content",
name="example.com",
type="TXT",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
@@ -10184,6 +10303,7 @@ async def test_method_edit_with_all_params_overload_20(self, async_client: Async
name="example.com",
priority=10,
type="URI",
+ id="023e105f4ecef8ad9ca31a8372d0c353",
comment="Domain verification record",
tags=["owner:dns-team", "owner:dns-team", "owner:dns-team"],
ttl=3600,
diff --git a/tests/api_resources/magic_transit/sites/test_acls.py b/tests/api_resources/magic_transit/sites/test_acls.py
index 4bcac3f4126..9cac4c6dee6 100644
--- a/tests/api_resources/magic_transit/sites/test_acls.py
+++ b/tests/api_resources/magic_transit/sites/test_acls.py
@@ -185,7 +185,7 @@ def test_path_params_update(self, client: Cloudflare) -> None:
site_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_id` but received ''"):
client.magic_transit.sites.acls.with_raw_response.update(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -293,7 +293,7 @@ def test_path_params_delete(self, client: Cloudflare) -> None:
site_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_id` but received ''"):
client.magic_transit.sites.acls.with_raw_response.delete(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -378,7 +378,7 @@ def test_path_params_edit(self, client: Cloudflare) -> None:
site_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_id` but received ''"):
client.magic_transit.sites.acls.with_raw_response.edit(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -438,7 +438,7 @@ def test_path_params_get(self, client: Cloudflare) -> None:
site_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_id` but received ''"):
client.magic_transit.sites.acls.with_raw_response.get(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -614,7 +614,7 @@ async def test_path_params_update(self, async_client: AsyncCloudflare) -> None:
site_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_id` but received ''"):
await async_client.magic_transit.sites.acls.with_raw_response.update(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -722,7 +722,7 @@ async def test_path_params_delete(self, async_client: AsyncCloudflare) -> None:
site_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_id` but received ''"):
await async_client.magic_transit.sites.acls.with_raw_response.delete(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -807,7 +807,7 @@ async def test_path_params_edit(self, async_client: AsyncCloudflare) -> None:
site_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_id` but received ''"):
await async_client.magic_transit.sites.acls.with_raw_response.edit(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -867,7 +867,7 @@ async def test_path_params_get(self, async_client: AsyncCloudflare) -> None:
site_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `acl_id` but received ''"):
await async_client.magic_transit.sites.acls.with_raw_response.get(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
diff --git a/tests/api_resources/magic_transit/test_cf_interconnects.py b/tests/api_resources/magic_transit/test_cf_interconnects.py
index 8869b789a89..efb8610882b 100644
--- a/tests/api_resources/magic_transit/test_cf_interconnects.py
+++ b/tests/api_resources/magic_transit/test_cf_interconnects.py
@@ -81,7 +81,7 @@ def test_path_params_update(self, client: Cloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `cf_interconnect_id` but received ''"):
client.magic_transit.cf_interconnects.with_raw_response.update(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -167,7 +167,7 @@ def test_path_params_get(self, client: Cloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `cf_interconnect_id` but received ''"):
client.magic_transit.cf_interconnects.with_raw_response.get(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -237,7 +237,7 @@ async def test_path_params_update(self, async_client: AsyncCloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `cf_interconnect_id` but received ''"):
await async_client.magic_transit.cf_interconnects.with_raw_response.update(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -323,7 +323,7 @@ async def test_path_params_get(self, async_client: AsyncCloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `cf_interconnect_id` but received ''"):
await async_client.magic_transit.cf_interconnects.with_raw_response.get(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
diff --git a/tests/api_resources/magic_transit/test_gre_tunnels.py b/tests/api_resources/magic_transit/test_gre_tunnels.py
index 4b34df6809b..512d2d01880 100644
--- a/tests/api_resources/magic_transit/test_gre_tunnels.py
+++ b/tests/api_resources/magic_transit/test_gre_tunnels.py
@@ -149,7 +149,7 @@ def test_path_params_update(self, client: Cloudflare) -> None:
name="GRE_1",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `gre_tunnel_id` but received ''"):
client.magic_transit.gre_tunnels.with_raw_response.update(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -239,7 +239,7 @@ def test_path_params_delete(self, client: Cloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `gre_tunnel_id` but received ''"):
client.magic_transit.gre_tunnels.with_raw_response.delete(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -287,7 +287,7 @@ def test_path_params_get(self, client: Cloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `gre_tunnel_id` but received ''"):
client.magic_transit.gre_tunnels.with_raw_response.get(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -423,7 +423,7 @@ async def test_path_params_update(self, async_client: AsyncCloudflare) -> None:
name="GRE_1",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `gre_tunnel_id` but received ''"):
await async_client.magic_transit.gre_tunnels.with_raw_response.update(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -513,7 +513,7 @@ async def test_path_params_delete(self, async_client: AsyncCloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `gre_tunnel_id` but received ''"):
await async_client.magic_transit.gre_tunnels.with_raw_response.delete(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -561,7 +561,7 @@ async def test_path_params_get(self, async_client: AsyncCloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `gre_tunnel_id` but received ''"):
await async_client.magic_transit.gre_tunnels.with_raw_response.get(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
diff --git a/tests/api_resources/magic_transit/test_ipsec_tunnels.py b/tests/api_resources/magic_transit/test_ipsec_tunnels.py
index e4ea142af03..18965ec738e 100644
--- a/tests/api_resources/magic_transit/test_ipsec_tunnels.py
+++ b/tests/api_resources/magic_transit/test_ipsec_tunnels.py
@@ -171,7 +171,7 @@ def test_path_params_update(self, client: Cloudflare) -> None:
name="IPsec_1",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `ipsec_tunnel_id` but received ''"):
client.magic_transit.ipsec_tunnels.with_raw_response.update(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -260,7 +260,7 @@ def test_path_params_delete(self, client: Cloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `ipsec_tunnel_id` but received ''"):
client.magic_transit.ipsec_tunnels.with_raw_response.delete(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -308,7 +308,7 @@ def test_path_params_get(self, client: Cloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `ipsec_tunnel_id` but received ''"):
client.magic_transit.ipsec_tunnels.with_raw_response.get(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -360,7 +360,7 @@ def test_path_params_psk_generate(self, client: Cloudflare) -> None:
body={},
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `ipsec_tunnel_id` but received ''"):
client.magic_transit.ipsec_tunnels.with_raw_response.psk_generate(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -518,7 +518,7 @@ async def test_path_params_update(self, async_client: AsyncCloudflare) -> None:
name="IPsec_1",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `ipsec_tunnel_id` but received ''"):
await async_client.magic_transit.ipsec_tunnels.with_raw_response.update(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -607,7 +607,7 @@ async def test_path_params_delete(self, async_client: AsyncCloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `ipsec_tunnel_id` but received ''"):
await async_client.magic_transit.ipsec_tunnels.with_raw_response.delete(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -655,7 +655,7 @@ async def test_path_params_get(self, async_client: AsyncCloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `ipsec_tunnel_id` but received ''"):
await async_client.magic_transit.ipsec_tunnels.with_raw_response.get(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -707,7 +707,7 @@ async def test_path_params_psk_generate(self, async_client: AsyncCloudflare) ->
body={},
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tunnel_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `ipsec_tunnel_id` but received ''"):
await async_client.magic_transit.ipsec_tunnels.with_raw_response.psk_generate(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
diff --git a/tests/api_resources/magic_transit/test_routes.py b/tests/api_resources/magic_transit/test_routes.py
index 20866b7a330..c72aba2ffde 100644
--- a/tests/api_resources/magic_transit/test_routes.py
+++ b/tests/api_resources/magic_transit/test_routes.py
@@ -141,7 +141,7 @@ def test_path_params_update(self, client: Cloudflare) -> None:
priority=0,
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_id` but received ''"):
client.magic_transit.routes.with_raw_response.update(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -230,7 +230,7 @@ def test_path_params_delete(self, client: Cloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_id` but received ''"):
client.magic_transit.routes.with_raw_response.delete(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -316,7 +316,7 @@ def test_path_params_get(self, client: Cloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_id` but received ''"):
client.magic_transit.routes.with_raw_response.get(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -443,7 +443,7 @@ async def test_path_params_update(self, async_client: AsyncCloudflare) -> None:
priority=0,
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_id` but received ''"):
await async_client.magic_transit.routes.with_raw_response.update(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -532,7 +532,7 @@ async def test_path_params_delete(self, async_client: AsyncCloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_id` but received ''"):
await async_client.magic_transit.routes.with_raw_response.delete(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
@@ -618,7 +618,7 @@ async def test_path_params_get(self, async_client: AsyncCloudflare) -> None:
account_id="",
)
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_identifier` but received ''"):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `route_id` but received ''"):
await async_client.magic_transit.routes.with_raw_response.get(
"",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
diff --git a/tests/api_resources/radar/attacks/layer3/test_top.py b/tests/api_resources/radar/attacks/layer3/test_top.py
index 6d2d7d36d7c..923af0d31f9 100644
--- a/tests/api_resources/radar/attacks/layer3/test_top.py
+++ b/tests/api_resources/radar/attacks/layer3/test_top.py
@@ -49,6 +49,7 @@ def test_method_attacks_with_all_params(self, client: Cloudflare) -> None:
limit_per_location=10,
location=["string", "string", "string"],
name=["string", "string", "string"],
+ normalization="PERCENTAGE",
protocol=["UDP", "TCP", "ICMP"],
)
assert_matches_type(TopAttacksResponse, top, path=["response"])
@@ -202,6 +203,7 @@ async def test_method_attacks_with_all_params(self, async_client: AsyncCloudflar
limit_per_location=10,
location=["string", "string", "string"],
name=["string", "string", "string"],
+ normalization="PERCENTAGE",
protocol=["UDP", "TCP", "ICMP"],
)
assert_matches_type(TopAttacksResponse, top, path=["response"])
diff --git a/tests/api_resources/radar/attacks/layer7/test_top.py b/tests/api_resources/radar/attacks/layer7/test_top.py
index edce1b2472a..36016747df4 100644
--- a/tests/api_resources/radar/attacks/layer7/test_top.py
+++ b/tests/api_resources/radar/attacks/layer7/test_top.py
@@ -50,6 +50,7 @@ def test_method_attacks_with_all_params(self, client: Cloudflare) -> None:
location=["string", "string", "string"],
magnitude="MITIGATED_REQUESTS",
name=["string", "string", "string"],
+ normalization="PERCENTAGE",
)
assert_matches_type(TopAttacksResponse, top, path=["response"])
@@ -201,6 +202,7 @@ async def test_method_attacks_with_all_params(self, async_client: AsyncCloudflar
location=["string", "string", "string"],
magnitude="MITIGATED_REQUESTS",
name=["string", "string", "string"],
+ normalization="PERCENTAGE",
)
assert_matches_type(TopAttacksResponse, top, path=["response"])
diff --git a/tests/api_resources/radar/bgp/top/test_ases.py b/tests/api_resources/radar/bgp/top/test_ases.py
index 137f86bd408..b9e15f5e751 100644
--- a/tests/api_resources/radar/bgp/top/test_ases.py
+++ b/tests/api_resources/radar/bgp/top/test_ases.py
@@ -43,18 +43,21 @@ def test_method_get_with_all_params(self, client: Cloudflare) -> None:
name=["string", "string", "string"],
prefix=[
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
],
@@ -145,18 +148,21 @@ async def test_method_get_with_all_params(self, async_client: AsyncCloudflare) -
name=["string", "string", "string"],
prefix=[
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
],
diff --git a/tests/api_resources/radar/test_bgp.py b/tests/api_resources/radar/test_bgp.py
index 2b50ea81066..38030a638fc 100644
--- a/tests/api_resources/radar/test_bgp.py
+++ b/tests/api_resources/radar/test_bgp.py
@@ -43,18 +43,21 @@ def test_method_timeseries_with_all_params(self, client: Cloudflare) -> None:
name=["string", "string", "string"],
prefix=[
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
],
@@ -111,18 +114,21 @@ async def test_method_timeseries_with_all_params(self, async_client: AsyncCloudf
name=["string", "string", "string"],
prefix=[
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
{
- "location": "query",
+ "in": "query",
"name": "prefix",
+ "test": 12,
"type": "1.1.1.0/24",
},
],
diff --git a/tests/api_resources/radar/test_datasets.py b/tests/api_resources/radar/test_datasets.py
index f2cc9be2ae5..571fffac223 100644
--- a/tests/api_resources/radar/test_datasets.py
+++ b/tests/api_resources/radar/test_datasets.py
@@ -101,14 +101,6 @@ def test_method_get(self, client: Cloudflare) -> None:
)
assert_matches_type(str, dataset, path=["response"])
- @parametrize
- def test_method_get_with_all_params(self, client: Cloudflare) -> None:
- dataset = client.radar.datasets.get(
- "ranking_top_1000",
- date="string",
- )
- assert_matches_type(str, dataset, path=["response"])
-
@parametrize
def test_raw_response_get(self, client: Cloudflare) -> None:
response = client.radar.datasets.with_raw_response.get(
@@ -225,14 +217,6 @@ async def test_method_get(self, async_client: AsyncCloudflare) -> None:
)
assert_matches_type(str, dataset, path=["response"])
- @parametrize
- async def test_method_get_with_all_params(self, async_client: AsyncCloudflare) -> None:
- dataset = await async_client.radar.datasets.get(
- "ranking_top_1000",
- date="string",
- )
- assert_matches_type(str, dataset, path=["response"])
-
@parametrize
async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
response = await async_client.radar.datasets.with_raw_response.get(
diff --git a/tests/api_resources/stream/captions/test_language.py b/tests/api_resources/stream/captions/test_language.py
index 15caab5410b..cdcc495bcd5 100644
--- a/tests/api_resources/stream/captions/test_language.py
+++ b/tests/api_resources/stream/captions/test_language.py
@@ -17,6 +17,66 @@
class TestLanguage:
parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
+ @parametrize
+ def test_method_create(self, client: Cloudflare) -> None:
+ language = client.stream.captions.language.create(
+ "tr",
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ identifier="ea95132c15732412d22c1476fa83f27a",
+ )
+ assert_matches_type(Optional[Caption], language, path=["response"])
+
+ @parametrize
+ def test_raw_response_create(self, client: Cloudflare) -> None:
+ response = client.stream.captions.language.with_raw_response.create(
+ "tr",
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ identifier="ea95132c15732412d22c1476fa83f27a",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ language = response.parse()
+ assert_matches_type(Optional[Caption], language, path=["response"])
+
+ @parametrize
+ def test_streaming_response_create(self, client: Cloudflare) -> None:
+ with client.stream.captions.language.with_streaming_response.create(
+ "tr",
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ identifier="ea95132c15732412d22c1476fa83f27a",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ language = response.parse()
+ assert_matches_type(Optional[Caption], language, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ def test_path_params_create(self, client: Cloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
+ client.stream.captions.language.with_raw_response.create(
+ "tr",
+ account_id="",
+ identifier="ea95132c15732412d22c1476fa83f27a",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `identifier` but received ''"):
+ client.stream.captions.language.with_raw_response.create(
+ "tr",
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ identifier="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `language` but received ''"):
+ client.stream.captions.language.with_raw_response.create(
+ "",
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ identifier="ea95132c15732412d22c1476fa83f27a",
+ )
+
@pytest.mark.skip(reason="TODO: investigate broken test")
@parametrize
def test_method_update(self, client: Cloudflare) -> None:
@@ -211,6 +271,66 @@ def test_path_params_get(self, client: Cloudflare) -> None:
class TestAsyncLanguage:
parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"])
+ @parametrize
+ async def test_method_create(self, async_client: AsyncCloudflare) -> None:
+ language = await async_client.stream.captions.language.create(
+ "tr",
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ identifier="ea95132c15732412d22c1476fa83f27a",
+ )
+ assert_matches_type(Optional[Caption], language, path=["response"])
+
+ @parametrize
+ async def test_raw_response_create(self, async_client: AsyncCloudflare) -> None:
+ response = await async_client.stream.captions.language.with_raw_response.create(
+ "tr",
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ identifier="ea95132c15732412d22c1476fa83f27a",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ language = await response.parse()
+ assert_matches_type(Optional[Caption], language, path=["response"])
+
+ @parametrize
+ async def test_streaming_response_create(self, async_client: AsyncCloudflare) -> None:
+ async with async_client.stream.captions.language.with_streaming_response.create(
+ "tr",
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ identifier="ea95132c15732412d22c1476fa83f27a",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ language = await response.parse()
+ assert_matches_type(Optional[Caption], language, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_create(self, async_client: AsyncCloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
+ await async_client.stream.captions.language.with_raw_response.create(
+ "tr",
+ account_id="",
+ identifier="ea95132c15732412d22c1476fa83f27a",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `identifier` but received ''"):
+ await async_client.stream.captions.language.with_raw_response.create(
+ "tr",
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ identifier="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `language` but received ''"):
+ await async_client.stream.captions.language.with_raw_response.create(
+ "",
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ identifier="ea95132c15732412d22c1476fa83f27a",
+ )
+
@pytest.mark.skip(reason="TODO: investigate broken test")
@parametrize
async def test_method_update(self, async_client: AsyncCloudflare) -> None:
diff --git a/tests/api_resources/stream/test_copy.py b/tests/api_resources/stream/test_copy.py
index 191a1cc36c3..fa2c1cdd5b1 100644
--- a/tests/api_resources/stream/test_copy.py
+++ b/tests/api_resources/stream/test_copy.py
@@ -38,6 +38,8 @@ def test_method_create_with_all_params(self, client: Cloudflare) -> None:
scheduled_deletion=parse_datetime("2014-01-02T02:20:00Z"),
thumbnail_timestamp_pct=0.529241,
watermark={"uid": "ea95132c15732412d22c1476fa83f27a"},
+ upload_creator="creator-id_abcde12345",
+ upload_metadata="name aGVsbG8gd29ybGQ=, requiresignedurls, allowedorigins ZXhhbXBsZS5jb20sdGVzdC5jb20=",
)
assert_matches_type(Optional[Video], copy, path=["response"])
@@ -99,6 +101,8 @@ async def test_method_create_with_all_params(self, async_client: AsyncCloudflare
scheduled_deletion=parse_datetime("2014-01-02T02:20:00Z"),
thumbnail_timestamp_pct=0.529241,
watermark={"uid": "ea95132c15732412d22c1476fa83f27a"},
+ upload_creator="creator-id_abcde12345",
+ upload_metadata="name aGVsbG8gd29ybGQ=, requiresignedurls, allowedorigins ZXhhbXBsZS5jb20sdGVzdC5jb20=",
)
assert_matches_type(Optional[Video], copy, path=["response"])
diff --git a/tests/api_resources/stream/test_direct_upload.py b/tests/api_resources/stream/test_direct_upload.py
index 7115e89cc14..54f9c3d0070 100644
--- a/tests/api_resources/stream/test_direct_upload.py
+++ b/tests/api_resources/stream/test_direct_upload.py
@@ -39,6 +39,7 @@ def test_method_create_with_all_params(self, client: Cloudflare) -> None:
scheduled_deletion=parse_datetime("2014-01-02T02:20:00Z"),
thumbnail_timestamp_pct=0.529241,
watermark={"uid": "ea95132c15732412d22c1476fa83f27a"},
+ upload_creator="creator-id_abcde12345",
)
assert_matches_type(Optional[DirectUploadCreateResponse], direct_upload, path=["response"])
@@ -101,6 +102,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncCloudflare
scheduled_deletion=parse_datetime("2014-01-02T02:20:00Z"),
thumbnail_timestamp_pct=0.529241,
watermark={"uid": "ea95132c15732412d22c1476fa83f27a"},
+ upload_creator="creator-id_abcde12345",
)
assert_matches_type(Optional[DirectUploadCreateResponse], direct_upload, path=["response"])
diff --git a/tests/api_resources/test_stream.py b/tests/api_resources/test_stream.py
index ee6f6fbfc80..5bab50b63ce 100644
--- a/tests/api_resources/test_stream.py
+++ b/tests/api_resources/test_stream.py
@@ -25,6 +25,21 @@ def test_method_create(self, client: Cloudflare) -> None:
stream = client.stream.create(
account_id="023e105f4ecef8ad9ca31a8372d0c353",
body={},
+ tus_resumable="1.0.0",
+ upload_length=0,
+ )
+ assert stream is None
+
+ @pytest.mark.skip(reason="TODO: investigate broken test")
+ @parametrize
+ def test_method_create_with_all_params(self, client: Cloudflare) -> None:
+ stream = client.stream.create(
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ body={},
+ tus_resumable="1.0.0",
+ upload_length=0,
+ upload_creator="creator-id_abcde12345",
+ upload_metadata="name aGVsbG8gd29ybGQ=, requiresignedurls, allowedorigins ZXhhbXBsZS5jb20sdGVzdC5jb20=",
)
assert stream is None
@@ -34,6 +49,8 @@ def test_raw_response_create(self, client: Cloudflare) -> None:
response = client.stream.with_raw_response.create(
account_id="023e105f4ecef8ad9ca31a8372d0c353",
body={},
+ tus_resumable="1.0.0",
+ upload_length=0,
)
assert response.is_closed is True
@@ -47,6 +64,8 @@ def test_streaming_response_create(self, client: Cloudflare) -> None:
with client.stream.with_streaming_response.create(
account_id="023e105f4ecef8ad9ca31a8372d0c353",
body={},
+ tus_resumable="1.0.0",
+ upload_length=0,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -63,6 +82,8 @@ def test_path_params_create(self, client: Cloudflare) -> None:
client.stream.with_raw_response.create(
account_id="",
body={},
+ tus_resumable="1.0.0",
+ upload_length=0,
)
@parametrize
@@ -224,6 +245,21 @@ async def test_method_create(self, async_client: AsyncCloudflare) -> None:
stream = await async_client.stream.create(
account_id="023e105f4ecef8ad9ca31a8372d0c353",
body={},
+ tus_resumable="1.0.0",
+ upload_length=0,
+ )
+ assert stream is None
+
+ @pytest.mark.skip(reason="TODO: investigate broken test")
+ @parametrize
+ async def test_method_create_with_all_params(self, async_client: AsyncCloudflare) -> None:
+ stream = await async_client.stream.create(
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
+ body={},
+ tus_resumable="1.0.0",
+ upload_length=0,
+ upload_creator="creator-id_abcde12345",
+ upload_metadata="name aGVsbG8gd29ybGQ=, requiresignedurls, allowedorigins ZXhhbXBsZS5jb20sdGVzdC5jb20=",
)
assert stream is None
@@ -233,6 +269,8 @@ async def test_raw_response_create(self, async_client: AsyncCloudflare) -> None:
response = await async_client.stream.with_raw_response.create(
account_id="023e105f4ecef8ad9ca31a8372d0c353",
body={},
+ tus_resumable="1.0.0",
+ upload_length=0,
)
assert response.is_closed is True
@@ -246,6 +284,8 @@ async def test_streaming_response_create(self, async_client: AsyncCloudflare) ->
async with async_client.stream.with_streaming_response.create(
account_id="023e105f4ecef8ad9ca31a8372d0c353",
body={},
+ tus_resumable="1.0.0",
+ upload_length=0,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -262,6 +302,8 @@ async def test_path_params_create(self, async_client: AsyncCloudflare) -> None:
await async_client.stream.with_raw_response.create(
account_id="",
body={},
+ tus_resumable="1.0.0",
+ upload_length=0,
)
@parametrize
diff --git a/tests/api_resources/url_scanner/test_scans.py b/tests/api_resources/url_scanner/test_scans.py
index f58a63f883e..8a33a5f10ce 100644
--- a/tests/api_resources/url_scanner/test_scans.py
+++ b/tests/api_resources/url_scanner/test_scans.py
@@ -90,6 +90,15 @@ def test_method_get(self, client: Cloudflare) -> None:
)
assert_matches_type(ScanGetResponse, scan, path=["response"])
+ @parametrize
+ def test_method_get_with_all_params(self, client: Cloudflare) -> None:
+ scan = client.url_scanner.scans.get(
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
+ account_id="string",
+ full=True,
+ )
+ assert_matches_type(ScanGetResponse, scan, path=["response"])
+
@parametrize
def test_raw_response_get(self, client: Cloudflare) -> None:
response = client.url_scanner.scans.with_raw_response.get(
@@ -325,6 +334,15 @@ async def test_method_get(self, async_client: AsyncCloudflare) -> None:
)
assert_matches_type(ScanGetResponse, scan, path=["response"])
+ @parametrize
+ async def test_method_get_with_all_params(self, async_client: AsyncCloudflare) -> None:
+ scan = await async_client.url_scanner.scans.get(
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
+ account_id="string",
+ full=True,
+ )
+ assert_matches_type(ScanGetResponse, scan, path=["response"])
+
@parametrize
async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
response = await async_client.url_scanner.scans.with_raw_response.get(
diff --git a/tests/api_resources/workers/scripts/test_content.py b/tests/api_resources/workers/scripts/test_content.py
index 9a748afefda..ade69104c00 100644
--- a/tests/api_resources/workers/scripts/test_content.py
+++ b/tests/api_resources/workers/scripts/test_content.py
@@ -45,6 +45,8 @@ def test_method_update_with_all_params(self, client: Cloudflare) -> None:
"body_part": "worker.js",
"main_module": "worker.js",
},
+ cf_worker_body_part="string",
+ cf_worker_main_module_part="string",
)
assert_matches_type(Optional[Script], content, path=["response"])
@@ -181,6 +183,8 @@ async def test_method_update_with_all_params(self, async_client: AsyncCloudflare
"body_part": "worker.js",
"main_module": "worker.js",
},
+ cf_worker_body_part="string",
+ cf_worker_main_module_part="string",
)
assert_matches_type(Optional[Script], content, path=["response"])
diff --git a/tests/api_resources/workers_for_platforms/dispatch/namespaces/scripts/test_content.py b/tests/api_resources/workers_for_platforms/dispatch/namespaces/scripts/test_content.py
index a9073edfee5..cfbbc556765 100644
--- a/tests/api_resources/workers_for_platforms/dispatch/namespaces/scripts/test_content.py
+++ b/tests/api_resources/workers_for_platforms/dispatch/namespaces/scripts/test_content.py
@@ -47,6 +47,8 @@ def test_method_update_with_all_params(self, client: Cloudflare) -> None:
"body_part": "worker.js",
"main_module": "worker.js",
},
+ cf_worker_body_part="string",
+ cf_worker_main_module_part="string",
)
assert_matches_type(Optional[Script], content, path=["response"])
@@ -208,6 +210,8 @@ async def test_method_update_with_all_params(self, async_client: AsyncCloudflare
"body_part": "worker.js",
"main_module": "worker.js",
},
+ cf_worker_body_part="string",
+ cf_worker_main_module_part="string",
)
assert_matches_type(Optional[Script], content, path=["response"])
diff --git a/tests/api_resources/zero_trust/gateway/test_certificates.py b/tests/api_resources/zero_trust/gateway/test_certificates.py
new file mode 100644
index 00000000000..c84aaa00883
--- /dev/null
+++ b/tests/api_resources/zero_trust/gateway/test_certificates.py
@@ -0,0 +1,388 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+import os
+from typing import Any, Optional, cast
+
+import pytest
+
+from cloudflare import Cloudflare, AsyncCloudflare
+from tests.utils import assert_matches_type
+from cloudflare.pagination import SyncSinglePage, AsyncSinglePage
+from cloudflare.types.zero_trust.gateway import (
+ CertificateGetResponse,
+ CertificateListResponse,
+ CertificateCreateResponse,
+ CertificateDeleteResponse,
+)
+
+base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
+
+
+class TestCertificates:
+ parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
+
+ @parametrize
+ def test_method_create(self, client: Cloudflare) -> None:
+ certificate = client.zero_trust.gateway.certificates.create(
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+ assert_matches_type(Optional[CertificateCreateResponse], certificate, path=["response"])
+
+ @parametrize
+ def test_method_create_with_all_params(self, client: Cloudflare) -> None:
+ certificate = client.zero_trust.gateway.certificates.create(
+ account_id="699d98642c564d2e855e9661899b7252",
+ validity_period_days=1826,
+ )
+ assert_matches_type(Optional[CertificateCreateResponse], certificate, path=["response"])
+
+ @parametrize
+ def test_raw_response_create(self, client: Cloudflare) -> None:
+ response = client.zero_trust.gateway.certificates.with_raw_response.create(
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ certificate = response.parse()
+ assert_matches_type(Optional[CertificateCreateResponse], certificate, path=["response"])
+
+ @parametrize
+ def test_streaming_response_create(self, client: Cloudflare) -> None:
+ with client.zero_trust.gateway.certificates.with_streaming_response.create(
+ account_id="699d98642c564d2e855e9661899b7252",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ certificate = response.parse()
+ assert_matches_type(Optional[CertificateCreateResponse], certificate, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ def test_path_params_create(self, client: Cloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
+ client.zero_trust.gateway.certificates.with_raw_response.create(
+ account_id="",
+ )
+
+ @parametrize
+ def test_method_list(self, client: Cloudflare) -> None:
+ certificate = client.zero_trust.gateway.certificates.list(
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+ assert_matches_type(SyncSinglePage[CertificateListResponse], certificate, path=["response"])
+
+ @parametrize
+ def test_raw_response_list(self, client: Cloudflare) -> None:
+ response = client.zero_trust.gateway.certificates.with_raw_response.list(
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ certificate = response.parse()
+ assert_matches_type(SyncSinglePage[CertificateListResponse], certificate, path=["response"])
+
+ @parametrize
+ def test_streaming_response_list(self, client: Cloudflare) -> None:
+ with client.zero_trust.gateway.certificates.with_streaming_response.list(
+ account_id="699d98642c564d2e855e9661899b7252",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ certificate = response.parse()
+ assert_matches_type(SyncSinglePage[CertificateListResponse], certificate, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ def test_path_params_list(self, client: Cloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
+ client.zero_trust.gateway.certificates.with_raw_response.list(
+ account_id="",
+ )
+
+ @parametrize
+ def test_method_delete(self, client: Cloudflare) -> None:
+ certificate = client.zero_trust.gateway.certificates.delete(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+ assert_matches_type(Optional[CertificateDeleteResponse], certificate, path=["response"])
+
+ @parametrize
+ def test_raw_response_delete(self, client: Cloudflare) -> None:
+ response = client.zero_trust.gateway.certificates.with_raw_response.delete(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ certificate = response.parse()
+ assert_matches_type(Optional[CertificateDeleteResponse], certificate, path=["response"])
+
+ @parametrize
+ def test_streaming_response_delete(self, client: Cloudflare) -> None:
+ with client.zero_trust.gateway.certificates.with_streaming_response.delete(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ certificate = response.parse()
+ assert_matches_type(Optional[CertificateDeleteResponse], certificate, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ def test_path_params_delete(self, client: Cloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
+ client.zero_trust.gateway.certificates.with_raw_response.delete(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `certificate_id` but received ''"):
+ client.zero_trust.gateway.certificates.with_raw_response.delete(
+ "",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+
+ @parametrize
+ def test_method_get(self, client: Cloudflare) -> None:
+ certificate = client.zero_trust.gateway.certificates.get(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+ assert_matches_type(Optional[CertificateGetResponse], certificate, path=["response"])
+
+ @parametrize
+ def test_raw_response_get(self, client: Cloudflare) -> None:
+ response = client.zero_trust.gateway.certificates.with_raw_response.get(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ certificate = response.parse()
+ assert_matches_type(Optional[CertificateGetResponse], certificate, path=["response"])
+
+ @parametrize
+ def test_streaming_response_get(self, client: Cloudflare) -> None:
+ with client.zero_trust.gateway.certificates.with_streaming_response.get(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ certificate = response.parse()
+ assert_matches_type(Optional[CertificateGetResponse], certificate, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ def test_path_params_get(self, client: Cloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
+ client.zero_trust.gateway.certificates.with_raw_response.get(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `certificate_id` but received ''"):
+ client.zero_trust.gateway.certificates.with_raw_response.get(
+ "",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+
+
+class TestAsyncCertificates:
+ parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"])
+
+ @parametrize
+ async def test_method_create(self, async_client: AsyncCloudflare) -> None:
+ certificate = await async_client.zero_trust.gateway.certificates.create(
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+ assert_matches_type(Optional[CertificateCreateResponse], certificate, path=["response"])
+
+ @parametrize
+ async def test_method_create_with_all_params(self, async_client: AsyncCloudflare) -> None:
+ certificate = await async_client.zero_trust.gateway.certificates.create(
+ account_id="699d98642c564d2e855e9661899b7252",
+ validity_period_days=1826,
+ )
+ assert_matches_type(Optional[CertificateCreateResponse], certificate, path=["response"])
+
+ @parametrize
+ async def test_raw_response_create(self, async_client: AsyncCloudflare) -> None:
+ response = await async_client.zero_trust.gateway.certificates.with_raw_response.create(
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ certificate = await response.parse()
+ assert_matches_type(Optional[CertificateCreateResponse], certificate, path=["response"])
+
+ @parametrize
+ async def test_streaming_response_create(self, async_client: AsyncCloudflare) -> None:
+ async with async_client.zero_trust.gateway.certificates.with_streaming_response.create(
+ account_id="699d98642c564d2e855e9661899b7252",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ certificate = await response.parse()
+ assert_matches_type(Optional[CertificateCreateResponse], certificate, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_create(self, async_client: AsyncCloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
+ await async_client.zero_trust.gateway.certificates.with_raw_response.create(
+ account_id="",
+ )
+
+ @parametrize
+ async def test_method_list(self, async_client: AsyncCloudflare) -> None:
+ certificate = await async_client.zero_trust.gateway.certificates.list(
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+ assert_matches_type(AsyncSinglePage[CertificateListResponse], certificate, path=["response"])
+
+ @parametrize
+ async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None:
+ response = await async_client.zero_trust.gateway.certificates.with_raw_response.list(
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ certificate = await response.parse()
+ assert_matches_type(AsyncSinglePage[CertificateListResponse], certificate, path=["response"])
+
+ @parametrize
+ async def test_streaming_response_list(self, async_client: AsyncCloudflare) -> None:
+ async with async_client.zero_trust.gateway.certificates.with_streaming_response.list(
+ account_id="699d98642c564d2e855e9661899b7252",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ certificate = await response.parse()
+ assert_matches_type(AsyncSinglePage[CertificateListResponse], certificate, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_list(self, async_client: AsyncCloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
+ await async_client.zero_trust.gateway.certificates.with_raw_response.list(
+ account_id="",
+ )
+
+ @parametrize
+ async def test_method_delete(self, async_client: AsyncCloudflare) -> None:
+ certificate = await async_client.zero_trust.gateway.certificates.delete(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+ assert_matches_type(Optional[CertificateDeleteResponse], certificate, path=["response"])
+
+ @parametrize
+ async def test_raw_response_delete(self, async_client: AsyncCloudflare) -> None:
+ response = await async_client.zero_trust.gateway.certificates.with_raw_response.delete(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ certificate = await response.parse()
+ assert_matches_type(Optional[CertificateDeleteResponse], certificate, path=["response"])
+
+ @parametrize
+ async def test_streaming_response_delete(self, async_client: AsyncCloudflare) -> None:
+ async with async_client.zero_trust.gateway.certificates.with_streaming_response.delete(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ certificate = await response.parse()
+ assert_matches_type(Optional[CertificateDeleteResponse], certificate, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_delete(self, async_client: AsyncCloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
+ await async_client.zero_trust.gateway.certificates.with_raw_response.delete(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `certificate_id` but received ''"):
+ await async_client.zero_trust.gateway.certificates.with_raw_response.delete(
+ "",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+
+ @parametrize
+ async def test_method_get(self, async_client: AsyncCloudflare) -> None:
+ certificate = await async_client.zero_trust.gateway.certificates.get(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+ assert_matches_type(Optional[CertificateGetResponse], certificate, path=["response"])
+
+ @parametrize
+ async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
+ response = await async_client.zero_trust.gateway.certificates.with_raw_response.get(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ certificate = await response.parse()
+ assert_matches_type(Optional[CertificateGetResponse], certificate, path=["response"])
+
+ @parametrize
+ async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> None:
+ async with async_client.zero_trust.gateway.certificates.with_streaming_response.get(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="699d98642c564d2e855e9661899b7252",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ certificate = await response.parse()
+ assert_matches_type(Optional[CertificateGetResponse], certificate, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_get(self, async_client: AsyncCloudflare) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
+ await async_client.zero_trust.gateway.certificates.with_raw_response.get(
+ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
+ account_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `certificate_id` but received ''"):
+ await async_client.zero_trust.gateway.certificates.with_raw_response.get(
+ "",
+ account_id="699d98642c564d2e855e9661899b7252",
+ )
diff --git a/tests/api_resources/zero_trust/gateway/test_configurations.py b/tests/api_resources/zero_trust/gateway/test_configurations.py
index 62f30e964a0..795445ac228 100644
--- a/tests/api_resources/zero_trust/gateway/test_configurations.py
+++ b/tests/api_resources/zero_trust/gateway/test_configurations.py
@@ -60,6 +60,7 @@ def test_method_update_with_all_params(self, client: Cloudflare) -> None:
"non_identity_enabled": True,
"url_browser_isolation_enabled": True,
},
+ "certificate": {"id": "d1b364c5-1311-466e-a194-f0e943e0799f"},
"custom_certificate": {
"enabled": True,
"id": "d1b364c5-1311-466e-a194-f0e943e0799f",
@@ -142,6 +143,7 @@ def test_method_edit_with_all_params(self, client: Cloudflare) -> None:
"non_identity_enabled": True,
"url_browser_isolation_enabled": True,
},
+ "certificate": {"id": "d1b364c5-1311-466e-a194-f0e943e0799f"},
"custom_certificate": {
"enabled": True,
"id": "d1b364c5-1311-466e-a194-f0e943e0799f",
@@ -266,6 +268,7 @@ async def test_method_update_with_all_params(self, async_client: AsyncCloudflare
"non_identity_enabled": True,
"url_browser_isolation_enabled": True,
},
+ "certificate": {"id": "d1b364c5-1311-466e-a194-f0e943e0799f"},
"custom_certificate": {
"enabled": True,
"id": "d1b364c5-1311-466e-a194-f0e943e0799f",
@@ -348,6 +351,7 @@ async def test_method_edit_with_all_params(self, async_client: AsyncCloudflare)
"non_identity_enabled": True,
"url_browser_isolation_enabled": True,
},
+ "certificate": {"id": "d1b364c5-1311-466e-a194-f0e943e0799f"},
"custom_certificate": {
"enabled": True,
"id": "d1b364c5-1311-466e-a194-f0e943e0799f",
diff --git a/tests/api_resources/zero_trust/gateway/test_lists.py b/tests/api_resources/zero_trust/gateway/test_lists.py
index cfd4e978d0f..08692169cfc 100644
--- a/tests/api_resources/zero_trust/gateway/test_lists.py
+++ b/tests/api_resources/zero_trust/gateway/test_lists.py
@@ -9,6 +9,7 @@
from cloudflare import Cloudflare, AsyncCloudflare
from tests.utils import assert_matches_type
+from cloudflare._utils import parse_datetime
from cloudflare.pagination import SyncSinglePage, AsyncSinglePage
from cloudflare.types.zero_trust.gateway import (
GatewayList,
@@ -38,7 +39,23 @@ def test_method_create_with_all_params(self, client: Cloudflare) -> None:
name="Admin Serial Numbers",
type="SERIAL",
description="The serial numbers for administrators",
- items=[{"value": "8GE8721REF"}, {"value": "8GE8721REF"}, {"value": "8GE8721REF"}],
+ items=[
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ ],
)
assert_matches_type(Optional[ListCreateResponse], list_, path=["response"])
@@ -149,6 +166,14 @@ def test_method_list(self, client: Cloudflare) -> None:
)
assert_matches_type(SyncSinglePage[GatewayList], list_, path=["response"])
+ @parametrize
+ def test_method_list_with_all_params(self, client: Cloudflare) -> None:
+ list_ = client.zero_trust.gateway.lists.list(
+ account_id="699d98642c564d2e855e9661899b7252",
+ type="SERIAL",
+ )
+ assert_matches_type(SyncSinglePage[GatewayList], list_, path=["response"])
+
@parametrize
def test_raw_response_list(self, client: Cloudflare) -> None:
response = client.zero_trust.gateway.lists.with_raw_response.list(
@@ -241,7 +266,23 @@ def test_method_edit_with_all_params(self, client: Cloudflare) -> None:
list_ = client.zero_trust.gateway.lists.edit(
"f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
account_id="699d98642c564d2e855e9661899b7252",
- append=[{"value": "8GE8721REF"}, {"value": "8GE8721REF"}, {"value": "8GE8721REF"}],
+ append=[
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ ],
remove=["8GE8721REF", "8GE8721REF", "8GE8721REF"],
)
assert_matches_type(Optional[GatewayList], list_, path=["response"])
@@ -354,7 +395,23 @@ async def test_method_create_with_all_params(self, async_client: AsyncCloudflare
name="Admin Serial Numbers",
type="SERIAL",
description="The serial numbers for administrators",
- items=[{"value": "8GE8721REF"}, {"value": "8GE8721REF"}, {"value": "8GE8721REF"}],
+ items=[
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ ],
)
assert_matches_type(Optional[ListCreateResponse], list_, path=["response"])
@@ -465,6 +522,14 @@ async def test_method_list(self, async_client: AsyncCloudflare) -> None:
)
assert_matches_type(AsyncSinglePage[GatewayList], list_, path=["response"])
+ @parametrize
+ async def test_method_list_with_all_params(self, async_client: AsyncCloudflare) -> None:
+ list_ = await async_client.zero_trust.gateway.lists.list(
+ account_id="699d98642c564d2e855e9661899b7252",
+ type="SERIAL",
+ )
+ assert_matches_type(AsyncSinglePage[GatewayList], list_, path=["response"])
+
@parametrize
async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None:
response = await async_client.zero_trust.gateway.lists.with_raw_response.list(
@@ -557,7 +622,23 @@ async def test_method_edit_with_all_params(self, async_client: AsyncCloudflare)
list_ = await async_client.zero_trust.gateway.lists.edit(
"f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
account_id="699d98642c564d2e855e9661899b7252",
- append=[{"value": "8GE8721REF"}, {"value": "8GE8721REF"}, {"value": "8GE8721REF"}],
+ append=[
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ {
+ "created_at": parse_datetime("2014-01-01T05:20:00.12345Z"),
+ "description": "Austin office IP",
+ "value": "8GE8721REF",
+ },
+ ],
remove=["8GE8721REF", "8GE8721REF", "8GE8721REF"],
)
assert_matches_type(Optional[GatewayList], list_, path=["response"])
diff --git a/tests/api_resources/zero_trust/gateway/test_rules.py b/tests/api_resources/zero_trust/gateway/test_rules.py
index b83694ffb9f..924ce1fa37b 100644
--- a/tests/api_resources/zero_trust/gateway/test_rules.py
+++ b/tests/api_resources/zero_trust/gateway/test_rules.py
@@ -110,6 +110,7 @@ def test_method_create_with_all_params(self, client: Cloudflare) -> None:
"ipv4_fallback": "192.0.2.3",
"ipv6": "2001:DB8::/64",
},
+ "ignore_cname_category_matches": True,
"insecure_disable_dnssec_validation": False,
"ip_categories": True,
"ip_indicator_feeds": True,
@@ -270,6 +271,7 @@ def test_method_update_with_all_params(self, client: Cloudflare) -> None:
"ipv4_fallback": "192.0.2.3",
"ipv6": "2001:DB8::/64",
},
+ "ignore_cname_category_matches": True,
"insecure_disable_dnssec_validation": False,
"ip_categories": True,
"ip_indicator_feeds": True,
@@ -577,6 +579,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncCloudflare
"ipv4_fallback": "192.0.2.3",
"ipv6": "2001:DB8::/64",
},
+ "ignore_cname_category_matches": True,
"insecure_disable_dnssec_validation": False,
"ip_categories": True,
"ip_indicator_feeds": True,
@@ -737,6 +740,7 @@ async def test_method_update_with_all_params(self, async_client: AsyncCloudflare
"ipv4_fallback": "192.0.2.3",
"ipv6": "2001:DB8::/64",
},
+ "ignore_cname_category_matches": True,
"insecure_disable_dnssec_validation": False,
"ip_categories": True,
"ip_indicator_feeds": True,