in webview-ui/src/manualTest/createClusterTests.tsx [57:116]
async function handleCreateClusterRequest(
isNewResourceGroup: boolean,
groupName: string,
location: string,
name: string,
webview: MessageSink<ToWebViewMsgDef>,
) {
if (isNewResourceGroup) {
webview.postProgressUpdate({
operationDescription: `Creating Resource Group ${groupName} in ${location}`,
event: ProgressEventType.InProgress,
errorMessage: null,
deploymentPortalUrl: null,
createdCluster: null,
});
await new Promise((resolve) => setTimeout(resolve, 5000));
webview.postProgressUpdate({
operationDescription: `Successfully created ${groupName} in ${location}`,
event: ProgressEventType.InProgress,
errorMessage: null,
deploymentPortalUrl: null,
createdCluster: null,
});
}
const deploymentPortalUrl = `https://portal.azure.com/#resource/subscriptions/${initialState.subscriptionId}/resourceGroups/${groupName}/providers/Microsoft.Resources/deployments/testdeployment?referrer_source=vscode&referrer_context=vscode-aks-tools-test`;
webview.postProgressUpdate({
operationDescription: `Creating Cluster ${name}`,
event: ProgressEventType.InProgress,
errorMessage: null,
deploymentPortalUrl,
createdCluster: null,
});
const waitMs = location === failLocationMarker ? 500 : location === cancelLocationMarker ? 3000 : 10000;
const event =
location === failLocationMarker
? ProgressEventType.Failed
: location === cancelLocationMarker
? ProgressEventType.Cancelled
: ProgressEventType.Success;
const errorMessage = event === ProgressEventType.Failed ? "Mistakes were made" : null;
await new Promise((resolve) => setTimeout(resolve, waitMs));
webview.postProgressUpdate({
operationDescription: "Creating Cluster",
event,
errorMessage,
deploymentPortalUrl,
createdCluster:
event === ProgressEventType.Success
? {
portalUrl: `https://portal.azure.com/#resource/subscriptions/${initialState.subscriptionId}/resourceGroups/${groupName}/providers/Microsoft.ContainerService/managedClusters/${name}?referrer_source=vscode&referrer_context=vscode-aks-tools-test`,
}
: null,
});
}