diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0a40b9d77..ea2682c30 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.40.0" + ".": "0.41.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 4abf1099f..d90c138a9 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 87 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-c23f8f8426208651ecf7b2a4108ea2003c6e3241c6928e88ef004f76fe826c08.yml -openapi_spec_hash: 2eee5118b3c2dd49f9124df0d10341ed -config_hash: 4514558503b7aa6eba8c2941564c247d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-028690466821f7d03fc038928ce12d65025db071b8a74b9c1fb39309e40a99ec.yml +openapi_spec_hash: a6433c9e1bcf8cb3b4e23413ad6f7f11 +config_hash: 421e8d0e71c7ef71fdfebede08ea7271 diff --git a/CHANGELOG.md b/CHANGELOG.md index 10650f7c0..161c8513c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.41.0 (2025-06-10) + +Full Changelog: [v0.40.0...v0.41.0](https://github.com/runloopai/api-client-python/compare/v0.40.0...v0.41.0) + +### Features + +* **api:** api update ([31d12f7](https://github.com/runloopai/api-client-python/commit/31d12f76e35504238eadc7ff85a04557c3851a2a)) + ## 0.40.0 (2025-06-10) Full Changelog: [v0.39.0...v0.40.0](https://github.com/runloopai/api-client-python/compare/v0.39.0...v0.40.0) diff --git a/pyproject.toml b/pyproject.toml index e3cc18f2a..c2161ff26 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "runloop_api_client" -version = "0.40.0" +version = "0.41.0" description = "The official Python library for the runloop API" dynamic = ["readme"] license = "MIT" diff --git a/src/runloop_api_client/_version.py b/src/runloop_api_client/_version.py index 30ecb38ba..262799d1e 100644 --- a/src/runloop_api_client/_version.py +++ b/src/runloop_api_client/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "runloop_api_client" -__version__ = "0.40.0" # x-release-please-version +__version__ = "0.41.0" # x-release-please-version diff --git a/src/runloop_api_client/resources/devboxes/devboxes.py b/src/runloop_api_client/resources/devboxes/devboxes.py index 492e7b156..4d4c41709 100644 --- a/src/runloop_api_client/resources/devboxes/devboxes.py +++ b/src/runloop_api_client/resources/devboxes/devboxes.py @@ -171,6 +171,7 @@ def create( name: Optional[str] | NotGiven = NOT_GIVEN, prebuilt: Optional[str] | NotGiven = NOT_GIVEN, repo_connection_id: Optional[str] | NotGiven = NOT_GIVEN, + secrets: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN, snapshot_id: 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. @@ -218,6 +219,11 @@ def create( repo_connection_id: Repository connection id the devbox should source its base image from. + secrets: (Optional) Map of environment variable names to secret names. The secret values + will be securely injected as environment variables in the Devbox. Example: + {"DB_PASS": "DATABASE_PASSWORD"} sets environment variable 'DB_PASS' to the + value of secret 'DATABASE_PASSWORD'. + snapshot_id: Snapshot ID to use for the Devbox. Only one of (Snapshot ID, Blueprint ID, Blueprint name) should be specified. @@ -246,6 +252,7 @@ def create( "name": name, "prebuilt": prebuilt, "repo_connection_id": repo_connection_id, + "secrets": secrets, "snapshot_id": snapshot_id, }, devbox_create_params.DevboxCreateParams, @@ -1430,6 +1437,7 @@ async def create( name: Optional[str] | NotGiven = NOT_GIVEN, prebuilt: Optional[str] | NotGiven = NOT_GIVEN, repo_connection_id: Optional[str] | NotGiven = NOT_GIVEN, + secrets: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN, snapshot_id: 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. @@ -1477,6 +1485,11 @@ async def create( repo_connection_id: Repository connection id the devbox should source its base image from. + secrets: (Optional) Map of environment variable names to secret names. The secret values + will be securely injected as environment variables in the Devbox. Example: + {"DB_PASS": "DATABASE_PASSWORD"} sets environment variable 'DB_PASS' to the + value of secret 'DATABASE_PASSWORD'. + snapshot_id: Snapshot ID to use for the Devbox. Only one of (Snapshot ID, Blueprint ID, Blueprint name) should be specified. @@ -1505,6 +1518,7 @@ async def create( "name": name, "prebuilt": prebuilt, "repo_connection_id": repo_connection_id, + "secrets": secrets, "snapshot_id": snapshot_id, }, devbox_create_params.DevboxCreateParams, diff --git a/src/runloop_api_client/types/devbox_create_params.py b/src/runloop_api_client/types/devbox_create_params.py index 192fabe73..d35ab34a5 100644 --- a/src/runloop_api_client/types/devbox_create_params.py +++ b/src/runloop_api_client/types/devbox_create_params.py @@ -61,6 +61,14 @@ class DevboxCreateParams(TypedDict, total=False): repo_connection_id: Optional[str] """Repository connection id the devbox should source its base image from.""" + secrets: Optional[Dict[str, str]] + """(Optional) Map of environment variable names to secret names. + + The secret values will be securely injected as environment variables in the + Devbox. Example: {"DB_PASS": "DATABASE_PASSWORD"} sets environment variable + 'DB_PASS' to the value of secret 'DATABASE_PASSWORD'. + """ + snapshot_id: Optional[str] """Snapshot ID to use for the Devbox. diff --git a/tests/api_resources/test_devboxes.py b/tests/api_resources/test_devboxes.py index 7097c6f69..f9402f955 100644 --- a/tests/api_resources/test_devboxes.py +++ b/tests/api_resources/test_devboxes.py @@ -80,6 +80,7 @@ def test_method_create_with_all_params(self, client: Runloop) -> None: name="name", prebuilt="prebuilt", repo_connection_id="repo_connection_id", + secrets={"foo": "string"}, snapshot_id="snapshot_id", ) assert_matches_type(DevboxView, devbox, path=["response"]) @@ -1010,6 +1011,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncRunloop) - name="name", prebuilt="prebuilt", repo_connection_id="repo_connection_id", + secrets={"foo": "string"}, snapshot_id="snapshot_id", ) assert_matches_type(DevboxView, devbox, path=["response"])