private getSiteConfig()

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;
    }