@twilio-labs/serverless-api
Version:
API-wrapper for the Twilio Serverless API
67 lines (66 loc) • 3.03 kB
TypeScript
/** @module @twilio-labs/serverless-api/dist/api */
/// <reference types="node" />
import { TwilioServerlessApiClient } from '../client';
import { BuildConfig, BuildResource, BuildStatus } from '../types';
import events = require('events');
/**
* Retrieves a specific build by its SID
*
* @export
* @param {string} buildSid SID of build to retrieve
* @param {string} serviceSid service to retrieve build from
* @param {TwilioServerlessApiClient} client API client
* @returns {Promise<BuildResource>}
*/
export declare function getBuild(buildSid: string, serviceSid: string, client: TwilioServerlessApiClient): Promise<BuildResource>;
/**
* Returns the current status of a build given its SID
*
* @param {string} buildSid the SID of the build
* @param {string} serviceSid the SID of the service the build belongs to
* @param {TwilioServerlessApiClient} client API client
* @returns {Promise<BuildStatus>}
*/
export declare function getBuildStatus(buildSid: string, serviceSid: string, client: TwilioServerlessApiClient): Promise<BuildStatus>;
/**
* Returns a list of all builds related to service
*
* @export
* @param {string} serviceSid the SID of the service
* @param {TwilioServerlessApiClient} client API client
* @returns {Promise<BuildResource[]>}
*/
export declare function listBuilds(serviceSid: string, client: TwilioServerlessApiClient): Promise<BuildResource[]>;
/**
* Triggers a new build by creating it
*
* @export
* @param {BuildConfig} config build-related information (functions, assets, dependencies)
* @param {string} serviceSid the service to create the build for
* @param {TwilioServerlessApiClient} client API client
* @returns {Promise<BuildResource>}
*/
export declare function triggerBuild(config: BuildConfig, serviceSid: string, client: TwilioServerlessApiClient): Promise<BuildResource>;
/**
* Resolves only when build has been completed. Will timeout after specified time.
*
* @export
* @param {string} buildSid the build to wait for
* @param {string} serviceSid the service of the build
* @param {TwilioServerlessApiClient} client API client
* @param {events.EventEmitter} eventEmitter optional event emitter to communicate current build status
* @param {number} timeout optional timeout. default: 5 minutes
* @returns {Promise<void>}
*/
export declare function waitForSuccessfulBuild(buildSid: string, serviceSid: string, client: TwilioServerlessApiClient, eventEmitter: events.EventEmitter, timeout?: number): Promise<void>;
/**
* Activates a specific build for a given environment by creating a new deployment
*
* @export
* @param {string} buildSid the build to be activated
* @param {string} environmentSid the target environment for the build to be deployed to
* @param {string} serviceSid the service of the project
* @param {TwilioServerlessApiClient} client API client
* @returns {Promise<any>}
*/
export declare function activateBuild(buildSid: string, environmentSid: string, serviceSid: string, client: TwilioServerlessApiClient): Promise<any>;