UNPKG

@canonical/jujulib

Version:

Juju API client

107 lines (84 loc) 2.1 kB
/** Juju Bundle version 8. NOTE: This file was generated using the Juju schema from Juju 4.0.1 at the git SHA 22e0b6a. Do not manually edit this file. */ import type { JujuRequest } from "../../../generator/interfaces.js"; import { ConnectionInfo, Transport } from "../../client.js"; import { Facade } from "../../types.js"; import { autoBind } from "../../utils.js"; export interface BundleChangesMapArgs { args: AdditionalProperties; id: string; method: string; requires: string[]; } export interface BundleChangesMapArgsResults { changes?: BundleChangesMapArgs[]; errors?: string[]; } export interface BundleChangesParams { bundleURL: string; yaml: string; } export interface Error { code: string; info?: AdditionalProperties; message: string; } export interface ExportBundleParams { "include-charm-defaults"?: boolean; } export interface StringResult { error?: Error; result: string; } export interface AdditionalProperties { [key: string]: any; } /** */ class BundleV8 implements Facade { static NAME = "Bundle"; static VERSION = 8; NAME = "Bundle"; VERSION = 8; _transport: Transport; _info: ConnectionInfo; constructor(transport: Transport, info: ConnectionInfo) { this._transport = transport; this._info = info; // Automatically bind all methods to instances. autoBind(this); } /** */ exportBundle(params: ExportBundleParams): Promise<StringResult> { return new Promise((resolve, reject) => { const req: JujuRequest = { type: "Bundle", request: "ExportBundle", version: 8, params: params, }; this._transport.write(req, resolve, reject); }); } /** */ getChangesMapArgs( params: BundleChangesParams ): Promise<BundleChangesMapArgsResults> { return new Promise((resolve, reject) => { const req: JujuRequest = { type: "Bundle", request: "GetChangesMapArgs", version: 8, params: params, }; this._transport.write(req, resolve, reject); }); } } export default BundleV8;