UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

203 lines (179 loc) 5.45 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../../../resource'; import * as Core from '../../../../core'; import * as ProjectsAPI from '../projects'; import { DeploymentsSinglePage } from '../projects'; import * as HistoryAPI from './history/history'; import { History } from './history/history'; export class Deployments extends APIResource { history: HistoryAPI.History = new HistoryAPI.History(this._client); /** * Start a new deployment from production. The repository and account must have * already been authorized on the Cloudflare Pages dashboard. */ create( projectName: string, params: DeploymentCreateParams, options?: Core.RequestOptions, ): Core.APIPromise<ProjectsAPI.Deployment> { const { account_id, ...body } = params; return ( this._client.post( `/accounts/${account_id}/pages/projects/${projectName}/deployments`, Core.multipartFormRequestOptions({ body, ...options }), ) as Core.APIPromise<{ result: ProjectsAPI.Deployment }> )._thenUnwrap((obj) => obj.result); } /** * Fetch a list of project deployments. */ list( projectName: string, params: DeploymentListParams, options?: Core.RequestOptions, ): Core.PagePromise<DeploymentsSinglePage, ProjectsAPI.Deployment> { const { account_id, ...query } = params; return this._client.getAPIList( `/accounts/${account_id}/pages/projects/${projectName}/deployments`, DeploymentsSinglePage, { query, ...options }, ); } /** * Delete a deployment. */ delete( projectName: string, deploymentId: string, params: DeploymentDeleteParams, options?: Core.RequestOptions, ): Core.APIPromise<DeploymentDeleteResponse | null> { const { account_id } = params; return ( this._client.delete( `/accounts/${account_id}/pages/projects/${projectName}/deployments/${deploymentId}`, options, ) as Core.APIPromise<{ result: DeploymentDeleteResponse | null }> )._thenUnwrap((obj) => obj.result); } /** * Fetch information about a deployment. */ get( projectName: string, deploymentId: string, params: DeploymentGetParams, options?: Core.RequestOptions, ): Core.APIPromise<ProjectsAPI.Deployment> { const { account_id } = params; return ( this._client.get( `/accounts/${account_id}/pages/projects/${projectName}/deployments/${deploymentId}`, options, ) as Core.APIPromise<{ result: ProjectsAPI.Deployment }> )._thenUnwrap((obj) => obj.result); } /** * Retry a previous deployment. */ retry( projectName: string, deploymentId: string, params: DeploymentRetryParams, options?: Core.RequestOptions, ): Core.APIPromise<ProjectsAPI.Deployment> { const { account_id, body } = params; return ( this._client.post( `/accounts/${account_id}/pages/projects/${projectName}/deployments/${deploymentId}/retry`, { body: body, ...options }, ) as Core.APIPromise<{ result: ProjectsAPI.Deployment }> )._thenUnwrap((obj) => obj.result); } /** * Rollback the production deployment to a previous deployment. You can only * rollback to succesful builds on production. */ rollback( projectName: string, deploymentId: string, params: DeploymentRollbackParams, options?: Core.RequestOptions, ): Core.APIPromise<ProjectsAPI.Deployment> { const { account_id, body } = params; return ( this._client.post( `/accounts/${account_id}/pages/projects/${projectName}/deployments/${deploymentId}/rollback`, { body: body, ...options }, ) as Core.APIPromise<{ result: ProjectsAPI.Deployment }> )._thenUnwrap((obj) => obj.result); } } export type DeploymentDeleteResponse = unknown; export interface DeploymentCreateParams { /** * Path param: Identifier */ account_id: string; /** * Body param: The branch to build the new deployment from. The `HEAD` of the * branch will be used. If omitted, the production branch will be used by default. */ branch?: string; } export interface DeploymentListParams { /** * Path param: Identifier */ account_id: string; /** * Query param: What type of deployments to fetch. */ env?: 'production' | 'preview'; } export interface DeploymentDeleteParams { /** * Identifier */ account_id: string; } export interface DeploymentGetParams { /** * Identifier */ account_id: string; } export interface DeploymentRetryParams { /** * Path param: Identifier */ account_id: string; /** * Body param: */ body: unknown; } export interface DeploymentRollbackParams { /** * Path param: Identifier */ account_id: string; /** * Body param: */ body: unknown; } Deployments.History = History; export declare namespace Deployments { export { type DeploymentDeleteResponse as DeploymentDeleteResponse, type DeploymentCreateParams as DeploymentCreateParams, type DeploymentListParams as DeploymentListParams, type DeploymentDeleteParams as DeploymentDeleteParams, type DeploymentGetParams as DeploymentGetParams, type DeploymentRetryParams as DeploymentRetryParams, type DeploymentRollbackParams as DeploymentRollbackParams, }; export { History as History }; } export { DeploymentsSinglePage };