firmament-docker
Version:
Typescript classes for performing Docker operations
87 lines (86 loc) • 2.69 kB
TypeScript
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[];
}