UNPKG

@canonical/jujulib

Version:
231 lines (229 loc) 7.41 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 { autoBind } from "../../utils.js"; /** InstancePollerAPI provides access to the InstancePoller API facade. */ class InstancePollerV4 { constructor(transport, info) { this.NAME = "InstancePoller"; this.VERSION = 4; this._transport = transport; this._info = info; // Automatically bind all methods to instances. autoBind(this); } /** AreManuallyProvisioned returns whether each given entity is manually provisioned or not. Only machine tags are accepted. */ areManuallyProvisioned(params) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "AreManuallyProvisioned", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** InstanceId returns the provider specific instance id for each given machine or an CodeNotProvisioned error, if not set. */ instanceId(params) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "InstanceId", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** InstanceStatus returns the instance status for each given entity. Only machine tags are accepted. */ instanceStatus(params) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "InstanceStatus", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** Life returns the life status of every supplied entity, where available. */ life(params) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "Life", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** ModelConfig returns the current model's configuration. */ modelConfig(params) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "ModelConfig", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** ProviderAddresses returns the list of all known provider addresses for each given entity. Only machine tags are accepted. */ providerAddresses(params) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "ProviderAddresses", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** SetInstanceStatus updates the instance status for each given entity. Only machine tags are accepted. */ setInstanceStatus(params) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "SetInstanceStatus", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** SetProviderAddresses updates the list of known provider addresses for each given entity. Only machine tags are accepted. */ setProviderAddresses(params) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "SetProviderAddresses", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** 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) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "SetProviderNetworkConfig", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** Status returns the status of each given entity. */ status(params) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "Status", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** 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) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "WatchForModelConfigChanges", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** 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) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "WatchModelMachineStartTimes", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } /** WatchModelMachines returns a StringsWatcher that notifies of changes to the life cycles of the top level machines in the current model. */ watchModelMachines(params) { return new Promise((resolve, reject) => { const req = { type: "InstancePoller", request: "WatchModelMachines", version: 4, params: params, }; this._transport.write(req, resolve, reject); }); } } InstancePollerV4.NAME = "InstancePoller"; InstancePollerV4.VERSION = 4; export default InstancePollerV4; //# sourceMappingURL=InstancePollerV4.js.map