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  }