@canonical/jujulib
Version:
Juju API client
54 lines (53 loc) • 1.28 kB
TypeScript
export interface FacadeTemplate {
name: string;
version: number;
methods: FacadeMethod[];
interfaces: InterfaceData[];
availableTo: string[];
docBlock: string;
jujuVersion: string;
jujuGitSHA: string;
}
export interface InterfaceData {
name: string;
types: InterfaceType[];
}
export type InterfaceValueType = string | {
type: string;
valueType: InterfaceValueType;
};
export type InterfaceType = {
name: string;
type: string;
required: boolean;
valueType?: InterfaceValueType;
};
export interface ReadmeTemplate {
clientAPIInfo: string;
exampleList: FileInfo[];
facadeList: {
[key: string]: FileInfo[];
};
}
export interface FileInfo {
name: string;
path: string;
}
export interface FacadeMethod {
name: string;
params: string | Record<string, string>;
paramsAtTop?: boolean;
result: string | Record<string, string>;
docBlock?: string;
}
export interface JujuRequest {
type: string;
request: string;
"request-id"?: number;
version: number;
params?: any;
[key: string]: any;
}
export type CallbackError = Error | null;
export type Callback<T> = (error: CallbackError, value?: T) => void;
export type CloseCallback = (code: number) => void;