github.com/hernad/nomad@v1.6.112/ui/app/models/plugin.js (about) 1 /** 2 * Copyright (c) HashiCorp, Inc. 3 * SPDX-License-Identifier: MPL-2.0 4 */ 5 6 import { computed } from '@ember/object'; 7 import Model from '@ember-data/model'; 8 import { attr } from '@ember-data/model'; 9 import { fragmentArray } from 'ember-data-model-fragments/attributes'; 10 11 export default class Plugin extends Model { 12 @attr('string') plainId; 13 14 @attr() topologies; 15 @attr('string') provider; 16 @attr('string') version; 17 18 @fragmentArray('storage-controller', { defaultValue: () => [] }) controllers; 19 @fragmentArray('storage-node', { defaultValue: () => [] }) nodes; 20 21 @attr('boolean') controllerRequired; 22 @attr('number') controllersHealthy; 23 @attr('number') controllersExpected; 24 25 @computed('controllersHealthy', 'controllersExpected') 26 get controllersHealthyProportion() { 27 return this.controllersHealthy / this.controllersExpected; 28 } 29 30 @attr('number') nodesHealthy; 31 @attr('number') nodesExpected; 32 33 @computed('nodesHealthy', 'nodesExpected') 34 get nodesHealthyProportion() { 35 return this.nodesHealthy / this.nodesExpected; 36 } 37 }