UNPKG

@canonical/jujulib

Version:
362 lines (360 loc) 9.4 kB
/** Juju Client version 7. 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 AllWatcherId { "watcher-id": string; } export interface ApplicationOfferStatus { "active-connected-count": number; "application-name": string; charm: string; endpoints: Record<string, RemoteEndpoint>; err?: Error; "offer-name": string; "total-connected-count": number; } export interface ApplicationStatus { base: Base; "can-upgrade-to": string; charm: string; "charm-channel"?: string; "charm-profile": string; "charm-version": string; "endpoint-bindings": Record<string, string>; err?: Error; exposed: boolean; "exposed-endpoints"?: Record<string, ExposedEndpoint>; int?: number; life: string; "meter-statuses": Record<string, MeterStatus>; "provider-id"?: string; "public-address": string; relations: Record<string, string[]>; status: DetailedStatus; "subordinate-to": string[]; units: Record<string, UnitStatus>; "workload-version": string; } export interface Base { channel: string; name: string; } export interface Binary { Arch: string; Build: number; Major: number; Minor: number; Number: Number; Patch: number; Release: string; Tag: string; } export interface BranchStatus { "assigned-units": Record<string, string[]>; created: number; "created-by": string; } export interface DetailedStatus { data: AdditionalProperties; err?: Error; info: string; kind: string; life: string; since: string; status: string; version: string; } export interface EndpointStatus { application: string; name: string; role: string; subordinate: boolean; } export interface EntityStatus { data?: AdditionalProperties; info: string; since: string; status: string; } export interface Error { code: string; info?: AdditionalProperties; message: string; } export interface ExposedEndpoint { "expose-to-cidrs"?: string[]; "expose-to-spaces"?: string[]; } export interface FilesystemAttachmentDetails { FilesystemAttachmentInfo: FilesystemAttachmentInfo; life?: string; "mount-point"?: string; "read-only"?: boolean; } export interface FilesystemAttachmentInfo { "mount-point"?: string; "read-only"?: boolean; } export interface FilesystemDetails { "filesystem-tag": string; info: FilesystemInfo; life?: string; "machine-attachments"?: Record<string, FilesystemAttachmentDetails>; status: EntityStatus; storage?: StorageDetails; "unit-attachments"?: Record<string, FilesystemAttachmentDetails>; "volume-tag"?: string; } export interface FilesystemInfo { "filesystem-id": string; pool: string; size: number; } export interface FindToolsParams { agentstream: string; arch: string; major: number; number: Number; "os-type": string; } export interface FindToolsResult { error?: Error; list: Tools[]; } export interface FullStatus { applications: Record<string, ApplicationStatus>; branches: Record<string, BranchStatus>; "controller-timestamp": string; filesystems?: FilesystemDetails[]; machines: Record<string, MachineStatus>; model: ModelStatusInfo; offers: Record<string, ApplicationOfferStatus>; relations: RelationStatus[]; "remote-applications": Record<string, RemoteApplicationStatus>; storage?: StorageDetails[]; volumes?: VolumeDetails[]; } export interface History { error?: Error; statuses: DetailedStatus[]; } export interface LXDProfile { config: Record<string, string>; description: string; devices: Record<string, Record<string, string>>; } export interface MachineStatus { "agent-status": DetailedStatus; base: Base; constraints: string; containers: Record<string, MachineStatus>; "display-name": string; "dns-name": string; hardware: string; "has-vote": boolean; hostname?: string; id: string; "instance-id": string; "instance-status": DetailedStatus; "ip-addresses"?: string[]; jobs: string[]; "lxd-profiles"?: Record<string, LXDProfile>; "modification-status": DetailedStatus; "network-interfaces"?: Record<string, NetworkInterface>; "primary-controller-machine"?: boolean; "wants-vote": boolean; } export interface MeterStatus { color: string; message: string; } export interface ModelStatusInfo { "available-version": string; "cloud-tag": string; "meter-status": MeterStatus; "model-status": DetailedStatus; name: string; region?: string; sla: string; type: string; version: string; } export interface NetworkInterface { "dns-nameservers"?: string[]; gateway?: string; "ip-addresses": string[]; "is-up": boolean; "mac-address": string; space?: string; } export interface Number { Build: number; Major: number; Minor: number; Patch: number; Tag: string; } export interface RelationStatus { endpoints: EndpointStatus[]; id: number; interface: string; key: string; scope: string; status: DetailedStatus; } export interface RemoteApplicationStatus { endpoints: RemoteEndpoint[]; err?: Error; life: string; "offer-name": string; "offer-url": string; relations: Record<string, string[]>; status: DetailedStatus; } export interface RemoteEndpoint { interface: string; limit: number; name: string; role: string; } export interface StatusHistoryFilter { date: string; delta: number; exclude: string[]; size: number; } export interface StatusHistoryRequest { filter: StatusHistoryFilter; historyKind: string; size: number; tag: string; } export interface StatusHistoryRequests { requests: StatusHistoryRequest[]; } export interface StatusHistoryResult { error?: Error; history: History; } export interface StatusHistoryResults { results: StatusHistoryResult[]; } export interface StatusParams { "include-storage"?: boolean; patterns: string[]; } export interface StorageAttachmentDetails { life?: string; location?: string; "machine-tag": string; "storage-tag": string; "unit-tag": string; } export interface StorageDetails { attachments?: Record<string, StorageAttachmentDetails>; kind: number; life?: string; "owner-tag": string; persistent: boolean; status: EntityStatus; "storage-tag": string; } export interface Tools { sha256?: string; size: number; url: string; version: Binary; } export interface UnitStatus { address?: string; "agent-status": DetailedStatus; charm: string; leader?: boolean; machine: string; "opened-ports": string[]; "provider-id"?: string; "public-address": string; subordinates: Record<string, UnitStatus>; "workload-status": DetailedStatus; "workload-version": string; } export interface VolumeAttachmentDetails { VolumeAttachmentInfo: VolumeAttachmentInfo; "bus-address"?: string; "device-link"?: string; "device-name"?: string; life?: string; "plan-info"?: VolumeAttachmentPlanInfo; "read-only"?: boolean; } export interface VolumeAttachmentInfo { "bus-address"?: string; "device-link"?: string; "device-name"?: string; "plan-info"?: VolumeAttachmentPlanInfo; "read-only"?: boolean; } export interface VolumeAttachmentPlanInfo { "device-attributes"?: Record<string, string>; "device-type"?: string; } export interface VolumeDetails { info: VolumeInfo; life?: string; "machine-attachments"?: Record<string, VolumeAttachmentDetails>; status: EntityStatus; storage?: StorageDetails; "unit-attachments"?: Record<string, VolumeAttachmentDetails>; "volume-tag": string; } export interface VolumeInfo { "hardware-id"?: string; persistent: boolean; pool?: string; size: number; "volume-id": string; wwn?: string; } export interface AdditionalProperties { [key: string]: any; } /** Client serves client-specific API methods. */ declare class ClientV7 implements Facade { static NAME: string; static VERSION: number; NAME: string; VERSION: number; _transport: Transport; _info: ConnectionInfo; constructor(transport: Transport, info: ConnectionInfo); /** FindTools returns a List containing all tools matching the given parameters. TODO(juju 3.1) - remove, used by 2.9 client only */ findTools(params: FindToolsParams): Promise<FindToolsResult>; /** FullStatus gives the information needed for juju status over the api */ fullStatus(params: StatusParams): Promise<FullStatus>; /** StatusHistory returns a slice of past statuses for several entities. */ statusHistory(params: StatusHistoryRequests): Promise<StatusHistoryResults>; /** WatchAll initiates a watcher for entities in the connected model. */ watchAll(params: any): Promise<AllWatcherId>; } export default ClientV7;