This module is written simply to consume Prism API. It should be noted it's far from complete and only added to on an "as needed" basis for projects. If you would like to contribute, feel free.
let prism = require('nutanix_prism')
let opts = { creds: { user:'prismUsername', pass:'prismPassword' } ip: 'prismIP', itemX: 'whateverElse' }
prism.cluster.get(opts) .then(successData => { //handle success data console.log(successData) }) .catch(err => { //handle failure data console.log(err) })
NOTE: All opts require opts.ip, and opts.creds that include username & password NOTE: NOT ALL COMMANDS THAT ARE AVAILABLE ARE CURRENTLY DOCUMENTED. I STRONGLY RECOMMEND USING A PROGRAM LIKE VSCODE THAT WILL SUGGEST (ALL METHODS ARE DOCUMENTED BEFORE THE FUNCTION). ALTERNATIVELY YOU CAN BROWSE THE /lib DIRECTORY AND SEE WHAT METHODS ARE AVAILABLE. HOPEFULLY THIS DOCUMENTATION WILL BE UPDATED SHORTLY.
prism.cluster.get(opts)
prism.container.create(opts)
required: opts.storagePoolUUID, opts.containerName
optional: opts.compressionEnabled (true|false), opts.compressionDelayInSecs (integer), opts.fingerPrintOnWrite (true|false), opts.onDiskDedup (true|false)
prism.container.delete(opts)
required: opts.containerUUID
prism.container.getByName(opts)
required: opts.containerName
prism.container.datastores(opts)
required: opts.containerName, opts.containerName, opts.nodeIds[]
prism.container.datastores.delete(opts)
required: opts.containerName, opts.nodeIds[]
prism.event.get(opts)
required: opts.startTime
prism.host.get(opts)
.
prism.host.nics(opts)
required: opts.hostUUID
prism.idempotence.create(opts)
required: opts.identifier, opts.count
prism.image.createDisk(opts)
required: opts.containerName, opts.imageUrl, opts.imageName
optional: opts.annotation
prism.image.createIso(opts)
required: opts.containerName, opts.imageUrl, opts.imageName
optional: opts.annotation
prism.image.get(opts)
required: opts.imageID
prism.networks.create(opts)
required: opts.networkName, opts.vlanID
optional: opts.annotation
prism.networks.delete(opts)
required: opts.networkUUID
prism.networks.get(opts)
prism.protectionDomain.create(opts)
required: opts.protectionDomainName
prism.protectionDomain.delete(opts)
required: opts.protectionDomainName
prism.protectionDomain.get(opts)
required: opts.protectionDomainName
prism.protectionDomain.schedules.delete(opts)
required: opts.protectionDomainName
prism.protectionDomain.snapshots.delete(opts)
required: opts.protectionDomainName, opts.snapshotId
prism.protectionDomain.snapshots.get(opts)
required: opts.protectionDomainName
prism.protectionDomain.unprotectVMs(opts)
required: opts.protectionDomainName
prism.remoteSite.delete(opts)
required: opts.remoteSiteID, opts.vmArray[]
prism.scenario.create(opts)
prism.snapshots.create(opts)
required: opts.uuid(of the vm to snapshot), snapshotType(<APPLICATION_CONSISTENT/CRASH_CONSISTENT>), and nameOfSnapshot
prism.snapshots.delete(opts)
required: opts.uuid(of the snapshot to delete)
prism.snapshots.getByUUID(opts)
required: opts.uuid (snapshotUUID)
prism.snapshots.getAllSnapshots(opts)
prism.ssp.images.delete(opts)
required: opts.imageUUID
prism.ssp.images.getByName(opts)
required: opts.imageName
prism.ssp.images.projects(opts)
required: opts.projectUUID
prism.ssp.getByName(opts)
required: opts.projectName
prism.ssp.roles.delete(opts)
required: opts.roleUUID
prism.ssp.roles.getByName(opts)
required: opts.roleName, opts.roleName
prism.storagePool.get(opts)
prism.task.get(opts)
required: opts.taskUUID
prism.task.getAll(opts)
optional: opts.startTime (usecs Number), opts.type (operation type Array [string, string]), opts.includeCompleted (boolean default: true), includeSubTask (boolean default: false)
prism.vm.create(opts)
required: opts.body // Full Body Syntax for creating VM
prism.vm.delete(opts)
required: opts.vmUUID
prism.vm.get(opts)
.
prism.vm.getByName(opts)
required: opts.vmName
prism.vm.start(opts)
required: opts.vmUUID
prism.vm.getNetwork(opts)
required: opts.vmUUID
prism.volumeGroup.delete(opts)
required: opts.volumGroupUUID
prism.volumeGroup.get(opts)