mirror of
https://github.com/kemko/nomad.git
synced 2026-01-02 16:35:44 +03:00
* Initial pass at a global actions instance queue * Action card with a bunch of functionality that needs to be pared back a bit * Happy little actions button * runAction performs updated to use actions service * Stop All and Clear Finished buttons * Keyboard service now passes element, so we can pseudo-click the actions dropdown * resizable sidebar code blocks * Contextual actions within task and job levels * runAction greatly consolidated * Pluralize action text * Peer grouping of flyout action intances * ShortIDs instead of full alloc IDs * Testfixes that previously depended on notifications * Stop and stop all for peered action instances * Job name in action instance card linkable * Componentized actions global button * scss consolidation * Clear and Stop buttons become mutually exclusive in an action card * Clean up action card title styles a bit * todo-bashing * stopAll and stopPeers separated and fixed up * Socket handling functions moved to the Actions service * Error handling on socket message * Smarter import * Documentation note: need alloc-exec and alloc-raw-exec for raw_exec jobs * Tests for flyout and dropdown actions * Docs link when in empty flyout/queue state and percy snapshot test for it
36 lines
764 B
JavaScript
36 lines
764 B
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
// @ts-check
|
|
|
|
import { attr } from '@ember-data/model';
|
|
import { fragmentOwner } from 'ember-data-model-fragments/attributes';
|
|
import Fragment from 'ember-data-model-fragments/fragment';
|
|
|
|
export default class ActionModel extends Fragment {
|
|
@attr('string') name;
|
|
@attr('string') command;
|
|
|
|
/**
|
|
* @type {string[]}
|
|
*/
|
|
@attr() args;
|
|
|
|
/**
|
|
* @type {import('../models/task').default}
|
|
*/
|
|
@fragmentOwner() task;
|
|
|
|
/**
|
|
* The allocations that the action could be run on.
|
|
* @type {import('../models/allocation').default[]}
|
|
*/
|
|
get allocations() {
|
|
return this.task.taskGroup.allocations.filter((a) => {
|
|
return a.clientStatus === 'running';
|
|
});
|
|
}
|
|
}
|