in appservice/src/createAppService/AppServicePlanSkuStep.ts [18:56]
public async prompt(context: IAppServiceWizardContext): Promise<void> {
let skus: ExtendedSkuDescription[] = context.advancedCreation ? this.getRecommendedSkus().concat(this.getAdvancedSkus()) : this.getRecommendedSkus();
if (context.newSiteKind === AppKind.functionapp) {
skus.push(...this.getElasticPremiumSkus());
} else if (context.newSiteKind?.includes(AppKind.workflowapp)) {
skus = this.getWorkflowStandardSkus();
}
const regExp: RegExp | undefined = context.planSkuFamilyFilter;
if (regExp) {
skus = skus.filter(s => !s.family || regExp.test(s.family));
}
const pricingTiers: IAzureQuickPickItem<WebSiteManagementModels.SkuDescription | undefined>[] = skus.map(s => {
return {
label: s.label || nonNullProp(s, 'name'),
description: s.description || s.tier,
data: s,
group: s.group || localize('additionalOptionsLabel', 'Additional Options')
};
});
pricingTiers.push({ label: localize('ShowPricingCalculator', '$(link-external) Show pricing information...'), data: undefined, suppressPersistence: true });
while (!context.newPlanSku) {
const placeHolder = localize('pricingTierPlaceholder', 'Select a pricing tier');
context.newPlanSku = (await context.ui.showQuickPick(pricingTiers, { placeHolder, suppressPersistence: true, enableGrouping: context.advancedCreation })).data;
if (!context.newPlanSku) {
if (context.newSiteOS === WebsiteOS.linux) {
await openUrl('https://aka.ms/AA60znj');
} else {
await openUrl('https://aka.ms/AA6202c');
}
}
}
await setLocationsTask(context);
}