github.com/hernad/nomad@v1.6.112/ui/app/models/recommendation.js (about)

     1  /**
     2   * Copyright (c) HashiCorp, Inc.
     3   * SPDX-License-Identifier: MPL-2.0
     4   */
     5  
     6  import Model from '@ember-data/model';
     7  import { attr, belongsTo } from '@ember-data/model';
     8  import { get } from '@ember/object';
     9  
    10  export default class Recommendation extends Model {
    11    @belongsTo('job') job;
    12    @belongsTo('recommendation-summary', { inverse: 'recommendations' })
    13    recommendationSummary;
    14  
    15    @attr('date') submitTime;
    16  
    17    get taskGroup() {
    18      return get(this, 'recommendationSummary.taskGroup');
    19    }
    20  
    21    @attr('string') taskName;
    22  
    23    get task() {
    24      return get(this, 'taskGroup.tasks').findBy('name', this.taskName);
    25    }
    26  
    27    @attr('string') resource;
    28    @attr('number') value;
    29  
    30    get currentValue() {
    31      const resourceProperty =
    32        this.resource === 'CPU' ? 'reservedCPU' : 'reservedMemory';
    33      return get(this, `task.${resourceProperty}`);
    34    }
    35  
    36    @attr() stats;
    37  }