github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/ui/app/models/task.js (about) 1 import { attr } from '@ember-data/model'; 2 import Fragment from 'ember-data-model-fragments/fragment'; 3 import { fragment, fragmentArray, fragmentOwner } from 'ember-data-model-fragments/attributes'; 4 import { computed } from '@ember/object'; 5 6 export default class Task extends Fragment { 7 @fragmentOwner() taskGroup; 8 9 @attr('string') name; 10 @attr('string') driver; 11 @attr('string') kind; 12 13 @fragment('lifecycle') lifecycle; 14 15 @computed('lifecycle', 'lifecycle.sidecar') 16 get lifecycleName() { 17 if (this.lifecycle) { 18 const { hook, sidecar } = this.lifecycle; 19 20 if (hook === 'prestart') { 21 return sidecar ? 'prestart-sidecar' : 'prestart-ephemeral'; 22 } else if (hook === 'poststart') { 23 return sidecar ? 'poststart-sidecar' : 'poststart-ephemeral'; 24 } else if (hook === 'poststop') { 25 return 'poststop'; 26 } 27 } 28 29 return 'main'; 30 } 31 32 @attr('number') reservedMemory; 33 @attr('number') reservedCPU; 34 @attr('number') reservedDisk; 35 @attr('number') reservedEphemeralDisk; 36 37 @fragmentArray('volume-mount', { defaultValue: () => [] }) volumeMounts; 38 }