Skip to content

Commit 6df842e

Browse files
feat: Add DELETE /deployments/{id} API endpoint
1 parent e5d7f07 commit 6df842e

File tree

4 files changed

+33
-4
lines changed

4 files changed

+33
-4
lines changed

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 100
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-a0f1d08e6f62a74de2aac5c25e592494abdd59f2cfca2842c5810927554faee0.yml
3-
openapi_spec_hash: ebd8bf67b7bb371cf4b4fa68b967cab5
4-
config_hash: 27c0ea01aeb797a1767af139851c5b66
1+
configured_endpoints: 101
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-bbc3dbdd0410eb315cfaeb21aad9f85e4a7f92ac55526ebb702a8bee343c2ab7.yml
3+
openapi_spec_hash: 60a5134c45a8f3a217e128d4e3335cae
4+
config_hash: 147340811dd6fbb9c2d80515a7e31f9a

api.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Methods:
2727
- <code title="post /deployments">client.deployments.<a href="./src/resources/deployments.ts">create</a>({ ...params }) -> DeploymentCreateResponse</code>
2828
- <code title="get /deployments/{id}">client.deployments.<a href="./src/resources/deployments.ts">retrieve</a>(id) -> DeploymentRetrieveResponse</code>
2929
- <code title="get /deployments">client.deployments.<a href="./src/resources/deployments.ts">list</a>({ ...params }) -> DeploymentListResponsesOffsetPagination</code>
30+
- <code title="delete /deployments/{id}">client.deployments.<a href="./src/resources/deployments.ts">delete</a>(id) -> void</code>
3031
- <code title="get /deployments/{id}/events">client.deployments.<a href="./src/resources/deployments.ts">follow</a>(id, { ...params }) -> DeploymentFollowResponse</code>
3132

3233
# Apps

src/resources/deployments.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,22 @@ export class Deployments extends APIResource {
6363
});
6464
}
6565

66+
/**
67+
* Stops a running deployment and marks it for deletion. If the deployment is
68+
* already in a terminal state (stopped or failed), returns immediately.
69+
*
70+
* @example
71+
* ```ts
72+
* await client.deployments.delete('id');
73+
* ```
74+
*/
75+
delete(id: string, options?: RequestOptions): APIPromise<void> {
76+
return this._client.delete(path`/deployments/${id}`, {
77+
...options,
78+
headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
79+
});
80+
}
81+
6682
/**
6783
* Establishes a Server-Sent Events (SSE) stream that delivers real-time logs and
6884
* status updates for a deployment. The stream terminates automatically once the

tests/api-resources/deployments.test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,18 @@ describe('resource deployments', () => {
5959
).rejects.toThrow(Kernel.NotFoundError);
6060
});
6161

62+
// Mock server tests are disabled
63+
test.skip('delete', async () => {
64+
const responsePromise = client.deployments.delete('id');
65+
const rawResponse = await responsePromise.asResponse();
66+
expect(rawResponse).toBeInstanceOf(Response);
67+
const response = await responsePromise;
68+
expect(response).not.toBeInstanceOf(Response);
69+
const dataAndResponse = await responsePromise.withResponse();
70+
expect(dataAndResponse.data).toBe(response);
71+
expect(dataAndResponse.response).toBe(rawResponse);
72+
});
73+
6274
// Mock server tests are disabled
6375
test.skip('follow', async () => {
6476
const responsePromise = client.deployments.follow('id');

0 commit comments

Comments
 (0)