From 2846fb24de5f80d54924d9ec6c0275eeac4d7383 Mon Sep 17 00:00:00 2001 From: ps-kwang <135043922+ps-kwang@users.noreply.github.com> Date: Fri, 5 Apr 2024 10:01:00 -0400 Subject: [PATCH] chore: update openapi spec (#57) --- api/openapi.ts | 9595 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 7188 insertions(+), 2407 deletions(-) diff --git a/api/openapi.ts b/api/openapi.ts index f9bb1d8..a0fd483 100644 --- a/api/openapi.ts +++ b/api/openapi.ts @@ -12,6 +12,11 @@ export interface paths { post: operations["apps-create"]; }; "/apps/{id}": { + /** + * Get an app + * @description Fetches an app. + */ + get: operations["apps-get"]; /** * Delete an app * @description Deletes an app. This will delete all resources associated with the app. @@ -360,6 +365,18 @@ export interface paths { * @description Lists the notebooks you have access to in the current team */ get: operations["notebooks-list"]; + /** + * Create a notebook + * @description Creates a new notebook + */ + post: operations["notebooks-create"]; + }; + "/notebooks/{id}": { + /** + * Get a notebook + * @description Fetches a notebook. + */ + get: operations["notebooks-get"]; }; "/private-networks": { /** @@ -427,6 +444,13 @@ export interface paths { */ get: operations["projectActivity-list"]; }; + "/projects/{id}/apps": { + /** + * List a project's apps + * @description Fetches a list of apps for a project. + */ + get: operations["projectApps-list"]; + }; "/projects/{id}/collaborators": { /** * List a project's collaborators @@ -451,7 +475,7 @@ export interface paths { * List a project's deployments * @description Fetches a list of deployments for a project. */ - get: operations["projectsDeployments-list"]; + get: operations["projectDeployments-list"]; }; "/projects/{id}/models": { /** @@ -460,6 +484,39 @@ export interface paths { */ get: operations["projectModels-list"]; }; + "/projects/{id}/models/{modelId}": { + /** + * Add a model to a project + * @description Adds a model to a project. + */ + post: operations["projectModels-add"]; + /** + * Remove a model from project + * @description Remove a model from project. + */ + delete: operations["projectModels-remove"]; + }; + "/projects/{id}/notebook/{notebookId}": { + /** + * Remove a notebook from a project + * @description Remove a notebook from a project. + */ + delete: operations["projectNotebooks-remove"]; + }; + "/projects/{id}/notebooks": { + /** + * List a project's notebooks + * @description Fetches a list of notebooks for a project. + */ + get: operations["projectNotebooks-list"]; + }; + "/projects/{id}/notebooks/{notebookId}": { + /** + * Add a notebook to a project + * @description Adds a notebook to a project. + */ + post: operations["projectNotebooks-add"]; + }; "/projects/{id}/secrets": { /** * List a project's secrets @@ -489,6 +546,23 @@ export interface paths { */ patch: operations["projectSecrets-update"]; }; + "/projects/{id}/tags": { + /** + * List a project's tags + * @description Fetches a list of tags for a project. + */ + get: operations["projectTags-list"]; + /** + * Add a tag to a project + * @description Adds a tag to a project. + */ + post: operations["projectTags-add"]; + /** + * Remove a tag from a project + * @description Remove a tag from a project. + */ + delete: operations["projectTags-remove"]; + }; "/public-ips": { /** * List public IPs @@ -715,6 +789,20 @@ export interface paths { */ delete: operations["templates-delete"]; }; + "/workflows": { + /** List all workflows */ + get: operations["workflows-list"]; + /** Create a workflow */ + post: operations["workflows-create"]; + }; + "/workflows/{id}": { + /** Get a workflow by ID */ + get: operations["workflows-get"]; + /** Update a workflow by ID */ + put: operations["workflows-update"]; + /** Delete a workflow by ID */ + delete: operations["workflows-delete"]; + }; "/workflows/{id}/runs/{runId}/logs": { /** * List workflow run logs @@ -722,6 +810,24 @@ export interface paths { */ get: operations["workflowRunLogs-list"]; }; + "/workflows/{workflowId}/runs": { + /** List all workflow runs */ + get: operations["workflowRuns-list"]; + /** Create a workflow run */ + post: operations["workflowRuns-create"]; + }; + "/workflows/{workflowId}/runs/{workflowSeqNum}": { + /** Get a workflow run by sequence number */ + get: operations["workflowRuns-get"]; + }; + "/workflows/{workflowId}/runs/{workflowSeqNum}/cancel": { + /** Cancel a workflow run by sequence number */ + post: operations["workflowRuns-cancel"]; + }; + "/workflows/auth-logs/{id}": { + /** Get a workflow auth log by ID */ + get: operations["workflowAuthLogs-get"]; + }; } export type webhooks = Record; @@ -763,7 +869,8 @@ export interface operations { readonly config: | ( | ({ - readonly apiVersion: "v0alpha0" | "latest"; + /** @enum {string} */ + readonly apiVersion: "v0alpha0"; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -886,6 +993,7 @@ export interface operations { | ({ /** @enum {string} */ readonly apiVersion: "v0alpha1"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -1026,15 +1134,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -1047,23 +1170,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -1094,6 +1202,7 @@ export interface operations { ) | ({ readonly apiVersion: "v1" | "latest"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -1234,15 +1343,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -1255,23 +1379,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -1299,57 +1408,11 @@ export interface operations { readonly replicas?: number; }; }); + /** @description The ID of the project to create the deployment in. */ + readonly projectId: string; }; }; }; - responses: { - /** @description Successful response */ - 200: { - content: { - readonly "application/json": { - /** @description The ID of the app */ - readonly id: string; - }; - }; - }; - default: components["responses"]["error"]; - }; - }; - /** - * Delete an app - * @description Deletes an app. This will delete all resources associated with the app. - */ - "apps-delete": { - parameters: { - readonly path: { - /** @description The ID of the app to delete */ - id: string; - }; - }; - responses: { - /** @description Successful response */ - 200: { - content: { - readonly "application/json": { - /** @description The ID of the app that was deleted */ - readonly id: string; - }; - }; - }; - default: components["responses"]["error"]; - }; - }; - /** - * Disable an app - * @description Disables an app that is currently enabled. This will stop the app's deployments and make it unavailable to users. - */ - "apps-disable": { - parameters: { - readonly path: { - /** @description The ID of the app to disable */ - id: string; - }; - }; responses: { /** @description Successful response */ 200: { @@ -1359,7 +1422,8 @@ export interface operations { readonly config: | ( | ({ - readonly apiVersion: "v0alpha0" | "latest"; + /** @enum {string} */ + readonly apiVersion: "v0alpha0"; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -1482,6 +1546,7 @@ export interface operations { | ({ /** @enum {string} */ readonly apiVersion: "v0alpha1"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -1622,15 +1687,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -1643,23 +1723,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -1690,6 +1755,7 @@ export interface operations { ) | ({ readonly apiVersion: "v1" | "latest"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -1830,15 +1896,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -1851,23 +1932,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -1904,13 +1970,13 @@ export interface operations { }; }; /** - * Enable an app - * @description Enables an app that has been previously disabled. This will start the app and make it available to users. + * Get an app + * @description Fetches an app. */ - "apps-enable": { + "apps-get": { parameters: { readonly path: { - /** @description The ID of the app to enable */ + /** @description The ID of the app to fetch */ id: string; }; }; @@ -1923,7 +1989,8 @@ export interface operations { readonly config: | ( | ({ - readonly apiVersion: "v0alpha0" | "latest"; + /** @enum {string} */ + readonly apiVersion: "v0alpha0"; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -2046,6 +2113,7 @@ export interface operations { | ({ /** @enum {string} */ readonly apiVersion: "v0alpha1"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -2186,15 +2254,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -2207,23 +2290,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -2254,6 +2322,7 @@ export interface operations { ) | ({ readonly apiVersion: "v1" | "latest"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -2394,15 +2463,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -2415,23 +2499,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -2468,33 +2537,23 @@ export interface operations { }; }; /** - * Update an app's name - * @description Change the name of an app + * Delete an app + * @description Deletes an app. This will delete all resources associated with the app. */ - "apps-updateName": { + "apps-delete": { parameters: { readonly path: { - /** @description The ID of the app to update */ + /** @description The ID of the app to delete */ id: string; }; }; - readonly requestBody: { - readonly content: { - readonly "application/json": { - /** @description The new name of the app */ - readonly name: string; - }; - }; - }; responses: { /** @description Successful response */ 200: { content: { readonly "application/json": { - /** @description The ID of the app */ + /** @description The ID of the app that was deleted */ readonly id: string; - /** @description The name of the app */ - readonly name: string; }; }; }; @@ -2502,229 +2561,14 @@ export interface operations { }; }; /** - * Get the current session - * @description Get the current session. If a user is not logged in, this will be null. Otherwise, it will contain the current team and user. + * Disable an app + * @description Disables an app that is currently enabled. This will stop the app's deployments and make it unavailable to users. */ - "auth-session": { - responses: { - /** @description Successful response */ - 200: { - content: { - readonly "application/json": - | ({ - readonly team: { - /** @description An internal, numeric ID for the team */ - readonly analyticsId: number; - /** @description A unique ID for the team */ - readonly id: string; - /** @description Whether the team is private or not */ - readonly isPrivate: boolean; - /** @description The maximum number of machines */ - readonly maxMachines: number; - /** @description The namespace for the team */ - readonly namespace: string; - }; - readonly user: { - /** @description An internal, numeric ID for the user */ - readonly analyticsId: number; - /** - * Format: date-time - * @description The date the account was confirmed - */ - readonly dtConfirmed: Date; - /** - * Format: date-time - * @description The date the user was created - */ - readonly dtCreated: Date; - /** @description The user's email address */ - readonly email: string; - /** @description The user's first name */ - readonly firstName: string | null; - /** @description A unique ID for the user */ - readonly id: string; - /** @description Whether the user has a password set */ - readonly isPasswordAuthEnabled: boolean; - /** @description Whether the user's phone number has been verified */ - readonly isPhoneVerified: boolean; - /** @description Whether the user has a QR code based MFA confirmed */ - readonly isQrCodeBasedMfaConfirmed: boolean; - /** @description Whether the user has a QR code based MFA enabled */ - readonly isQrCodeBasedMfaEnabled: boolean; - /** @description The user's last name */ - readonly lastName: string | null; - /** @description Metadata about the user */ - readonly metadata: { - /** - * @description Core survey question-answer pairs - * @default null - */ - readonly coreSurvey?: - | ({ - [key: string]: string | undefined; - }) - | null; - /** - * @description Gradient survey question-answer pairs - * @default null - */ - readonly gradientSurvey?: - | ({ - [key: string]: string | undefined; - }) - | null; - /** - * @description Whether the user has accepted the Graphcore terms of service - * @default false - */ - readonly graphcoreTermsAccepted?: boolean; - /** - * @description Tags for the user - * @default null - */ - readonly tags?: string | null; - }; - /** @description The teams this user is a member of */ - readonly teamMemberships: readonly ({ - /** @description Whether the user is an admin of the team */ - readonly isAdmin: boolean; - /** @description Whether the user is the owner of the team */ - readonly isOwner: boolean; - /** @description The team the user is a member of */ - readonly team: { - /** - * Format: date-time - * @description The date the team was created - */ - readonly dtCreated: Date; - /** @description The ID of the team */ - readonly id: string; - /** @description Whether the team is the user's team */ - readonly isUserTeam: boolean; - /** @description The name of the team */ - readonly name: string; - /** @description The namespace of the team */ - readonly namespace: string; - /** - * @description The URL of the team's profile image. - * @default null - */ - readonly publicProfileImageUrl?: string | null; - }; - })[]; - }; - }) - | null; - }; - }; - default: components["responses"]["error"]; - }; - }; - /** - * List autoscaling groups - * @description List autoscaling groups and filter by machine type. - */ - "autoscalingGroups-list": { + "apps-disable": { parameters: { - readonly query: { - /** @description Fetch the next page of results after this cursor. */ - after?: string; - /** @description The number of items to fetch after this page. */ - limit?: number; - /** @description Order results by one of these fields. */ - orderBy?: "dtCreated" | "name"; - /** @description The order to sort the results by. */ - order?: "asc" | "desc"; - /** @description Cluster the autoscaling group is for. */ - clusterId?: string; - /** @description Machine type used for machiens in the autoscaling group. */ - machineType?: string; - }; - }; - responses: { - /** @description Successful response */ - 200: { - content: { - readonly "application/json": { - /** @description Whether there are more pages of results available. */ - readonly hasMore: boolean; - /** @description The items on this page. */ - readonly items: readonly ({ - /** @description The ID of the cluster the autoscaling group is for. */ - readonly clusterId: string; - /** @description The current number of machines in the autoscaling group. */ - readonly current: number; - /** - * Format: date-time - * @description The date the autoscaling group was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the autoscaling group was deleted. - */ - readonly dtDeleted: Date; - /** - * Format: date-time - * @description The date the autoscaling group was last modified. - */ - readonly dtModified: Date; - /** @description The ID of the autoscaling group. */ - readonly id: string; - /** @description The ID of the user who last edited the autoscaling group. */ - readonly lastEditedByUserId: string | null; - /** @description The machine type used by machines in the autoscaling group. */ - readonly machineType: string; - /** @description The maximum number of machines in the autoscaling group. */ - readonly max: number; - /** @description The minimum number of machines in the autoscaling group. */ - readonly min: number; - /** @description The name of the autoscaling group. */ - readonly name: string; - /** @description The ID of the network used by machines in the autoscaling group. */ - readonly networkId: string; - /** @description The timeout for provisioning machines in the autoscaling group, in minutes. */ - readonly provisioningTimeout: number | null; - /** @description The ID of the startup script used by machines in the autoscaling group. */ - readonly startupScriptId: string | null; - /** @description The ID of the template used by machines in the autoscaling group. */ - readonly templateId: string; - })[]; - /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ - readonly nextPage?: string; - }; - }; - }; - default: components["responses"]["error"]; - }; - }; - /** - * Create an autoscaling group - * @description Create an autoscaling group. - */ - "autoscalingGroups-create": { - readonly requestBody: { - readonly content: { - readonly "application/json": { - /** @description The cluster the autoscaling group is for. */ - readonly clusterId: string; - /** @description The machine type used for machines in the autoscaling group. */ - readonly machineType: string; - /** @description The maximum number of machines in the autoscaling group. */ - readonly max: number; - /** @description The minimum number of machines in the autoscaling group. */ - readonly min: number; - /** @description The name of the autoscaling group. */ - readonly name: string; - /** @description The network the autoscaling group is in. */ - readonly networkId: string; - /** @description The timeout for provisioning machines in the autoscaling group. */ - readonly provisioningTimeout?: number; - /** @description The startup script used for machines in the autoscaling group. */ - readonly startupScriptId?: string; - /** @description The template used for machines in the autoscaling group. */ - readonly templateId: string; - }; + readonly path: { + /** @description The ID of the app to disable */ + id: string; }; }; responses: { @@ -2732,40 +2576,1437 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The ID of the cluster the autoscaling group is for. */ - readonly clusterId: string; - /** @description The current number of machines in the autoscaling group. */ - readonly current: number; - /** - * Format: date-time - * @description The date the autoscaling group was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the autoscaling group was deleted. - */ - readonly dtDeleted: Date; - /** - * Format: date-time - * @description The date the autoscaling group was last modified. - */ - readonly dtModified: Date; - /** @description The ID of the autoscaling group. */ - readonly id: string; - /** @description The ID of the user who last edited the autoscaling group. */ - readonly lastEditedByUserId: string | null; - /** @description The machine type used by machines in the autoscaling group. */ - readonly machineType: string; - /** @description The maximum number of machines in the autoscaling group. */ - readonly max: number; - /** @description The minimum number of machines in the autoscaling group. */ - readonly min: number; - /** @description The name of the autoscaling group. */ - readonly name: string; - /** @description The ID of the network used by machines in the autoscaling group. */ - readonly networkId: string; - /** @description The timeout for provisioning machines in the autoscaling group, in minutes. */ + /** @description The new deployment configuration. */ + readonly config: + | ( + | ({ + /** @enum {string} */ + readonly apiVersion: "v0alpha0"; + readonly command?: readonly (string)[]; + readonly containerRegistry?: string; + /** @default true */ + readonly enabled?: boolean; + readonly env?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly healthChecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly image: string; + readonly models?: readonly ({ + readonly id: string; + readonly path?: string; + })[]; + readonly name: string; + /** @default 80 */ + readonly port?: number; + readonly region?: string; + readonly repositories?: { + readonly dataset: string; + readonly mountPath?: string; + readonly repositories: readonly ({ + readonly name: string; + readonly password?: string; + readonly ref?: string; + readonly url: string; + readonly username?: string; + })[]; + }; + readonly resources: { + readonly autoscaling?: { + readonly enabled?: boolean; + readonly maxReplicas: number; + readonly metrics: readonly ( + | { + /** @enum {string} */ + readonly metric: "requestDuration"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + } + | ({ + /** @enum {string} */ + readonly metric: "cpu" | "memory"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + }) + )[]; + }; + readonly instanceType: string; + /** @default 1 */ + readonly replicas?: number; + }; + }) + | ({ + /** @enum {string} */ + readonly apiVersion: "v0alpha1"; + readonly basicAuthKey?: string; + readonly command?: readonly (string)[]; + readonly containerRegistry?: string; + /** @default true */ + readonly enabled?: boolean; + readonly env?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly healthchecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly healthChecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly image: string; + readonly integrations?: readonly ({ + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; + readonly endpoint?: string; + readonly name: string; + readonly path?: string; + readonly region?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "s3"; + readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; + } | { + readonly name: string; + /** @enum {string} */ + readonly type: "volume"; + } | { + readonly name: string; + readonly path?: string; + /** @enum {string} */ + readonly type: "git-lfs"; + /** Format: uri */ + readonly url: string; + })[]; + readonly name: string; + readonly region?: string; + readonly resources: { + readonly autoscaling?: { + readonly enabled?: boolean; + readonly maxReplicas: number; + readonly metrics: readonly ( + | { + /** @enum {string} */ + readonly metric: "requestDuration"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + } + | ({ + /** @enum {string} */ + readonly metric: "cpu" | "memory"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + }) + )[]; + }; + readonly machineType: string; + readonly ports: readonly (number)[]; + /** @default 1 */ + readonly replicas?: number; + }; + }) + ) + | ({ + readonly apiVersion: "v1" | "latest"; + readonly basicAuthKey?: string; + readonly command?: readonly (string)[]; + readonly containerRegistry?: string; + /** @default true */ + readonly enabled?: boolean; + readonly env?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly healthchecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly healthChecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly image: string; + readonly integrations?: readonly ({ + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; + readonly endpoint?: string; + readonly name: string; + readonly path?: string; + readonly region?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "s3"; + readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; + } | { + readonly name: string; + /** @enum {string} */ + readonly type: "volume"; + } | { + readonly name: string; + readonly path?: string; + /** @enum {string} */ + readonly type: "git-lfs"; + /** Format: uri */ + readonly url: string; + })[]; + readonly name: string; + readonly region?: string; + readonly resources: { + readonly autoscaling?: { + readonly enabled?: boolean; + readonly maxReplicas: number; + readonly metrics: readonly ( + | { + /** @enum {string} */ + readonly metric: "requestDuration"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + } + | ({ + /** @enum {string} */ + readonly metric: "cpu" | "memory"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + }) + )[]; + }; + readonly machineType: string; + readonly ports: readonly (number)[]; + /** @default 1 */ + readonly replicas?: number; + }; + }); + /** @description The ID of the app */ + readonly id: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Enable an app + * @description Enables an app that has been previously disabled. This will start the app and make it available to users. + */ + "apps-enable": { + parameters: { + readonly path: { + /** @description The ID of the app to enable */ + id: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The new deployment configuration. */ + readonly config: + | ( + | ({ + /** @enum {string} */ + readonly apiVersion: "v0alpha0"; + readonly command?: readonly (string)[]; + readonly containerRegistry?: string; + /** @default true */ + readonly enabled?: boolean; + readonly env?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly healthChecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly image: string; + readonly models?: readonly ({ + readonly id: string; + readonly path?: string; + })[]; + readonly name: string; + /** @default 80 */ + readonly port?: number; + readonly region?: string; + readonly repositories?: { + readonly dataset: string; + readonly mountPath?: string; + readonly repositories: readonly ({ + readonly name: string; + readonly password?: string; + readonly ref?: string; + readonly url: string; + readonly username?: string; + })[]; + }; + readonly resources: { + readonly autoscaling?: { + readonly enabled?: boolean; + readonly maxReplicas: number; + readonly metrics: readonly ( + | { + /** @enum {string} */ + readonly metric: "requestDuration"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + } + | ({ + /** @enum {string} */ + readonly metric: "cpu" | "memory"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + }) + )[]; + }; + readonly instanceType: string; + /** @default 1 */ + readonly replicas?: number; + }; + }) + | ({ + /** @enum {string} */ + readonly apiVersion: "v0alpha1"; + readonly basicAuthKey?: string; + readonly command?: readonly (string)[]; + readonly containerRegistry?: string; + /** @default true */ + readonly enabled?: boolean; + readonly env?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly healthchecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly healthChecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly image: string; + readonly integrations?: readonly ({ + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; + readonly endpoint?: string; + readonly name: string; + readonly path?: string; + readonly region?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "s3"; + readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; + } | { + readonly name: string; + /** @enum {string} */ + readonly type: "volume"; + } | { + readonly name: string; + readonly path?: string; + /** @enum {string} */ + readonly type: "git-lfs"; + /** Format: uri */ + readonly url: string; + })[]; + readonly name: string; + readonly region?: string; + readonly resources: { + readonly autoscaling?: { + readonly enabled?: boolean; + readonly maxReplicas: number; + readonly metrics: readonly ( + | { + /** @enum {string} */ + readonly metric: "requestDuration"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + } + | ({ + /** @enum {string} */ + readonly metric: "cpu" | "memory"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + }) + )[]; + }; + readonly machineType: string; + readonly ports: readonly (number)[]; + /** @default 1 */ + readonly replicas?: number; + }; + }) + ) + | ({ + readonly apiVersion: "v1" | "latest"; + readonly basicAuthKey?: string; + readonly command?: readonly (string)[]; + readonly containerRegistry?: string; + /** @default true */ + readonly enabled?: boolean; + readonly env?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly healthchecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly healthChecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly image: string; + readonly integrations?: readonly ({ + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; + readonly endpoint?: string; + readonly name: string; + readonly path?: string; + readonly region?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "s3"; + readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; + } | { + readonly name: string; + /** @enum {string} */ + readonly type: "volume"; + } | { + readonly name: string; + readonly path?: string; + /** @enum {string} */ + readonly type: "git-lfs"; + /** Format: uri */ + readonly url: string; + })[]; + readonly name: string; + readonly region?: string; + readonly resources: { + readonly autoscaling?: { + readonly enabled?: boolean; + readonly maxReplicas: number; + readonly metrics: readonly ( + | { + /** @enum {string} */ + readonly metric: "requestDuration"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + } + | ({ + /** @enum {string} */ + readonly metric: "cpu" | "memory"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + }) + )[]; + }; + readonly machineType: string; + readonly ports: readonly (number)[]; + /** @default 1 */ + readonly replicas?: number; + }; + }); + /** @description The ID of the app */ + readonly id: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Update an app's name + * @description Change the name of an app + */ + "apps-updateName": { + parameters: { + readonly path: { + /** @description The ID of the app to update */ + id: string; + }; + }; + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description The new name of the app */ + readonly name: string; + }; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The ID of the app */ + readonly id: string; + /** @description The name of the app */ + readonly name: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Get the current session + * @description Get the current session. If a user is not logged in, this will be null. Otherwise, it will contain the current team and user. + */ + "auth-session": { + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": + | ({ + readonly team: { + /** @description An internal, numeric ID for the team */ + readonly analyticsId: number; + /** @description A unique ID for the team */ + readonly id: string; + /** @description Whether the team is private or not */ + readonly isPrivate: boolean; + /** @description The maximum number of machines */ + readonly maxMachines: number; + /** @description The namespace for the team */ + readonly namespace: string; + }; + readonly user: { + /** @description An internal, numeric ID for the user */ + readonly analyticsId: number; + /** + * Format: date-time + * @description The date the account was confirmed + */ + readonly dtConfirmed: Date; + /** + * Format: date-time + * @description The date the user was created + */ + readonly dtCreated: Date; + /** @description The user's email address */ + readonly email: string; + /** @description The user's first name */ + readonly firstName: string | null; + /** @description A unique ID for the user */ + readonly id: string; + /** @description Whether the user has a password set */ + readonly isPasswordAuthEnabled: boolean; + /** @description Whether the user's phone number has been verified */ + readonly isPhoneVerified: boolean; + /** @description Whether the user has a QR code based MFA confirmed */ + readonly isQrCodeBasedMfaConfirmed: boolean; + /** @description Whether the user has a QR code based MFA enabled */ + readonly isQrCodeBasedMfaEnabled: boolean; + /** @description The user's last name */ + readonly lastName: string | null; + /** @description Metadata about the user */ + readonly metadata: { + /** + * @description Core survey question-answer pairs + * @default null + */ + readonly coreSurvey?: + | ({ + [key: string]: string | undefined; + }) + | null; + /** + * @description Gradient survey question-answer pairs + * @default null + */ + readonly gradientSurvey?: + | ({ + [key: string]: string | undefined; + }) + | null; + /** + * @description Whether the user has accepted the Graphcore terms of service + * @default false + */ + readonly graphcoreTermsAccepted?: boolean; + /** + * @description Tags for the user + * @default null + */ + readonly tags?: string | null; + }; + /** + * @description The user's preferences + * @default null + */ + readonly preferences?: + | ({ + readonly defaultProduct?: string | null; + readonly defaultTeamId?: string | null; + readonly disableHotkeys?: boolean | null; + readonly fontSize?: number | null; + /** @enum {string|null} */ + readonly theme?: "light" | "dark" | null; + }) + | null; + /** @description The teams this user is a member of */ + readonly teamMemberships: readonly ({ + /** @description Whether the user is an admin of the team */ + readonly isAdmin: boolean; + /** @description Whether the user is the owner of the team */ + readonly isOwner: boolean; + /** @description The team the user is a member of */ + readonly team: { + /** + * Format: date-time + * @description The date the team was created + */ + readonly dtCreated: Date; + /** @description The ID of the team */ + readonly id: string; + /** @description Whether the team is the user's team */ + readonly isUserTeam: boolean; + /** @description The name of the team */ + readonly name: string; + /** @description The namespace of the team */ + readonly namespace: string; + /** + * @description The URL of the team's profile image. + * @default null + */ + readonly publicProfileImageUrl?: string | null; + }; + })[]; + }; + }) + | null; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * List autoscaling groups + * @description List autoscaling groups and filter by machine type. + */ + "autoscalingGroups-list": { + parameters: { + readonly query: { + /** @description Fetch the next page of results after this cursor. */ + after?: string; + /** @description The number of items to fetch after this page. */ + limit?: number; + /** @description Order results by one of these fields. */ + orderBy?: "dtCreated" | "name"; + /** @description The order to sort the results by. */ + order?: "asc" | "desc"; + /** @description Cluster the autoscaling group is for. */ + clusterId?: string; + /** @description Machine type used for machiens in the autoscaling group. */ + machineType?: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description Whether there are more pages of results available. */ + readonly hasMore: boolean; + /** @description The items on this page. */ + readonly items: readonly ({ + /** @description The ID of the cluster the autoscaling group is for. */ + readonly clusterId: string; + /** @description The current number of machines in the autoscaling group. */ + readonly current: number; + /** + * Format: date-time + * @description The date the autoscaling group was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the autoscaling group was deleted. + */ + readonly dtDeleted: Date; + /** + * Format: date-time + * @description The date the autoscaling group was last modified. + */ + readonly dtModified: Date; + /** @description The ID of the autoscaling group. */ + readonly id: string; + /** @description The ID of the user who last edited the autoscaling group. */ + readonly lastEditedByUserId: string | null; + /** @description The machine type used by machines in the autoscaling group. */ + readonly machineType: string; + /** @description The maximum number of machines in the autoscaling group. */ + readonly max: number; + /** @description The minimum number of machines in the autoscaling group. */ + readonly min: number; + /** @description The name of the autoscaling group. */ + readonly name: string; + /** @description The ID of the network used by machines in the autoscaling group. */ + readonly networkId: string; + /** @description The timeout for provisioning machines in the autoscaling group, in minutes. */ + readonly provisioningTimeout: number | null; + /** @description The ID of the startup script used by machines in the autoscaling group. */ + readonly startupScriptId: string | null; + /** @description The ID of the template used by machines in the autoscaling group. */ + readonly templateId: string; + })[]; + /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ + readonly nextPage?: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Create an autoscaling group + * @description Create an autoscaling group. + */ + "autoscalingGroups-create": { + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description The cluster the autoscaling group is for. */ + readonly clusterId: string; + /** @description The machine type used for machines in the autoscaling group. */ + readonly machineType: string; + /** @description The maximum number of machines in the autoscaling group. */ + readonly max: number; + /** @description The minimum number of machines in the autoscaling group. */ + readonly min: number; + /** @description The name of the autoscaling group. */ + readonly name: string; + /** @description The network the autoscaling group is in. */ + readonly networkId: string; + /** @description The timeout for provisioning machines in the autoscaling group. */ + readonly provisioningTimeout?: number; + /** @description The startup script used for machines in the autoscaling group. */ + readonly startupScriptId?: string; + /** @description The template used for machines in the autoscaling group. */ + readonly templateId: string; + }; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The ID of the cluster the autoscaling group is for. */ + readonly clusterId: string; + /** @description The current number of machines in the autoscaling group. */ + readonly current: number; + /** + * Format: date-time + * @description The date the autoscaling group was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the autoscaling group was deleted. + */ + readonly dtDeleted: Date; + /** + * Format: date-time + * @description The date the autoscaling group was last modified. + */ + readonly dtModified: Date; + /** @description The ID of the autoscaling group. */ + readonly id: string; + /** @description The ID of the user who last edited the autoscaling group. */ + readonly lastEditedByUserId: string | null; + /** @description The machine type used by machines in the autoscaling group. */ + readonly machineType: string; + /** @description The maximum number of machines in the autoscaling group. */ + readonly max: number; + /** @description The minimum number of machines in the autoscaling group. */ + readonly min: number; + /** @description The name of the autoscaling group. */ + readonly name: string; + /** @description The ID of the network used by machines in the autoscaling group. */ + readonly networkId: string; + /** @description The timeout for provisioning machines in the autoscaling group, in minutes. */ readonly provisioningTimeout: number | null; /** @description The ID of the startup script used by machines in the autoscaling group. */ readonly startupScriptId: string | null; @@ -2959,6 +4200,10 @@ export interface operations { 200: { content: { readonly "application/json": { + /** @description Whether the account has a payment method */ + readonly hasPaymentMethod: boolean; + /** @description Whether the account is admin locked */ + readonly isAdminLocked: boolean; /** @description Whether the account is in good standing */ readonly isInGoodStanding: boolean; /** @description If the account is not in good standing, these are messages explaining why. */ @@ -3007,6 +4252,17 @@ export interface operations { readonly dtModified: Date; /** @description The id of the container registry */ readonly id: string; + /** + * @description The kind of container registry + * @enum {string} + */ + readonly kind: + | "other" + | "dockerhub" + | "gcr" + | "ghcr" + | "digitalocean" + | "azure"; /** @description The name of the container registry */ readonly name: string; /** @description The namespace of the container registry */ @@ -3032,16 +4288,24 @@ export interface operations { readonly requestBody: { readonly content: { readonly "application/json": { + /** + * @description The kind of provider the registry is. If provided, the registry will be validated against the provider's rules. + * @enum {string} + */ + readonly kind?: + | "other" + | "dockerhub" + | "gcr" + | "ghcr" + | "digitalocean" + | "azure"; /** @description The name of the container registry */ readonly name: string; /** @description The namespace of the container registry */ readonly namespace: string; /** @description The password for the registry */ readonly password: string; - /** - * Format: uri - * @description The URL of the container registry - */ + /** @description The URL of the container registry */ readonly url: string; /** @description A username for the container registry */ readonly username: string; @@ -3065,6 +4329,17 @@ export interface operations { readonly dtModified: Date; /** @description The id of the container registry */ readonly id: string; + /** + * @description The kind of container registry + * @enum {string} + */ + readonly kind: + | "other" + | "dockerhub" + | "gcr" + | "ghcr" + | "digitalocean" + | "azure"; /** @description The name of the container registry */ readonly name: string; /** @description The namespace of the container registry */ @@ -3107,6 +4382,17 @@ export interface operations { readonly dtModified: Date; /** @description The id of the container registry */ readonly id: string; + /** + * @description The kind of container registry + * @enum {string} + */ + readonly kind: + | "other" + | "dockerhub" + | "gcr" + | "ghcr" + | "digitalocean" + | "azure"; /** @description The name of the container registry */ readonly name: string; /** @description The namespace of the container registry */ @@ -3135,16 +4421,24 @@ export interface operations { readonly requestBody: { readonly content: { readonly "application/json": { + /** + * @description The kind of provider the registry is. If provided, the registry will be validated against the provider's rules. + * @enum {string} + */ + readonly kind?: + | "other" + | "dockerhub" + | "gcr" + | "ghcr" + | "digitalocean" + | "azure"; /** @description The name of the container registry */ readonly name?: string; /** @description The namespace of the container registry */ readonly namespace?: string; /** @description An updated password for the registry */ readonly password?: string; - /** - * Format: uri - * @description The URL of the container registry - */ + /** @description The URL of the container registry */ readonly url?: string; /** @description A username for the container registry */ readonly username?: string; @@ -3168,6 +4462,17 @@ export interface operations { readonly dtModified: Date; /** @description The id of the container registry */ readonly id: string; + /** + * @description The kind of container registry + * @enum {string} + */ + readonly kind: + | "other" + | "dockerhub" + | "gcr" + | "ghcr" + | "digitalocean" + | "azure"; /** @description The name of the container registry */ readonly name: string; /** @description The namespace of the container registry */ @@ -3210,6 +4515,17 @@ export interface operations { readonly dtModified: Date; /** @description The id of the container registry */ readonly id: string; + /** + * @description The kind of container registry + * @enum {string} + */ + readonly kind: + | "other" + | "dockerhub" + | "gcr" + | "ghcr" + | "digitalocean" + | "azure"; /** @description The name of the container registry */ readonly name: string; /** @description The namespace of the container registry */ @@ -3805,6 +5121,11 @@ export interface operations { readonly hasMore: boolean; /** @description The items on this page. */ readonly items: readonly ({ + /** + * @description The endpoint security key for the deployment + * @default null + */ + readonly basicAuthKey?: string | null; /** * Format: date-time * @description The date the deployment was created @@ -3825,7 +5146,8 @@ export interface operations { | ( | ( | ({ - readonly apiVersion: "v0alpha0" | "latest"; + /** @enum {string} */ + readonly apiVersion: "v0alpha0"; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -3948,6 +5270,7 @@ export interface operations { | ({ /** @enum {string} */ readonly apiVersion: "v0alpha1"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -4088,15 +5411,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -4109,23 +5447,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -4156,6 +5479,7 @@ export interface operations { ) | ({ readonly apiVersion: "v1" | "latest"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -4296,15 +5620,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -4317,23 +5656,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -4436,7 +5760,8 @@ export interface operations { readonly config: | ( | ({ - readonly apiVersion: "v0alpha0" | "latest"; + /** @enum {string} */ + readonly apiVersion: "v0alpha0"; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -4559,6 +5884,7 @@ export interface operations { | ({ /** @enum {string} */ readonly apiVersion: "v0alpha1"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -4699,15 +6025,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -4720,23 +6061,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -4767,6 +6093,7 @@ export interface operations { ) | ({ readonly apiVersion: "v1" | "latest"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -4907,15 +6234,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -4928,23 +6270,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -5011,6 +6338,11 @@ export interface operations { 200: { content: { readonly "application/json": { + /** + * @description The endpoint security key for the deployment + * @default null + */ + readonly basicAuthKey?: string | null; /** * Format: date-time * @description The date the deployment was created @@ -5031,7 +6363,8 @@ export interface operations { | ( | ( | ({ - readonly apiVersion: "v0alpha0" | "latest"; + /** @enum {string} */ + readonly apiVersion: "v0alpha0"; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -5154,6 +6487,7 @@ export interface operations { | ({ /** @enum {string} */ readonly apiVersion: "v0alpha1"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -5294,15 +6628,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -5315,23 +6664,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -5362,6 +6696,7 @@ export interface operations { ) | ({ readonly apiVersion: "v1" | "latest"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -5502,15 +6837,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -5523,23 +6873,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -5686,7 +7021,8 @@ export interface operations { | ( | ( | ({ - readonly apiVersion: "v0alpha0" | "latest"; + /** @enum {string} */ + readonly apiVersion: "v0alpha0"; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -5809,6 +7145,7 @@ export interface operations { | ({ /** @enum {string} */ readonly apiVersion: "v0alpha1"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -5949,15 +7286,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -5970,23 +7322,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -6017,6 +7354,7 @@ export interface operations { ) | ({ readonly apiVersion: "v1" | "latest"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -6157,15 +7495,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -6178,23 +7531,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -6322,7 +7660,7 @@ export interface operations { */ readonly id: string; /** @description The name of the workflow */ - readonly name: string; + readonly name: string | null; }; /** * Format: uuid @@ -6386,8 +7724,6 @@ export interface operations { readonly instanceId?: string | null; /** @description The associated job ID of the log item. */ readonly jobId: string; - /** @description The line number of the log item. */ - readonly line: string; /** @description The message of the log item. */ readonly message: string; /** @@ -6754,12 +8090,14 @@ export interface operations { readonly items: readonly ({ /** @description The accelerators of the machine. */ readonly accelerators?: - | readonly ({ + | (readonly ({ /** @description The number of accelerators of this type. */ readonly count: number; + /** @description The amount of memory the accelerator has, if applicable. */ + readonly memory: number | null; /** @description The name of the accelerator. */ readonly name: string; - })[] + })[]) | null; /** @description The agent type of the machine. */ readonly agentType: string; @@ -6797,37 +8135,13 @@ export interface operations { readonly dtDeleted: Date; /** * Format: date-time - * @description The date the machine was last modified. - */ - readonly dtModified: Date; - /** @description The ID of the machine. */ - readonly id: string; - /** @description The type of the machine. */ - readonly machineType: { - /** @description The number of CPUs. */ - readonly cpus: number; - /** @description The name of the GPU. */ - readonly gpu: string | null; - /** @description The label of the machine type. */ - readonly label: string; - /** @description Metadata for the machine type. */ - readonly metadata: - | ({ - [key: string]: unknown | undefined; - }) - | null; - /** @description The name of the NVLink GPU. */ - readonly nvlinkGpu: string | null; - /** @description The number of NVLink GPUs. */ - readonly nvlinkGpuCount: number | null; - /** - * Format: int64 - * @description The amount of RAM in bytes. - */ - readonly ram: number; - /** @description Whether the machine type supports NVLink. */ - readonly supportsNvlink: boolean; - }; + * @description The date the machine was last modified. + */ + readonly dtModified: Date; + /** @description The ID of the machine. */ + readonly id: string; + /** @description The type of the machine. */ + readonly machineType: string; /** @description The name of the machine. */ readonly name: string; /** @description The ID of the network the machine is on. */ @@ -6850,6 +8164,16 @@ export interface operations { readonly ram: number; /** @description The region of the machine. */ readonly region: string; + readonly reservation: { + /** Format: date-time */ + readonly dtFinished: Date; + /** Format: date-time */ + readonly dtStarted: Date; + /** Format: uuid */ + readonly id: string; + readonly isActive: boolean; + readonly name: string; + } | null; /** @description Whether a restore point is enabled. */ readonly restorePointEnabled: boolean; /** @@ -6972,12 +8296,14 @@ export interface operations { readonly data: { /** @description The accelerators of the machine. */ readonly accelerators?: - | readonly ({ + | (readonly ({ /** @description The number of accelerators of this type. */ readonly count: number; + /** @description The amount of memory the accelerator has, if applicable. */ + readonly memory: number | null; /** @description The name of the accelerator. */ readonly name: string; - })[] + })[]) | null; /** @description The agent type of the machine. */ readonly agentType: string; @@ -7021,31 +8347,7 @@ export interface operations { /** @description The ID of the machine. */ readonly id: string; /** @description The type of the machine. */ - readonly machineType: { - /** @description The number of CPUs. */ - readonly cpus: number; - /** @description The name of the GPU. */ - readonly gpu: string | null; - /** @description The label of the machine type. */ - readonly label: string; - /** @description Metadata for the machine type. */ - readonly metadata: - | ({ - [key: string]: unknown | undefined; - }) - | null; - /** @description The name of the NVLink GPU. */ - readonly nvlinkGpu: string | null; - /** @description The number of NVLink GPUs. */ - readonly nvlinkGpuCount: number | null; - /** - * Format: int64 - * @description The amount of RAM in bytes. - */ - readonly ram: number; - /** @description Whether the machine type supports NVLink. */ - readonly supportsNvlink: boolean; - }; + readonly machineType: string; /** @description The name of the machine. */ readonly name: string; /** @description The ID of the network the machine is on. */ @@ -7068,6 +8370,16 @@ export interface operations { readonly ram: number; /** @description The region of the machine. */ readonly region: string; + readonly reservation: { + /** Format: date-time */ + readonly dtFinished: Date; + /** Format: date-time */ + readonly dtStarted: Date; + /** Format: uuid */ + readonly id: string; + readonly isActive: boolean; + readonly name: string; + } | null; /** @description Whether a restore point is enabled. */ readonly restorePointEnabled: boolean; /** @@ -7187,12 +8499,14 @@ export interface operations { readonly "application/json": { /** @description The accelerators of the machine. */ readonly accelerators?: - | readonly ({ + | (readonly ({ /** @description The number of accelerators of this type. */ readonly count: number; + /** @description The amount of memory the accelerator has, if applicable. */ + readonly memory: number | null; /** @description The name of the accelerator. */ readonly name: string; - })[] + })[]) | null; /** @description The agent type of the machine. */ readonly agentType: string; @@ -7236,31 +8550,7 @@ export interface operations { /** @description The ID of the machine. */ readonly id: string; /** @description The type of the machine. */ - readonly machineType: { - /** @description The number of CPUs. */ - readonly cpus: number; - /** @description The name of the GPU. */ - readonly gpu: string | null; - /** @description The label of the machine type. */ - readonly label: string; - /** @description Metadata for the machine type. */ - readonly metadata: - | ({ - [key: string]: unknown | undefined; - }) - | null; - /** @description The name of the NVLink GPU. */ - readonly nvlinkGpu: string | null; - /** @description The number of NVLink GPUs. */ - readonly nvlinkGpuCount: number | null; - /** - * Format: int64 - * @description The amount of RAM in bytes. - */ - readonly ram: number; - /** @description Whether the machine type supports NVLink. */ - readonly supportsNvlink: boolean; - }; + readonly machineType: string; /** @description The name of the machine. */ readonly name: string; /** @description The ID of the network the machine is on. */ @@ -7283,6 +8573,16 @@ export interface operations { readonly ram: number; /** @description The region of the machine. */ readonly region: string; + readonly reservation: { + /** Format: date-time */ + readonly dtFinished: Date; + /** Format: date-time */ + readonly dtStarted: Date; + /** Format: uuid */ + readonly id: string; + readonly isActive: boolean; + readonly name: string; + } | null; /** @description Whether a restore point is enabled. */ readonly restorePointEnabled: boolean; /** @@ -7394,12 +8694,14 @@ export interface operations { readonly data: { /** @description The accelerators of the machine. */ readonly accelerators?: - | readonly ({ + | (readonly ({ /** @description The number of accelerators of this type. */ readonly count: number; + /** @description The amount of memory the accelerator has, if applicable. */ + readonly memory: number | null; /** @description The name of the accelerator. */ readonly name: string; - })[] + })[]) | null; /** @description The agent type of the machine. */ readonly agentType: string; @@ -7443,31 +8745,7 @@ export interface operations { /** @description The ID of the machine. */ readonly id: string; /** @description The type of the machine. */ - readonly machineType: { - /** @description The number of CPUs. */ - readonly cpus: number; - /** @description The name of the GPU. */ - readonly gpu: string | null; - /** @description The label of the machine type. */ - readonly label: string; - /** @description Metadata for the machine type. */ - readonly metadata: - | ({ - [key: string]: unknown | undefined; - }) - | null; - /** @description The name of the NVLink GPU. */ - readonly nvlinkGpu: string | null; - /** @description The number of NVLink GPUs. */ - readonly nvlinkGpuCount: number | null; - /** - * Format: int64 - * @description The amount of RAM in bytes. - */ - readonly ram: number; - /** @description Whether the machine type supports NVLink. */ - readonly supportsNvlink: boolean; - }; + readonly machineType: string; /** @description The name of the machine. */ readonly name: string; /** @description The ID of the network the machine is on. */ @@ -7490,6 +8768,16 @@ export interface operations { readonly ram: number; /** @description The region of the machine. */ readonly region: string; + readonly reservation: { + /** Format: date-time */ + readonly dtFinished: Date; + /** Format: date-time */ + readonly dtStarted: Date; + /** Format: uuid */ + readonly id: string; + readonly isActive: boolean; + readonly name: string; + } | null; /** @description Whether a restore point is enabled. */ readonly restorePointEnabled: boolean; /** @@ -7611,12 +8899,14 @@ export interface operations { readonly data: { /** @description The accelerators of the machine. */ readonly accelerators?: - | readonly ({ + | (readonly ({ /** @description The number of accelerators of this type. */ readonly count: number; + /** @description The amount of memory the accelerator has, if applicable. */ + readonly memory: number | null; /** @description The name of the accelerator. */ readonly name: string; - })[] + })[]) | null; /** @description The agent type of the machine. */ readonly agentType: string; @@ -7660,31 +8950,7 @@ export interface operations { /** @description The ID of the machine. */ readonly id: string; /** @description The type of the machine. */ - readonly machineType: { - /** @description The number of CPUs. */ - readonly cpus: number; - /** @description The name of the GPU. */ - readonly gpu: string | null; - /** @description The label of the machine type. */ - readonly label: string; - /** @description Metadata for the machine type. */ - readonly metadata: - | ({ - [key: string]: unknown | undefined; - }) - | null; - /** @description The name of the NVLink GPU. */ - readonly nvlinkGpu: string | null; - /** @description The number of NVLink GPUs. */ - readonly nvlinkGpuCount: number | null; - /** - * Format: int64 - * @description The amount of RAM in bytes. - */ - readonly ram: number; - /** @description Whether the machine type supports NVLink. */ - readonly supportsNvlink: boolean; - }; + readonly machineType: string; /** @description The name of the machine. */ readonly name: string; /** @description The ID of the network the machine is on. */ @@ -7707,6 +8973,16 @@ export interface operations { readonly ram: number; /** @description The region of the machine. */ readonly region: string; + readonly reservation: { + /** Format: date-time */ + readonly dtFinished: Date; + /** Format: date-time */ + readonly dtStarted: Date; + /** Format: uuid */ + readonly id: string; + readonly isActive: boolean; + readonly name: string; + } | null; /** @description Whether a restore point is enabled. */ readonly restorePointEnabled: boolean; /** @@ -8109,12 +9385,14 @@ export interface operations { readonly data: { /** @description The accelerators of the machine. */ readonly accelerators?: - | readonly ({ + | (readonly ({ /** @description The number of accelerators of this type. */ readonly count: number; + /** @description The amount of memory the accelerator has, if applicable. */ + readonly memory: number | null; /** @description The name of the accelerator. */ readonly name: string; - })[] + })[]) | null; /** @description The agent type of the machine. */ readonly agentType: string; @@ -8158,31 +9436,7 @@ export interface operations { /** @description The ID of the machine. */ readonly id: string; /** @description The type of the machine. */ - readonly machineType: { - /** @description The number of CPUs. */ - readonly cpus: number; - /** @description The name of the GPU. */ - readonly gpu: string | null; - /** @description The label of the machine type. */ - readonly label: string; - /** @description Metadata for the machine type. */ - readonly metadata: - | ({ - [key: string]: unknown | undefined; - }) - | null; - /** @description The name of the NVLink GPU. */ - readonly nvlinkGpu: string | null; - /** @description The number of NVLink GPUs. */ - readonly nvlinkGpuCount: number | null; - /** - * Format: int64 - * @description The amount of RAM in bytes. - */ - readonly ram: number; - /** @description Whether the machine type supports NVLink. */ - readonly supportsNvlink: boolean; - }; + readonly machineType: string; /** @description The name of the machine. */ readonly name: string; /** @description The ID of the network the machine is on. */ @@ -8205,6 +9459,16 @@ export interface operations { readonly ram: number; /** @description The region of the machine. */ readonly region: string; + readonly reservation: { + /** Format: date-time */ + readonly dtFinished: Date; + /** Format: date-time */ + readonly dtStarted: Date; + /** Format: uuid */ + readonly id: string; + readonly isActive: boolean; + readonly name: string; + } | null; /** @description Whether a restore point is enabled. */ readonly restorePointEnabled: boolean; /** @@ -8326,12 +9590,14 @@ export interface operations { readonly data: { /** @description The accelerators of the machine. */ readonly accelerators?: - | readonly ({ + | (readonly ({ /** @description The number of accelerators of this type. */ readonly count: number; + /** @description The amount of memory the accelerator has, if applicable. */ + readonly memory: number | null; /** @description The name of the accelerator. */ readonly name: string; - })[] + })[]) | null; /** @description The agent type of the machine. */ readonly agentType: string; @@ -8375,31 +9641,7 @@ export interface operations { /** @description The ID of the machine. */ readonly id: string; /** @description The type of the machine. */ - readonly machineType: { - /** @description The number of CPUs. */ - readonly cpus: number; - /** @description The name of the GPU. */ - readonly gpu: string | null; - /** @description The label of the machine type. */ - readonly label: string; - /** @description Metadata for the machine type. */ - readonly metadata: - | ({ - [key: string]: unknown | undefined; - }) - | null; - /** @description The name of the NVLink GPU. */ - readonly nvlinkGpu: string | null; - /** @description The number of NVLink GPUs. */ - readonly nvlinkGpuCount: number | null; - /** - * Format: int64 - * @description The amount of RAM in bytes. - */ - readonly ram: number; - /** @description Whether the machine type supports NVLink. */ - readonly supportsNvlink: boolean; - }; + readonly machineType: string; /** @description The name of the machine. */ readonly name: string; /** @description The ID of the network the machine is on. */ @@ -8422,6 +9664,16 @@ export interface operations { readonly ram: number; /** @description The region of the machine. */ readonly region: string; + readonly reservation: { + /** Format: date-time */ + readonly dtFinished: Date; + /** Format: date-time */ + readonly dtStarted: Date; + /** Format: uuid */ + readonly id: string; + readonly isActive: boolean; + readonly name: string; + } | null; /** @description Whether a restore point is enabled. */ readonly restorePointEnabled: boolean; /** @@ -8543,12 +9795,14 @@ export interface operations { readonly data: { /** @description The accelerators of the machine. */ readonly accelerators?: - | readonly ({ + | (readonly ({ /** @description The number of accelerators of this type. */ readonly count: number; + /** @description The amount of memory the accelerator has, if applicable. */ + readonly memory: number | null; /** @description The name of the accelerator. */ readonly name: string; - })[] + })[]) | null; /** @description The agent type of the machine. */ readonly agentType: string; @@ -8592,31 +9846,7 @@ export interface operations { /** @description The ID of the machine. */ readonly id: string; /** @description The type of the machine. */ - readonly machineType: { - /** @description The number of CPUs. */ - readonly cpus: number; - /** @description The name of the GPU. */ - readonly gpu: string | null; - /** @description The label of the machine type. */ - readonly label: string; - /** @description Metadata for the machine type. */ - readonly metadata: - | ({ - [key: string]: unknown | undefined; - }) - | null; - /** @description The name of the NVLink GPU. */ - readonly nvlinkGpu: string | null; - /** @description The number of NVLink GPUs. */ - readonly nvlinkGpuCount: number | null; - /** - * Format: int64 - * @description The amount of RAM in bytes. - */ - readonly ram: number; - /** @description Whether the machine type supports NVLink. */ - readonly supportsNvlink: boolean; - }; + readonly machineType: string; /** @description The name of the machine. */ readonly name: string; /** @description The ID of the network the machine is on. */ @@ -8639,6 +9869,16 @@ export interface operations { readonly ram: number; /** @description The region of the machine. */ readonly region: string; + readonly reservation: { + /** Format: date-time */ + readonly dtFinished: Date; + /** Format: date-time */ + readonly dtStarted: Date; + /** Format: uuid */ + readonly id: string; + readonly isActive: boolean; + readonly name: string; + } | null; /** @description Whether a restore point is enabled. */ readonly restorePointEnabled: boolean; /** @@ -8843,7 +10083,7 @@ export interface operations { /** @description Whether the dataset is public */ readonly isPublic: boolean; /** @description The name of the dataset */ - readonly name: string | null; + readonly name: string; /** @description The ID of the project */ readonly projectId: string | null; /** @description The ID of the storage provider */ @@ -8889,7 +10129,7 @@ export interface operations { /** @description Whether the dataset is public */ readonly isPublic: boolean; /** @description The name of the dataset */ - readonly name: string | null; + readonly name: string; /** @description The ID of the project */ readonly projectId: string | null; /** @description The ID of the storage provider */ @@ -8980,6 +10220,11 @@ export interface operations { * @description The date the notebook was last started */ readonly dtStarted: Date; + /** + * @description The fully qualified domain name + * @default null + */ + readonly fqdn?: string | null; /** @description The ID of the notebook */ readonly id: string; /** @description The type of the machine the notebook is running on */ @@ -9016,22 +10261,237 @@ export interface operations { readonly publicProfileImageUrl?: string | null; }; /** - * @description The state of the notebook. - * @enum {string} + * @description The state of the notebook. + * @enum {string} + */ + readonly state: + | "Cancel" + | "Cancelled" + | "Error" + | "Failed" + | "Pending" + | "Preempted" + | "Provisioned" + | "Running" + | "Stopped"; + /** + * @description The token for the notebook + * @default null + */ + readonly token?: string | null; + })[]; + /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ + readonly nextPage?: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Create a notebook + * @description Creates a new notebook + */ + "notebooks-create": { + readonly requestBody: { + readonly content: { + readonly "application/json": { + readonly clusterId: string; + readonly command?: string; + readonly container?: string; + readonly isPublic: boolean; + readonly machineType: string; + /** @description The name of the notebook */ + readonly name: string; + readonly projectId: string; + readonly registryPassword?: string; + readonly registryUsername?: string; + readonly runtime?: string; + /** @default null */ + readonly shouldRunOnCreate?: boolean | null; + readonly shutdownTimeout: number; + readonly workspace?: string; + readonly workspacePassword?: string; + readonly workspaceRef?: string; + readonly workspaceUsername?: string; + }; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** + * Format: date-time + * @description The date the notebook was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the notebook was last modified + */ + readonly dtModified: Date; + /** + * Format: date-time + * @description The date the notebook was last started + */ + readonly dtStarted: Date; + /** + * @description The fully qualified domain name + * @default null + */ + readonly fqdn?: string | null; + /** @description The ID of the notebook */ + readonly id: string; + /** @description The type of the machine the notebook is running on */ + readonly machineType: string | null; + /** @description The name of the notebook */ + readonly name: string; + /** @description The notebook repo ID */ + readonly notebookRepoId: string | null; + /** @description The project ID */ + readonly projectId: string; + /** @description The last user to start the notebook */ + readonly startedByUser: { + /** + * Format: email + * @description The email address of the user + */ + readonly email: string; + /** + * @description The first name of the user + * @default null + */ + readonly firstName?: string | null; + /** @description The ID of the user */ + readonly id: string; + /** + * @description The last name of the user + * @default null + */ + readonly lastName?: string | null; + /** + * @description The URL of the team's profile image. + * @default null + */ + readonly publicProfileImageUrl?: string | null; + }; + /** + * @description The state of the notebook. + * @enum {string} + */ + readonly state: + | "Cancel" + | "Cancelled" + | "Error" + | "Failed" + | "Pending" + | "Preempted" + | "Provisioned" + | "Running" + | "Stopped"; + /** + * @description The token for the notebook + * @default null + */ + readonly token?: string | null; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Get a notebook + * @description Fetches a notebook. + */ + "notebooks-get": { + parameters: { + readonly path: { + /** @description The ID of the notebook */ + id: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** + * Format: date-time + * @description The date the notebook was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the notebook was last modified + */ + readonly dtModified: Date; + /** + * Format: date-time + * @description The date the notebook was last started + */ + readonly dtStarted: Date; + /** + * @description The fully qualified domain name + * @default null + */ + readonly fqdn?: string | null; + /** @description The ID of the notebook */ + readonly id: string; + /** @description The type of the machine the notebook is running on */ + readonly machineType: string | null; + /** @description The name of the notebook */ + readonly name: string; + /** @description The notebook repo ID */ + readonly notebookRepoId: string | null; + /** @description The project ID */ + readonly projectId: string; + /** @description The last user to start the notebook */ + readonly startedByUser: { + /** + * Format: email + * @description The email address of the user + */ + readonly email: string; + /** + * @description The first name of the user + * @default null */ - readonly state: - | "Cancel" - | "Cancelled" - | "Error" - | "Failed" - | "Pending" - | "Preempted" - | "Provisioned" - | "Running" - | "Stopped"; - })[]; - /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ - readonly nextPage?: string; + readonly firstName?: string | null; + /** @description The ID of the user */ + readonly id: string; + /** + * @description The last name of the user + * @default null + */ + readonly lastName?: string | null; + /** + * @description The URL of the team's profile image. + * @default null + */ + readonly publicProfileImageUrl?: string | null; + }; + /** + * @description The state of the notebook. + * @enum {string} + */ + readonly state: + | "Cancel" + | "Cancelled" + | "Error" + | "Failed" + | "Pending" + | "Preempted" + | "Provisioned" + | "Running" + | "Stopped"; + /** + * @description The token for the notebook + * @default null + */ + readonly token?: string | null; }; }; }; @@ -9155,25 +10615,27 @@ export interface operations { /** @description Successful response */ 200: { content: { - readonly "application/json": { - /** - * Format: date-time - * @description The date the private network was created. - */ - readonly dtCreated: Date; - /** @description The date the private network was deleted. */ - readonly dtDeleted?: (Record | Date) | null; - /** @description The ID of the private network. */ - readonly id: string; - /** @description The name of the private network. */ - readonly name: string; - /** @description The subnet mask of the private network. */ - readonly netmask: string; - /** @description The network prefix of the private network. */ - readonly network: string; - /** @description The region the private network is in. */ - readonly region: string; - }; + readonly "application/json": + | ({ + /** + * Format: date-time + * @description The date the private network was created. + */ + readonly dtCreated: Date; + /** @description The date the private network was deleted. */ + readonly dtDeleted?: (Record | Date) | null; + /** @description The ID of the private network. */ + readonly id: string; + /** @description The name of the private network. */ + readonly name: string; + /** @description The subnet mask of the private network. */ + readonly netmask: string; + /** @description The network prefix of the private network. */ + readonly network: string; + /** @description The region the private network is in. */ + readonly region: string; + }) + | null; }; }; default: components["responses"]["error"]; @@ -9585,50 +11047,714 @@ export interface operations { readonly actor?: | ({ /** - * @description The avatar URL of the actor + * @description The avatar URL of the actor + * @default null + */ + readonly avatarUrl?: string | null; + /** + * @description The email of the actor + * @default null + */ + readonly email?: string | null; + /** + * @description The full name of the actor (e.g. "John Doe") + * @default null + */ + readonly fullName?: string | null; + }) + | null; + /** + * @description The data associated with the activity item + * @default null + */ + readonly data?: { + readonly from: number; + readonly to: number; + } | null; + /** + * @description The deployment associated with the activity item + * @default null + */ + readonly deployment?: { + /** + * Format: date-time + * @description The date the deployment was deleted + */ + readonly dtDeleted: Date; + /** @description The ID of the deployment */ + readonly id: string; + /** @description The name of the deployment */ + readonly name: string; + } | null; + /** + * Format: date-time + * @description The date the activity item was created + */ + readonly dtCreated: Date; + /** + * Format: uuid + * @description ID of the activity item + */ + readonly id: string; + })[]; + /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ + readonly nextPage?: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * List a project's apps + * @description Fetches a list of apps for a project. + */ + "projectApps-list": { + parameters: { + readonly query: { + /** @description Fetch the next page of results after this cursor. */ + after?: string; + /** @description The number of items to fetch after this page. */ + limit?: number; + /** @description Order results by one of these fields. */ + orderBy?: "dtCreated"; + /** @description The order to sort the results by. */ + order?: "asc" | "desc"; + /** @description The name of the app to filter by */ + name?: string; + }; + readonly path: { + /** @description The ID of the project to fetch apps for */ + id: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description Whether there are more pages of results available. */ + readonly hasMore: boolean; + /** @description The items on this page. */ + readonly items: readonly ({ + /** + * @description The endpoint security key for the deployment + * @default null + */ + readonly basicAuthKey?: string | null; + /** + * Format: date-time + * @description The date the deployment was created + */ + readonly dtCreated: Date; + /** @description The unique endpoint for the deployment */ + readonly endpoint: string; + /** @description The ID of the deployment */ + readonly id: string; + /** + * @description The latest deployment configuration. If invalid, null is returned. + * @default null + */ + readonly latestSpec?: + | ({ + /** @description The data for the deployment spec */ + readonly data?: + | ( + | ( + | ({ + /** @enum {string} */ + readonly apiVersion: "v0alpha0"; + readonly command?: readonly (string)[]; + readonly containerRegistry?: string; + /** @default true */ + readonly enabled?: boolean; + readonly env?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly healthChecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly image: string; + readonly models?: readonly ({ + readonly id: string; + readonly path?: string; + })[]; + readonly name: string; + /** @default 80 */ + readonly port?: number; + readonly region?: string; + readonly repositories?: { + readonly dataset: string; + readonly mountPath?: string; + readonly repositories: readonly ({ + readonly name: string; + readonly password?: string; + readonly ref?: string; + readonly url: string; + readonly username?: string; + })[]; + }; + readonly resources: { + readonly autoscaling?: { + readonly enabled?: boolean; + readonly maxReplicas: number; + readonly metrics: readonly ( + | { + /** @enum {string} */ + readonly metric: "requestDuration"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + } + | ({ + /** @enum {string} */ + readonly metric: "cpu" | "memory"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + }) + )[]; + }; + readonly instanceType: string; + /** @default 1 */ + readonly replicas?: number; + }; + }) + | ({ + /** @enum {string} */ + readonly apiVersion: "v0alpha1"; + readonly basicAuthKey?: string; + readonly command?: readonly (string)[]; + readonly containerRegistry?: string; + /** @default true */ + readonly enabled?: boolean; + readonly env?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly healthchecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly healthChecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly image: string; + readonly integrations?: readonly ({ + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; + readonly endpoint?: string; + readonly name: string; + readonly path?: string; + readonly region?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "s3"; + readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; + } | { + readonly name: string; + /** @enum {string} */ + readonly type: "volume"; + } | { + readonly name: string; + readonly path?: string; + /** @enum {string} */ + readonly type: "git-lfs"; + /** Format: uri */ + readonly url: string; + })[]; + readonly name: string; + readonly region?: string; + readonly resources: { + readonly autoscaling?: { + readonly enabled?: boolean; + readonly maxReplicas: number; + readonly metrics: readonly ( + | { + /** @enum {string} */ + readonly metric: "requestDuration"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + } + | ({ + /** @enum {string} */ + readonly metric: "cpu" | "memory"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + }) + )[]; + }; + readonly machineType: string; + readonly ports: readonly (number)[]; + /** @default 1 */ + readonly replicas?: number; + }; + }) + ) + | ({ + readonly apiVersion: "v1" | "latest"; + readonly basicAuthKey?: string; + readonly command?: readonly (string)[]; + readonly containerRegistry?: string; + /** @default true */ + readonly enabled?: boolean; + readonly env?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly healthchecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly healthChecks?: { + readonly liveness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly readiness?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + readonly startup?: { + readonly failureThreshold?: number; + readonly headers?: readonly ({ + readonly name: string; + readonly value: string; + })[]; + readonly host?: string; + readonly initialDelaySeconds?: number; + readonly path: string; + readonly periodSeconds?: number; + readonly port?: number; + readonly timeoutSeconds?: number; + } | { + readonly exec: { + readonly command: readonly (string)[]; + }; + readonly failureThreshold?: number; + readonly initialDelaySeconds?: number; + readonly periodSeconds?: number; + readonly timeoutSeconds?: number; + }; + }; + readonly image: string; + readonly integrations?: readonly ({ + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; + readonly endpoint?: string; + readonly name: string; + readonly path?: string; + readonly region?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "s3"; + readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; + } | { + readonly name: string; + /** @enum {string} */ + readonly type: "volume"; + } | { + readonly name: string; + readonly path?: string; + /** @enum {string} */ + readonly type: "git-lfs"; + /** Format: uri */ + readonly url: string; + })[]; + readonly name: string; + readonly region?: string; + readonly resources: { + readonly autoscaling?: { + readonly enabled?: boolean; + readonly maxReplicas: number; + readonly metrics: readonly ( + | { + /** @enum {string} */ + readonly metric: "requestDuration"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + } + | ({ + /** @enum {string} */ + readonly metric: "cpu" | "memory"; + /** @enum {string} */ + readonly summary: "average"; + readonly value: number; + }) + )[]; + }; + readonly machineType: string; + readonly ports: readonly (number)[]; + /** @default 1 */ + readonly replicas?: number; + }; + }) + ) + | null; + /** @description The ID of the deployment the spec belongs to */ + readonly deploymentId: string; + /** + * Format: date-time + * @description The date the deployment was marked "healthy" * @default null */ - readonly avatarUrl?: string | null; + readonly dtHealthy?: Date; /** - * @description The email of the actor + * @description The fatal configuration error. Only present if the cluster was unable to apply the entire deployment configuration. This is not the same as an instance error. * @default null */ - readonly email?: string | null; + readonly error?: string | null; /** - * @description The full name of the actor (e.g. "John Doe") + * Format: date-time + * @description The date the deployment configuration was applied to the cluster * @default null */ - readonly fullName?: string | null; - }) - | null; - /** - * @description The data associated with the activity item - * @default null - */ - readonly data?: { - readonly from: number; - readonly to: number; - } | null; - /** - * @description The deployment associated with the activity item - * @default null - */ - readonly deployment?: { - /** @description The ID of the deployment */ - readonly id: string; - /** @description The name of the deployment */ - readonly name: string; - } | null; - /** - * Format: date-time - * @description The date the activity item was created - */ - readonly dtCreated: Date; + readonly externalApplied?: Date; + /** @description The ID of the deployment spec */ + readonly id: string; + /** + * @description Metadata about the source of the configuration + * @default null + */ + readonly metadata?: + | ({ + readonly gitHeaders?: { + readonly "x-git-actor": string; + readonly "x-git-host": "github" | "gitlab"; + readonly "x-git-owner": string; + readonly "x-git-ref": string; + readonly "x-git-repo": string; + readonly "x-git-sha": string; + }; + }) + | null; + /** @description The ID of the user the deployment belongs to */ + readonly userId: string; + }) + | null; /** - * Format: uuid - * @description ID of the activity item + * @description The last version hash for the deployment + * @default null */ - readonly id: string; + readonly latestSpecHash?: string | null; + /** @description The name of the deployment */ + readonly name: string; + /** @description The ID of the project the deployment belongs to */ + readonly projectId: string; + /** @description The ID of the team the deployment belongs to */ + readonly teamId: string; })[]; /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ readonly nextPage?: string; @@ -9809,7 +11935,7 @@ export interface operations { * List a project's deployments * @description Fetches a list of deployments for a project. */ - "projectsDeployments-list": { + "projectDeployments-list": { parameters: { readonly query: { /** @description Fetch the next page of results after this cursor. */ @@ -9820,7 +11946,7 @@ export interface operations { orderBy?: "dtCreated"; /** @description The order to sort the results by. */ order?: "asc" | "desc"; - /** @description The name of the deployment to filter by */ + /** @description The name of the app to filter by */ name?: string; }; readonly path: { @@ -9837,6 +11963,11 @@ export interface operations { readonly hasMore: boolean; /** @description The items on this page. */ readonly items: readonly ({ + /** + * @description The endpoint security key for the deployment + * @default null + */ + readonly basicAuthKey?: string | null; /** * Format: date-time * @description The date the deployment was created @@ -9857,7 +11988,8 @@ export interface operations { | ( | ( | ({ - readonly apiVersion: "v0alpha0" | "latest"; + /** @enum {string} */ + readonly apiVersion: "v0alpha0"; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -9980,6 +12112,7 @@ export interface operations { | ({ /** @enum {string} */ readonly apiVersion: "v0alpha1"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -10120,15 +12253,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -10141,23 +12289,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -10188,6 +12321,7 @@ export interface operations { ) | ({ readonly apiVersion: "v1" | "latest"; + readonly basicAuthKey?: string; readonly command?: readonly (string)[]; readonly containerRegistry?: string; /** @default true */ @@ -10328,15 +12462,30 @@ export interface operations { }; readonly image: string; readonly integrations?: readonly ({ - readonly accessKeyId: string; + readonly id: string; + readonly name: string; + /** @default /opt/models */ + readonly path?: string; + /** @enum {string} */ + readonly type: "model"; + } | { + readonly accessKeyId?: string; readonly endpoint?: string; readonly name: string; readonly path?: string; readonly region?: string; - readonly secretAccessKey: string; + readonly secretAccessKey?: string; /** @enum {string} */ readonly type: "s3"; readonly url: string; + } | { + readonly accessKeyId?: string; + readonly endpoint: string; + readonly name: string; + readonly path?: string; + readonly secretAccessKey?: string; + /** @enum {string} */ + readonly type: "spaces"; } | { readonly name: string; /** @enum {string} */ @@ -10349,23 +12498,8 @@ export interface operations { /** Format: uri */ readonly url: string; })[]; - readonly models?: readonly ({ - readonly id: string; - readonly path?: string; - })[]; readonly name: string; readonly region?: string; - readonly repositories?: { - readonly dataset: string; - readonly mountPath?: string; - readonly repositories: readonly ({ - readonly name: string; - readonly password?: string; - readonly ref?: string; - readonly url: string; - readonly username?: string; - })[]; - }; readonly resources: { readonly autoscaling?: { readonly enabled?: boolean; @@ -10437,16 +12571,871 @@ export interface operations { }) | null; /** - * @description The last version hash for the deployment - * @default null + * @description The last version hash for the deployment + * @default null + */ + readonly latestSpecHash?: string | null; + /** @description The name of the deployment */ + readonly name: string; + /** @description The ID of the project the deployment belongs to */ + readonly projectId: string; + /** @description The ID of the team the deployment belongs to */ + readonly teamId: string; + })[]; + /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ + readonly nextPage?: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * List a project's models + * @description Fetches a list of models for a project. + */ + "projectModels-list": { + parameters: { + readonly query: { + /** @description Fetch the next page of results after this cursor. */ + after?: string; + /** @description The number of items to fetch after this page. */ + limit?: number; + /** @description Order results by one of these fields. */ + orderBy?: "dtCreated"; + /** @description The order to sort the results by. */ + order?: "asc" | "desc"; + /** @description The name of the model to filter by */ + name?: string; + }; + readonly path: { + /** @description The ID of the project to fetch models for */ + id: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description Whether there are more pages of results available. */ + readonly hasMore: boolean; + /** @description The items on this page. */ + readonly items: readonly ({ + /** @description The description of the dataset */ + readonly description: string | null; + /** + * Format: date-time + * @description The date the dataset was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the dataset was last modified + */ + readonly dtModified: Date; + /** @description The ID of the dataset */ + readonly id: string; + /** @description Whether the dataset is public */ + readonly isPublic: boolean; + /** @description The name of the dataset */ + readonly name: string; + /** @description The ID of the project */ + readonly projectId: string | null; + /** @description The ID of the storage provider */ + readonly storageProviderId: string | null; + /** @description The ID of the team that owns the dataset */ + readonly teamId: string; + })[]; + /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ + readonly nextPage?: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Add a model to a project + * @description Adds a model to a project. + */ + "projectModels-add": { + parameters: { + readonly path: { + /** @description The ID of the project to add the model to */ + id: string; + /** @description The ID of the model to add to the project */ + modelId: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The description of the dataset */ + readonly description: string | null; + /** + * Format: date-time + * @description The date the dataset was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the dataset was last modified + */ + readonly dtModified: Date; + /** @description The ID of the dataset */ + readonly id: string; + /** @description Whether the dataset is public */ + readonly isPublic: boolean; + /** @description The name of the dataset */ + readonly name: string; + /** @description The ID of the project */ + readonly projectId: string | null; + /** @description The ID of the storage provider */ + readonly storageProviderId: string | null; + /** @description The ID of the team that owns the dataset */ + readonly teamId: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Remove a model from project + * @description Remove a model from project. + */ + "projectModels-remove": { + parameters: { + readonly path: { + /** @description The ID of the project to remove the model from */ + id: string; + /** @description The ID of the model to remove from the project */ + modelId: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The description of the dataset */ + readonly description: string | null; + /** + * Format: date-time + * @description The date the dataset was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the dataset was last modified + */ + readonly dtModified: Date; + /** @description The ID of the dataset */ + readonly id: string; + /** @description Whether the dataset is public */ + readonly isPublic: boolean; + /** @description The name of the dataset */ + readonly name: string; + /** @description The ID of the project */ + readonly projectId: string | null; + /** @description The ID of the storage provider */ + readonly storageProviderId: string | null; + /** @description The ID of the team that owns the dataset */ + readonly teamId: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Remove a notebook from a project + * @description Remove a notebook from a project. + */ + "projectNotebooks-remove": { + parameters: { + readonly path: { + /** @description The ID of the project to remove the notebook from */ + id: string; + /** @description The ID of the notebook to remove from the project */ + notebookId: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** + * Format: date-time + * @description The date the notebook was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the notebook was last modified + */ + readonly dtModified: Date; + /** + * Format: date-time + * @description The date the notebook was last started + */ + readonly dtStarted: Date; + /** + * @description The fully qualified domain name + * @default null + */ + readonly fqdn?: string | null; + /** @description The ID of the notebook */ + readonly id: string; + /** @description The type of the machine the notebook is running on */ + readonly machineType: string | null; + /** @description The name of the notebook */ + readonly name: string; + /** @description The notebook repo ID */ + readonly notebookRepoId: string | null; + /** @description The project ID */ + readonly projectId: string; + /** @description The last user to start the notebook */ + readonly startedByUser: { + /** + * Format: email + * @description The email address of the user + */ + readonly email: string; + /** + * @description The first name of the user + * @default null + */ + readonly firstName?: string | null; + /** @description The ID of the user */ + readonly id: string; + /** + * @description The last name of the user + * @default null + */ + readonly lastName?: string | null; + /** + * @description The URL of the team's profile image. + * @default null + */ + readonly publicProfileImageUrl?: string | null; + }; + /** + * @description The state of the notebook. + * @enum {string} + */ + readonly state: + | "Cancel" + | "Cancelled" + | "Error" + | "Failed" + | "Pending" + | "Preempted" + | "Provisioned" + | "Running" + | "Stopped"; + /** + * @description The token for the notebook + * @default null + */ + readonly token?: string | null; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * List a project's notebooks + * @description Fetches a list of notebooks for a project. + */ + "projectNotebooks-list": { + parameters: { + readonly query: { + /** @description Fetch the next page of results after this cursor. */ + after?: string; + /** @description The number of items to fetch after this page. */ + limit?: number; + /** @description Order results by one of these fields. */ + orderBy?: "dtCreated" | "name"; + /** @description The order to sort the results by. */ + order?: "asc" | "desc"; + /** @description The notebook name to filter by */ + name?: string; + /** @description The state of the notebook. */ + state?: + | "Cancel" + | "Cancelled" + | "Error" + | "Failed" + | "Pending" + | "Preempted" + | "Provisioned" + | "Running" + | "Stopped"; + }; + readonly path: { + /** @description The ID of the project to fetch notebooks for */ + id: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description Whether there are more pages of results available. */ + readonly hasMore: boolean; + /** @description The items on this page. */ + readonly items: readonly ({ + /** + * Format: date-time + * @description The date the notebook was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the notebook was last modified + */ + readonly dtModified: Date; + /** + * Format: date-time + * @description The date the notebook was last started + */ + readonly dtStarted: Date; + /** + * @description The fully qualified domain name + * @default null + */ + readonly fqdn?: string | null; + /** @description The ID of the notebook */ + readonly id: string; + /** @description The type of the machine the notebook is running on */ + readonly machineType: string | null; + /** @description The name of the notebook */ + readonly name: string; + /** @description The notebook repo ID */ + readonly notebookRepoId: string | null; + /** @description The project ID */ + readonly projectId: string; + /** @description The last user to start the notebook */ + readonly startedByUser: { + /** + * Format: email + * @description The email address of the user + */ + readonly email: string; + /** + * @description The first name of the user + * @default null + */ + readonly firstName?: string | null; + /** @description The ID of the user */ + readonly id: string; + /** + * @description The last name of the user + * @default null + */ + readonly lastName?: string | null; + /** + * @description The URL of the team's profile image. + * @default null + */ + readonly publicProfileImageUrl?: string | null; + }; + /** + * @description The state of the notebook. + * @enum {string} + */ + readonly state: + | "Cancel" + | "Cancelled" + | "Error" + | "Failed" + | "Pending" + | "Preempted" + | "Provisioned" + | "Running" + | "Stopped"; + /** + * @description The token for the notebook + * @default null + */ + readonly token?: string | null; + })[]; + /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ + readonly nextPage?: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Add a notebook to a project + * @description Adds a notebook to a project. + */ + "projectNotebooks-add": { + parameters: { + readonly path: { + /** @description The ID of the project to add the notebook to */ + id: string; + /** @description The ID of the notebook to add to the project */ + notebookId: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** + * Format: date-time + * @description The date the notebook was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the notebook was last modified + */ + readonly dtModified: Date; + /** + * Format: date-time + * @description The date the notebook was last started + */ + readonly dtStarted: Date; + /** + * @description The fully qualified domain name + * @default null + */ + readonly fqdn?: string | null; + /** @description The ID of the notebook */ + readonly id: string; + /** @description The type of the machine the notebook is running on */ + readonly machineType: string | null; + /** @description The name of the notebook */ + readonly name: string; + /** @description The notebook repo ID */ + readonly notebookRepoId: string | null; + /** @description The project ID */ + readonly projectId: string; + /** @description The last user to start the notebook */ + readonly startedByUser: { + /** + * Format: email + * @description The email address of the user + */ + readonly email: string; + /** + * @description The first name of the user + * @default null + */ + readonly firstName?: string | null; + /** @description The ID of the user */ + readonly id: string; + /** + * @description The last name of the user + * @default null + */ + readonly lastName?: string | null; + /** + * @description The URL of the team's profile image. + * @default null + */ + readonly publicProfileImageUrl?: string | null; + }; + /** + * @description The state of the notebook. + * @enum {string} + */ + readonly state: + | "Cancel" + | "Cancelled" + | "Error" + | "Failed" + | "Pending" + | "Preempted" + | "Provisioned" + | "Running" + | "Stopped"; + /** + * @description The token for the notebook + * @default null + */ + readonly token?: string | null; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * List a project's secrets + * @description Fetches a list of secrets for a project. + */ + "projectSecrets-list": { + parameters: { + readonly query: { + /** @description Fetch the next page of results after this cursor. */ + after?: string; + /** @description The number of items to fetch after this page. */ + limit?: number; + /** @description Order results by one of these fields. */ + orderBy?: "dtCreated"; + /** @description The order to sort the results by. */ + order?: "asc" | "desc"; + }; + readonly path: { + /** @description The ID of the project where the secret is stored. */ + id: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description Whether there are more pages of results available. */ + readonly hasMore: boolean; + /** @description The items on this page. */ + readonly items: readonly ({ + /** + * Format: date-time + * @description The date the secret was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the secret was last modified. + */ + readonly dtModified: Date; + readonly hasDeploymentAttached: boolean; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + readonly name: string; + })[]; + /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ + readonly nextPage?: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Create a project secret + * @description Creates a new secret for a project. + */ + "projectSecrets-create": { + parameters: { + readonly path: { + /** @description The ID of the project where the secret is stored. */ + id: string; + }; + }; + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + readonly name: string; + /** @description The value of the secret, e.g. "password". */ + readonly value: string; + }; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** + * Format: date-time + * @description The date the secret was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the secret was last modified. + */ + readonly dtModified: Date; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + readonly name: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Get a project secret + * @description Fetches a secret for a project. + */ + "projectSecrets-getProjectSecret": { + parameters: { + readonly path: { + /** @description The ID of the project where the secret is stored. */ + id: string; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + name: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** + * Format: date-time + * @description The date the secret was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the secret was last modified. + */ + readonly dtModified: Date; + readonly hasDeploymentAttached: boolean; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + readonly name: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Delete a project secret + * @description Deletes a secret for a project. + */ + "projectSecrets-delete": { + parameters: { + readonly path: { + /** @description The ID of the project where the secret is stored. */ + id: string; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + name: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + readonly name: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Update a project secret + * @description Update the value of a secret for a project. + */ + "projectSecrets-update": { + parameters: { + readonly path: { + /** @description The ID of the project where the secret is stored. */ + id: string; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + name: string; + }; + }; + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description The value of the secret, e.g. "password". */ + readonly value: string; + }; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** + * Format: date-time + * @description The date the secret was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the secret was last modified. + */ + readonly dtModified: Date; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + readonly name: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * List a project's tags + * @description Fetches a list of tags for a project. + */ + "projectTags-list": { + parameters: { + readonly query: { + /** @description Fetch the next page of results after this cursor. */ + after?: string; + /** @description The number of items to fetch after this page. */ + limit?: number; + /** @description Order results by one of these fields. */ + orderBy?: "dtCreated"; + /** @description The order to sort the results by. */ + order?: "asc" | "desc"; + }; + readonly path: { + /** @description The ID of the project to fetch tags for */ + id: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description Whether there are more pages of results available. */ + readonly hasMore: boolean; + /** @description The items on this page. */ + readonly items: readonly ({ + /** + * Format: date-time + * @description The date the notebook was created + */ + readonly dtCreated: Date; + /** @description The ID of the tag */ + readonly id: number; + /** @description The name of the tag */ + readonly name: string; + })[]; + /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ + readonly nextPage?: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Add a tag to a project + * @description Adds a tag to a project. + */ + "projectTags-add": { + parameters: { + readonly path: { + /** @description The ID of the project to add the tag to */ + id: string; + }; + }; + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description The name of the tag to add to the project */ + readonly name: string; + }; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** + * Format: date-time + * @description The date the notebook was created + */ + readonly dtCreated: Date; + /** @description The ID of the tag */ + readonly id: number; + /** @description The name of the tag */ + readonly name: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Remove a tag from a project + * @description Remove a tag from a project. + */ + "projectTags-remove": { + parameters: { + readonly query: { + /** @description The name of the tag to remove from the project */ + name: string; + }; + readonly path: { + /** @description The ID of the project to remove the tag from */ + id: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** + * Format: date-time + * @description The date the notebook was created + */ + readonly dtCreated: Date; + /** @description The ID of the tag */ + readonly id: number; + /** @description The name of the tag */ + readonly name: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * List public IPs + * @description Fetches a list of public IPs. + */ + "publicIps-list": { + parameters: { + readonly query: { + /** @description Fetch the next page of results after this cursor. */ + after?: string; + /** @description The number of items to fetch after this page. */ + limit?: number; + /** @description Order results by one of these fields. */ + orderBy?: "dtCreated"; + /** @description The order to sort the results by. */ + order?: "asc" | "desc"; + region?: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description Whether there are more pages of results available. */ + readonly hasMore: boolean; + /** @description The items on this page. */ + readonly items: readonly ({ + /** @description The ID of the machine the public IP is assigned to. */ + readonly assignedMachineId?: string; + /** + * Format: date-time + * @description The date the public IP was claimed. */ - readonly latestSpecHash?: string | null; - /** @description The name of the deployment */ - readonly name: string; - /** @description The ID of the project the deployment belongs to */ - readonly projectId: string; - /** @description The ID of the team the deployment belongs to */ - readonly teamId: string; + readonly dtCreated: Date; + /** @description The IP address of the public IP. */ + readonly ip: string; + /** @description The region of the public IP. */ + readonly region: string; })[]; /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ readonly nextPage?: string; @@ -10457,10 +13446,109 @@ export interface operations { }; }; /** - * List a project's models - * @description Fetches a list of models for a project. + * Claim a public IP + * @description Claims a public IP. */ - "projectModels-list": { + "publicIps-claim": { + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description The region of the public IP. */ + readonly region: string; + }; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The ID of the machine the public IP is assigned to. */ + readonly assignedMachineId?: string; + /** + * Format: date-time + * @description The date the public IP was claimed. + */ + readonly dtCreated: Date; + /** @description The IP address of the public IP. */ + readonly ip: string; + /** @description The region of the public IP. */ + readonly region: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Assign a public IP + * @description Assigns a public IP to a machine. + */ + "publicIps-assign": { + parameters: { + readonly path: { + /** @description The IP address of the public IP. */ + ip: string; + }; + }; + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description The ID of the machine to assign the public IP to. */ + readonly machineId: string | null; + }; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The ID of the machine the public IP is assigned to. */ + readonly assignedMachineId?: string; + /** + * Format: date-time + * @description The date the public IP was claimed. + */ + readonly dtCreated: Date; + /** @description The IP address of the public IP. */ + readonly ip: string; + /** @description The region of the public IP. */ + readonly region: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Release a public IP + * @description Releases a public IP. + */ + "publicIps-release": { + parameters: { + readonly path: { + /** @description The IP address of the public IP. */ + ip: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + readonly ip: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * List shared drives + * @description Fetches a list of shared drives. + */ + "sharedDrives-list": { parameters: { readonly query: { /** @description Fetch the next page of results after this cursor. */ @@ -10468,15 +13556,11 @@ export interface operations { /** @description The number of items to fetch after this page. */ limit?: number; /** @description Order results by one of these fields. */ - orderBy?: "dtCreated"; + orderBy?: "dtCreated" | "name"; /** @description The order to sort the results by. */ order?: "asc" | "desc"; - /** @description The name of the model to filter by */ name?: string; - }; - readonly path: { - /** @description The ID of the project to fetch models for */ - id: string; + region?: string; }; }; responses: { @@ -10488,30 +13572,32 @@ export interface operations { readonly hasMore: boolean; /** @description The items on this page. */ readonly items: readonly ({ - /** @description The description of the dataset */ - readonly description: string | null; /** * Format: date-time - * @description The date the dataset was created + * @description The date the shared drive was created. */ readonly dtCreated: Date; + /** @description The date the shared drive was deleted. */ + readonly dtDeleted?: (Record | Date) | null; + /** @description The ID of the shared drive. */ + readonly id: string; + /** @description The mount point of the shared drive. */ + readonly mountPoint: string; + /** @description The name of the shared drive. */ + readonly name: string; + /** @description The ID of the network the shared drive is in. */ + readonly networkId: string; + /** @description The password of the shared drive. */ + readonly password: string; + /** @description The region the shared drive is in. */ + readonly region: string; /** - * Format: date-time - * @description The date the dataset was last modified + * Format: int64 + * @description The size of the shared drive. */ - readonly dtModified: Date; - /** @description The ID of the dataset */ - readonly id: string; - /** @description Whether the dataset is public */ - readonly isPublic: boolean; - /** @description The name of the dataset */ - readonly name: string | null; - /** @description The ID of the project */ - readonly projectId: string | null; - /** @description The ID of the storage provider */ - readonly storageProviderId: string | null; - /** @description The ID of the team that owns the dataset */ - readonly teamId: string; + readonly size: number; + /** @description The username of the shared drive. */ + readonly username: string; })[]; /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ readonly nextPage?: string; @@ -10522,23 +13608,69 @@ export interface operations { }; }; /** - * List a project's secrets - * @description Fetches a list of secrets for a project. + * Create a shared drive + * @description Creates a new shared drive for use in a private network. + */ + "sharedDrives-create": { + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description The name of the shared drive. */ + readonly name: string; + /** @description The ID of the network the shared drive is in. */ + readonly networkId: string; + /** @description The region the shared drive is in. */ + readonly region: string; + /** @description The size of the shared drive in gigabytes. */ + readonly size: number; + }; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** + * Format: date-time + * @description The date the shared drive was created. + */ + readonly dtCreated: Date; + /** @description The date the shared drive was deleted. */ + readonly dtDeleted?: (Record | Date) | null; + /** @description The ID of the shared drive. */ + readonly id: string; + /** @description The mount point of the shared drive. */ + readonly mountPoint: string; + /** @description The name of the shared drive. */ + readonly name: string; + /** @description The ID of the network the shared drive is in. */ + readonly networkId: string; + /** @description The password of the shared drive. */ + readonly password: string; + /** @description The region the shared drive is in. */ + readonly region: string; + /** + * Format: int64 + * @description The size of the shared drive. + */ + readonly size: number; + /** @description The username of the shared drive. */ + readonly username: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Get a shared drive + * @description Fetches a single shared drive by ID. */ - "projectSecrets-list": { + "sharedDrives-get": { parameters: { - readonly query: { - /** @description Fetch the next page of results after this cursor. */ - after?: string; - /** @description The number of items to fetch after this page. */ - limit?: number; - /** @description Order results by one of these fields. */ - orderBy?: "dtCreated"; - /** @description The order to sort the results by. */ - order?: "asc" | "desc"; - }; readonly path: { - /** @description The ID of the project where the secret is stored. */ + /** @description The ID of the shared drive to fetch. */ id: string; }; }; @@ -10547,25 +13679,32 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description Whether there are more pages of results available. */ - readonly hasMore: boolean; - /** @description The items on this page. */ - readonly items: readonly ({ - /** - * Format: date-time - * @description The date the secret was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the secret was last modified. - */ - readonly dtModified: Date; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - readonly name: string; - })[]; - /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ - readonly nextPage?: string; + /** + * Format: date-time + * @description The date the shared drive was created. + */ + readonly dtCreated: Date; + /** @description The date the shared drive was deleted. */ + readonly dtDeleted?: (Record | Date) | null; + /** @description The ID of the shared drive. */ + readonly id: string; + /** @description The mount point of the shared drive. */ + readonly mountPoint: string; + /** @description The name of the shared drive. */ + readonly name: string; + /** @description The ID of the network the shared drive is in. */ + readonly networkId: string; + /** @description The password of the shared drive. */ + readonly password: string; + /** @description The region the shared drive is in. */ + readonly region: string; + /** + * Format: int64 + * @description The size of the shared drive. + */ + readonly size: number; + /** @description The username of the shared drive. */ + readonly username: string; }; }; }; @@ -10573,23 +13712,21 @@ export interface operations { }; }; /** - * Create a project secret - * @description Creates a new secret for a project. + * Update a shared drive + * @description Updates a single shared drive by ID. */ - "projectSecrets-create": { + "sharedDrives-update": { parameters: { readonly path: { - /** @description The ID of the project where the secret is stored. */ + /** @description The ID of the shared drive to fetch. */ id: string; }; }; readonly requestBody: { readonly content: { readonly "application/json": { - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - readonly name: string; - /** @description The value of the secret, e.g. "password". */ - readonly value: string; + /** @description The name of the shared drive. */ + readonly name?: string; }; }; }; @@ -10600,16 +13737,30 @@ export interface operations { readonly "application/json": { /** * Format: date-time - * @description The date the secret was created. + * @description The date the shared drive was created. */ readonly dtCreated: Date; + /** @description The date the shared drive was deleted. */ + readonly dtDeleted?: (Record | Date) | null; + /** @description The ID of the shared drive. */ + readonly id: string; + /** @description The mount point of the shared drive. */ + readonly mountPoint: string; + /** @description The name of the shared drive. */ + readonly name: string; + /** @description The ID of the network the shared drive is in. */ + readonly networkId: string; + /** @description The password of the shared drive. */ + readonly password: string; + /** @description The region the shared drive is in. */ + readonly region: string; /** - * Format: date-time - * @description The date the secret was last modified. + * Format: int64 + * @description The size of the shared drive. */ - readonly dtModified: Date; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - readonly name: string; + readonly size: number; + /** @description The username of the shared drive. */ + readonly username: string; }; }; }; @@ -10617,16 +13768,14 @@ export interface operations { }; }; /** - * Get a project secret - * @description Fetches a secret for a project. + * Delete a shared drive + * @description Deletes a single shared drive by ID. */ - "projectSecrets-getProjectSecret": { + "sharedDrives-delete": { parameters: { readonly path: { - /** @description The ID of the project where the secret is stored. */ + /** @description The ID of the shared drive to delete. */ id: string; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - name: string; }; }; responses: { @@ -10634,18 +13783,8 @@ export interface operations { 200: { content: { readonly "application/json": { - /** - * Format: date-time - * @description The date the secret was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the secret was last modified. - */ - readonly dtModified: Date; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - readonly name: string; + /** @description The ID of the deleted shared drive. */ + readonly id: string; }; }; }; @@ -10653,16 +13792,21 @@ export interface operations { }; }; /** - * Delete a project secret - * @description Deletes a secret for a project. + * List snapshots + * @description List snapshots and filter by machine. */ - "projectSecrets-delete": { + "snapshots-list": { parameters: { - readonly path: { - /** @description The ID of the project where the secret is stored. */ - id: string; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - name: string; + readonly query: { + /** @description Fetch the next page of results after this cursor. */ + after?: string; + /** @description The number of items to fetch after this page. */ + limit?: number; + /** @description Order results by one of these fields. */ + orderBy?: "dtCreated" | "name"; + /** @description The order to sort the results by. */ + order?: "asc" | "desc"; + machineId?: string; }; }; responses: { @@ -10670,8 +13814,21 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - readonly name: string; + /** @description Whether there are more pages of results available. */ + readonly hasMore: boolean; + /** @description The items on this page. */ + readonly items: readonly ({ + /** @description The ID of the snapshot. */ + readonly id: string; + /** @description Whether the snapshot was made automatically. */ + readonly isAutoSnapshot: boolean; + /** @description The ID of the machine the snapshot is for. */ + readonly machineId: string; + /** @description The name of the snapshot. */ + readonly name: string; + })[]; + /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ + readonly nextPage?: string; }; }; }; @@ -10679,23 +13836,17 @@ export interface operations { }; }; /** - * Update a project secret - * @description Update the value of a secret for a project. + * Create snapshot + * @description Create a snapshot for a machine. */ - "projectSecrets-update": { - parameters: { - readonly path: { - /** @description The ID of the project where the secret is stored. */ - id: string; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - name: string; - }; - }; + "snapshots-create": { readonly requestBody: { readonly content: { readonly "application/json": { - /** @description The value of the secret, e.g. "password". */ - readonly value: string; + /** @description The ID of the machine to create a snapshot for. */ + readonly machineId: string; + /** @description The name of the snapshot. */ + readonly name: string; }; }; }; @@ -10704,18 +13855,73 @@ export interface operations { 200: { content: { readonly "application/json": { - /** - * Format: date-time - * @description The date the secret was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the secret was last modified. - */ - readonly dtModified: Date; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - readonly name: string; + /** @description The snapshot. */ + readonly data: { + /** @description The ID of the snapshot. */ + readonly id: string; + /** @description Whether the snapshot was made automatically. */ + readonly isAutoSnapshot: boolean; + /** @description The ID of the machine the snapshot is for. */ + readonly machineId: string; + /** @description The name of the snapshot. */ + readonly name: string; + }; + /** @description The machine event to poll for the async operation. */ + readonly event: { + /** + * Format: date-time + * @description The date the event was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the event was finished. + */ + readonly dtFinished: Date; + /** + * Format: date-time + * @description The date the event was started. + */ + readonly dtStarted: Date; + /** @description The error message of the event, if any. */ + readonly error: string | null; + /** @description The ID of the event. */ + readonly id: string; + /** @description The ID of the machine the event is for. */ + readonly machineId: string | null; + /** + * @description The name of the event, e.g. "create". + * @enum {string} + */ + readonly name: + | "bill-sessions" + | "bill-upgrade" + | "create" + | "deactivate" + | "restart" + | "snapshot-create" + | "snapshot-delete" + | "snapshot-restore" + | "start" + | "stop" + | "template-create" + | "template-delete" + | "template-distribute" + | "template-import" + | "vm-migrate" + | "vm-shutdown-force" + | "vm-upgrade"; + /** + * @description The state of the event, e.g. "done". + * @enum {string} + */ + readonly state: + | "new" + | "in progress" + | "done" + | "error" + | "cancelled"; + }; }; }; }; @@ -10723,21 +13929,14 @@ export interface operations { }; }; /** - * List public IPs - * @description Fetches a list of public IPs. + * Get a snapshot + * @description Fetches a single snapshot by ID. */ - "publicIps-list": { + "snapshots-get": { parameters: { - readonly query: { - /** @description Fetch the next page of results after this cursor. */ - after?: string; - /** @description The number of items to fetch after this page. */ - limit?: number; - /** @description Order results by one of these fields. */ - orderBy?: "dtCreated"; - /** @description The order to sort the results by. */ - order?: "asc" | "desc"; - region?: string; + readonly path: { + /** @description The ID of the snapshot. */ + id: string; }; }; responses: { @@ -10745,24 +13944,14 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description Whether there are more pages of results available. */ - readonly hasMore: boolean; - /** @description The items on this page. */ - readonly items: readonly ({ - /** @description The ID of the machine the public IP is assigned to. */ - readonly assignedMachineId?: string; - /** - * Format: date-time - * @description The date the public IP was claimed. - */ - readonly dtCreated: Date; - /** @description The IP address of the public IP. */ - readonly ip: string; - /** @description The region of the public IP. */ - readonly region: string; - })[]; - /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ - readonly nextPage?: string; + /** @description The ID of the snapshot. */ + readonly id: string; + /** @description Whether the snapshot was made automatically. */ + readonly isAutoSnapshot: boolean; + /** @description The ID of the machine the snapshot is for. */ + readonly machineId: string; + /** @description The name of the snapshot. */ + readonly name: string; }; }; }; @@ -10770,15 +13959,21 @@ export interface operations { }; }; /** - * Claim a public IP - * @description Claims a public IP. + * Update a snapshot + * @description Updates a single snapshot by ID. */ - "publicIps-claim": { + "snapshots-update": { + parameters: { + readonly path: { + /** @description The ID of the snapshot. */ + id: string; + }; + }; readonly requestBody: { readonly content: { readonly "application/json": { - /** @description The region of the public IP. */ - readonly region: string; + /** @description The name of the snapshot. */ + readonly name?: string; }; }; }; @@ -10787,17 +13982,14 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The ID of the machine the public IP is assigned to. */ - readonly assignedMachineId?: string; - /** - * Format: date-time - * @description The date the public IP was claimed. - */ - readonly dtCreated: Date; - /** @description The IP address of the public IP. */ - readonly ip: string; - /** @description The region of the public IP. */ - readonly region: string; + /** @description The ID of the snapshot. */ + readonly id: string; + /** @description Whether the snapshot was made automatically. */ + readonly isAutoSnapshot: boolean; + /** @description The ID of the machine the snapshot is for. */ + readonly machineId: string; + /** @description The name of the snapshot. */ + readonly name: string; }; }; }; @@ -10805,22 +13997,14 @@ export interface operations { }; }; /** - * Assign a public IP - * @description Assigns a public IP to a machine. + * Delete snapshot + * @description Delete a snapshot for a machine. */ - "publicIps-assign": { + "snapshots-delete": { parameters: { readonly path: { - /** @description The IP address of the public IP. */ - ip: string; - }; - }; - readonly requestBody: { - readonly content: { - readonly "application/json": { - /** @description The ID of the machine to assign the public IP to. */ - readonly machineId: string | null; - }; + /** @description The ID of the snapshot. */ + id: string; }; }; responses: { @@ -10828,17 +14012,73 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The ID of the machine the public IP is assigned to. */ - readonly assignedMachineId?: string; - /** - * Format: date-time - * @description The date the public IP was claimed. - */ - readonly dtCreated: Date; - /** @description The IP address of the public IP. */ - readonly ip: string; - /** @description The region of the public IP. */ - readonly region: string; + /** @description The snapshot. */ + readonly data: { + /** @description The ID of the snapshot. */ + readonly id: string; + /** @description Whether the snapshot was made automatically. */ + readonly isAutoSnapshot: boolean; + /** @description The ID of the machine the snapshot is for. */ + readonly machineId: string; + /** @description The name of the snapshot. */ + readonly name: string; + }; + /** @description The machine event to poll for the async operation. */ + readonly event: { + /** + * Format: date-time + * @description The date the event was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the event was finished. + */ + readonly dtFinished: Date; + /** + * Format: date-time + * @description The date the event was started. + */ + readonly dtStarted: Date; + /** @description The error message of the event, if any. */ + readonly error: string | null; + /** @description The ID of the event. */ + readonly id: string; + /** @description The ID of the machine the event is for. */ + readonly machineId: string | null; + /** + * @description The name of the event, e.g. "create". + * @enum {string} + */ + readonly name: + | "bill-sessions" + | "bill-upgrade" + | "create" + | "deactivate" + | "restart" + | "snapshot-create" + | "snapshot-delete" + | "snapshot-restore" + | "start" + | "stop" + | "template-create" + | "template-delete" + | "template-distribute" + | "template-import" + | "vm-migrate" + | "vm-shutdown-force" + | "vm-upgrade"; + /** + * @description The state of the event, e.g. "done". + * @enum {string} + */ + readonly state: + | "new" + | "in progress" + | "done" + | "error" + | "cancelled"; + }; }; }; }; @@ -10846,14 +14086,22 @@ export interface operations { }; }; /** - * Release a public IP - * @description Releases a public IP. + * Restore snapshot + * @description Restore a snapshot for a machine. */ - "publicIps-release": { + "snapshots-restore": { parameters: { readonly path: { - /** @description The IP address of the public IP. */ - ip: string; + /** @description The ID of the snapshot. */ + id: string; + }; + }; + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description Create a new snapshot before restoring. */ + readonly createSnapshotBeforeRestore?: boolean; + }; }; }; responses: { @@ -10861,7 +14109,73 @@ export interface operations { 200: { content: { readonly "application/json": { - readonly ip: string; + /** @description The snapshot. */ + readonly data: { + /** @description The ID of the snapshot. */ + readonly id: string; + /** @description Whether the snapshot was made automatically. */ + readonly isAutoSnapshot: boolean; + /** @description The ID of the machine the snapshot is for. */ + readonly machineId: string; + /** @description The name of the snapshot. */ + readonly name: string; + }; + /** @description The machine event to poll for the async operation. */ + readonly event: { + /** + * Format: date-time + * @description The date the event was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the event was finished. + */ + readonly dtFinished: Date; + /** + * Format: date-time + * @description The date the event was started. + */ + readonly dtStarted: Date; + /** @description The error message of the event, if any. */ + readonly error: string | null; + /** @description The ID of the event. */ + readonly id: string; + /** @description The ID of the machine the event is for. */ + readonly machineId: string | null; + /** + * @description The name of the event, e.g. "create". + * @enum {string} + */ + readonly name: + | "bill-sessions" + | "bill-upgrade" + | "create" + | "deactivate" + | "restart" + | "snapshot-create" + | "snapshot-delete" + | "snapshot-restore" + | "start" + | "stop" + | "template-create" + | "template-delete" + | "template-distribute" + | "template-import" + | "vm-migrate" + | "vm-shutdown-force" + | "vm-upgrade"; + /** + * @description The state of the event, e.g. "done". + * @enum {string} + */ + readonly state: + | "new" + | "in progress" + | "done" + | "error" + | "cancelled"; + }; }; }; }; @@ -10869,10 +14183,10 @@ export interface operations { }; }; /** - * List shared drives - * @description Fetches a list of shared drives. + * List startup scripts + * @description Fetches a list of startup scripts. */ - "sharedDrives-list": { + "startupScripts-list": { parameters: { readonly query: { /** @description Fetch the next page of results after this cursor. */ @@ -10884,7 +14198,6 @@ export interface operations { /** @description The order to sort the results by. */ order?: "asc" | "desc"; name?: string; - region?: string; }; }; responses: { @@ -10896,32 +14209,28 @@ export interface operations { readonly hasMore: boolean; /** @description The items on this page. */ readonly items: readonly ({ + /** @description The IDs of the machines the startup script is assigned to. */ + readonly assignedMachineIds: readonly (string)[]; + /** @description The description of the startup script. */ + readonly description: string | null; /** * Format: date-time - * @description The date the shared drive was created. + * @description The date the startup script was created. */ readonly dtCreated: Date; - /** @description The date the shared drive was deleted. */ - readonly dtDeleted?: (Record | Date) | null; - /** @description The ID of the shared drive. */ - readonly id: string; - /** @description The mount point of the shared drive. */ - readonly mountPoint: string; - /** @description The name of the shared drive. */ - readonly name: string; - /** @description The ID of the network the shared drive is in. */ - readonly networkId: string; - /** @description The password of the shared drive. */ - readonly password: string; - /** @description The region the shared drive is in. */ - readonly region: string; /** - * Format: int64 - * @description The size of the shared drive. + * Format: date-time + * @description The date the startup script was deleted. */ - readonly size: number; - /** @description The username of the shared drive. */ - readonly username: string; + readonly dtDeleted: Date; + /** @description The ID of the startup script. */ + readonly id: string; + /** @description Whether the startup script is enabled. */ + readonly isEnabled: boolean; + /** @description Whether the startup script is run once on first boot or on every boot. */ + readonly isRunOnce: boolean; + /** @description The name of the startup script. */ + readonly name: string; })[]; /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ readonly nextPage?: string; @@ -10932,21 +14241,22 @@ export interface operations { }; }; /** - * Create a shared drive - * @description Creates a new shared drive for use in a private network. + * Create startup script + * @description Create a startup script. */ - "sharedDrives-create": { + "startupScripts-create": { readonly requestBody: { readonly content: { readonly "application/json": { - /** @description The name of the shared drive. */ + /** + * @description Whether the script should only run once on first boot or on every boot. + * @default false + */ + readonly isRunOnce?: boolean; + /** @description The name of the startup script. */ readonly name: string; - /** @description The ID of the network the shared drive is in. */ - readonly networkId: string; - /** @description The region the shared drive is in. */ - readonly region: string; - /** @description The size of the shared drive in gigabytes. */ - readonly size: number; + /** @description The script to run on startup. */ + readonly script: string; }; }; }; @@ -10955,32 +14265,72 @@ export interface operations { 200: { content: { readonly "application/json": { + /** @description The IDs of the machines the startup script is assigned to. */ + readonly assignedMachineIds: readonly (string)[]; + /** @description The description of the startup script. */ + readonly description: string | null; /** * Format: date-time - * @description The date the shared drive was created. + * @description The date the startup script was created. */ readonly dtCreated: Date; - /** @description The date the shared drive was deleted. */ - readonly dtDeleted?: (Record | Date) | null; - /** @description The ID of the shared drive. */ + /** + * Format: date-time + * @description The date the startup script was deleted. + */ + readonly dtDeleted: Date; + /** @description The ID of the startup script. */ readonly id: string; - /** @description The mount point of the shared drive. */ - readonly mountPoint: string; - /** @description The name of the shared drive. */ + /** @description Whether the startup script is enabled. */ + readonly isEnabled: boolean; + /** @description Whether the startup script is run once on first boot or on every boot. */ + readonly isRunOnce: boolean; + /** @description The name of the startup script. */ readonly name: string; - /** @description The ID of the network the shared drive is in. */ - readonly networkId: string; - /** @description The password of the shared drive. */ - readonly password: string; - /** @description The region the shared drive is in. */ - readonly region: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Get a startup script + * @description Fetches a single startup script by ID. + */ + "startupScripts-get": { + parameters: { + readonly path: { + /** @description The ID of the startup script to fetch. */ + id: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The IDs of the machines the startup script is assigned to. */ + readonly assignedMachineIds: readonly (string)[]; + /** @description The description of the startup script. */ + readonly description: string | null; /** - * Format: int64 - * @description The size of the shared drive. + * Format: date-time + * @description The date the startup script was created. */ - readonly size: number; - /** @description The username of the shared drive. */ - readonly username: string; + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the startup script was deleted. + */ + readonly dtDeleted: Date; + /** @description The ID of the startup script. */ + readonly id: string; + /** @description Whether the startup script is enabled. */ + readonly isEnabled: boolean; + /** @description Whether the startup script is run once on first boot or on every boot. */ + readonly isRunOnce: boolean; + /** @description The name of the startup script. */ + readonly name: string; }; }; }; @@ -10988,47 +14338,101 @@ export interface operations { }; }; /** - * Get a shared drive - * @description Fetches a single shared drive by ID. + * Update startup script + * @description Update a startup script. */ - "sharedDrives-get": { + "startupScripts-update": { parameters: { readonly path: { - /** @description The ID of the shared drive to fetch. */ + /** @description The id of the startup script. */ id: string; }; }; + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description Whether the startup script is enabled. */ + readonly isEnabled?: boolean; + /** @description Whether the script should only run once on first boot or on every boot. */ + readonly isRunOnce?: boolean; + /** @description The name of the startup script. */ + readonly name?: string; + /** @description The script to run on startup. */ + readonly script?: string; + }; + }; + }; responses: { /** @description Successful response */ 200: { content: { readonly "application/json": { + /** @description The IDs of the machines the startup script is assigned to. */ + readonly assignedMachineIds: readonly (string)[]; + /** @description The description of the startup script. */ + readonly description: string | null; /** * Format: date-time - * @description The date the shared drive was created. + * @description The date the startup script was created. */ readonly dtCreated: Date; - /** @description The date the shared drive was deleted. */ - readonly dtDeleted?: (Record | Date) | null; - /** @description The ID of the shared drive. */ + /** + * Format: date-time + * @description The date the startup script was deleted. + */ + readonly dtDeleted: Date; + /** @description The ID of the startup script. */ readonly id: string; - /** @description The mount point of the shared drive. */ - readonly mountPoint: string; - /** @description The name of the shared drive. */ + /** @description Whether the startup script is enabled. */ + readonly isEnabled: boolean; + /** @description Whether the startup script is run once on first boot or on every boot. */ + readonly isRunOnce: boolean; + /** @description The name of the startup script. */ readonly name: string; - /** @description The ID of the network the shared drive is in. */ - readonly networkId: string; - /** @description The password of the shared drive. */ - readonly password: string; - /** @description The region the shared drive is in. */ - readonly region: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Delete startup script + * @description Delete a startup script. + */ + "startupScripts-delete": { + parameters: { + readonly path: { + /** @description The id of the startup script. */ + id: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The IDs of the machines the startup script is assigned to. */ + readonly assignedMachineIds: readonly (string)[]; + /** @description The description of the startup script. */ + readonly description: string | null; /** - * Format: int64 - * @description The size of the shared drive. + * Format: date-time + * @description The date the startup script was created. */ - readonly size: number; - /** @description The username of the shared drive. */ - readonly username: string; + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the startup script was deleted. + */ + readonly dtDeleted: Date; + /** @description The ID of the startup script. */ + readonly id: string; + /** @description Whether the startup script is enabled. */ + readonly isEnabled: boolean; + /** @description Whether the startup script is run once on first boot or on every boot. */ + readonly isRunOnce: boolean; + /** @description The name of the startup script. */ + readonly name: string; }; }; }; @@ -11036,21 +14440,21 @@ export interface operations { }; }; /** - * Update a shared drive - * @description Updates a single shared drive by ID. + * Assign startup script to machine + * @description Assign a startup script to a machine. */ - "sharedDrives-update": { + "startupScripts-assign": { parameters: { readonly path: { - /** @description The ID of the shared drive to fetch. */ + /** @description The id of the startup script. */ id: string; }; }; readonly requestBody: { readonly content: { readonly "application/json": { - /** @description The name of the shared drive. */ - readonly name?: string; + /** @description The id of the machine to assign the startup script to. */ + readonly machineId: string; }; }; }; @@ -11059,32 +14463,28 @@ export interface operations { 200: { content: { readonly "application/json": { + /** @description The IDs of the machines the startup script is assigned to. */ + readonly assignedMachineIds: readonly (string)[]; + /** @description The description of the startup script. */ + readonly description: string | null; /** * Format: date-time - * @description The date the shared drive was created. + * @description The date the startup script was created. */ readonly dtCreated: Date; - /** @description The date the shared drive was deleted. */ - readonly dtDeleted?: (Record | Date) | null; - /** @description The ID of the shared drive. */ - readonly id: string; - /** @description The mount point of the shared drive. */ - readonly mountPoint: string; - /** @description The name of the shared drive. */ - readonly name: string; - /** @description The ID of the network the shared drive is in. */ - readonly networkId: string; - /** @description The password of the shared drive. */ - readonly password: string; - /** @description The region the shared drive is in. */ - readonly region: string; /** - * Format: int64 - * @description The size of the shared drive. + * Format: date-time + * @description The date the startup script was deleted. */ - readonly size: number; - /** @description The username of the shared drive. */ - readonly username: string; + readonly dtDeleted: Date; + /** @description The ID of the startup script. */ + readonly id: string; + /** @description Whether the startup script is enabled. */ + readonly isEnabled: boolean; + /** @description Whether the startup script is run once on first boot or on every boot. */ + readonly isRunOnce: boolean; + /** @description The name of the startup script. */ + readonly name: string; }; }; }; @@ -11092,23 +14492,51 @@ export interface operations { }; }; /** - * Delete a shared drive - * @description Deletes a single shared drive by ID. + * Unassign startup script from machine + * @description Unassign a startup script from a machine. */ - "sharedDrives-delete": { + "startupScripts-unassign": { parameters: { readonly path: { - /** @description The ID of the shared drive to delete. */ + /** @description The id of the startup script. */ id: string; }; }; + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description The id of the machine to unassign the startup script from. */ + readonly machineId: string; + }; + }; + }; responses: { /** @description Successful response */ 200: { content: { readonly "application/json": { - /** @description The ID of the deleted shared drive. */ + /** @description The IDs of the machines the startup script is assigned to. */ + readonly assignedMachineIds: readonly (string)[]; + /** @description The description of the startup script. */ + readonly description: string | null; + /** + * Format: date-time + * @description The date the startup script was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the startup script was deleted. + */ + readonly dtDeleted: Date; + /** @description The ID of the startup script. */ readonly id: string; + /** @description Whether the startup script is enabled. */ + readonly isEnabled: boolean; + /** @description Whether the startup script is run once on first boot or on every boot. */ + readonly isRunOnce: boolean; + /** @description The name of the startup script. */ + readonly name: string; }; }; }; @@ -11116,10 +14544,10 @@ export interface operations { }; }; /** - * List snapshots - * @description List snapshots and filter by machine. + * List storage providers + * @description List storage providers */ - "snapshots-list": { + "storageProviders-list": { parameters: { readonly query: { /** @description Fetch the next page of results after this cursor. */ @@ -11127,10 +14555,9 @@ export interface operations { /** @description The number of items to fetch after this page. */ limit?: number; /** @description Order results by one of these fields. */ - orderBy?: "dtCreated" | "name"; + orderBy?: "dtCreated"; /** @description The order to sort the results by. */ order?: "asc" | "desc"; - machineId?: string; }; }; responses: { @@ -11142,140 +14569,32 @@ export interface operations { readonly hasMore: boolean; /** @description The items on this page. */ readonly items: readonly ({ - /** @description The ID of the snapshot. */ - readonly id: string; - /** @description Whether the snapshot was made automatically. */ - readonly isAutoSnapshot: boolean; - /** @description The ID of the machine the snapshot is for. */ - readonly machineId: string; - /** @description The name of the snapshot. */ - readonly name: string; - })[]; - /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ - readonly nextPage?: string; - }; - }; - }; - default: components["responses"]["error"]; - }; - }; - /** - * Create snapshot - * @description Create a snapshot for a machine. - */ - "snapshots-create": { - readonly requestBody: { - readonly content: { - readonly "application/json": { - /** @description The ID of the machine to create a snapshot for. */ - readonly machineId: string; - /** @description The name of the snapshot. */ - readonly name: string; - }; - }; - }; - responses: { - /** @description Successful response */ - 200: { - content: { - readonly "application/json": { - /** @description The snapshot. */ - readonly data: { - /** @description The ID of the snapshot. */ + /** @description The ID of the storage provider */ readonly id: string; - /** @description Whether the snapshot was made automatically. */ - readonly isAutoSnapshot: boolean; - /** @description The ID of the machine the snapshot is for. */ - readonly machineId: string; - /** @description The name of the snapshot. */ + /** @description Whether the storage provider is managed by Paperspace */ + readonly isManaged: boolean; + /** @description Whether the storage provider is the team's default provider */ + readonly isTeamDefault: boolean | null; + /** @description The name of the storage provider */ readonly name: string; - }; - /** @description The machine event to poll for the async operation. */ - readonly event: { - /** - * Format: date-time - * @description The date the event was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the event was finished. - */ - readonly dtFinished: Date; - /** - * Format: date-time - * @description The date the event was started. - */ - readonly dtStarted: Date; - /** @description The error message of the event, if any. */ - readonly error: string | null; - /** @description The ID of the event. */ - readonly id: string; - /** @description The ID of the machine the event is for. */ - readonly machineId: string | null; - /** - * @description The name of the event, e.g. "create". - * @enum {string} - */ - readonly name: - | "bill-sessions" - | "bill-upgrade" - | "create" - | "deactivate" - | "restart" - | "snapshot-create" - | "snapshot-delete" - | "snapshot-restore" - | "start" - | "stop" - | "template-create" - | "template-delete" - | "template-distribute" - | "template-import" - | "vm-migrate" - | "vm-shutdown-force" - | "vm-upgrade"; - /** - * @description The state of the event, e.g. "done". - * @enum {string} - */ - readonly state: - | "new" - | "in progress" - | "done" - | "error" - | "cancelled"; - }; - }; - }; - }; - default: components["responses"]["error"]; - }; - }; - /** - * Get a snapshot - * @description Fetches a single snapshot by ID. - */ - "snapshots-get": { - parameters: { - readonly path: { - /** @description The ID of the snapshot. */ - id: string; - }; - }; - responses: { - /** @description Successful response */ - 200: { - content: { - readonly "application/json": { - /** @description The ID of the snapshot. */ - readonly id: string; - /** @description Whether the snapshot was made automatically. */ - readonly isAutoSnapshot: boolean; - /** @description The ID of the machine the snapshot is for. */ - readonly machineId: string; - /** @description The name of the snapshot. */ - readonly name: string; + /** @description The storage provider configuration */ + readonly s3Config: { + readonly accessKey: string; + readonly bucket: string; + /** + * Format: uri + * @default null + */ + readonly endpoint?: string | null; + readonly region?: string | null; + /** @default false */ + readonly retainData?: boolean | null; + readonly secretAccessKey: string; + readonly signatureVersion?: string | null; + }; + })[]; + /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ + readonly nextPage?: string; }; }; }; @@ -11283,21 +14602,37 @@ export interface operations { }; }; /** - * Update a snapshot - * @description Updates a single snapshot by ID. + * Create a storage provider + * @description Create a storage provider */ - "snapshots-update": { - parameters: { - readonly path: { - /** @description The ID of the snapshot. */ - id: string; - }; - }; + "storageProviders-create": { readonly requestBody: { readonly content: { readonly "application/json": { - /** @description The name of the snapshot. */ - readonly name?: string; + /** @description Is team default */ + readonly isTeamDefault?: boolean; + /** @description The name of the storage provider */ + readonly name: string; + /** @description The storage provider configuration */ + readonly s3Config: { + readonly accessKey: string; + readonly bucket: string; + /** + * Format: uri + * @default null + */ + readonly endpoint?: string | null; + readonly region?: string | null; + /** @default false */ + readonly retainData?: boolean | null; + readonly secretAccessKey: string; + readonly signatureVersion?: string | null; + }; + /** + * @description The type of storage provider + * @enum {string} + */ + readonly storageProviderType: "s3"; }; }; }; @@ -11306,14 +14641,29 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The ID of the snapshot. */ + /** @description The ID of the storage provider */ readonly id: string; - /** @description Whether the snapshot was made automatically. */ - readonly isAutoSnapshot: boolean; - /** @description The ID of the machine the snapshot is for. */ - readonly machineId: string; - /** @description The name of the snapshot. */ + /** @description Whether the storage provider is managed by Paperspace */ + readonly isManaged: boolean; + /** @description Whether the storage provider is the team's default provider */ + readonly isTeamDefault: boolean | null; + /** @description The name of the storage provider */ readonly name: string; + /** @description The storage provider configuration */ + readonly s3Config: { + readonly accessKey: string; + readonly bucket: string; + /** + * Format: uri + * @default null + */ + readonly endpoint?: string | null; + readonly region?: string | null; + /** @default false */ + readonly retainData?: boolean | null; + readonly secretAccessKey: string; + readonly signatureVersion?: string | null; + }; }; }; }; @@ -11321,13 +14671,13 @@ export interface operations { }; }; /** - * Delete snapshot - * @description Delete a snapshot for a machine. + * Get a storage provider + * @description Get a storage provider */ - "snapshots-delete": { + "storageProviders-get": { parameters: { readonly path: { - /** @description The ID of the snapshot. */ + /** @description The ID of the storage provider */ id: string; }; }; @@ -11336,72 +14686,28 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The snapshot. */ - readonly data: { - /** @description The ID of the snapshot. */ - readonly id: string; - /** @description Whether the snapshot was made automatically. */ - readonly isAutoSnapshot: boolean; - /** @description The ID of the machine the snapshot is for. */ - readonly machineId: string; - /** @description The name of the snapshot. */ - readonly name: string; - }; - /** @description The machine event to poll for the async operation. */ - readonly event: { - /** - * Format: date-time - * @description The date the event was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the event was finished. - */ - readonly dtFinished: Date; - /** - * Format: date-time - * @description The date the event was started. - */ - readonly dtStarted: Date; - /** @description The error message of the event, if any. */ - readonly error: string | null; - /** @description The ID of the event. */ - readonly id: string; - /** @description The ID of the machine the event is for. */ - readonly machineId: string | null; - /** - * @description The name of the event, e.g. "create". - * @enum {string} - */ - readonly name: - | "bill-sessions" - | "bill-upgrade" - | "create" - | "deactivate" - | "restart" - | "snapshot-create" - | "snapshot-delete" - | "snapshot-restore" - | "start" - | "stop" - | "template-create" - | "template-delete" - | "template-distribute" - | "template-import" - | "vm-migrate" - | "vm-shutdown-force" - | "vm-upgrade"; + /** @description The ID of the storage provider */ + readonly id: string; + /** @description Whether the storage provider is managed by Paperspace */ + readonly isManaged: boolean; + /** @description Whether the storage provider is the team's default provider */ + readonly isTeamDefault: boolean | null; + /** @description The name of the storage provider */ + readonly name: string; + /** @description The storage provider configuration */ + readonly s3Config: { + readonly accessKey: string; + readonly bucket: string; /** - * @description The state of the event, e.g. "done". - * @enum {string} + * Format: uri + * @default null */ - readonly state: - | "new" - | "in progress" - | "done" - | "error" - | "cancelled"; + readonly endpoint?: string | null; + readonly region?: string | null; + /** @default false */ + readonly retainData?: boolean | null; + readonly secretAccessKey: string; + readonly signatureVersion?: string | null; }; }; }; @@ -11410,21 +14716,38 @@ export interface operations { }; }; /** - * Restore snapshot - * @description Restore a snapshot for a machine. + * Update a storage provider + * @description Update a storage provider */ - "snapshots-restore": { + "storageProviders-update": { parameters: { readonly path: { - /** @description The ID of the snapshot. */ + /** @description The ID of the storage provider */ id: string; }; }; readonly requestBody: { readonly content: { readonly "application/json": { - /** @description Create a new snapshot before restoring. */ - readonly createSnapshotBeforeRestore?: boolean; + /** @description Is team default */ + readonly isTeamDefault: boolean; + /** @description The name of the storage provider */ + readonly name: string; + /** @description The storage provider configuration */ + readonly s3Config: { + readonly accessKey: string; + readonly bucket: string; + /** + * Format: uri + * @default null + */ + readonly endpoint?: string | null; + readonly region?: string | null; + /** @default false */ + readonly retainData?: boolean | null; + readonly secretAccessKey: string; + readonly signatureVersion?: string | null; + }; }; }; }; @@ -11433,72 +14756,28 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The snapshot. */ - readonly data: { - /** @description The ID of the snapshot. */ - readonly id: string; - /** @description Whether the snapshot was made automatically. */ - readonly isAutoSnapshot: boolean; - /** @description The ID of the machine the snapshot is for. */ - readonly machineId: string; - /** @description The name of the snapshot. */ - readonly name: string; - }; - /** @description The machine event to poll for the async operation. */ - readonly event: { - /** - * Format: date-time - * @description The date the event was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the event was finished. - */ - readonly dtFinished: Date; - /** - * Format: date-time - * @description The date the event was started. - */ - readonly dtStarted: Date; - /** @description The error message of the event, if any. */ - readonly error: string | null; - /** @description The ID of the event. */ - readonly id: string; - /** @description The ID of the machine the event is for. */ - readonly machineId: string | null; - /** - * @description The name of the event, e.g. "create". - * @enum {string} - */ - readonly name: - | "bill-sessions" - | "bill-upgrade" - | "create" - | "deactivate" - | "restart" - | "snapshot-create" - | "snapshot-delete" - | "snapshot-restore" - | "start" - | "stop" - | "template-create" - | "template-delete" - | "template-distribute" - | "template-import" - | "vm-migrate" - | "vm-shutdown-force" - | "vm-upgrade"; + /** @description The ID of the storage provider */ + readonly id: string; + /** @description Whether the storage provider is managed by Paperspace */ + readonly isManaged: boolean; + /** @description Whether the storage provider is the team's default provider */ + readonly isTeamDefault: boolean | null; + /** @description The name of the storage provider */ + readonly name: string; + /** @description The storage provider configuration */ + readonly s3Config: { + readonly accessKey: string; + readonly bucket: string; /** - * @description The state of the event, e.g. "done". - * @enum {string} + * Format: uri + * @default null */ - readonly state: - | "new" - | "in progress" - | "done" - | "error" - | "cancelled"; + readonly endpoint?: string | null; + readonly region?: string | null; + /** @default false */ + readonly retainData?: boolean | null; + readonly secretAccessKey: string; + readonly signatureVersion?: string | null; }; }; }; @@ -11507,10 +14786,64 @@ export interface operations { }; }; /** - * List startup scripts - * @description Fetches a list of startup scripts. + * Delete a storage provider + * @description Delete a storage provider */ - "startupScripts-list": { + "storageProviders-delete": { + parameters: { + readonly path: { + /** @description The ID of the storage provider */ + id: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The ID of the storage provider */ + readonly id: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Get storage utilization + * @description Get a breakdown of how storage is being used by your team + */ + "storageUtilization-getPublic": { + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description Storage used by datasets in bytes */ + readonly datasetUsage: string; + /** @description Storage used by models in bytes */ + readonly modelUsage: string; + /** @description Storage used by notebooks files in bytes */ + readonly notebookWorkspaceUsage: string; + /** @description The amount of free storage left before you reach your plan's limit in bytes */ + readonly remainingFreeStorage: string; + /** @description Persistent storage used by the notebook shared storage directory in bytes */ + readonly sharedStorageUsage: string; + /** @description The amount of free storage that comes with your current plan in bytes */ + readonly totalFreeStorage: string; + /** @description Total storage used by your team in bytes */ + readonly totalUsage: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * List a team's secrets + * @description Fetches a list of secrets for a team. + */ + "teamSecrets-list": { parameters: { readonly query: { /** @description Fetch the next page of results after this cursor. */ @@ -11518,10 +14851,13 @@ export interface operations { /** @description The number of items to fetch after this page. */ limit?: number; /** @description Order results by one of these fields. */ - orderBy?: "dtCreated" | "name"; + orderBy?: "dtCreated"; /** @description The order to sort the results by. */ order?: "asc" | "desc"; - name?: string; + }; + readonly path: { + /** @description The ID of the team where the secret is stored. */ + id: string; }; }; responses: { @@ -11533,27 +14869,18 @@ export interface operations { readonly hasMore: boolean; /** @description The items on this page. */ readonly items: readonly ({ - /** @description The IDs of the machines the startup script is assigned to. */ - readonly assignedMachineIds: readonly (string)[]; - /** @description The description of the startup script. */ - readonly description: string | null; /** * Format: date-time - * @description The date the startup script was created. + * @description The date the secret was created. */ readonly dtCreated: Date; /** * Format: date-time - * @description The date the startup script was deleted. + * @description The date the secret was last modified. */ - readonly dtDeleted: Date; - /** @description The ID of the startup script. */ - readonly id: string; - /** @description Whether the startup script is enabled. */ - readonly isEnabled: boolean; - /** @description Whether the startup script is run once on first boot or on every boot. */ - readonly isRunOnce: boolean; - /** @description The name of the startup script. */ + readonly dtModified: Date; + readonly hasDeploymentAttached: boolean; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ readonly name: string; })[]; /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ @@ -11565,22 +14892,23 @@ export interface operations { }; }; /** - * Create startup script - * @description Create a startup script. + * Create a team secret + * @description Creates a new secret for a team. */ - "startupScripts-create": { + "teamSecrets-create": { + parameters: { + readonly path: { + /** @description The ID of the team where the secret is stored. */ + id: string; + }; + }; readonly requestBody: { readonly content: { readonly "application/json": { - /** - * @description Whether the script should only run once on first boot or on every boot. - * @default false - */ - readonly isRunOnce?: boolean; - /** @description The name of the startup script. */ + /** @description The name of the secret, e.g. "DB_PASSWORD". */ readonly name: string; - /** @description The script to run on startup. */ - readonly script: string; + /** @description The value of the secret, e.g. "password". */ + readonly value: string; }; }; }; @@ -11589,27 +14917,17 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The IDs of the machines the startup script is assigned to. */ - readonly assignedMachineIds: readonly (string)[]; - /** @description The description of the startup script. */ - readonly description: string | null; /** * Format: date-time - * @description The date the startup script was created. + * @description The date the secret was created. */ readonly dtCreated: Date; /** * Format: date-time - * @description The date the startup script was deleted. + * @description The date the secret was last modified. */ - readonly dtDeleted: Date; - /** @description The ID of the startup script. */ - readonly id: string; - /** @description Whether the startup script is enabled. */ - readonly isEnabled: boolean; - /** @description Whether the startup script is run once on first boot or on every boot. */ - readonly isRunOnce: boolean; - /** @description The name of the startup script. */ + readonly dtModified: Date; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ readonly name: string; }; }; @@ -11618,14 +14936,16 @@ export interface operations { }; }; /** - * Get a startup script - * @description Fetches a single startup script by ID. + * Get a team secret + * @description Fetches a secret for a team. */ - "startupScripts-get": { + "teamSecrets-get": { parameters: { readonly path: { - /** @description The ID of the startup script to fetch. */ + /** @description The ID of the team where the secret is stored. */ id: string; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + name: string; }; }; responses: { @@ -11633,27 +14953,18 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The IDs of the machines the startup script is assigned to. */ - readonly assignedMachineIds: readonly (string)[]; - /** @description The description of the startup script. */ - readonly description: string | null; /** * Format: date-time - * @description The date the startup script was created. + * @description The date the secret was created. */ readonly dtCreated: Date; /** * Format: date-time - * @description The date the startup script was deleted. + * @description The date the secret was last modified. */ - readonly dtDeleted: Date; - /** @description The ID of the startup script. */ - readonly id: string; - /** @description Whether the startup script is enabled. */ - readonly isEnabled: boolean; - /** @description Whether the startup script is run once on first boot or on every boot. */ - readonly isRunOnce: boolean; - /** @description The name of the startup script. */ + readonly dtModified: Date; + readonly hasDeploymentAttached: boolean; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ readonly name: string; }; }; @@ -11662,57 +14973,139 @@ export interface operations { }; }; /** - * Update startup script - * @description Update a startup script. + * Delete a team secret + * @description Deletes a secret for a team. */ - "startupScripts-update": { + "teamSecrets-delete": { parameters: { readonly path: { - /** @description The id of the startup script. */ + /** @description The ID of the team where the secret is stored. */ + id: string; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + name: string; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + readonly name: string; + }; + }; + }; + default: components["responses"]["error"]; + }; + }; + /** + * Update a team secret + * @description Update the value of a secret for a team. + */ + "teamSecrets-update": { + parameters: { + readonly path: { + /** @description The ID of the team where the secret is stored. */ id: string; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + name: string; }; }; readonly requestBody: { readonly content: { readonly "application/json": { - /** @description Whether the startup script is enabled. */ - readonly isEnabled?: boolean; - /** @description Whether the script should only run once on first boot or on every boot. */ - readonly isRunOnce?: boolean; - /** @description The name of the startup script. */ - readonly name?: string; - /** @description The script to run on startup. */ - readonly script?: string; + /** @description The value of the secret, e.g. "password". */ + readonly value: string; + }; + }; + }; + responses: { + /** @description Successful response */ + 200: { + content: { + readonly "application/json": { + /** + * Format: date-time + * @description The date the secret was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the secret was last modified. + */ + readonly dtModified: Date; + /** @description The name of the secret, e.g. "DB_PASSWORD". */ + readonly name: string; + }; }; }; + default: components["responses"]["error"]; + }; + }; + /** + * List templates + * @description Fetches a list of templates. + */ + "templates-list": { + parameters: { + readonly query: { + /** @description Fetch the next page of results after this cursor. */ + after?: string; + /** @description The number of items to fetch after this page. */ + limit?: number; + /** @description Order results by one of these fields. */ + orderBy?: "dtCreated" | "name"; + /** @description The order to sort the results by. */ + order?: "asc" | "desc"; + name?: string; + machineId?: string; + }; }; responses: { /** @description Successful response */ 200: { content: { readonly "application/json": { - /** @description The IDs of the machines the startup script is assigned to. */ - readonly assignedMachineIds: readonly (string)[]; - /** @description The description of the startup script. */ - readonly description: string | null; - /** - * Format: date-time - * @description The date the startup script was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the startup script was deleted. - */ - readonly dtDeleted: Date; - /** @description The ID of the startup script. */ - readonly id: string; - /** @description Whether the startup script is enabled. */ - readonly isEnabled: boolean; - /** @description Whether the startup script is run once on first boot or on every boot. */ - readonly isRunOnce: boolean; - /** @description The name of the startup script. */ - readonly name: string; + /** @description Whether there are more pages of results available. */ + readonly hasMore: boolean; + /** @description The items on this page. */ + readonly items: readonly ({ + /** @description The type of agent installed on the template. */ + readonly agentType: string; + /** @description The machine types the template is available on. */ + readonly availableMachineTypes: readonly ({ + /** @description Whether the template is available on this machine type. */ + readonly isAvailable: boolean; + /** @description The label of the machine type. */ + readonly machineTypeLabel: string; + })[]; + /** @description The default size of the template in gigabytes. */ + readonly defaultSizeGb: number; + /** + * Format: date-time + * @description The date the template was created. + */ + readonly dtCreated: Date; + /** @description The date the shared drive was deleted. */ + readonly dtDeleted?: (Record | Date) | null; + /** @description The ID of the template. */ + readonly id: string; + /** + * @description Whether the template is public. + * @default false + */ + readonly isPublic?: boolean; + /** @description The name of the template. */ + readonly name: string; + /** @description The operating system installed on the template. */ + readonly operatingSystemLabel: string; + /** @description The ID of the parent machine. */ + readonly parentMachineId: string; + /** @description The region the template is in. Public templates are in all regions. */ + readonly region: string; + })[]; + /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ + readonly nextPage?: string; }; }; }; @@ -11720,14 +15113,18 @@ export interface operations { }; }; /** - * Delete startup script - * @description Delete a startup script. + * Create template + * @description Create a template for a machine. */ - "startupScripts-delete": { - parameters: { - readonly path: { - /** @description The id of the startup script. */ - id: string; + "templates-create": { + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description The ID of the machine to create a template from. */ + readonly machineId: string; + /** @description The name of the template. */ + readonly name: string; + }; }; }; responses: { @@ -11735,28 +15132,98 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The IDs of the machines the startup script is assigned to. */ - readonly assignedMachineIds: readonly (string)[]; - /** @description The description of the startup script. */ - readonly description: string | null; - /** - * Format: date-time - * @description The date the startup script was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the startup script was deleted. - */ - readonly dtDeleted: Date; - /** @description The ID of the startup script. */ - readonly id: string; - /** @description Whether the startup script is enabled. */ - readonly isEnabled: boolean; - /** @description Whether the startup script is run once on first boot or on every boot. */ - readonly isRunOnce: boolean; - /** @description The name of the startup script. */ - readonly name: string; + /** @description The template. */ + readonly data: { + /** @description The type of agent installed on the template. */ + readonly agentType: string; + /** @description The machine types the template is available on. */ + readonly availableMachineTypes: readonly ({ + /** @description Whether the template is available on this machine type. */ + readonly isAvailable: boolean; + /** @description The label of the machine type. */ + readonly machineTypeLabel: string; + })[]; + /** @description The default size of the template in gigabytes. */ + readonly defaultSizeGb: number; + /** + * Format: date-time + * @description The date the template was created. + */ + readonly dtCreated: Date; + /** @description The date the shared drive was deleted. */ + readonly dtDeleted?: (Record | Date) | null; + /** @description The ID of the template. */ + readonly id: string; + /** + * @description Whether the template is public. + * @default false + */ + readonly isPublic?: boolean; + /** @description The name of the template. */ + readonly name: string; + /** @description The operating system installed on the template. */ + readonly operatingSystemLabel: string; + /** @description The ID of the parent machine. */ + readonly parentMachineId: string; + /** @description The region the template is in. Public templates are in all regions. */ + readonly region: string; + }; + /** @description The machine event to poll for the async operation. */ + readonly event: { + /** + * Format: date-time + * @description The date the event was created. + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description The date the event was finished. + */ + readonly dtFinished: Date; + /** + * Format: date-time + * @description The date the event was started. + */ + readonly dtStarted: Date; + /** @description The error message of the event, if any. */ + readonly error: string | null; + /** @description The ID of the event. */ + readonly id: string; + /** @description The ID of the machine the event is for. */ + readonly machineId: string | null; + /** + * @description The name of the event, e.g. "create". + * @enum {string} + */ + readonly name: + | "bill-sessions" + | "bill-upgrade" + | "create" + | "deactivate" + | "restart" + | "snapshot-create" + | "snapshot-delete" + | "snapshot-restore" + | "start" + | "stop" + | "template-create" + | "template-delete" + | "template-distribute" + | "template-import" + | "vm-migrate" + | "vm-shutdown-force" + | "vm-upgrade"; + /** + * @description The state of the event, e.g. "done". + * @enum {string} + */ + readonly state: + | "new" + | "in progress" + | "done" + | "error" + | "cancelled"; + }; }; }; }; @@ -11764,51 +15231,54 @@ export interface operations { }; }; /** - * Assign startup script to machine - * @description Assign a startup script to a machine. + * Get a template + * @description Fetches a single template by ID. */ - "startupScripts-assign": { + "templates-get": { parameters: { readonly path: { - /** @description The id of the startup script. */ + /** @description The ID of the template to fetch. */ id: string; }; }; - readonly requestBody: { - readonly content: { - readonly "application/json": { - /** @description The id of the machine to assign the startup script to. */ - readonly machineId: string; - }; - }; - }; responses: { /** @description Successful response */ 200: { content: { readonly "application/json": { - /** @description The IDs of the machines the startup script is assigned to. */ - readonly assignedMachineIds: readonly (string)[]; - /** @description The description of the startup script. */ - readonly description: string | null; + /** @description The type of agent installed on the template. */ + readonly agentType: string; + /** @description The machine types the template is available on. */ + readonly availableMachineTypes: readonly ({ + /** @description Whether the template is available on this machine type. */ + readonly isAvailable: boolean; + /** @description The label of the machine type. */ + readonly machineTypeLabel: string; + })[]; + /** @description The default size of the template in gigabytes. */ + readonly defaultSizeGb: number; /** * Format: date-time - * @description The date the startup script was created. + * @description The date the template was created. */ readonly dtCreated: Date; + /** @description The date the shared drive was deleted. */ + readonly dtDeleted?: (Record | Date) | null; + /** @description The ID of the template. */ + readonly id: string; /** - * Format: date-time - * @description The date the startup script was deleted. + * @description Whether the template is public. + * @default false */ - readonly dtDeleted: Date; - /** @description The ID of the startup script. */ - readonly id: string; - /** @description Whether the startup script is enabled. */ - readonly isEnabled: boolean; - /** @description Whether the startup script is run once on first boot or on every boot. */ - readonly isRunOnce: boolean; - /** @description The name of the startup script. */ + readonly isPublic?: boolean; + /** @description The name of the template. */ readonly name: string; + /** @description The operating system installed on the template. */ + readonly operatingSystemLabel: string; + /** @description The ID of the parent machine. */ + readonly parentMachineId: string; + /** @description The region the template is in. Public templates are in all regions. */ + readonly region: string; }; }; }; @@ -11816,21 +15286,21 @@ export interface operations { }; }; /** - * Unassign startup script from machine - * @description Unassign a startup script from a machine. + * Update a template + * @description Updates a single template by ID. */ - "startupScripts-unassign": { + "templates-update": { parameters: { readonly path: { - /** @description The id of the startup script. */ + /** @description The ID of the template to update. */ id: string; }; }; readonly requestBody: { readonly content: { readonly "application/json": { - /** @description The id of the machine to unassign the startup script from. */ - readonly machineId: string; + /** @description The name of the template. */ + readonly name: string; }; }; }; @@ -11839,28 +15309,39 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The IDs of the machines the startup script is assigned to. */ - readonly assignedMachineIds: readonly (string)[]; - /** @description The description of the startup script. */ - readonly description: string | null; + /** @description The type of agent installed on the template. */ + readonly agentType: string; + /** @description The machine types the template is available on. */ + readonly availableMachineTypes: readonly ({ + /** @description Whether the template is available on this machine type. */ + readonly isAvailable: boolean; + /** @description The label of the machine type. */ + readonly machineTypeLabel: string; + })[]; + /** @description The default size of the template in gigabytes. */ + readonly defaultSizeGb: number; /** * Format: date-time - * @description The date the startup script was created. + * @description The date the template was created. */ readonly dtCreated: Date; + /** @description The date the shared drive was deleted. */ + readonly dtDeleted?: (Record | Date) | null; + /** @description The ID of the template. */ + readonly id: string; /** - * Format: date-time - * @description The date the startup script was deleted. + * @description Whether the template is public. + * @default false */ - readonly dtDeleted: Date; - /** @description The ID of the startup script. */ - readonly id: string; - /** @description Whether the startup script is enabled. */ - readonly isEnabled: boolean; - /** @description Whether the startup script is run once on first boot or on every boot. */ - readonly isRunOnce: boolean; - /** @description The name of the startup script. */ + readonly isPublic?: boolean; + /** @description The name of the template. */ readonly name: string; + /** @description The operating system installed on the template. */ + readonly operatingSystemLabel: string; + /** @description The ID of the parent machine. */ + readonly parentMachineId: string; + /** @description The region the template is in. Public templates are in all regions. */ + readonly region: string; }; }; }; @@ -11868,20 +15349,14 @@ export interface operations { }; }; /** - * List storage providers - * @description List storage providers + * Delete template + * @description Delete a template. */ - "storageProviders-list": { + "templates-delete": { parameters: { - readonly query: { - /** @description Fetch the next page of results after this cursor. */ - after?: string; - /** @description The number of items to fetch after this page. */ - limit?: number; - /** @description Order results by one of these fields. */ - orderBy?: "dtCreated"; - /** @description The order to sort the results by. */ - order?: "asc" | "desc"; + readonly path: { + /** @description The ID of the template to delete. */ + id: string; }; }; responses: { @@ -11889,188 +15364,465 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description Whether there are more pages of results available. */ - readonly hasMore: boolean; - /** @description The items on this page. */ - readonly items: readonly ({ - /** @description The ID of the storage provider */ - readonly id: string; - /** @description Whether the storage provider is managed by Paperspace */ - readonly isManaged: boolean; - /** @description Whether the storage provider is the team's default provider */ - readonly isTeamDefault: boolean | null; - /** @description The name of the storage provider */ - readonly name: string; - /** @description The storage provider configuration */ - readonly s3Config: { - readonly accessKey: string; - readonly bucket: string; - /** - * Format: uri - * @default null - */ - readonly endpoint?: string | null; - readonly region?: string | null; - /** @default false */ - readonly retainData?: boolean | null; - readonly secretAccessKey: string; - readonly signatureVersion?: string | null; - }; + /** @description The type of agent installed on the template. */ + readonly agentType: string; + /** @description The machine types the template is available on. */ + readonly availableMachineTypes: readonly ({ + /** @description Whether the template is available on this machine type. */ + readonly isAvailable: boolean; + /** @description The label of the machine type. */ + readonly machineTypeLabel: string; })[]; - /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ - readonly nextPage?: string; - }; - }; - }; - default: components["responses"]["error"]; - }; - }; - /** - * Create a storage provider - * @description Create a storage provider - */ - "storageProviders-create": { - readonly requestBody: { - readonly content: { - readonly "application/json": { - /** @description Is team default */ - readonly isTeamDefault?: boolean; - /** @description The name of the storage provider */ - readonly name: string; - /** @description The storage provider configuration */ - readonly s3Config: { - readonly accessKey: string; - readonly bucket: string; + /** @description The default size of the template in gigabytes. */ + readonly defaultSizeGb: number; /** - * Format: uri - * @default null + * Format: date-time + * @description The date the template was created. */ - readonly endpoint?: string | null; - readonly region?: string | null; - /** @default false */ - readonly retainData?: boolean | null; - readonly secretAccessKey: string; - readonly signatureVersion?: string | null; - }; - /** - * @description The type of storage provider - * @enum {string} - */ - readonly storageProviderType: "s3"; - }; - }; - }; - responses: { - /** @description Successful response */ - 200: { - content: { - readonly "application/json": { - /** @description The ID of the storage provider */ + readonly dtCreated: Date; + /** @description The date the shared drive was deleted. */ + readonly dtDeleted?: (Record | Date) | null; + /** @description The ID of the template. */ readonly id: string; - /** @description Whether the storage provider is managed by Paperspace */ - readonly isManaged: boolean; - /** @description Whether the storage provider is the team's default provider */ - readonly isTeamDefault: boolean | null; - /** @description The name of the storage provider */ + /** + * @description Whether the template is public. + * @default false + */ + readonly isPublic?: boolean; + /** @description The name of the template. */ readonly name: string; - /** @description The storage provider configuration */ - readonly s3Config: { - readonly accessKey: string; - readonly bucket: string; - /** - * Format: uri - * @default null - */ - readonly endpoint?: string | null; - readonly region?: string | null; - /** @default false */ - readonly retainData?: boolean | null; - readonly secretAccessKey: string; - readonly signatureVersion?: string | null; - }; + /** @description The operating system installed on the template. */ + readonly operatingSystemLabel: string; + /** @description The ID of the parent machine. */ + readonly parentMachineId: string; + /** @description The region the template is in. Public templates are in all regions. */ + readonly region: string; }; }; }; default: components["responses"]["error"]; }; }; - /** - * Get a storage provider - * @description Get a storage provider - */ - "storageProviders-get": { + /** List all workflows */ + "workflows-list": { parameters: { - readonly path: { - /** @description The ID of the storage provider */ - id: string; + readonly query: { + /** @description The ID of the project */ + projectId?: Record | string; }; }; responses: { /** @description Successful response */ 200: { content: { - readonly "application/json": { - /** @description The ID of the storage provider */ + readonly "application/json": readonly ({ + /** + * Format: date-time + * @description When the workflow was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description When the workflow was last modified + */ + readonly dtModified: Date; + /** + * Format: uuid + * @description ID of the workflow + */ readonly id: string; - /** @description Whether the storage provider is managed by Paperspace */ - readonly isManaged: boolean; - /** @description Whether the storage provider is the team's default provider */ - readonly isTeamDefault: boolean | null; - /** @description The name of the storage provider */ - readonly name: string; - /** @description The storage provider configuration */ - readonly s3Config: { - readonly accessKey: string; - readonly bucket: string; - /** - * Format: uri - * @default null - */ - readonly endpoint?: string | null; - readonly region?: string | null; - /** @default false */ - readonly retainData?: boolean | null; - readonly secretAccessKey: string; - readonly signatureVersion?: string | null; + /** @description Name of the workflow */ + readonly name: string | null; + readonly run?: { + readonly cluster?: { + readonly id: string; + }; + readonly id: number; + readonly meta?: Record; + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; + }; + readonly status?: { + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly jobs?: { + [key: string]: + | ({ + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }) + | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }; + readonly uuid: string; }; - }; + /** @description Spec of the workflow */ + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; + }; + })[]; }; }; default: components["responses"]["error"]; }; }; - /** - * Update a storage provider - * @description Update a storage provider - */ - "storageProviders-update": { - parameters: { - readonly path: { - /** @description The ID of the storage provider */ - id: string; - }; - }; + /** Create a workflow */ + "workflows-create": { readonly requestBody: { readonly content: { readonly "application/json": { - /** @description Is team default */ - readonly isTeamDefault: boolean; - /** @description The name of the storage provider */ - readonly name: string; - /** @description The storage provider configuration */ - readonly s3Config: { - readonly accessKey: string; - readonly bucket: string; - /** - * Format: uri - * @default null - */ - readonly endpoint?: string | null; - readonly region?: string | null; - /** @default false */ - readonly retainData?: boolean | null; - readonly secretAccessKey: string; - readonly signatureVersion?: string | null; + /** @description The ID of the cluster to run on */ + readonly clusterId?: string | null; + /** @description Inputs for the run */ + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** + * @description Is this default run + * @default false + */ + readonly markDefault?: boolean; + /** @description Metadata for run */ + readonly meta?: { + [key: string]: unknown | undefined; + }; + /** @description The name of the workflow */ + readonly name: string | null; + /** @description The handle of the project */ + readonly projectId: string; + /** + * @description Whether or not the workflow should run + * @default false + */ + readonly run?: boolean; + /** @description Run spec for run */ + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; }; }; }; @@ -12080,28 +15832,267 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The ID of the storage provider */ + /** + * Format: date-time + * @description When the workflow was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description When the workflow was last modified + */ + readonly dtModified: Date; + /** + * Format: uuid + * @description ID of the workflow + */ readonly id: string; - /** @description Whether the storage provider is managed by Paperspace */ - readonly isManaged: boolean; - /** @description Whether the storage provider is the team's default provider */ - readonly isTeamDefault: boolean | null; - /** @description The name of the storage provider */ - readonly name: string; - /** @description The storage provider configuration */ - readonly s3Config: { - readonly accessKey: string; - readonly bucket: string; - /** - * Format: uri - * @default null - */ - readonly endpoint?: string | null; - readonly region?: string | null; - /** @default false */ - readonly retainData?: boolean | null; - readonly secretAccessKey: string; - readonly signatureVersion?: string | null; + /** @description Name of the workflow */ + readonly name: string | null; + readonly run?: { + readonly cluster?: { + readonly id: string; + }; + readonly id: number; + readonly meta?: Record; + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; + }; + readonly status?: { + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly jobs?: { + [key: string]: + | ({ + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }) + | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }; + readonly uuid: string; + }; + /** @description Spec of the workflow */ + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; }; }; }; @@ -12109,14 +16100,11 @@ export interface operations { default: components["responses"]["error"]; }; }; - /** - * Delete a storage provider - * @description Delete a storage provider - */ - "storageProviders-delete": { + /** Get a workflow by ID */ + "workflows-get": { parameters: { readonly path: { - /** @description The ID of the storage provider */ + /** @description The ID of the workflow */ id: string; }; }; @@ -12125,133 +16113,581 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The ID of the storage provider */ + /** + * Format: date-time + * @description When the workflow was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description When the workflow was last modified + */ + readonly dtModified: Date; + /** + * Format: uuid + * @description ID of the workflow + */ readonly id: string; + /** @description Name of the workflow */ + readonly name: string | null; + readonly run?: { + readonly cluster?: { + readonly id: string; + }; + readonly id: number; + readonly meta?: Record; + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; + }; + readonly status?: { + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly jobs?: { + [key: string]: + | ({ + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }) + | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }; + readonly uuid: string; + }; + /** @description Spec of the workflow */ + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; + }; }; }; }; default: components["responses"]["error"]; }; }; - /** - * Get storage utilization - * @description Get a breakdown of how storage is being used by your team - */ - "storageUtilization-getPublic": { - responses: { - /** @description Successful response */ - 200: { - content: { - readonly "application/json": { - /** @description Storage used by datasets in bytes */ - readonly datasetUsage: string; - /** @description Storage used by models in bytes */ - readonly modelUsage: string; - /** @description Storage used by notebooks files in bytes */ - readonly notebookWorkspaceUsage: string; - /** @description The amount of free storage left before you reach your plan's limit in bytes */ - readonly remainingFreeStorage: string; - /** @description Persistent storage used by the notebook shared storage directory in bytes */ - readonly sharedStorageUsage: string; - /** @description The amount of free storage that comes with your current plan in bytes */ - readonly totalFreeStorage: string; - /** @description Total storage used by your team in bytes */ - readonly totalUsage: string; - }; - }; - }; - default: components["responses"]["error"]; - }; - }; - /** - * List a team's secrets - * @description Fetches a list of secrets for a team. - */ - "teamSecrets-list": { + /** Update a workflow by ID */ + "workflows-update": { parameters: { - readonly query: { - /** @description Fetch the next page of results after this cursor. */ - after?: string; - /** @description The number of items to fetch after this page. */ - limit?: number; - /** @description Order results by one of these fields. */ - orderBy?: "dtCreated"; - /** @description The order to sort the results by. */ - order?: "asc" | "desc"; - }; readonly path: { - /** @description The ID of the team where the secret is stored. */ + /** @description The ID of the workflow */ id: string; }; }; + readonly requestBody: { + readonly content: { + readonly "application/json": { + /** @description The name of the workflow */ + readonly name: string | null; + }; + }; + }; responses: { /** @description Successful response */ 200: { content: { readonly "application/json": { - /** @description Whether there are more pages of results available. */ - readonly hasMore: boolean; - /** @description The items on this page. */ - readonly items: readonly ({ - /** - * Format: date-time - * @description The date the secret was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the secret was last modified. - */ - readonly dtModified: Date; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - readonly name: string; - })[]; - /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ - readonly nextPage?: string; + /** + * Format: date-time + * @description When the workflow was created + */ + readonly dtCreated: Date; + /** + * Format: date-time + * @description When the workflow was last modified + */ + readonly dtModified: Date; + /** + * Format: uuid + * @description ID of the workflow + */ + readonly id: string; + /** @description Name of the workflow */ + readonly name: string | null; + readonly run?: { + readonly cluster?: { + readonly id: string; + }; + readonly id: number; + readonly meta?: Record; + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; + }; + readonly status?: { + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly jobs?: { + [key: string]: + | ({ + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }) + | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }; + readonly uuid: string; + }; + /** @description Spec of the workflow */ + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; + }; }; }; }; default: components["responses"]["error"]; }; }; - /** - * Create a team secret - * @description Creates a new secret for a team. - */ - "teamSecrets-create": { + /** Delete a workflow by ID */ + "workflows-delete": { parameters: { readonly path: { - /** @description The ID of the team where the secret is stored. */ + /** @description The ID of the workflow */ id: string; }; }; - readonly requestBody: { - readonly content: { - readonly "application/json": { - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - readonly name: string; - /** @description The value of the secret, e.g. "password". */ - readonly value: string; - }; - }; - }; responses: { /** @description Successful response */ 200: { content: { readonly "application/json": { /** - * Format: date-time - * @description The date the secret was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the secret was last modified. + * Format: uuid + * @description The ID of the workflow */ - readonly dtModified: Date; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - readonly name: string; + readonly id: string; }; }; }; @@ -12259,116 +16695,91 @@ export interface operations { }; }; /** - * Get a team secret - * @description Fetches a secret for a team. + * List workflow run logs + * @description Lists logs for a given workflow run. */ - "teamSecrets-get": { + "workflowRunLogs-list": { parameters: { readonly path: { - /** @description The ID of the team where the secret is stored. */ + /** @description The ID of the workflow */ id: string; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - name: string; + /** @description The ID of the workflow run */ + runId: string; }; }; responses: { /** @description Successful response */ 200: { content: { - readonly "application/json": { + readonly "application/json": readonly ({ /** * Format: date-time - * @description The date the secret was created. + * @description When the workflow run job was created */ readonly dtCreated: Date; /** * Format: date-time - * @description The date the secret was last modified. + * @description When the workflow run job finished + * @default null */ - readonly dtModified: Date; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - readonly name: string; - }; - }; - }; - default: components["responses"]["error"]; - }; - }; - /** - * Delete a team secret - * @description Deletes a secret for a team. - */ - "teamSecrets-delete": { - parameters: { - readonly path: { - /** @description The ID of the team where the secret is stored. */ - id: string; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - name: string; - }; - }; - responses: { - /** @description Successful response */ - 200: { - content: { - readonly "application/json": { - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - readonly name: string; - }; - }; - }; - default: components["responses"]["error"]; - }; - }; - /** - * Update a team secret - * @description Update the value of a secret for a team. - */ - "teamSecrets-update": { - parameters: { - readonly path: { - /** @description The ID of the team where the secret is stored. */ - id: string; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ - name: string; - }; - }; - readonly requestBody: { - readonly content: { - readonly "application/json": { - /** @description The value of the secret, e.g. "password". */ - readonly value: string; - }; - }; - }; - responses: { - /** @description Successful response */ - 200: { - content: { - readonly "application/json": { + readonly dtFinished?: Date; /** * Format: date-time - * @description The date the secret was created. + * @description When the workflow run job started + * @default null */ - readonly dtCreated: Date; + readonly dtStarted?: Date; /** - * Format: date-time - * @description The date the secret was last modified. + * Format: uuid + * @description The ID of the workflow run job */ - readonly dtModified: Date; - /** @description The name of the secret, e.g. "DB_PASSWORD". */ + readonly id: string; + /** @description The logs for the workflow run jobs */ + readonly logs: readonly ({ + /** + * Format: date-time + * @description The date the log was created. + */ + readonly dtCreated: Date; + /** @description ID of the log item */ + readonly id: string; + /** + * @description The instance ID the log is associated with. + * @default null + */ + readonly instanceId?: string | null; + /** @description The associated job ID of the log item. */ + readonly jobId: string; + /** @description The message of the log item. */ + readonly message: string; + /** + * @description UUID representing the log item + * @default null + */ + readonly uuid?: string | null; + })[]; + /** + * @description The message of the workflow run job + * @default null + */ + readonly message?: string | null; + /** @description The name of the workflow run job */ readonly name: string; - }; + /** @description The phase of the workflow run job */ + readonly phase: string; + /** + * Format: uuid + * @description The ID of the workflow run + */ + readonly workflowRunId: string; + })[]; }; }; default: components["responses"]["error"]; }; }; - /** - * List templates - * @description Fetches a list of templates. - */ - "templates-list": { + /** List all workflow runs */ + "workflowRuns-list": { parameters: { readonly query: { /** @description Fetch the next page of results after this cursor. */ @@ -12376,11 +16787,13 @@ export interface operations { /** @description The number of items to fetch after this page. */ limit?: number; /** @description Order results by one of these fields. */ - orderBy?: "dtCreated" | "name"; + orderBy?: "dtCreated" | "dtModified"; /** @description The order to sort the results by. */ order?: "asc" | "desc"; - name?: string; - machineId?: string; + }; + readonly path: { + /** @description The ID of the workflow */ + workflowId: string; }; }; responses: { @@ -12392,39 +16805,147 @@ export interface operations { readonly hasMore: boolean; /** @description The items on this page. */ readonly items: readonly ({ - /** @description The type of agent installed on the template. */ - readonly agentType: string; - /** @description The machine types the template is available on. */ - readonly availableMachineTypes: readonly ({ - /** @description Whether the template is available on this machine type. */ - readonly isAvailable: boolean; - /** @description The label of the machine type. */ - readonly machineTypeLabel: string; - })[]; - /** @description The default size of the template in gigabytes. */ - readonly defaultSizeGb: number; - /** - * Format: date-time - * @description The date the template was created. - */ - readonly dtCreated: Date; - /** @description The date the shared drive was deleted. */ - readonly dtDeleted?: (Record | Date) | null; - /** @description The ID of the template. */ - readonly id: string; - /** - * @description Whether the template is public. - * @default false - */ - readonly isPublic?: boolean; - /** @description The name of the template. */ - readonly name: string; - /** @description The operating system installed on the template. */ - readonly operatingSystemLabel: string; - /** @description The ID of the parent machine. */ - readonly parentMachineId: string; - /** @description The region the template is in. Public templates are in all regions. */ - readonly region: string; + readonly cluster?: { + readonly id: string; + }; + readonly id: number; + readonly meta?: Record; + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; + }; + readonly status?: { + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly jobs?: { + [key: string]: + | ({ + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }) + | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }; + readonly uuid: string; })[]; /** @description The cursor required to fetch the next page of results. i.e. `?after=nextPage`. This is `null` when there is no next page. */ readonly nextPage?: string; @@ -12434,196 +16955,306 @@ export interface operations { default: components["responses"]["error"]; }; }; - /** - * Create template - * @description Create a template for a machine. - */ - "templates-create": { + /** Create a workflow run */ + "workflowRuns-create": { + parameters: { + readonly path: { + /** @description The ID of the workflow */ + workflowId: string; + }; + }; readonly requestBody: { readonly content: { readonly "application/json": { - /** @description The ID of the machine to create a template from. */ - readonly machineId: string; - /** @description The name of the template. */ - readonly name: string; - }; - }; - }; - responses: { - /** @description Successful response */ - 200: { - content: { - readonly "application/json": { - /** @description The template. */ - readonly data: { - /** @description The type of agent installed on the template. */ - readonly agentType: string; - /** @description The machine types the template is available on. */ - readonly availableMachineTypes: readonly ({ - /** @description Whether the template is available on this machine type. */ - readonly isAvailable: boolean; - /** @description The label of the machine type. */ - readonly machineTypeLabel: string; - })[]; - /** @description The default size of the template in gigabytes. */ - readonly defaultSizeGb: number; - /** - * Format: date-time - * @description The date the template was created. - */ - readonly dtCreated: Date; - /** @description The date the shared drive was deleted. */ - readonly dtDeleted?: (Record | Date) | null; - /** @description The ID of the template. */ - readonly id: string; - /** - * @description Whether the template is public. - * @default false - */ - readonly isPublic?: boolean; - /** @description The name of the template. */ - readonly name: string; - /** @description The operating system installed on the template. */ - readonly operatingSystemLabel: string; - /** @description The ID of the parent machine. */ - readonly parentMachineId: string; - /** @description The region the template is in. Public templates are in all regions. */ - readonly region: string; + /** @description The ID of the cluster to run on */ + readonly clusterId?: string | null; + /** @description Inputs for the run */ + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** + * @description Is this default run + * @default false + */ + readonly markDefault?: boolean; + /** @description Metadata for run */ + readonly meta?: { + [key: string]: unknown | undefined; + }; + /** @description Run spec for run */ + readonly spec: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; }; - /** @description The machine event to poll for the async operation. */ - readonly event: { - /** - * Format: date-time - * @description The date the event was created. - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description The date the event was finished. - */ - readonly dtFinished: Date; - /** - * Format: date-time - * @description The date the event was started. - */ - readonly dtStarted: Date; - /** @description The error message of the event, if any. */ - readonly error: string | null; - /** @description The ID of the event. */ - readonly id: string; - /** @description The ID of the machine the event is for. */ - readonly machineId: string | null; - /** - * @description The name of the event, e.g. "create". - * @enum {string} - */ - readonly name: - | "bill-sessions" - | "bill-upgrade" - | "create" - | "deactivate" - | "restart" - | "snapshot-create" - | "snapshot-delete" - | "snapshot-restore" - | "start" - | "stop" - | "template-create" - | "template-delete" - | "template-distribute" - | "template-import" - | "vm-migrate" - | "vm-shutdown-force" - | "vm-upgrade"; - /** - * @description The state of the event, e.g. "done". - * @enum {string} - */ - readonly state: - | "new" - | "in progress" - | "done" - | "error" - | "cancelled"; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; }; + readonly timeout?: number; }; }; }; - default: components["responses"]["error"]; - }; - }; - /** - * Get a template - * @description Fetches a single template by ID. - */ - "templates-get": { - parameters: { - readonly path: { - /** @description The ID of the template to fetch. */ - id: string; - }; }; responses: { /** @description Successful response */ 200: { content: { readonly "application/json": { - /** @description The type of agent installed on the template. */ - readonly agentType: string; - /** @description The machine types the template is available on. */ - readonly availableMachineTypes: readonly ({ - /** @description Whether the template is available on this machine type. */ - readonly isAvailable: boolean; - /** @description The label of the machine type. */ - readonly machineTypeLabel: string; - })[]; - /** @description The default size of the template in gigabytes. */ - readonly defaultSizeGb: number; - /** - * Format: date-time - * @description The date the template was created. - */ - readonly dtCreated: Date; - /** @description The date the shared drive was deleted. */ - readonly dtDeleted?: (Record | Date) | null; - /** @description The ID of the template. */ - readonly id: string; - /** - * @description Whether the template is public. - * @default false - */ - readonly isPublic?: boolean; - /** @description The name of the template. */ - readonly name: string; - /** @description The operating system installed on the template. */ - readonly operatingSystemLabel: string; - /** @description The ID of the parent machine. */ - readonly parentMachineId: string; - /** @description The region the template is in. Public templates are in all regions. */ - readonly region: string; + readonly cluster?: { + readonly id: string; + }; + readonly id: number; + readonly meta?: Record; + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; + }; + readonly status?: { + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly jobs?: { + [key: string]: + | ({ + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }) + | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }; + readonly uuid: string; }; }; }; default: components["responses"]["error"]; }; }; - /** - * Update a template - * @description Updates a single template by ID. - */ - "templates-update": { + /** Get a workflow run by sequence number */ + "workflowRuns-get": { parameters: { readonly path: { - /** @description The ID of the template to update. */ - id: string; - }; - }; - readonly requestBody: { - readonly content: { - readonly "application/json": { - /** @description The name of the template. */ - readonly name: string; - }; + /** @description The ID of the workflow */ + workflowId: string; + /** @description Sequence number of run */ + workflowSeqNum: number; }; }; responses: { @@ -12631,54 +17262,161 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The type of agent installed on the template. */ - readonly agentType: string; - /** @description The machine types the template is available on. */ - readonly availableMachineTypes: readonly ({ - /** @description Whether the template is available on this machine type. */ - readonly isAvailable: boolean; - /** @description The label of the machine type. */ - readonly machineTypeLabel: string; - })[]; - /** @description The default size of the template in gigabytes. */ - readonly defaultSizeGb: number; - /** - * Format: date-time - * @description The date the template was created. - */ - readonly dtCreated: Date; - /** @description The date the shared drive was deleted. */ - readonly dtDeleted?: (Record | Date) | null; - /** @description The ID of the template. */ - readonly id: string; - /** - * @description Whether the template is public. - * @default false - */ - readonly isPublic?: boolean; - /** @description The name of the template. */ - readonly name: string; - /** @description The operating system installed on the template. */ - readonly operatingSystemLabel: string; - /** @description The ID of the parent machine. */ - readonly parentMachineId: string; - /** @description The region the template is in. Public templates are in all regions. */ - readonly region: string; + readonly cluster?: { + readonly id: string; + }; + readonly id: number; + readonly meta?: Record; + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; + }; + readonly status?: { + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly jobs?: { + [key: string]: + | ({ + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }) + | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }; + readonly uuid: string; }; }; }; default: components["responses"]["error"]; }; }; - /** - * Delete template - * @description Delete a template. - */ - "templates-delete": { + /** Cancel a workflow run by sequence number */ + "workflowRuns-cancel": { parameters: { readonly path: { - /** @description The ID of the template to delete. */ - id: string; + /** @description The ID of the workflow */ + workflowId: string; + /** @description Sequence number of run */ + workflowSeqNum: number; }; }; responses: { @@ -12686,126 +17424,169 @@ export interface operations { 200: { content: { readonly "application/json": { - /** @description The type of agent installed on the template. */ - readonly agentType: string; - /** @description The machine types the template is available on. */ - readonly availableMachineTypes: readonly ({ - /** @description Whether the template is available on this machine type. */ - readonly isAvailable: boolean; - /** @description The label of the machine type. */ - readonly machineTypeLabel: string; - })[]; - /** @description The default size of the template in gigabytes. */ - readonly defaultSizeGb: number; - /** - * Format: date-time - * @description The date the template was created. - */ - readonly dtCreated: Date; - /** @description The date the shared drive was deleted. */ - readonly dtDeleted?: (Record | Date) | null; - /** @description The ID of the template. */ - readonly id: string; - /** - * @description Whether the template is public. - * @default false - */ - readonly isPublic?: boolean; - /** @description The name of the template. */ - readonly name: string; - /** @description The operating system installed on the template. */ - readonly operatingSystemLabel: string; - /** @description The ID of the parent machine. */ - readonly parentMachineId: string; - /** @description The region the template is in. Public templates are in all regions. */ - readonly region: string; + readonly cluster?: { + readonly id: string; + }; + readonly id: number; + readonly meta?: Record; + readonly spec?: { + readonly context?: { + readonly event?: { + readonly github?: { + readonly ref?: string; + readonly url?: string; + }; + }; + }; + readonly defaults?: { + readonly clusterId?: string; + readonly env?: { + [key: string]: string | undefined; + }; + readonly resources?: { + readonly "container-registries"?: readonly (string)[]; + readonly "instance-type"?: string; + }; + }; + readonly inputs?: { + [key: string]: + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: "string" | "dataset" | "volume" | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + /** @default {} */ + readonly jobs?: { + [key: string]: + | ({ + readonly env?: { + [key: string]: string | undefined; + }; + readonly inputs?: { + [key: string]: + | ( + | ({ + readonly optional?: boolean; + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with: { + [key: string]: unknown | undefined; + }; + }) + | string + ) + | undefined; + }; + /** @default [] */ + readonly needs?: readonly (string)[]; + readonly outputs?: { + [key: string]: + | ({ + /** @enum {string} */ + readonly type: + | "string" + | "dataset" + | "volume" + | "alias"; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly resources?: { + readonly "instance-type": string; + }; + readonly timeout?: number; + readonly uses?: string; + readonly with?: { + [key: string]: unknown | undefined; + }; + }) + | undefined; + }; + readonly on?: { + readonly github?: { + readonly branches?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + readonly tags?: { + readonly ignore?: readonly (string)[]; + readonly include?: readonly (string)[]; + readonly only?: string; + }; + }; + }; + readonly timeout?: number; + }; + readonly status?: { + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly jobs?: { + [key: string]: + | ({ + /** Format: date-time */ + readonly finished?: Date; + readonly inputs?: { + [key: string]: unknown | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }) + | undefined; + }; + readonly logId: string; + readonly message?: string; + readonly outputs?: { + [key: string]: unknown | undefined; + }; + readonly phase: string; + /** Format: date-time */ + readonly started?: Date; + }; + readonly uuid: string; }; }; }; default: components["responses"]["error"]; }; }; - /** - * List workflow run logs - * @description Lists logs for a given workflow run. - */ - "workflowRunLogs-list": { + /** Get a workflow auth log by ID */ + "workflowAuthLogs-get": { parameters: { readonly path: { - /** @description The ID of the workflow */ + /** @description The ID of the log */ id: string; - /** @description The ID of the workflow run */ - runId: string; }; }; responses: { /** @description Successful response */ 200: { content: { - readonly "application/json": readonly ({ - /** - * Format: date-time - * @description When the workflow run job was created - */ - readonly dtCreated: Date; - /** - * Format: date-time - * @description When the workflow run job finished - * @default null - */ - readonly dtFinished?: Date; - /** - * Format: date-time - * @description When the workflow run job started - * @default null - */ - readonly dtStarted?: Date; - /** - * Format: uuid - * @description The ID of the workflow run job - */ - readonly id: string; - /** @description The logs for the workflow run jobs */ - readonly logs: readonly ({ - /** - * Format: date-time - * @description The date the log was created. - */ - readonly dtCreated: Date; - /** @description ID of the log item */ - readonly id: string; - /** - * @description The instance ID the log is associated with. - * @default null - */ - readonly instanceId?: string | null; - /** @description The associated job ID of the log item. */ - readonly jobId: string; - /** @description The line number of the log item. */ - readonly line: string; - /** @description The message of the log item. */ - readonly message: string; - /** - * @description UUID representing the log item - * @default null - */ - readonly uuid?: string | null; - })[]; - /** - * @description The message of the workflow run job - * @default null - */ - readonly message?: string | null; - /** @description The name of the workflow run job */ - readonly name: string; - /** @description The phase of the workflow run job */ - readonly phase: string; - /** - * Format: uuid - * @description The ID of the workflow run - */ - readonly workflowRunId: string; - })[]; + readonly "application/json": { + /** @description Log count */ + readonly count: number; + }; }; }; default: components["responses"]["error"];