UNPKG

firmament-docker

Version:

Typescript classes for performing Docker operations

87 lines (86 loc) 2.69 kB
import { ForceError } from 'firmament-yargs'; export declare enum ImageOrContainer { Image = 0, Container = 1 } export interface ImageOrContainerRemoveResults { msg: string; } export interface DockerImageOrContainer { Id: string; Name: string; modem: Modem; remove(opts: any, callback: (err: Error, obj: any) => void): void; firmamentId: string; } export interface DockerImage extends DockerImageOrContainer { Created: number; Labels: any; ParentId: string; RepoDigests: any; RepoTags: string[]; Size: number; VirtualSize: number; get(callback: (err: Error, obj: any) => void): void; history(callback: (err: Error, obj: any) => void): void; inspect(callback: (err: Error, obj: any) => void): void; push(opts: any, callback: (err: Error, obj: any) => void, auth: any): void; tag(opts: any, callback: (err: Error, obj: any) => void): void; } export interface DockerContainer extends DockerImageOrContainer { Status: string; Names: string[]; start(opts: any, callback: (err: Error, obj: any) => void): void; stop(opts: any, callback: (err: Error, obj: any) => void): void; } export interface Script { RelativeWorkingDir: string; Command: string; Args: string[]; } export interface ExpressApp { GitUrl: string; GitSrcBranchName: string; StrongLoopBranchName: string; StrongLoopServerUrl: string; ServiceName: string; GitCloneFolder: string; ClusterSize: number; ServicePort: number; DeployExisting: boolean; DoBowerInstall: boolean; Scripts: Script[]; EnvironmentVariables: {}; } export interface Modem { ca: any; cert: any; checkServerIdentity: any; host: any; key: any; port: any; protocol: any; socketPath: any; timeout: any; version: any; } export interface DockerOde extends ForceError { listImages(options: any, cb: (err: Error, images: DockerImage[]) => void): void; listContainers(options: any, cb: (err: Error, containers: DockerContainer[]) => void): void; getContainer(id: string, options?: any): DockerContainer; getImage(id: string, options?: any): DockerImage; buildImage(tarStream: any, options: any, cb: (err: Error, outputStream: any) => void): any; createContainer(containerConfig: any, cb: (err: Error, container: DockerContainer) => void): void; pull(imageName: string, cb: (err: Error, outputStream: any) => void): any; } export interface ContainerConfig { name: string; Image: string; DockerFilePath: string; Hostname: string; HostConfig: { Links: string[]; PortBindings: {}; }; ExpressApps: ExpressApp[]; }