30 lines
807 B
JavaScript
30 lines
807 B
JavaScript
const State = require('../State')
|
|
|
|
class ServiceRestartState extends State {
|
|
static get services() {
|
|
return [...super.services, 'output']
|
|
}
|
|
|
|
constructor(host, config) {
|
|
if ( !host.services ) {
|
|
throw new Error(`Cannot apply service state to host ${host.name}: missing service manager API.`)
|
|
}
|
|
super(host, config)
|
|
}
|
|
|
|
async apply() {
|
|
const services = Array.isArray(this._config.service) ? this._config.service : [this._config.service]
|
|
return this._host.services.restart(...services)
|
|
}
|
|
|
|
async check() {
|
|
return false
|
|
}
|
|
|
|
async reverse() {
|
|
this.output.warn(`Service restart state does not currently support reversal. (Host: ${this._host.name})`)
|
|
}
|
|
}
|
|
|
|
module.exports = exports = ServiceRestartState
|