Skip to content

Commit d8cfc22

Browse files
authored
Merge pull request #143 from criblio/speakeasy-sdk-regen-dev-1760576200
chore: 🐝 Update SDK - Generate Dev SDK [dev] 0.2.0b5
2 parents 57bd50a + ee69d62 commit d8cfc22

20 files changed

+484
-46
lines changed

.speakeasy/gen.lock

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
lockVersion: 2.0.0
22
id: cfa345be-20bc-4980-a260-c3fa74040ac2
33
management:
4-
docChecksum: 55f2c1b59f274948fdc572a79f59dcc1
5-
docVersion: 4.15.0-alpha.1760486888592-e1e43793
4+
docChecksum: a36d607d60e776a4c9cc735310b933ee
5+
docVersion: 4.15.0-alpha.1760569726872-c3466a59
66
speakeasyVersion: 1.636.3
77
generationVersion: 2.723.11
8-
releaseVersion: 0.2.0b4
9-
configChecksum: b9fb8ecfb9fb27290e16ba66e6b34eff
8+
releaseVersion: 0.2.0b5
9+
configChecksum: 4059da1d9fbd0779c7d1230c34ad4916
1010
repoURL: https://github.com/criblio/cribl_control_plane_sdk_python.git
1111
installationURL: https://github.com/criblio/cribl_control_plane_sdk_python.git
1212
published: true
@@ -35,6 +35,7 @@ features:
3535
retries: 3.0.2
3636
sdkHooks: 1.1.0
3737
unions: 3.1.0
38+
uploadStreams: 1.0.0
3839
generatedFiles:
3940
- .devcontainer/README.md
4041
- .devcontainer/devcontainer.json
@@ -1982,10 +1983,12 @@ generatedFiles:
19821983
- docs/models/updateoutputbyidresponse.md
19831984
- docs/models/updatepacksbyidrequest.md
19841985
- docs/models/updatepacksbyidresponse.md
1986+
- docs/models/updatepacksrequest.md
19851987
- docs/models/updatepipelinebyidrequest.md
19861988
- docs/models/updatepipelinebyidresponse.md
19871989
- docs/models/updateroutesbyidrequest.md
19881990
- docs/models/updateroutesbyidresponse.md
1991+
- docs/models/uploadpackresponse.md
19891992
- docs/models/useraccesscontrollist.md
19901993
- docs/models/usersandgroups.md
19911994
- docs/models/utils/retryconfig.md
@@ -2308,8 +2311,10 @@ generatedFiles:
23082311
- src/cribl_control_plane/models/updateinputhectokenbyidandtokenop.py
23092312
- src/cribl_control_plane/models/updateoutputbyidop.py
23102313
- src/cribl_control_plane/models/updatepacksbyidop.py
2314+
- src/cribl_control_plane/models/updatepacksop.py
23112315
- src/cribl_control_plane/models/updatepipelinebyidop.py
23122316
- src/cribl_control_plane/models/updateroutesbyidop.py
2317+
- src/cribl_control_plane/models/uploadpackresponse.py
23132318
- src/cribl_control_plane/models/useraccesscontrollist.py
23142319
- src/cribl_control_plane/models/workertypes.py
23152320
- src/cribl_control_plane/nodes.py
@@ -2839,9 +2844,11 @@ examples:
28392844
parameters:
28402845
query:
28412846
filename: "example.file"
2847+
requestBody:
2848+
application/octet-stream: "x-file: example.file"
28422849
responses:
28432850
"200":
2844-
application/json: {"count": 779474, "items": [{}, {"key": "<value>"}]}
2851+
application/json: {"source": "<value>"}
28452852
"500":
28462853
application/json: {"message": "<value>"}
28472854
getGroupsConfigVersionById:
@@ -3277,3 +3284,11 @@ generatedTests:
32773284
updatePacksById: "2025-08-01T02:34:48Z"
32783285
deleteGroupsById: "2025-08-04T02:32:44Z"
32793286
updateGroupsById: "2025-08-04T02:32:44Z"
3287+
releaseNotes: |
3288+
## Python SDK Changes Detected:
3289+
* `cribl_control_plane.packs.upload()`: **Added**
3290+
* `cribl_control_plane.packs.install()`: `response.items.[].tags.data_type` **Changed**
3291+
* `cribl_control_plane.packs.list()`: `response.items.[].tags.data_type` **Changed**
3292+
* `cribl_control_plane.packs.delete()`: `response.items.[].tags.data_type` **Changed**
3293+
* `cribl_control_plane.packs.get()`: `response.items.[].tags.data_type` **Changed**
3294+
* `cribl_control_plane.packs.update()`: `response.items.[].tags.data_type` **Changed**

.speakeasy/gen.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ generation:
2626
generateNewTests: false
2727
skipResponseBodyAssertions: false
2828
python:
29-
version: 0.2.0b4
29+
version: 0.2.0b5
3030
additionalDependencies:
3131
dev: {}
3232
main: {}

.speakeasy/out.openapi.yaml

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ servers:
44
info:
55
title: Cribl API Reference
66
description: This API Reference lists available REST endpoints, along with their supported operations for accessing, creating, updating, or deleting resources. See our complementary product documentation at [docs.cribl.io](http://docs.cribl.io).
7-
version: 4.15.0-alpha.1760486888592-e1e43793
7+
version: 4.15.0-alpha.1760569726872-c3466a59
88
contact:
99
name: Support
1010
url: https://portal.support.cribl.io
@@ -41088,8 +41088,6 @@ components:
4108841088
type: array
4108941089
items:
4109041090
type: string
41091-
required:
41092-
- dataType
4109341091
version:
4109441092
type: string
4109541093
warnings:
@@ -41198,8 +41196,6 @@ components:
4119841196
type: array
4119941197
items:
4120041198
type: string
41201-
required:
41202-
- dataType
4120341199
version:
4120441200
type: string
4120541201
required:
@@ -41218,6 +41214,13 @@ components:
4121841214
type: string
4121941215
required:
4122041216
- source
41217+
UploadPackResponse:
41218+
type: object
41219+
properties:
41220+
source:
41221+
type: string
41222+
required:
41223+
- source
4122141224
GitCommitSummary:
4122241225
type: object
4122341226
properties:
@@ -43557,8 +43560,8 @@ paths:
4355743560
- packs
4355843561
x-speakeasy-group: packs
4355943562
x-speakeasy-name-override: install
43560-
summary: Create or install a Pack
43561-
description: Create or install a Pack.
43563+
summary: Install a Pack
43564+
description: Install a Pack.<br><br>To install an uploaded Pack, provide the <code>source</code> value from the <code>PUT /packs</code> response as the <code>source</code> parameter in the request body.<br><br>To install a Pack by importing from a URL, provide the direct URL location of the <code>.crbl</code> file for the Pack as the <code>source</code> parameter in the request body.<br><br>To install a Pack by importing from a Git repository, provide <code>git+<repo-url></code> as the <code>source</code> parameter in the request body.<br><br>If you do not include the <code>source</code> parameter in the request body, an empty Pack is created.
4356243565
responses:
4356343566
"200":
4356443567
description: a list of PackInstallInfo objects
@@ -43627,6 +43630,44 @@ paths:
4362743630
schema:
4362843631
type: string
4362943632
description: Comma-separated list of additional properties to include in the response. When set, the response includes a count of the specified properties in the Pack. Available values are <code>inputs</code> and <code>outputs</code>.
43633+
put:
43634+
operationId: updatePacks
43635+
tags:
43636+
- packs
43637+
x-speakeasy-group: packs
43638+
x-speakeasy-name-override: upload
43639+
summary: Upload a Pack file
43640+
description: Upload a Pack file. Returns the <code>source</code> ID needed to install the Pack with <code>POST /packs</source>, which you must call separately.
43641+
responses:
43642+
"200":
43643+
description: Pack file uploaded successfully
43644+
content:
43645+
application/json:
43646+
schema:
43647+
$ref: "#/components/schemas/UploadPackResponse"
43648+
"401":
43649+
description: Unauthorized
43650+
"500":
43651+
description: Unexpected error
43652+
content:
43653+
application/json:
43654+
schema:
43655+
$ref: "#/components/schemas/Error"
43656+
requestBody:
43657+
description: Binary file content
43658+
required: true
43659+
content:
43660+
application/octet-stream:
43661+
schema:
43662+
type: string
43663+
format: binary
43664+
parameters:
43665+
- name: filename
43666+
in: query
43667+
required: true
43668+
schema:
43669+
type: string
43670+
description: Filename of the Pack file to upload.
4363043671
/packs/{id}:
4363143672
delete:
4363243673
operationId: deletePacksById
@@ -43711,7 +43752,7 @@ paths:
4371143752
x-speakeasy-group: packs
4371243753
x-speakeasy-name-override: update
4371343754
summary: Upgrade a Pack
43714-
description: Upgrade the specified Pack.</br></br>If the Pack includes any user–modified versions of default Cribl Knowledge resources such as lookups, copy the modified files locally for safekeeping before upgrading the Pack. Copy the modified files back to the upgraded Pack after you install it with <code>POST /packs</code> to overwrite the default versions in the Pack.</br></br>After you upgrade the Pack, update any Routes, Pipelines, Sources, and Destinations that use the previous Pack version so that they reference the upgraded Pack.
43755+
description: Upgrade the specified Pack.</br></br>If the Pack includes any user–modified versions of default Cribl Knowledge resources such as lookups, copy the modified files locally for safekeeping before upgrading the Pack.Copy the modified files back to the upgraded Pack after you install it with <code>POST /packs</code> to overwrite the default versions in the Pack.</br></br>After you upgrade the Pack, update any Routes, Pipelines, Sources, and Destinations that use the previous Pack version so that they reference the upgraded Pack.
4371543756
responses:
4371643757
"200":
4371743758
description: a list of PackInfo objects

.speakeasy/workflow.lock

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@ speakeasyVersion: 1.636.3
22
sources:
33
Cribl API Reference:
44
sourceNamespace: cribl-api-reference
5-
sourceRevisionDigest: sha256:5b78d074d97a6f3f04525bd9fa58d282fc38230c91b70f45b3d39ae1c69d1a40
6-
sourceBlobDigest: sha256:91d33d4bf5374a4c943d4457f353611b0103b6b64ee574f88a63b0c4ccf15a03
5+
sourceRevisionDigest: sha256:aa8d55b08881b9cb4a9a2733ef4bb30ec2d431e3947e5328e7cfd0883536cb8b
6+
sourceBlobDigest: sha256:0beab37bb2d9c1fa7004085fba7408fba5ef91efc9d3598e99d6bda70c654795
77
tags:
88
- latest
9-
- speakeasy-sdk-regen-dev-1760532149
10-
- 4.15.0-alpha.1760486888592-e1e43793
9+
- speakeasy-sdk-regen-dev-1760576200
10+
- 4.15.0-alpha.1760569726872-c3466a59
1111
targets:
1212
cribl-control-plane:
1313
source: Cribl API Reference
1414
sourceNamespace: cribl-api-reference
15-
sourceRevisionDigest: sha256:5b78d074d97a6f3f04525bd9fa58d282fc38230c91b70f45b3d39ae1c69d1a40
16-
sourceBlobDigest: sha256:91d33d4bf5374a4c943d4457f353611b0103b6b64ee574f88a63b0c4ccf15a03
15+
sourceRevisionDigest: sha256:aa8d55b08881b9cb4a9a2733ef4bb30ec2d431e3947e5328e7cfd0883536cb8b
16+
sourceBlobDigest: sha256:0beab37bb2d9c1fa7004085fba7408fba5ef91efc9d3598e99d6bda70c654795
1717
codeSamplesNamespace: cribl-api-reference-python-code-samples
18-
codeSamplesRevisionDigest: sha256:78bbb016992d0e25b0e82b0dc340895be5f5f0ed9e2e9e36b92d253b5373deed
18+
codeSamplesRevisionDigest: sha256:15583f9d042e94bdeb7698a492154f7fa51095dada52ae8ae461d03b80f7c38d
1919
workflow:
2020
workflowVersion: 1.0.0
2121
speakeasyVersion: 1.636.3

README-PYPI.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Cribl API Reference: This API Reference lists available REST endpoints, along wi
1414
* [SDK Example Usage](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/#sdk-example-usage)
1515
* [Authentication](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/#authentication)
1616
* [Available Resources and Operations](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/#available-resources-and-operations)
17+
* [File uploads](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/#file-uploads)
1718
* [Retries](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/#retries)
1819
* [Error Handling](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/#error-handling)
1920
* [Custom HTTP Client](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/#custom-http-client)
@@ -354,8 +355,9 @@ with CriblControlPlane(
354355

355356
### [packs](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md)
356357

357-
* [install](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md#install) - Create or install a Pack
358+
* [install](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md#install) - Install a Pack
358359
* [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md#list) - List all Packs
360+
* [upload](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md#upload) - Upload a Pack file
359361
* [delete](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md#delete) - Uninstall a Pack
360362
* [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md#get) - Get a Pack
361363
* [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packs/README.md#update) - Upgrade a Pack
@@ -419,6 +421,36 @@ with CriblControlPlane(
419421
</details>
420422
<!-- End Available Resources and Operations [operations] -->
421423

424+
<!-- Start File uploads [file-upload] -->
425+
## File uploads
426+
427+
Certain SDK methods accept file objects as part of a request body or multi-part request. It is possible and typically recommended to upload files as a stream rather than reading the entire contents into memory. This avoids excessive memory consumption and potentially crashing with out-of-memory errors when working with very large files. The following example demonstrates how to attach a file stream to a request.
428+
429+
> [!TIP]
430+
>
431+
> For endpoints that handle file uploads bytes arrays can also be used. However, using streams is recommended for large files.
432+
>
433+
434+
```python
435+
from cribl_control_plane import CriblControlPlane, models
436+
import os
437+
438+
439+
with CriblControlPlane(
440+
server_url="https://api.example.com",
441+
security=models.Security(
442+
bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""),
443+
),
444+
) as ccp_client:
445+
446+
res = ccp_client.packs.upload(filename="example.file", request_body=open("example.file", "rb"))
447+
448+
# Handle response
449+
print(res)
450+
451+
```
452+
<!-- End File uploads [file-upload] -->
453+
422454
<!-- Start Retries [retries] -->
423455
## Retries
424456

@@ -632,7 +664,7 @@ with CriblControlPlane(
632664

633665

634666
**Inherit from [`CriblControlPlaneError`](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/./src/cribl_control_plane/errors/criblcontrolplaneerror.py)**:
635-
* [`HealthStatusError`](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/./src/cribl_control_plane/errors/healthstatuserror.py): Healthy status. Status code `420`. Applicable to 1 of 62 methods.*
667+
* [`HealthStatusError`](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/./src/cribl_control_plane/errors/healthstatuserror.py): Healthy status. Status code `420`. Applicable to 1 of 63 methods.*
636668
* [`ResponseValidationError`](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/./src/cribl_control_plane/errors/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute.
637669

638670
</details>

README.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Cribl API Reference: This API Reference lists available REST endpoints, along wi
1414
* [SDK Example Usage](#sdk-example-usage)
1515
* [Authentication](#authentication)
1616
* [Available Resources and Operations](#available-resources-and-operations)
17+
* [File uploads](#file-uploads)
1718
* [Retries](#retries)
1819
* [Error Handling](#error-handling)
1920
* [Custom HTTP Client](#custom-http-client)
@@ -354,8 +355,9 @@ with CriblControlPlane(
354355

355356
### [packs](docs/sdks/packs/README.md)
356357

357-
* [install](docs/sdks/packs/README.md#install) - Create or install a Pack
358+
* [install](docs/sdks/packs/README.md#install) - Install a Pack
358359
* [list](docs/sdks/packs/README.md#list) - List all Packs
360+
* [upload](docs/sdks/packs/README.md#upload) - Upload a Pack file
359361
* [delete](docs/sdks/packs/README.md#delete) - Uninstall a Pack
360362
* [get](docs/sdks/packs/README.md#get) - Get a Pack
361363
* [update](docs/sdks/packs/README.md#update) - Upgrade a Pack
@@ -419,6 +421,36 @@ with CriblControlPlane(
419421
</details>
420422
<!-- End Available Resources and Operations [operations] -->
421423

424+
<!-- Start File uploads [file-upload] -->
425+
## File uploads
426+
427+
Certain SDK methods accept file objects as part of a request body or multi-part request. It is possible and typically recommended to upload files as a stream rather than reading the entire contents into memory. This avoids excessive memory consumption and potentially crashing with out-of-memory errors when working with very large files. The following example demonstrates how to attach a file stream to a request.
428+
429+
> [!TIP]
430+
>
431+
> For endpoints that handle file uploads bytes arrays can also be used. However, using streams is recommended for large files.
432+
>
433+
434+
```python
435+
from cribl_control_plane import CriblControlPlane, models
436+
import os
437+
438+
439+
with CriblControlPlane(
440+
server_url="https://api.example.com",
441+
security=models.Security(
442+
bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""),
443+
),
444+
) as ccp_client:
445+
446+
res = ccp_client.packs.upload(filename="example.file", request_body=open("example.file", "rb"))
447+
448+
# Handle response
449+
print(res)
450+
451+
```
452+
<!-- End File uploads [file-upload] -->
453+
422454
<!-- Start Retries [retries] -->
423455
## Retries
424456

@@ -632,7 +664,7 @@ with CriblControlPlane(
632664

633665

634666
**Inherit from [`CriblControlPlaneError`](./src/cribl_control_plane/errors/criblcontrolplaneerror.py)**:
635-
* [`HealthStatusError`](./src/cribl_control_plane/errors/healthstatuserror.py): Healthy status. Status code `420`. Applicable to 1 of 62 methods.*
667+
* [`HealthStatusError`](./src/cribl_control_plane/errors/healthstatuserror.py): Healthy status. Status code `420`. Applicable to 1 of 63 methods.*
636668
* [`ResponseValidationError`](./src/cribl_control_plane/errors/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute.
637669

638670
</details>

RELEASES.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,4 +468,14 @@ Based on:
468468
### Generated
469469
- [python v0.2.0b4] .
470470
### Releases
471-
- [PyPI v0.2.0b4] https://pypi.org/project/cribl-control-plane/0.2.0b4 - .
471+
- [PyPI v0.2.0b4] https://pypi.org/project/cribl-control-plane/0.2.0b4 - .
472+
473+
## 2025-10-16 00:56:17
474+
### Changes
475+
Based on:
476+
- OpenAPI Doc
477+
- Speakeasy CLI 1.636.3 (2.723.11) https://github.com/speakeasy-api/speakeasy
478+
### Generated
479+
- [python v0.2.0b5] .
480+
### Releases
481+
- [PyPI v0.2.0b5] https://pypi.org/project/cribl-control-plane/0.2.0b5 - .

docs/models/packinfotags.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
| Field | Type | Required | Description |
77
| ------------------ | ------------------ | ------------------ | ------------------ |
8-
| `data_type` | List[*str*] | :heavy_check_mark: | N/A |
8+
| `data_type` | List[*str*] | :heavy_minus_sign: | N/A |
99
| `domain` | List[*str*] | :heavy_minus_sign: | N/A |
1010
| `streamtags` | List[*str*] | :heavy_minus_sign: | N/A |
1111
| `technology` | List[*str*] | :heavy_minus_sign: | N/A |

docs/models/packinstallinfotags.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
| Field | Type | Required | Description |
77
| ------------------ | ------------------ | ------------------ | ------------------ |
8-
| `data_type` | List[*str*] | :heavy_check_mark: | N/A |
8+
| `data_type` | List[*str*] | :heavy_minus_sign: | N/A |
99
| `domain` | List[*str*] | :heavy_minus_sign: | N/A |
1010
| `streamtags` | List[*str*] | :heavy_minus_sign: | N/A |
1111
| `technology` | List[*str*] | :heavy_minus_sign: | N/A |

docs/models/updatepacksrequest.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# UpdatePacksRequest
2+
3+
4+
## Fields
5+
6+
| Field | Type | Required | Description |
7+
| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
8+
| `filename` | *str* | :heavy_check_mark: | Filename of the Pack file to upload. |
9+
| `request_body` | *Union[bytes, IO[bytes], io.BufferedReader]* | :heavy_check_mark: | Binary file content |

0 commit comments

Comments
 (0)