UNPKG

@canonical/jujulib

Version:
237 lines (235 loc) 6.16 kB
/** Juju CAASOperator version 1. This facade is available on: Controller-machine-agent Machine-agent Unit-agent Models 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 APIHostPortsResult { servers: HostPort[][]; } export interface Address { cidr?: string; "config-type"?: string; "is-secondary"?: boolean; scope: string; "space-id"?: string; "space-name"?: string; type: string; value: string; } export interface ApplicationCharm { "charm-modified-version": number; "deployment-mode"?: string; "force-upgrade"?: boolean; sha256: string; url: string; } export interface ApplicationCharmResult { error?: Error; result?: ApplicationCharm; } export interface ApplicationCharmResults { results: ApplicationCharmResult[]; } export interface Binary { Arch: string; Build: number; Major: number; Minor: number; Number: Number; Patch: number; Release: string; Tag: string; } export interface Entities { entities: Entity[]; } export interface EntitiesVersion { "agent-tools": EntityVersion[]; } export interface Entity { tag: string; } export interface EntityStatusArgs { data: AdditionalProperties; info: string; status: string; tag: string; } export interface EntityString { tag: string; value: string; } export interface EntityVersion { tag: string; tools: Version; } export interface Error { code: string; info?: AdditionalProperties; message: string; } export interface ErrorResult { error?: Error; } export interface ErrorResults { results: ErrorResult[]; } export interface HostPort { Address: Address; cidr?: string; "config-type"?: string; "is-secondary"?: boolean; port: number; scope: string; "space-id"?: string; "space-name"?: string; type: string; value: string; } export interface LifeResult { error?: Error; life: string; } export interface LifeResults { results: LifeResult[]; } export interface ModelResult { error?: Error; name: string; type: string; uuid: string; } export interface NotifyWatchResult { NotifyWatcherId: string; error?: Error; } export interface NotifyWatchResults { results: NotifyWatchResult[]; } export interface Number { Build: number; Major: number; Minor: number; Patch: number; Tag: string; } export interface SetPodSpecParams { specs: EntityString[]; } export interface SetStatus { entities: EntityStatusArgs[]; } export interface StringResult { error?: Error; result: string; } export interface StringsResult { error?: Error; result?: string[]; } export interface StringsWatchResult { changes?: string[]; error?: Error; "watcher-id": string; } export interface StringsWatchResults { results: StringsWatchResult[]; } export interface Version { version: Binary; } export interface WatchContainerStartArg { container?: string; entity: Entity; } export interface WatchContainerStartArgs { args: WatchContainerStartArg[]; } export interface AdditionalProperties { [key: string]: any; } /** Facade is the CAAS operator API facade. */ declare class CAASOperatorV1 implements Facade { static NAME: string; static VERSION: number; NAME: string; VERSION: number; _transport: Transport; _info: ConnectionInfo; constructor(transport: Transport, info: ConnectionInfo); /** APIAddresses returns the list of addresses used to connect to the API. */ aPIAddresses(params: any): Promise<StringsResult>; /** APIHostPorts returns the API server addresses. */ aPIHostPorts(params: any): Promise<APIHostPortsResult>; /** Charm returns the charm info for all given applications. */ charm(params: Entities): Promise<ApplicationCharmResults>; /** CurrentModel returns the name and UUID for the current juju model. */ currentModel(params: any): Promise<ModelResult>; /** Life returns the life status of every supplied entity, where available. */ life(params: Entities): Promise<LifeResults>; /** ModelUUID returns the model UUID that this facade is used to operate. It is implemented here directly as a result of removing it from embedded APIAddresser *without* bumping the facade version. It should be blanked when this facade version is next incremented. */ modelUUID(params: any): Promise<StringResult>; /** Remove removes every given entity from state, calling EnsureDead first, then Remove. It will fail if the entity is not present. */ remove(params: Entities): Promise<ErrorResults>; /** SetPodSpec sets the container specs for a set of applications. TODO(juju3) - remove */ setPodSpec(params: SetPodSpecParams): Promise<ErrorResults>; /** SetStatus sets the status of each given entity. */ setStatus(params: SetStatus): Promise<ErrorResults>; /** SetTools updates the recorded tools version for the agents. */ setTools(params: EntitiesVersion): Promise<ErrorResults>; /** Watch starts an NotifyWatcher for each given entity. */ watch(params: Entities): Promise<NotifyWatchResults>; /** WatchAPIHostPorts watches the API server addresses. */ watchAPIHostPorts(params: any): Promise<NotifyWatchResult>; /** WatchContainerStart starts a StringWatcher to watch for container start events on the CAAS api for a specific application and container. */ watchContainerStart(params: WatchContainerStartArgs): Promise<StringsWatchResults>; /** WatchUnits starts a StringsWatcher to watch changes to the lifecycle states of units for the specified applications in this model. */ watchUnits(params: Entities): Promise<StringsWatchResults>; } export default CAASOperatorV1;