in src/commands/createWebApp/WebAppCreateStep.ts [111:153]
private getSiteConfig(context: IWebAppWizardContext): WebSiteManagementModels.SiteConfig {
const newSiteConfig: WebSiteManagementModels.SiteConfig = {};
newSiteConfig.appSettings = this.getAppSettings(context);
const stack: FullWebAppStack = nonNullProp(context, 'newSiteStack');
if (context.newSiteOS === WebsiteOS.linux) {
newSiteConfig.linuxFxVersion = stack.stack.value === 'java' ?
getJavaLinuxRuntime(stack.majorVersion.value, nonNullProp(context, 'newSiteJavaStack').minorVersion) :
nonNullProp(stack.minorVersion.stackSettings, 'linuxRuntimeSettings').runtimeVersion;
} else {
const runtimeVersion: string = nonNullProp(stack.minorVersion.stackSettings, 'windowsRuntimeSettings').runtimeVersion;
switch (stack.stack.value) {
case 'dotnet':
if (!/core/i.test(stack.minorVersion.displayText)) { // Filter out .NET _Core_ stacks because this is a .NET _Framework_ property
newSiteConfig.netFrameworkVersion = runtimeVersion;
}
break;
case 'php':
newSiteConfig.phpVersion = runtimeVersion;
break;
case 'node':
newSiteConfig.nodeVersion = runtimeVersion;
newSiteConfig.appSettings.push({
name: 'WEBSITE_NODE_DEFAULT_VERSION',
value: runtimeVersion
});
break;
case 'java':
newSiteConfig.javaVersion = runtimeVersion;
const javaStack: FullJavaStack = nonNullProp(context, 'newSiteJavaStack');
const windowsStackSettings: WindowsJavaContainerSettings = nonNullProp(javaStack.minorVersion.stackSettings, 'windowsContainerSettings');
newSiteConfig.javaContainer = windowsStackSettings.javaContainer;
newSiteConfig.javaContainerVersion = windowsStackSettings.javaContainerVersion;
break;
case 'python':
newSiteConfig.pythonVersion = runtimeVersion;
break;
default:
}
}
return newSiteConfig;
}