Skip to content

Commit a301564

Browse files
chore: 🐝 Update SDK - Generate 0.2.0
1 parent 1e94c90 commit a301564

178 files changed

Lines changed: 3360 additions & 1588 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.speakeasy/gen.lock‎

Lines changed: 410 additions & 411 deletions
Large diffs are not rendered by default.

‎.speakeasy/gen.yaml‎

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ generation:
2020
sharedErrorComponentsApr2025: true
2121
sharedNestedComponentsJan2026: true
2222
nameOverrideFeb2026: true
23+
openSingleValueEnumsOct2026: false
2324
auth:
2425
oAuth2ClientCredentialsEnabled: true
2526
oAuth2PasswordEnabled: true
@@ -36,7 +37,7 @@ generation:
3637
generateNewTests: false
3738
skipResponseBodyAssertions: false
3839
python:
39-
version: 0.1.3
40+
version: 0.2.0
4041
additionalDependencies:
4142
dev: {}
4243
main: {}
@@ -48,13 +49,19 @@ python:
4849
- Cloudinary
4950
- Speakeasy
5051
baseErrorName: CloudinaryError
52+
bodyVariantOverloads: false
5153
clientServerStatusCodesAsErrors: true
5254
constFieldCasing: upper
5355
defaultErrorName: APIError
5456
description: Cloudinary Account Provisioning Python SDK.
57+
durationFormat: false
5558
enableCustomCodeRegions: false
5659
enumFormat: enum
5760
envVarPrefix: CLOUDINARY
61+
errorSchemaValidation: true
62+
eventStreamClassNames:
63+
async: EventStreamAsync
64+
sync: EventStream
5865
fixFlags:
5966
asyncPaginationSep2025: true
6067
conflictResistantModelImportsFeb2026: true
@@ -64,6 +71,7 @@ python:
6471
flatteningOrder: parameters-first
6572
forwardCompatibleEnumsByDefault: true
6673
forwardCompatibleUnionsByDefault: tagged-only
74+
httpClientLibrary: httpx
6775
imports:
6876
option: openapi
6977
paths:
@@ -74,18 +82,27 @@ python:
7482
webhooks: ""
7583
inferUnionDiscriminators: true
7684
inputModelSuffix: input
85+
inputTypedDictSuffix: TypedDict
7786
license: MIT
7887
maxMethodParams: 4
7988
methodArguments: infer-optional-args
89+
methodTimeoutArgument: timeout-ms
90+
methodTimeoutUnits: milliseconds
91+
modelSerializationMethods: false
8092
moduleName: ""
8193
multipartArrayFormat: legacy
94+
optionalDependencies: {}
8295
outputModelSuffix: output
8396
packageManager: uv
8497
packageName: cloudinary-account-provisioning
8598
preApplyUnionDiscriminators: false
99+
preserveUnknownFields: false
86100
pytestFilterWarnings: []
87101
pytestTimeout: 0
102+
rawResponseHelpers: false
88103
responseFormat: flat
104+
responseSchemaValidation: true
89105
sseFlatResponse: false
90106
templateVersion: v2
91107
useAsyncHooks: false
108+
uuidFormat: false

‎.speakeasy/logs/naming.log‎

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,15 @@ UsersResponse (users: array)
4141
User (id: string, name: string, first_name: string ...)
4242
EmailPreferences (empty)
4343
CreateUserRequestBody (name: string, email: string, role: enum ...)
44-
CreateUserRole (enum: master_admin, admin, billing ...)
44+
Role (enum: master_admin, admin, billing ...)
45+
RoleAssignment (id: string, scope_id: string, policy_parameters: class ...)
46+
PolicyParameters (folder_id: string, collection_id: string)
4547
GetUserRequest (user_id: string)
46-
UpdateUserRequest (user_id: string, UserRequest: UserRequest)
47-
UserRequest (name: string, email: string, role: enum ...)
48-
UserRequestRole (enum: master_admin, admin, billing ...)
48+
UpdateUserRequest (user_id: string, RequestBody: class)
49+
UpdateUserRequestBody (name: string, email: string, role: enum ...)
50+
UpdateUserRole (enum: master_admin, admin, billing ...)
51+
RoleManagementRequest (operation: enum, roles: array)
52+
Operation (enum: add, remove)
4953
DeleteUserRequest (user_id: string)
5054
GetGroupsForUserRequest (user_id: string)
5155
UserGroupsListResponse (groups: array)
@@ -89,12 +93,11 @@ SystemPoliciesResponse (data: array, next_cursor: string)
8993
SystemPolicyResponseData (id: string, name: string, description: string ...)
9094
PermissionsErrorResponse (error)
9195
PermissionsError (category: string, code: string, message: string ...)
92-
Details (empty)
9396
CustomPolicies (SDK empty)
9497
GetCustomPoliciesRequest (scope_type: ScopeTypeEnum, scope_id: string, enabled: boolean ...)
9598
CustomPoliciesResponse (data: array, next_cursor: string)
9699
CustomPolicyResponseData (id: string, policy_statement: string, description: string ...)
97-
CustomPolicy (policy_statement: string, description: string, scope_type: ScopeTypeEnum ...)
100+
CreateCustomPolicy (policy_statement: string, description: string, scope_type: ScopeTypeEnum ...)
98101
CustomPolicyResponse (data: CustomPolicyResponseData)
99102
GetCustomPolicyRequest (policy_id: string)
100103
UpdateCustomPolicyRequest (policy_id: string, UpdateCustomPolicy: UpdateCustomPolicy)
@@ -117,32 +120,27 @@ CreateRole (id: string, permission_type: string, scope_type: ScopeTypeEnum ...)
117120
RoleResponse (data: class)
118121
RoleResponseData1 (policies: array, id: string, name: string ...)
119122
GetRoleRequest (role_id: string, folder_id: string, asset_id: string ...)
120-
UpdateRoleRequest (role_id: string, Role: Role)
121-
Role (name: string, description: string, system_policy_ids: array)
123+
UpdateRoleRequest (role_id: string, UpdateRole: UpdateRole)
124+
UpdateRole (name: string, description: string, system_policy_ids: array)
122125
DeleteRoleRequest (role_id: string, force: boolean)
123126
GetRolePrincipalsRequest (role_id: string, scope_type: ScopeTypeEnum, scope_id: string ...)
124127
PrincipalsResponse (data: array)
125128
PrincipalResponseData (id: string, type: PrincipalTypeEnum, role_id: string ...)
126-
PrincipalResponseDataPolicyParameters (empty)
127129
UpdateRolePrincipalsRequest1 (role_id: string, UpdateRolePrincipalsRequest: UpdateRolePrincipalsRequest)
128130
UpdateRolePrincipalsRequest (operation: OperationEnum, principals: array)
129131
OperationEnum (enum: add, remove)
130132
UpdateRolePrincipal (principal_type: PrincipalTypeEnum, principal_id: string, scope_id: string ...)
131-
UpdateRolePrincipalPolicyParameters (empty)
132133
Principals (SDK empty)
133134
GetPrincipalRolesRequest (principal_type: PrincipalTypeEnum, principal_id: string, permission_type: PermissionTypeEnum ...)
134135
PrincipalRolesResponse (data: array)
135136
PrincipalRolesData (id: string, name: string, description: string ...)
136-
PolicyParameters (empty)
137137
UpdatePrincipalRolesRequest (operation: OperationEnum, principal: Principal, roles: array)
138138
Principal (type: PrincipalTypeEnum, id: string)
139-
RoleToManage (id: string, scope_id: string, policy_parameters: class)
140-
RoleToManagePolicyParameters (empty)
139+
RoleToManage (id: string, scope_id: string, policy_parameters: map)
141140
InspectRequest1 (scope_type: ScopeTypeEnum, scope_id: string, principal_type: PrincipalTypeEnum ...)
142141
PrincipalRolesInspectResponse (data: class, next_cursor: string)
143142
PrincipalRolesInspectResponseData (principals: array)
144143
PrincipalRolesInspectData (type: PrincipalTypeEnum, id: string, roles: array)
145144
InspectRequest (scope_type: ScopeTypeEnum, scope_id: string, principals: array ...)
146-
InspectRequestPolicyParameters (empty)
147145
Globals (account_id: string)
148146

‎.speakeasy/workflow.lock‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
speakeasyVersion: 1.761.1
1+
speakeasyVersion: 1.805.0
22
sources:
33
Cloudinary-Provisioning-OAS:
44
sourceNamespace: cloudinary-provisioning
5-
sourceRevisionDigest: sha256:e2fd5f6aa6b9fa1e5db8e0b8730ab4ba03eab339533987917f9fcd1b17b98d27
6-
sourceBlobDigest: sha256:ab6edeae93ec2d1ec61d5a5e88231cc8c57e93b249c107c193b82f7f750f8808
5+
sourceRevisionDigest: sha256:9a636fa6742c3e9f8ca38502330053b2551aff80a6a8225de22a418282179637
6+
sourceBlobDigest: sha256:b8e0d0049e58dacb9002274e8c7b55b1be9bf34f95dc44f40ece34d80afcb753
77
tags:
88
- latest
9-
- 0.2.1
9+
- 0.2.2
1010
targets:
1111
cloudinary:
1212
source: Cloudinary-Provisioning-OAS
1313
sourceNamespace: cloudinary-provisioning
14-
sourceRevisionDigest: sha256:e2fd5f6aa6b9fa1e5db8e0b8730ab4ba03eab339533987917f9fcd1b17b98d27
15-
sourceBlobDigest: sha256:ab6edeae93ec2d1ec61d5a5e88231cc8c57e93b249c107c193b82f7f750f8808
14+
sourceRevisionDigest: sha256:9a636fa6742c3e9f8ca38502330053b2551aff80a6a8225de22a418282179637
15+
sourceBlobDigest: sha256:b8e0d0049e58dacb9002274e8c7b55b1be9bf34f95dc44f40ece34d80afcb753
1616
codeSamplesNamespace: cloudinary-provisioning-python-code-samples
17-
codeSamplesRevisionDigest: sha256:02e688ff9ff6047addf90dcc259dbc1fc484a1498922867379eaa7d852b0171a
17+
codeSamplesRevisionDigest: sha256:f89648e05bd3257950e4bde586ce1efd7d8490375440cd715d5c15b3571a3bc5
1818
workflow:
1919
workflowVersion: 1.0.0
2020
speakeasyVersion: latest

‎README-PYPI.md‎

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
# Cloudinary Account Provisioning Python SDK
22

3+
[![PyPI Version](https://img.shields.io/pypi/v/cloudinary-account-provisioning.svg)](https://pypi.python.org/pypi/cloudinary-account-provisioning/)
4+
[![PyPI Downloads](https://img.shields.io/pypi/dm/cloudinary-account-provisioning.svg)](https://pypi.python.org/pypi/cloudinary-account-provisioning/)
5+
[![License](https://img.shields.io/github/license/cloudinary/account-provisioning-python.svg)](https://github.com/cloudinary/account-provisioning-python/blob/main/LICENSE)
6+
37
Developer-friendly & type-safe Python SDK specifically catered to leverage *cloudinary-account-provisioning* API.
48

59
<!-- Start Summary [summary] -->
610
## Summary
711

8-
Cloudinary Account Provisioning API: Accounts with provisioning API access can create and manage their **product environments**, **users** and **user groups** using the RESTful Provisioning API.
12+
Cloudinary Account Provisioning API: Accounts with provisioning API access can create and manage their **product environments**, **users** and **user groups** using the RESTful Provisioning API.
913

1014
Provisioning API access is available [upon request](https://cloudinary.com/contact?plan=enterprise) for accounts on an [Enterprise plan](https://cloudinary.com/pricing#pricing-enterprise).
1115

@@ -51,12 +55,10 @@ _Thank you for exploring this early release and helping us shape these tools to
5155
* [Global Parameters](https://github.com/cloudinary/account-provisioning-python/blob/master/#global-parameters)
5256
* [Retries](https://github.com/cloudinary/account-provisioning-python/blob/master/#retries)
5357
* [Error Handling](https://github.com/cloudinary/account-provisioning-python/blob/master/#error-handling)
54-
* [Asynchronous Example](https://github.com/cloudinary/account-provisioning-python/blob/master/#asynchronous-example)
55-
* [Synchronous Example](https://github.com/cloudinary/account-provisioning-python/blob/master/#synchronous-example)
56-
* [Asynchronous Example](https://github.com/cloudinary/account-provisioning-python/blob/master/#asynchronous-example-1)
57-
* [Synchronous Example](https://github.com/cloudinary/account-provisioning-python/blob/master/#synchronous-example-1)
58-
* [Asynchronous Example](https://github.com/cloudinary/account-provisioning-python/blob/master/#asynchronous-example-2)
59-
* [Or when using async:](https://github.com/cloudinary/account-provisioning-python/blob/master/#or-when-using-async)
58+
* [Server Selection](https://github.com/cloudinary/account-provisioning-python/blob/master/#server-selection)
59+
* [Custom HTTP Client](https://github.com/cloudinary/account-provisioning-python/blob/master/#custom-http-client)
60+
* [Resource Management](https://github.com/cloudinary/account-provisioning-python/blob/master/#resource-management)
61+
* [Debugging](https://github.com/cloudinary/account-provisioning-python/blob/master/#debugging)
6062
* [Development](https://github.com/cloudinary/account-provisioning-python/blob/master/#development)
6163
* [Maturity](https://github.com/cloudinary/account-provisioning-python/blob/master/#maturity)
6264
* [Contributions](https://github.com/cloudinary/account-provisioning-python/blob/master/#contributions)
@@ -570,7 +572,8 @@ with CldProvisioning(
570572

571573
# Depending on the method different errors may be thrown
572574
if isinstance(e, models.ErrorResponse):
573-
print(e.data.error) # Optional[cloudinary_account_provisioning.Error]```
575+
print(e.data.error) # Optional[cloudinary_account_provisioning.Error]
576+
```
574577

575578
</br>
576579

@@ -845,6 +848,20 @@ class CustomClient(AsyncHttpClient):
845848

846849
s = CldProvisioning(async_client=CustomClient(httpx.AsyncClient()))
847850
```
851+
### httpx2 (Pydantic's httpx fork)
852+
853+
[httpx2](https://httpx2.pydantic.dev/) is Pydantic's maintained fork of `httpx`. To run this SDK on httpx2, call `alias_httpx()` at your program's entry point, before importing the SDK, so every `import httpx` — including the ones inside the SDK — resolves to `httpx2`:
854+
```python
855+
import httpx2
856+
857+
httpx2.alias_httpx()
858+
859+
from cloudinary_account_provisioning import CldProvisioning
860+
861+
s = CldProvisioning()
862+
```
863+
864+
An SDK can also be generated against httpx2 directly, so it depends on the fork instead of `httpx`, by setting `python.httpClientLibrary: httpx2` in `gen.yaml`.
848865
<!-- End Custom HTTP Client [http-client] -->
849866

850867
<!-- Start Resource Management [resource-management] -->
@@ -867,6 +884,7 @@ def main():
867884
),
868885
) as cld_provisioning:
869886
# Rest of application here...
887+
pass
870888

871889

872890
# Or when using async:
@@ -880,6 +898,7 @@ async def amain():
880898
),
881899
) as cld_provisioning:
882900
# Rest of application here...
901+
pass
883902
```
884903
<!-- End Resource Management [resource-management] -->
885904

‎README.md‎

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Developer-friendly & type-safe Python SDK specifically catered to leverage *clou
99
<!-- Start Summary [summary] -->
1010
## Summary
1111

12-
Cloudinary Account Provisioning API: Accounts with provisioning API access can create and manage their **product environments**, **users** and **user groups** using the RESTful Provisioning API.
12+
Cloudinary Account Provisioning API: Accounts with provisioning API access can create and manage their **product environments**, **users** and **user groups** using the RESTful Provisioning API.
1313

1414
Provisioning API access is available [upon request](https://cloudinary.com/contact?plan=enterprise) for accounts on an [Enterprise plan](https://cloudinary.com/pricing#pricing-enterprise).
1515

@@ -55,12 +55,10 @@ _Thank you for exploring this early release and helping us shape these tools to
5555
* [Global Parameters](#global-parameters)
5656
* [Retries](#retries)
5757
* [Error Handling](#error-handling)
58-
* [Asynchronous Example](#asynchronous-example)
59-
* [Synchronous Example](#synchronous-example)
60-
* [Asynchronous Example](#asynchronous-example-1)
61-
* [Synchronous Example](#synchronous-example-1)
62-
* [Asynchronous Example](#asynchronous-example-2)
63-
* [Or when using async:](#or-when-using-async)
58+
* [Server Selection](#server-selection)
59+
* [Custom HTTP Client](#custom-http-client)
60+
* [Resource Management](#resource-management)
61+
* [Debugging](#debugging)
6462
* [Development](#development)
6563
* [Maturity](#maturity)
6664
* [Contributions](#contributions)
@@ -574,7 +572,8 @@ with CldProvisioning(
574572

575573
# Depending on the method different errors may be thrown
576574
if isinstance(e, models.ErrorResponse):
577-
print(e.data.error) # Optional[cloudinary_account_provisioning.Error]```
575+
print(e.data.error) # Optional[cloudinary_account_provisioning.Error]
576+
```
578577

579578
</br>
580579

@@ -849,6 +848,20 @@ class CustomClient(AsyncHttpClient):
849848

850849
s = CldProvisioning(async_client=CustomClient(httpx.AsyncClient()))
851850
```
851+
### httpx2 (Pydantic's httpx fork)
852+
853+
[httpx2](https://httpx2.pydantic.dev/) is Pydantic's maintained fork of `httpx`. To run this SDK on httpx2, call `alias_httpx()` at your program's entry point, before importing the SDK, so every `import httpx` — including the ones inside the SDK — resolves to `httpx2`:
854+
```python
855+
import httpx2
856+
857+
httpx2.alias_httpx()
858+
859+
from cloudinary_account_provisioning import CldProvisioning
860+
861+
s = CldProvisioning()
862+
```
863+
864+
An SDK can also be generated against httpx2 directly, so it depends on the fork instead of `httpx`, by setting `python.httpClientLibrary: httpx2` in `gen.yaml`.
852865
<!-- End Custom HTTP Client [http-client] -->
853866

854867
<!-- Start Resource Management [resource-management] -->
@@ -871,6 +884,7 @@ def main():
871884
),
872885
) as cld_provisioning:
873886
# Rest of application here...
887+
pass
874888

875889

876890
# Or when using async:
@@ -884,6 +898,7 @@ async def amain():
884898
),
885899
) as cld_provisioning:
886900
# Rest of application here...
901+
pass
887902
```
888903
<!-- End Resource Management [resource-management] -->
889904

‎RELEASES.md‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,14 @@ Based on:
2424
### Generated
2525
- [python v0.1.3] .
2626
### Releases
27-
- [PyPI v0.1.3] https://pypi.org/project/cloudinary-account-provisioning/0.1.3 - .
27+
- [PyPI v0.1.3] https://pypi.org/project/cloudinary-account-provisioning/0.1.3 - .
28+
29+
## 2026-11-02 11:51:20
30+
### Changes
31+
Based on:
32+
- OpenAPI Doc
33+
- Speakeasy CLI 1.805.0 (2.954.8) https://github.com/speakeasy-api/speakeasy
34+
### Generated
35+
- [python v0.2.0] .
36+
### Releases
37+
- [PyPI v0.2.0] https://pypi.org/project/cloudinary-account-provisioning/0.2.0 - .

0 commit comments

Comments
 (0)