github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/app/models/volume-mount.js (about) 1 import { computed } from '@ember/object'; 2 import { alias, equal } from '@ember/object/computed'; 3 import { attr } from '@ember-data/model'; 4 import Fragment from 'ember-data-model-fragments/fragment'; 5 import { fragmentOwner } from 'ember-data-model-fragments/attributes'; 6 7 export default class VolumeMount extends Fragment { 8 @fragmentOwner() task; 9 10 @attr('string') volume; 11 12 @computed('task.taskGroup.volumes.@each.name', 'volume') 13 get volumeDeclaration() { 14 return this.task.taskGroup.volumes.findBy('name', this.volume); 15 } 16 17 @equal('volumeDeclaration.type', 'csi') isCSI; 18 @alias('volumeDeclaration.source') source; 19 20 // Since CSI volumes are namespaced, the link intent of a volume mount will 21 // be to the CSI volume with a namespace that matches this task's job's namespace. 22 @alias('task.taskGroup.job.namespace') namespace; 23 24 @attr('string') destination; 25 @attr('string') propagationMode; 26 @attr('boolean') readOnly; 27 }