public async Task <ResourceConfig <Site> > CreateConfigAsync() { _cmdlet.ResourceGroupName = _cmdlet.ResourceGroupName ?? _cmdlet.Name; _cmdlet.AppServicePlan = _cmdlet.AppServicePlan ?? _cmdlet.Name; var planResourceGroup = _cmdlet.ResourceGroupName; var planName = _cmdlet.AppServicePlan; var rgStrategy = ResourceGroupStrategy.CreateResourceGroupConfig(_cmdlet.ResourceGroupName); var planRG = rgStrategy; if (_cmdlet.MyInvocation.BoundParameters.ContainsKey(nameof(AppServicePlan))) { if (!_cmdlet.TryGetServerFarmFromResourceId(_cmdlet.AppServicePlan, out planResourceGroup, out planName)) { planResourceGroup = _cmdlet.ResourceGroupName; planName = _cmdlet.AppServicePlan; } planRG = ResourceGroupStrategy.CreateResourceGroupConfig(planResourceGroup); } else { var farm = await _cmdlet.GetDefaultServerFarm(Location); if (farm != null) { planResourceGroup = farm.ResourceGroup; planName = farm.Name; planRG = ResourceGroupStrategy.CreateResourceGroupConfig(planResourceGroup); } } AppServicePlan appServiceplan = _websitesClient.GetAppServicePlan(planResourceGroup, planName); // If ContainerImageName is specified and appservice plan doesn’t exist (appServiceplan == null) we will try to create plan with windows container var farmStrategy = planRG.CreateServerFarmConfig(planResourceGroup, planName, appServiceplan == null && _cmdlet.ContainerImageName != null); return(rgStrategy.CreateSiteConfig(farmStrategy, _cmdlet.Name, this.GetNewConfig(appServiceplan))); }
public async Task <ResourceConfig <Site> > CreateConfigAsync() { _cmdlet.ResourceGroupName = _cmdlet.ResourceGroupName ?? _cmdlet.Name; _cmdlet.AppServicePlan = _cmdlet.AppServicePlan ?? _cmdlet.Name; var planResourceGroup = _cmdlet.ResourceGroupName; var planName = _cmdlet.AppServicePlan; var rgStrategy = ResourceGroupStrategy.CreateResourceGroupConfig(_cmdlet.ResourceGroupName); var planRG = rgStrategy; if (_cmdlet.MyInvocation.BoundParameters.ContainsKey(nameof(AppServicePlan))) { if (!_cmdlet.TryGetServerFarmFromResourceId(_cmdlet.AppServicePlan, out planResourceGroup, out planName)) { planResourceGroup = _cmdlet.ResourceGroupName; planName = _cmdlet.AppServicePlan; } planRG = ResourceGroupStrategy.CreateResourceGroupConfig(planResourceGroup); } else { var farm = await _cmdlet.GetDefaultServerFarm(Location); if (farm != null) { planResourceGroup = farm.ResourceGroup; planName = farm.Name; planRG = ResourceGroupStrategy.CreateResourceGroupConfig(planResourceGroup); } } var farmStrategy = planRG.CreateServerFarmConfig(planResourceGroup, planName); return(rgStrategy.CreateSiteConfig(farmStrategy, _cmdlet.Name)); }