@twilio-labs/serverless-api
Version:
API-wrapper for the Twilio Serverless API
50 lines (49 loc) • 2.37 kB
TypeScript
/** @module @twilio-labs/serverless-api/dist/api */
import { AssetApiResource, AssetResource, ServerlessResourceConfig, Sid, VersionResource, ClientConfig } from '../types';
import { TwilioServerlessApiClient } from '../client';
/**
* Calls the API to create a new Asset Resource
*
* @param {string} name friendly name of the resource
* @param {string} serviceSid service to register asset under
* @param {TwilioServerlessApiClient} client API client
* @returns {Promise<AssetApiResource>}
*/
export declare function createAssetResource(name: string, serviceSid: string, client: TwilioServerlessApiClient): Promise<AssetApiResource>;
/**
* Calls the API to retrieve a list of all assets
*
* @param {string} serviceSid service to look for assets
* @param {TwilioServerlessApiClient} client API client
* @returns {Promise<AssetApiResource[]>}
*/
export declare function listAssetResources(serviceSid: string, client: TwilioServerlessApiClient): Promise<AssetApiResource[]>;
/**
* Given a list of resources it will first check which assets already exists
* and create the remaining ones.
*
* @param {FileInfo[]} assets
* @param {string} serviceSid
* @param {TwilioServerlessApiClient} client
* @returns {Promise<AssetResource[]>}
*/
export declare function getOrCreateAssetResources(assets: ServerlessResourceConfig[], serviceSid: string, client: TwilioServerlessApiClient): Promise<AssetResource[]>;
/**
* Given an asset it will create a new version instance for it
*
* @param {AssetResource} asset the one to create a new version for
* @param {string} serviceSid the service to create the asset version for
* @param {TwilioServerlessApiClient} client API client
* @returns {Promise<VersionResource>}
*/
export declare function createAssetVersion(asset: AssetResource, serviceSid: string, client: TwilioServerlessApiClient, clientConfig: ClientConfig): Promise<VersionResource>;
/**
* Uploads a given asset by creating a new version and uploading the content there
*
* @export
* @param {AssetResource} asset The asset to upload
* @param {string} serviceSid The service to upload it to
* @param {TwilioServerlessApiClient} client The API client
* @returns {Promise<Sid>}
*/
export declare function uploadAsset(asset: AssetResource, serviceSid: string, client: TwilioServerlessApiClient, clientConfig: ClientConfig): Promise<Sid>;