UNPKG

@canonical/jujulib

Version:
122 lines (120 loc) 3.32 kB
/** Juju MachineActions version 1. This facade is available on: Controller-machine-agent Machine-agent NOTE: This file was generated using the Juju schema from Juju 3.3 at the git SHA 65fa4c1ee5. Do not manually edit this file. */ import { ConnectionInfo, Transport } from "../../client.js"; import { Facade } from "../../types.js"; export interface Action { "execution-group"?: string; name: string; parallel?: boolean; parameters?: AdditionalProperties; receiver: string; tag: string; } export interface ActionExecutionResult { "action-tag": string; message?: string; results?: AdditionalProperties; status: string; } export interface ActionExecutionResults { results?: ActionExecutionResult[]; } export interface ActionMessage { message: string; timestamp: string; } export interface ActionResult { action?: Action; completed?: string; enqueued?: string; error?: Error; log?: ActionMessage[]; message?: string; output?: AdditionalProperties; started?: string; status?: string; } export interface ActionResults { results?: ActionResult[]; } export interface ActionsByReceiver { actions?: ActionResult[]; error?: Error; receiver?: string; } export interface ActionsByReceivers { actions?: ActionsByReceiver[]; } export interface Entities { entities: Entity[]; } export interface Entity { tag: string; } export interface Error { code: string; info?: AdditionalProperties; message: string; } export interface ErrorResult { error?: Error; } export interface ErrorResults { results: ErrorResult[]; } export interface StringsWatchResult { changes?: string[]; error?: Error; "watcher-id": string; } export interface StringsWatchResults { results: StringsWatchResult[]; } export interface AdditionalProperties { [key: string]: any; } /** Facade implements the machineactions interface and is the concrete implementation of the api end point. */ declare class MachineActionsV1 implements Facade { static NAME: string; static VERSION: number; NAME: string; VERSION: number; _transport: Transport; _info: ConnectionInfo; constructor(transport: Transport, info: ConnectionInfo); /** Actions returns the Actions by Tags passed and ensures that the machine asking for them is the machine that has the actions */ actions(params: Entities): Promise<ActionResults>; /** BeginActions marks the actions represented by the passed in Tags as running. */ beginActions(params: Entities): Promise<ErrorResults>; /** FinishActions saves the result of a completed Action */ finishActions(params: ActionExecutionResults): Promise<ErrorResults>; /** RunningActions lists the actions running for the entities passed in. If we end up needing more than ListRunning at some point we could follow/abstract what's done in the client actions package. */ runningActions(params: Entities): Promise<ActionsByReceivers>; /** WatchActionNotifications returns a StringsWatcher for observing incoming action calls to a machine. */ watchActionNotifications(params: Entities): Promise<StringsWatchResults>; } export default MachineActionsV1;