UNPKG

@vercel/sdk

Version:

<p align="center"> <a href="https://vercel.com"> <img src="https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png" height="96"> <h3 align="center">Vercel</h3> </a> <p align="center">Develop. Preview. Ship.</p> </p>

163 lines (154 loc) 6.25 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { rollingReleaseApproveRollingReleaseStage } from "../funcs/rollingReleaseApproveRollingReleaseStage.js"; import { rollingReleaseCompleteRollingRelease } from "../funcs/rollingReleaseCompleteRollingRelease.js"; import { rollingReleaseDeleteRollingReleaseConfig } from "../funcs/rollingReleaseDeleteRollingReleaseConfig.js"; import { rollingReleaseGetRollingRelease } from "../funcs/rollingReleaseGetRollingRelease.js"; import { rollingReleaseGetRollingReleaseBillingStatus } from "../funcs/rollingReleaseGetRollingReleaseBillingStatus.js"; import { rollingReleaseGetRollingReleaseConfig } from "../funcs/rollingReleaseGetRollingReleaseConfig.js"; import { rollingReleaseUpdateRollingReleaseConfig } from "../funcs/rollingReleaseUpdateRollingReleaseConfig.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { ApproveRollingReleaseStageRequest, ApproveRollingReleaseStageResponseBody, } from "../models/approverollingreleasestageop.js"; import { CompleteRollingReleaseRequest, CompleteRollingReleaseResponseBody, } from "../models/completerollingreleaseop.js"; import { DeleteRollingReleaseConfigRequest, DeleteRollingReleaseConfigResponseBody, } from "../models/deleterollingreleaseconfigop.js"; import { GetRollingReleaseBillingStatusRequest, GetRollingReleaseBillingStatusResponseBody, } from "../models/getrollingreleasebillingstatusop.js"; import { GetRollingReleaseConfigRequest, GetRollingReleaseConfigResponseBody, } from "../models/getrollingreleaseconfigop.js"; import { GetRollingReleaseRequest, GetRollingReleaseResponseBody, } from "../models/getrollingreleaseop.js"; import { UpdateRollingReleaseConfigRequest, UpdateRollingReleaseConfigResponseBody, } from "../models/updaterollingreleaseconfigop.js"; import { unwrapAsync } from "../types/fp.js"; export class RollingRelease extends ClientSDK { /** * Get rolling release billing status * * @remarks * Get the Rolling Releases billing status for a project. The team level billing status is used to determine if the project can be configured for rolling releases. */ async getRollingReleaseBillingStatus( request: GetRollingReleaseBillingStatusRequest, options?: RequestOptions, ): Promise<GetRollingReleaseBillingStatusResponseBody> { return unwrapAsync(rollingReleaseGetRollingReleaseBillingStatus( this, request, options, )); } /** * Get rolling release configuration * * @remarks * Get the Rolling Releases configuration for a project. The project-level config is simply a template that will be used for any future rolling release, and not the configuration for any active rolling release. */ async getRollingReleaseConfig( request: GetRollingReleaseConfigRequest, options?: RequestOptions, ): Promise<GetRollingReleaseConfigResponseBody> { return unwrapAsync(rollingReleaseGetRollingReleaseConfig( this, request, options, )); } /** * Delete rolling release configuration * * @remarks * Disable Rolling Releases for a project means that future deployments will not undergo a rolling release. Changing the config never alters a rollout that's already in-flight—it only affects the next production deployment. If you want to also stop the current rollout, call this endpoint to disable the feature, and then call either the /complete or /abort endpoint. */ async deleteRollingReleaseConfig( request: DeleteRollingReleaseConfigRequest, options?: RequestOptions, ): Promise<DeleteRollingReleaseConfigResponseBody> { return unwrapAsync(rollingReleaseDeleteRollingReleaseConfig( this, request, options, )); } /** * Update the rolling release settings for the project * * @remarks * Update (or disable) Rolling Releases for a project. When disabling with the resolve-on-disable feature flag enabled, any active rolling release document is resolved using the disableRolloutAction parameter: "abort" to roll back (default), or "complete" to promote the canary to production. When enabling or updating config, changes only affect the next production deployment and do not alter a rollout that's already in-flight. Note: Enabling Rolling Releases automatically enables skew protection on the project with the default value if it wasn't configured already. */ async updateRollingReleaseConfig( request: UpdateRollingReleaseConfigRequest, options?: RequestOptions, ): Promise<UpdateRollingReleaseConfigResponseBody> { return unwrapAsync(rollingReleaseUpdateRollingReleaseConfig( this, request, options, )); } /** * Get the active rolling release information for a project * * @remarks * Return the Rolling Release for a project, regardless of whether the rollout is active, aborted, or completed. If the feature is enabled but no deployment has occurred yet, null will be returned. */ async getRollingRelease( request: GetRollingReleaseRequest, options?: RequestOptions, ): Promise<GetRollingReleaseResponseBody> { return unwrapAsync(rollingReleaseGetRollingRelease( this, request, options, )); } /** * Update the active rolling release to the next stage for a project * * @remarks * Advance a rollout to the next stage. This is only needed when rolling releases is configured to require manual approval. */ async approveRollingReleaseStage( request: ApproveRollingReleaseStageRequest, options?: RequestOptions, ): Promise<ApproveRollingReleaseStageResponseBody> { return unwrapAsync(rollingReleaseApproveRollingReleaseStage( this, request, options, )); } /** * Complete the rolling release for the project * * @remarks * Force-complete a Rolling Release. The canary deployment will begin serving 100% of the traffic. */ async completeRollingRelease( request: CompleteRollingReleaseRequest, options?: RequestOptions, ): Promise<CompleteRollingReleaseResponseBody> { return unwrapAsync(rollingReleaseCompleteRollingRelease( this, request, options, )); } }