63 lines
2.3 KiB
TypeScript
63 lines
2.3 KiB
TypeScript
import { CliFunction } from '../../../../cli/cli-functions-repository';
|
|
import { TaskService } from '../services/task-service';
|
|
import { GarbageCollectionService } from '../services/garbage-collection-service';
|
|
import { TertiaryResourcesService } from '../services/tertiary-resources-service';
|
|
export class AwsCliCommands {
|
|
@CliFunction(`aws-list-all`, `List all resources`)
|
|
public static async awsListAll() {
|
|
await AwsCliCommands.awsListStacks();
|
|
await AwsCliCommands.awsListTasks();
|
|
await AwsCliCommands.awsListLogGroups();
|
|
}
|
|
@CliFunction(`aws-garbage-collect-list`, `garbage collect aws resources not in use !WIP!`)
|
|
static async garbageCollectAws() {
|
|
await GarbageCollectionService.cleanup(false);
|
|
}
|
|
@CliFunction(`aws-garbage-collect-all`, `garbage collect aws resources regardless of whether they are in use`)
|
|
static async garbageCollectAwsAll() {
|
|
await GarbageCollectionService.cleanup(true);
|
|
}
|
|
@CliFunction(
|
|
`aws-garbage-collect-all-1d-older`,
|
|
`garbage collect aws resources created more than 1d ago (ignore if they are in use)`,
|
|
)
|
|
static async garbageCollectAwsAllOlderThanOneDay() {
|
|
await GarbageCollectionService.cleanup(true, true);
|
|
}
|
|
|
|
@CliFunction(`aws-list-stacks`, `List stacks`)
|
|
static async awsListStacks(perResultCallback: any = false) {
|
|
return TaskService.awsListStacks(perResultCallback);
|
|
}
|
|
@CliFunction(`aws-list-tasks`, `List tasks`)
|
|
static async awsListTasks(perResultCallback: any = false) {
|
|
return TaskService.awsListJobs(perResultCallback);
|
|
}
|
|
|
|
@CliFunction(`aws-list-log-groups`, `List tasks`)
|
|
static async awsListLogGroups(perResultCallback: any = false) {
|
|
await TertiaryResourcesService.AwsListLogGroups(perResultCallback);
|
|
}
|
|
|
|
@CliFunction(`aws-list-jobs`, `List tasks`)
|
|
public static async awsListJobs(perResultCallback: any = false) {
|
|
return TaskService.awsListJobs(perResultCallback);
|
|
}
|
|
|
|
@CliFunction(`list-tasks`, `List tasks`)
|
|
static async listTasks(perResultCallback: any = false) {
|
|
return TaskService.awsListJobs(perResultCallback);
|
|
}
|
|
|
|
@CliFunction(`watch`, `List tasks`)
|
|
static async watchTasks() {
|
|
return TaskService.watch();
|
|
}
|
|
|
|
@CliFunction(`describe-resource`, `desribe tasks`)
|
|
static async describe(options) {
|
|
// return CloudRunner.Provider.inspect();
|
|
return await TaskService.awsDescribeJob(options.select);
|
|
}
|
|
}
|