UNPKG

@canonical/jujulib

Version:
246 lines (243 loc) 7.12 kB
/** Juju InstancePoller version 4. 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 Address { cidr?: string; "config-type"?: string; "is-secondary"?: boolean; scope: string; "space-id"?: string; "space-name"?: string; type: string; value: string; } export interface BoolResult { error?: Error; result: boolean; } export interface BoolResults { results: BoolResult[]; } export interface Entities { entities: Entity[]; } export interface Entity { tag: string; } export interface EntityStatusArgs { data: AdditionalProperties; info: string; status: string; tag: string; } export interface Error { code: string; info?: AdditionalProperties; message: string; } export interface ErrorResult { error?: Error; } export interface ErrorResults { results: ErrorResult[]; } export interface LifeResult { error?: Error; life: string; } export interface LifeResults { results: LifeResult[]; } export interface MachineAddresses { addresses: Address[]; tag: string; } export interface MachineAddressesResult { addresses: Address[]; error?: Error; } export interface MachineAddressesResults { results: MachineAddressesResult[]; } export interface ModelConfigResult { config: AdditionalProperties; } export interface NetworkConfig { address?: string; addresses?: Address[]; cidr: string; "config-type"?: string; "device-index": number; disabled: boolean; "dns-search-domains"?: string[]; "dns-servers"?: string[]; "gateway-address"?: string; "interface-name": string; "interface-type": string; "is-default-gateway"?: boolean; "mac-address": string; mtu: number; "no-auto-start"?: boolean; origin?: string; "parent-interface-name": string; "provider-address-id": string; "provider-id": string; "provider-network-id": string; "provider-space-id": string; "provider-subnet-id": string; "provider-vlan-id": string; routes?: NetworkRoute[]; "shadow-addresses"?: Address[]; "virtual-port-type"?: string; "vlan-tag": number; } export interface NetworkRoute { "destination-cidr": string; "gateway-ip": string; metric: number; } export interface NotifyWatchResult { NotifyWatcherId: string; error?: Error; } export interface ProviderNetworkConfig { config: NetworkConfig[]; tag: string; } export interface SetMachinesAddresses { "machine-addresses": MachineAddresses[]; } export interface SetProviderNetworkConfig { args: ProviderNetworkConfig[]; } export interface SetProviderNetworkConfigResult { addresses: Address[]; error?: Error; modified: boolean; } export interface SetProviderNetworkConfigResults { results: SetProviderNetworkConfigResult[]; } export interface SetStatus { entities: EntityStatusArgs[]; } export interface StatusResult { data: AdditionalProperties; error?: Error; id: string; info: string; life: string; since: string; status: string; } export interface StatusResults { results: StatusResult[]; } export interface StringResult { error?: Error; result: string; } export interface StringResults { results: StringResult[]; } export interface StringsWatchResult { changes?: string[]; error?: Error; "watcher-id": string; } export interface AdditionalProperties { [key: string]: any; } /** InstancePollerAPI provides access to the InstancePoller API facade. */ declare class InstancePollerV4 implements Facade { static NAME: string; static VERSION: number; NAME: string; VERSION: number; _transport: Transport; _info: ConnectionInfo; constructor(transport: Transport, info: ConnectionInfo); /** AreManuallyProvisioned returns whether each given entity is manually provisioned or not. Only machine tags are accepted. */ areManuallyProvisioned(params: Entities): Promise<BoolResults>; /** InstanceId returns the provider specific instance id for each given machine or an CodeNotProvisioned error, if not set. */ instanceId(params: Entities): Promise<StringResults>; /** InstanceStatus returns the instance status for each given entity. Only machine tags are accepted. */ instanceStatus(params: Entities): Promise<StatusResults>; /** Life returns the life status of every supplied entity, where available. */ life(params: Entities): Promise<LifeResults>; /** ModelConfig returns the current model's configuration. */ modelConfig(params: any): Promise<ModelConfigResult>; /** ProviderAddresses returns the list of all known provider addresses for each given entity. Only machine tags are accepted. */ providerAddresses(params: Entities): Promise<MachineAddressesResults>; /** SetInstanceStatus updates the instance status for each given entity. Only machine tags are accepted. */ setInstanceStatus(params: SetStatus): Promise<ErrorResults>; /** SetProviderAddresses updates the list of known provider addresses for each given entity. Only machine tags are accepted. */ setProviderAddresses(params: SetMachinesAddresses): Promise<ErrorResults>; /** SetProviderNetworkConfig updates the provider addresses for one or more machines. What's more, if the client request includes provider-specific IDs (e.g. network, subnet or address IDs), this method will also iterate any present link layer devices (and their addresses) and merge in any missing provider-specific information. */ setProviderNetworkConfig(params: SetProviderNetworkConfig): Promise<SetProviderNetworkConfigResults>; /** Status returns the status of each given entity. */ status(params: Entities): Promise<StatusResults>; /** WatchForModelConfigChanges returns a NotifyWatcher that observes changes to the model configuration. Note that although the NotifyWatchResult contains an Error field, it's not used because we are only returning a single watcher, so we use the regular error return. */ watchForModelConfigChanges(params: any): Promise<NotifyWatchResult>; /** WatchModelMachineStartTimes watches the non-container machines in the model for changes to the Life or AgentStartTime fields and reports them as a batch. */ watchModelMachineStartTimes(params: any): Promise<StringsWatchResult>; /** WatchModelMachines returns a StringsWatcher that notifies of changes to the life cycles of the top level machines in the current model. */ watchModelMachines(params: any): Promise<StringsWatchResult>; } export default InstancePollerV4;