From 0b538311f08a90a4ddaa1ef2980f9537a37efde3 Mon Sep 17 00:00:00 2001 From: Frostebite Date: Tue, 18 Oct 2022 23:39:20 +0100 Subject: [PATCH] stubbing inspection api --- src/model/cli/cli.ts | 54 +++++++++++++++++++ src/model/cloud-runner/providers/aws/index.ts | 8 ++- .../cloud-runner/providers/docker/index.ts | 8 ++- src/model/cloud-runner/providers/k8s/index.ts | 8 ++- .../cloud-runner/providers/local/index.ts | 8 ++- .../providers/provider-interface.ts | 4 +- .../cloud-runner/providers/test/index.ts | 8 ++- 7 files changed, 92 insertions(+), 6 deletions(-) diff --git a/src/model/cli/cli.ts b/src/model/cli/cli.ts index a93c11d0..a71d972a 100644 --- a/src/model/cli/cli.ts +++ b/src/model/cli/cli.ts @@ -111,6 +111,60 @@ export class Cli { return await CloudRunner.run(buildParameter, baseImage.toString()); } + @CliFunction(`gc`, `runs garbage collection`) + public static async GarbageCollect(): Promise { + const buildParameter = await BuildParameters.create(); + + await CloudRunner.setup(buildParameter); + + return await CloudRunner.Provider.garbageCollect(``, false, 0, false, false); + } + + @CliFunction(`list-resources`, `runs garbage collection`) + public static async ListResources(): Promise { + const buildParameter = await BuildParameters.create(); + + await CloudRunner.setup(buildParameter); + + return await CloudRunner.Provider.listResources(); + } + + @CliFunction(`list-worfklow`, `runs garbage collection`) + public static async ListWorfklow(): Promise { + const buildParameter = await BuildParameters.create(); + + await CloudRunner.setup(buildParameter); + + return await CloudRunner.Provider.listWorkflow(); + } + + @CliFunction(`watch`, `runs garbage collection`) + public static async Watch(): Promise { + const buildParameter = await BuildParameters.create(); + + await CloudRunner.setup(buildParameter); + + return await CloudRunner.Provider.watchWorkflow(); + } + + @CliFunction(`inspect-resource`, `runs garbage collection`) + public static async InspectResource(): Promise { + const buildParameter = await BuildParameters.create(); + + await CloudRunner.setup(buildParameter); + + return await CloudRunner.Provider.inspectResources(); + } + + @CliFunction(`inspect-workflow`, `runs garbage collection`) + public static async InspectWorkflow(): Promise { + const buildParameter = await BuildParameters.create(); + + await CloudRunner.setup(buildParameter); + + return await CloudRunner.Provider.inspectWorkflow(); + } + @CliFunction(`remote-cli-post-build`, `runs a cloud runner build`) public static async PostCLIBuild(): Promise { core.info(`Running POST build tasks`); diff --git a/src/model/cloud-runner/providers/aws/index.ts b/src/model/cloud-runner/providers/aws/index.ts index 5d0a892f..1aa1313b 100644 --- a/src/model/cloud-runner/providers/aws/index.ts +++ b/src/model/cloud-runner/providers/aws/index.ts @@ -20,6 +20,12 @@ class AWSBuildEnvironment implements ProviderInterface { constructor(buildParameters: BuildParameters) { this.baseStackName = buildParameters.awsBaseStackName; } + listWorkflow(): Promise { + throw new Error('Method not implemented.'); + } + inspectWorkflow(): Promise { + throw new Error('Method not implemented.'); + } async inspectResources(): Promise { return await TaskService.awsDescribeJob(''); } @@ -60,7 +66,7 @@ class AWSBuildEnvironment implements ProviderInterface { await AwsCliCommands.awsListTasks(); await AwsCliCommands.awsListLogGroups(); - return ''; + return []; } async cleanupWorkflow( diff --git a/src/model/cloud-runner/providers/docker/index.ts b/src/model/cloud-runner/providers/docker/index.ts index 05a193f0..0f56b911 100644 --- a/src/model/cloud-runner/providers/docker/index.ts +++ b/src/model/cloud-runner/providers/docker/index.ts @@ -11,13 +11,19 @@ import CloudRunner from '../../cloud-runner'; class LocalDockerCloudRunner implements ProviderInterface { public buildParameters: BuildParameters | undefined; + listWorkflow(): Promise { + throw new Error('Method not implemented.'); + } + inspectWorkflow(): Promise { + throw new Error('Method not implemented.'); + } inspectResources(): Promise { throw new Error('Method not implemented.'); } watchWorkflow(): Promise { throw new Error('Method not implemented.'); } - listResources(): Promise { + listResources(): Promise { throw new Error('Method not implemented.'); } garbageCollect( diff --git a/src/model/cloud-runner/providers/k8s/index.ts b/src/model/cloud-runner/providers/k8s/index.ts index f10bf890..8a917f1f 100644 --- a/src/model/cloud-runner/providers/k8s/index.ts +++ b/src/model/cloud-runner/providers/k8s/index.ts @@ -39,13 +39,19 @@ class Kubernetes implements ProviderInterface { this.namespace = 'default'; this.buildParameters = buildParameters; } + listWorkflow(): Promise { + throw new Error('Method not implemented.'); + } + inspectWorkflow(): Promise { + throw new Error('Method not implemented.'); + } inspectResources(): Promise { throw new Error('Method not implemented.'); } watchWorkflow(): Promise { throw new Error('Method not implemented.'); } - listResources(): Promise { + listResources(): Promise { throw new Error('Method not implemented.'); } garbageCollect( diff --git a/src/model/cloud-runner/providers/local/index.ts b/src/model/cloud-runner/providers/local/index.ts index a0dad493..0c4ba460 100644 --- a/src/model/cloud-runner/providers/local/index.ts +++ b/src/model/cloud-runner/providers/local/index.ts @@ -6,13 +6,19 @@ import { ProviderInterface } from '../provider-interface'; import CloudRunnerSecret from '../../services/cloud-runner-secret'; class LocalCloudRunner implements ProviderInterface { + listWorkflow(): Promise { + throw new Error('Method not implemented.'); + } + inspectWorkflow(): Promise { + throw new Error('Method not implemented.'); + } inspectResources(): Promise { throw new Error('Method not implemented.'); } watchWorkflow(): Promise { throw new Error('Method not implemented.'); } - listResources(): Promise { + listResources(): Promise { throw new Error('Method not implemented.'); } garbageCollect( diff --git a/src/model/cloud-runner/providers/provider-interface.ts b/src/model/cloud-runner/providers/provider-interface.ts index 44c71fcd..7a724986 100644 --- a/src/model/cloud-runner/providers/provider-interface.ts +++ b/src/model/cloud-runner/providers/provider-interface.ts @@ -39,7 +39,6 @@ export interface ProviderInterface { // eslint-disable-next-line no-unused-vars secrets: CloudRunnerSecret[], ): Promise; - listResources(): Promise; garbageCollect( // eslint-disable-next-line no-unused-vars filter: string, @@ -52,6 +51,9 @@ export interface ProviderInterface { // eslint-disable-next-line no-unused-vars baseDependencies: boolean, ): Promise; + listResources(): Promise; inspectResources(): Promise; + listWorkflow(): Promise; + inspectWorkflow(): Promise; watchWorkflow(): Promise; } diff --git a/src/model/cloud-runner/providers/test/index.ts b/src/model/cloud-runner/providers/test/index.ts index ae30689b..89da3e80 100644 --- a/src/model/cloud-runner/providers/test/index.ts +++ b/src/model/cloud-runner/providers/test/index.ts @@ -5,13 +5,19 @@ import { ProviderInterface } from '../provider-interface'; import CloudRunnerSecret from '../../services/cloud-runner-secret'; class TestCloudRunner implements ProviderInterface { + listWorkflow(): Promise { + throw new Error('Method not implemented.'); + } + inspectWorkflow(): Promise { + throw new Error('Method not implemented.'); + } inspectResources(): Promise { throw new Error('Method not implemented.'); } watchWorkflow(): Promise { throw new Error('Method not implemented.'); } - listResources(): Promise { + listResources(): Promise { throw new Error('Method not implemented.'); } garbageCollect(