@canonical/jujulib
Version:
Juju API client
495 lines (492 loc) • 14.7 kB
JavaScript
/**
Juju Client version 3.
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.0-beta1 at the git SHA 61c87ab7e1.
Do not manually edit this file.
*/
import { autoBind } from "../../utils.js";
/**
Client serves client-specific API methods.
*/
class ClientV3 {
constructor(transport, info) {
this.NAME = "Client";
this.VERSION = 3;
this._transport = transport;
this._info = info;
// Automatically bind all methods to instances.
autoBind(this);
}
/**
APIHostPorts returns the API host/port addresses stored in state.
*/
aPIHostPorts(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "APIHostPorts",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
AbortCurrentUpgrade aborts and archives the current upgrade
synchronisation record, if any.
*/
abortCurrentUpgrade(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "AbortCurrentUpgrade",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
Method was deprecated as of juju 2.9 and removed in juju 3.0. Please use the
client/charms facade instead.
*/
addCharm(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "AddCharm",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
Method was deprecated as of juju 2.9 and removed in juju 3.0. Please use the
client/charms facade instead.
*/
addCharmWithAuthorization(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "AddCharmWithAuthorization",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
AddMachines adds new machines with the supplied parameters.
*/
addMachines(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "AddMachines",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
AddMachinesV2 adds new machines with the supplied parameters.
*/
addMachinesV2(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "AddMachinesV2",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
AgentVersion returns the current version that the API server is running.
*/
agentVersion(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "AgentVersion",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
CACert returns the certificate used to validate the state connection.
*/
cACert(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "CACert",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
DestroyMachines removes a given set of machines.
*/
destroyMachines(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "DestroyMachines",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
FindTools returns a List containing all tools matching the given parameters.
*/
findTools(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "FindTools",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
FullStatus gives the information needed for juju status over the api
*/
fullStatus(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "FullStatus",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
GetBundleChanges returns the list of changes required to deploy the given
bundle data. The changes are sorted by requirements, so that they can be
applied in order.
Deprecated: clients should use the GetChanges endpoint on the Bundle facade.
Note: any new feature in the future like devices will never be supported here.
*/
getBundleChanges(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "GetBundleChanges",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
GetModelConstraints returns the constraints for the model.
*/
getModelConstraints(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "GetModelConstraints",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
InjectMachines injects a machine into state with provisioned status.
*/
injectMachines(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "InjectMachines",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
ModelGet implements the server-side part of the
model-config CLI command.
*/
modelGet(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "ModelGet",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
ModelInfo returns information about the current model.
*/
modelInfo(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "ModelInfo",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
ModelSet implements the server-side part of the
set-model-config CLI command.
*/
modelSet(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "ModelSet",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
ModelUnset implements the server-side part of the
set-model-config CLI command.
*/
modelUnset(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "ModelUnset",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
ModelUserInfo returns information on all users in the model.
*/
modelUserInfo(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "ModelUserInfo",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
PrivateAddress implements the server side of Client.PrivateAddress.
*/
privateAddress(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "PrivateAddress",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
ProvisioningScript returns a shell script that, when run,
provisions a machine agent on the machine executing the script.
*/
provisioningScript(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "ProvisioningScript",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
PublicAddress implements the server side of Client.PublicAddress.
*/
publicAddress(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "PublicAddress",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
ResolveCharms resolves the best available charm URLs with series, for charm
locations without a series specified.
NOTE: ResolveCharms is deprecated as of juju 2.9 and charms facade version 3.
Please discontinue use and move to the charms facade version.
TODO: remove in juju 3.0
*/
resolveCharms(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "ResolveCharms",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
Resolved implements the server side of Client.Resolved.
*/
resolved(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "Resolved",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
RetryProvisioning marks a provisioning error as transient on the machines.
*/
retryProvisioning(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "RetryProvisioning",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
SLALevel returns the current sla level for the model.
*/
sLALevel(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "SLALevel",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
Sequences returns the model's sequence names and next values.
*/
sequences(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "Sequences",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
SetModelAgentVersion sets the model agent version.
*/
setModelAgentVersion(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "SetModelAgentVersion",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
SetModelConstraints sets the constraints for the model.
*/
setModelConstraints(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "SetModelConstraints",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
SetSLALevel sets the sla level on the model.
*/
setSLALevel(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "SetSLALevel",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
StatusHistory returns a slice of past statuses for several entities.
*/
statusHistory(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "StatusHistory",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
/**
WatchAll initiates a watcher for entities in the connected model.
*/
watchAll(params) {
return new Promise((resolve, reject) => {
const req = {
type: "Client",
request: "WatchAll",
version: 3,
params: params,
};
this._transport.write(req, resolve, reject);
});
}
}
ClientV3.NAME = "Client";
ClientV3.VERSION = 3;
export default ClientV3;
//# sourceMappingURL=ClientV3.js.map