Skip to content

Commit 5ecaed7

Browse files
authored
Update deleteManagedEnvironment activity messages and general housekeeping (#431)
1 parent 41f34b9 commit 5ecaed7

File tree

5 files changed

+42
-49
lines changed

5 files changed

+42
-49
lines changed

src/commands/deleteContainerApp/DeleteAllContainerAppsStep.ts

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
* Licensed under the MIT License. See License.md in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { ContainerAppsAPIClient } from "@azure/arm-appcontainers";
6+
import type { ContainerAppsAPIClient } from "@azure/arm-appcontainers";
77
import { AzureWizardExecuteStep, parseError } from "@microsoft/vscode-azext-utils";
8-
import { Progress, window } from "vscode";
8+
import type { Progress } from "vscode";
99
import { ext } from "../../extensionVariables";
1010
import { createContainerAppsAPIClient } from "../../utils/azureClients";
1111
import { localize } from "../../utils/localize";
12-
import { IDeleteContainerAppWizardContext } from "./IDeleteContainerAppWizardContext";
12+
import type { IDeleteContainerAppWizardContext } from "./IDeleteContainerAppWizardContext";
1313

1414
export class DeleteAllContainerAppsStep extends AzureWizardExecuteStep<IDeleteContainerAppWizardContext> {
1515
public priority: number = 100;
@@ -19,13 +19,14 @@ export class DeleteAllContainerAppsStep extends AzureWizardExecuteStep<IDeleteCo
1919
const webClient: ContainerAppsAPIClient = await createContainerAppsAPIClient([context, context.subscription]);
2020

2121
for (const containerAppName of containerAppNames) {
22-
const deleting: string = localize('deletingContainerApp', 'Deleting Container App "{0}"...', containerAppName);
23-
const deleteSucceeded: string = localize('deletedContainerApp', 'Successfully deleted Container App "{0}".', containerAppName);
24-
2522
try {
26-
ext.outputChannel.appendLog(deleting);
23+
const deleting: string = localize('deletingContainerApp', 'Deleting container app "{0}"...', containerAppName);
24+
const deleted: string = localize('deletedContainerApp', 'Deleted container app "{0}".', containerAppName);
25+
2726
progress.report({ message: deleting });
2827
await webClient.containerApps.beginDeleteAndWait(context.resourceGroupName, containerAppName);
28+
29+
ext.outputChannel.appendLog(deleted);
2930
} catch (error) {
3031
const pError = parseError(error);
3132
// a 204 indicates a success, but sdk is catching it as an exception
@@ -34,10 +35,6 @@ export class DeleteAllContainerAppsStep extends AzureWizardExecuteStep<IDeleteCo
3435
throw error;
3536
}
3637
}
37-
if (!context.suppressNotification) {
38-
void window.showInformationMessage(deleteSucceeded);
39-
}
40-
ext.outputChannel.appendLog(deleteSucceeded);
4138
}
4239
}
4340

src/commands/deleteManagedEnvironment/DeleteEnvironmentConfirmationStep.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,34 @@
66
import { AzureWizardPromptStep, DialogResponses, nonNullValue, UserCancelledError } from '@microsoft/vscode-azext-utils';
77
import { localize } from '../../utils/localize';
88
import { settingUtils } from '../../utils/settingUtils';
9-
import { IDeleteManagedEnvironmentWizardContext } from './IDeleteManagedEnvironmentWizardContext';
9+
import type { IDeleteManagedEnvironmentContext } from './IDeleteManagedEnvironmentContext';
1010

11-
export class DeleteEnvironmentConfirmationStep extends AzureWizardPromptStep<IDeleteManagedEnvironmentWizardContext> {
11+
export class DeleteEnvironmentConfirmationStep extends AzureWizardPromptStep<IDeleteManagedEnvironmentContext> {
1212
private managedEnvironmentName: string | undefined;
1313

14-
public async prompt(context: IDeleteManagedEnvironmentWizardContext): Promise<void> {
14+
public async prompt(context: IDeleteManagedEnvironmentContext): Promise<void> {
1515
this.managedEnvironmentName = context.managedEnvironmentName;
1616

1717
const numOfResources = context.containerAppNames.length;
1818
const hasNoResources: boolean = !numOfResources;
1919

20-
const deleteEnv: string = localize('confirmDeleteManagedEnv', 'Are you sure you want to delete Container Apps environment "{0}"?', context.managedEnvironmentName);
21-
const deleteEnvAndApps: string = localize('confirmDeleteEnvAndApps', 'Are you sure you want to delete Container Apps environment "{0}"? Deleting this will delete {1} Container App(s) in this environment.',
20+
const deleteEnv: string = localize('confirmDeleteManagedEnv', 'Are you sure you want to delete container apps environment "{0}"?', this.managedEnvironmentName);
21+
const deleteEnvAndApps: string = localize('confirmDeleteEnvAndApps', 'Are you sure you want to delete container apps environment "{0}"? Deleting this will delete {1} container app(s) in this environment.',
2222
this.managedEnvironmentName, numOfResources);
2323

2424
const deleteConfirmation: string | undefined = settingUtils.getWorkspaceSetting('deleteConfirmation');
2525
if (deleteConfirmation === 'ClickButton') {
2626
const message: string = hasNoResources ? deleteEnv : deleteEnvAndApps;
2727
await context.ui.showWarningMessage(message, { modal: true, stepName: 'confirmDelete' }, DialogResponses.deleteResponse); // no need to check result - cancel will throw error
2828
} else {
29-
const prompt: string = localize('enterToDelete', 'Enter "{0}" to delete this Container Apps environment. Deleting this will delete {1} Container App(s) in this environment.',
29+
const prompt: string = localize('enterToDelete', 'Enter "{0}" to delete this container apps environment. Deleting this will delete {1} container app(s) in this environment.',
3030
this.managedEnvironmentName, numOfResources);
3131

3232
const result: string = await context.ui.showInputBox({
3333
prompt,
3434
validateInput: (val: string | undefined) => this.validateInput(val, prompt)
3535
});
36+
3637
if (!this.isNameEqualToEnvironment(result)) { // Check again just in case `validateInput` didn't prevent the input box from closing
3738
context.telemetry.properties.cancelStep = 'mismatchDelete';
3839
throw new UserCancelledError();

src/commands/deleteManagedEnvironment/DeleteManagedEnvironmentStep.ts

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,24 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { ContainerAppsAPIClient } from "@azure/arm-appcontainers";
6+
import type { ContainerAppsAPIClient } from "@azure/arm-appcontainers";
77
import { AzureWizardExecuteStep, parseError } from "@microsoft/vscode-azext-utils";
8-
import { Progress, window } from "vscode";
8+
import type { Progress } from "vscode";
99
import { ext } from "../../extensionVariables";
1010
import { createContainerAppsAPIClient } from "../../utils/azureClients";
1111
import { localize } from "../../utils/localize";
12-
import { IDeleteManagedEnvironmentWizardContext } from "./IDeleteManagedEnvironmentWizardContext";
12+
import type { IDeleteManagedEnvironmentContext } from "./IDeleteManagedEnvironmentContext";
1313

14-
export class DeleteManagedEnvironmentStep extends AzureWizardExecuteStep<IDeleteManagedEnvironmentWizardContext> {
14+
export class DeleteManagedEnvironmentStep extends AzureWizardExecuteStep<IDeleteManagedEnvironmentContext> {
1515
public priority: number = 110;
1616

17-
public async execute(context: IDeleteManagedEnvironmentWizardContext, progress: Progress<{ message?: string | undefined; increment?: number | undefined }>): Promise<void> {
18-
const deleting: string = localize('deletingManagedEnv', 'Deleting Container Apps environment "{0}"... this may take several minutes.', context.managedEnvironmentName);
17+
public async execute(context: IDeleteManagedEnvironmentContext, progress: Progress<{ message?: string | undefined; increment?: number | undefined }>): Promise<void> {
1918
const client: ContainerAppsAPIClient = await createContainerAppsAPIClient([context, context.subscription]);
2019

20+
const deleting: string = localize('deletingManagedEnv', 'This may take several minutes...');
21+
progress.report({ message: deleting });
22+
2123
try {
22-
ext.outputChannel.appendLog(deleting);
23-
progress.report({ message: deleting });
2424
await client.managedEnvironments.beginDeleteAndWait(context.resourceGroupName, context.managedEnvironmentName);
2525
} catch (error) {
2626
const pError = parseError(error);
@@ -31,14 +31,11 @@ export class DeleteManagedEnvironmentStep extends AzureWizardExecuteStep<IDelete
3131
}
3232
}
3333

34-
const deleteSucceeded: string = localize('deleteManagedEnvSucceeded', 'Successfully deleted Container Apps environment "{0}".', context.managedEnvironmentName);
35-
if (!context.suppressNotification) {
36-
void window.showInformationMessage(deleteSucceeded);
37-
}
38-
ext.outputChannel.appendLog(deleteSucceeded);
34+
const deleted: string = localize('deletedManagedEnv', 'Deleted container apps environment "{0}".', context.managedEnvironmentName);
35+
ext.outputChannel.appendLog(deleted);
3936
}
4037

41-
public shouldExecute(context: IDeleteManagedEnvironmentWizardContext): boolean {
42-
return !!context.managedEnvironmentName && !!context.resourceGroupName && !!context.subscription;
38+
public shouldExecute(context: IDeleteManagedEnvironmentContext): boolean {
39+
return !!context.managedEnvironmentName && !!context.resourceGroupName;
4340
}
4441
}

src/commands/deleteManagedEnvironment/IDeleteManagedEnvironmentWizardContext.ts renamed to src/commands/deleteManagedEnvironment/IDeleteManagedEnvironmentContext.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { ExecuteActivityContext, IActionContext, ISubscriptionContext } from "@microsoft/vscode-azext-utils";
6+
import type { ExecuteActivityContext, IActionContext, ISubscriptionContext } from "@microsoft/vscode-azext-utils";
77

8-
export interface IDeleteManagedEnvironmentWizardContext extends IActionContext, ExecuteActivityContext {
8+
export interface IDeleteManagedEnvironmentContext extends IActionContext, ExecuteActivityContext {
99
subscription: ISubscriptionContext;
1010
resourceGroupName: string;
1111
managedEnvironmentName: string;

src/commands/deleteManagedEnvironment/deleteManagedEnvironment.ts

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,45 +7,43 @@ import { getResourceGroupFromId } from "@microsoft/vscode-azext-azureutils";
77
import { AzureWizard, createSubscriptionContext, IActionContext } from "@microsoft/vscode-azext-utils";
88
import { ext } from "../../extensionVariables";
99
import { ContainerAppItem } from "../../tree/ContainerAppItem";
10-
import { ManagedEnvironmentItem } from "../../tree/ManagedEnvironmentItem";
10+
import type { ManagedEnvironmentItem } from "../../tree/ManagedEnvironmentItem";
1111
import { createActivityContext } from "../../utils/activityUtils";
1212
import { localize } from "../../utils/localize";
1313
import { pickEnvironment } from "../../utils/pickItem/pickEnvironment";
1414
import { DeleteAllContainerAppsStep } from "../deleteContainerApp/DeleteAllContainerAppsStep";
1515
import { DeleteEnvironmentConfirmationStep } from "./DeleteEnvironmentConfirmationStep";
1616
import { DeleteManagedEnvironmentStep } from "./DeleteManagedEnvironmentStep";
17-
import { IDeleteManagedEnvironmentWizardContext } from "./IDeleteManagedEnvironmentWizardContext";
17+
import type { IDeleteManagedEnvironmentContext } from "./IDeleteManagedEnvironmentContext";
1818

19-
export async function deleteManagedEnvironment(context: IActionContext & { suppressPrompt?: boolean }, node?: ManagedEnvironmentItem): Promise<void> {
19+
export async function deleteManagedEnvironment(context: IActionContext, node?: ManagedEnvironmentItem): Promise<void> {
2020
const { subscription, managedEnvironment } = node ?? await pickEnvironment(context, {
2121
title: localize('deleteContainerAppsEnvironment', 'Delete Container Apps Environment'),
2222
});
2323

2424
const containerApps = await ContainerAppItem.List(context, subscription, managedEnvironment.id);
2525
const resourceGroupName = getResourceGroupFromId(managedEnvironment.id);
26-
const deleteManagedEnvironment: string = localize('deleteManagedEnvironment', 'Delete Container Apps Environment "{0}"', managedEnvironment.name);
2726

28-
const wizardContext: IDeleteManagedEnvironmentWizardContext = {
29-
activityTitle: deleteManagedEnvironment,
30-
containerAppNames: containerApps.map(ca => ca.name),
31-
managedEnvironmentName: managedEnvironment.name,
32-
resourceGroupName: resourceGroupName,
33-
subscription: createSubscriptionContext(subscription),
27+
const wizardContext: IDeleteManagedEnvironmentContext = {
3428
...context,
35-
...(await createActivityContext())
29+
...await createActivityContext(),
30+
subscription: createSubscriptionContext(subscription),
31+
resourceGroupName: resourceGroupName,
32+
managedEnvironmentName: managedEnvironment.name,
33+
containerAppNames: containerApps.map(ca => ca.name),
3634
};
3735

38-
const wizard: AzureWizard<IDeleteManagedEnvironmentWizardContext> = new AzureWizard(wizardContext, {
36+
const wizard: AzureWizard<IDeleteManagedEnvironmentContext> = new AzureWizard(wizardContext, {
37+
title: localize('deleteManagedEnvironment', 'Delete container apps environment "{0}"', managedEnvironment.name),
3938
promptSteps: [new DeleteEnvironmentConfirmationStep()],
4039
executeSteps: [new DeleteAllContainerAppsStep(), new DeleteManagedEnvironmentStep()]
4140
});
4241

43-
if (!context.suppressPrompt) {
44-
await wizard.prompt();
45-
}
42+
await wizard.prompt();
4643

4744
await ext.state.showDeleting(managedEnvironment.id, async () => {
4845
await wizard.execute();
4946
});
47+
5048
ext.branchDataProvider.refresh();
5149
}

0 commit comments

Comments
 (0)