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 }