/** Juju Bundle version 6. This facade is available on: Controllers Models NOTE: This file was generated using the Juju schema from Juju 3.6.14 at the git SHA b08ad63. 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 BundleChange { args: object[]; id: string; method: string; requires: string[]; } 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 BundleChangesResults { changes?: BundleChange[]; errors?: string[]; } export interface Error { code: string; info?: AdditionalProperties; message: string; } export interface ExportBundleParams { "include-charm-defaults"?: boolean; "include-series"?: boolean; } export interface StringResult { error?: Error; result: string; } export interface AdditionalProperties { [key: string]: any; } class BundleV6 implements Facade { static NAME = "Bundle"; static VERSION = 6; NAME = "Bundle"; VERSION = 6; _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 { return new Promise((resolve, reject) => { const req: JujuRequest = { type: "Bundle", request: "ExportBundle", version: 6, params: params, }; this._transport.write(req, resolve, reject); }); } getChanges(params: BundleChangesParams): Promise { return new Promise((resolve, reject) => { const req: JujuRequest = { type: "Bundle", request: "GetChanges", version: 6, params: params, }; this._transport.write(req, resolve, reject); }); } getChangesMapArgs( params: BundleChangesParams ): Promise { return new Promise((resolve, reject) => { const req: JujuRequest = { type: "Bundle", request: "GetChangesMapArgs", version: 6, params: params, }; this._transport.write(req, resolve, reject); }); } } export default BundleV6;