@canonical/jujulib
Version:
Juju API client
66 lines (64 loc) • 2.16 kB
JavaScript
/**
Juju VolumeAttachmentsWatcher version 2.
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";
/**
srvMachineStorageIdsWatcher defines the API wrapping a state.StringsWatcher
watching machine/storage attachments. This watcher notifies about storage
entities (volumes/filesystems) being attached to and detached from machines.
TODO(axw) state needs a new watcher, this is a bt of a hack. State watchers
could do with some deduplication of logic, and I don't want to add to that
spaghetti right now.
*/
class VolumeAttachmentsWatcherV2 {
constructor(transport, info) {
this.NAME = "VolumeAttachmentsWatcher";
this.VERSION = 2;
this._transport = transport;
this._info = info;
// Automatically bind all methods to instances.
autoBind(this);
}
/**
Next returns when a change has occurred to an entity of the
collection being watched since the most recent call to Next
or the Watch call that created the srvMachineStorageIdsWatcher.
*/
next(params) {
return new Promise((resolve, reject) => {
const req = {
type: "VolumeAttachmentsWatcher",
request: "Next",
version: 2,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
Stop stops the watcher.
*/
stop(params) {
return new Promise((resolve, reject) => {
const req = {
type: "VolumeAttachmentsWatcher",
request: "Stop",
version: 2,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
}
VolumeAttachmentsWatcherV2.NAME = "VolumeAttachmentsWatcher";
VolumeAttachmentsWatcherV2.VERSION = 2;
export default VolumeAttachmentsWatcherV2;
//# sourceMappingURL=VolumeAttachmentsWatcherV2.js.map