open-nomad/ui/app/models/node-driver.js

31 lines
951 B
JavaScript
Raw Normal View History

import classic from 'ember-classic-decorator';
import Fragment from 'ember-data-model-fragments/fragment';
import { get, computed } from '@ember/object';
import { attr } from '@ember-data/model';
import { fragmentOwner } from 'ember-data-model-fragments/attributes';
import { fragment } from 'ember-data-model-fragments/attributes';
@classic
export default class NodeDriver extends Fragment {
@fragmentOwner() node;
2021-10-12 20:36:10 +00:00
@fragment('structured-attributes') attributes;
2021-10-12 20:36:10 +00:00
@computed('name', 'attributes.structured')
get attributesShort() {
2021-10-12 20:36:10 +00:00
const attributes = this.get('attributes.structured');
2019-03-26 07:46:44 +00:00
return get(attributes, `driver.${this.name}`);
}
@attr('string') name;
@attr('boolean', { defaultValue: false }) detected;
@attr('boolean', { defaultValue: false }) healthy;
@attr('string') healthDescription;
@attr('date') updateTime;
@computed('healthy')
get healthClass() {
2019-03-26 07:46:44 +00:00
return this.healthy ? 'running' : 'failed';
}
}