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  }