/// <summary> /// Gets the website configuration. /// </summary> /// <param name="name">The website name</param> /// <returns>The website configuration object</returns> public SiteWithConfig GetWebsiteConfiguration(string name) { Site website = GetWebsite(name); SiteConfig configuration = WebsiteChannel.GetSiteConfig(subscriptionId, website.WebSpace, website.Name); DiagnosticsSettings diagnosticsSettings = GetApplicationDiagnosticsSettings(website.Name); SiteWithConfig siteWithConfig = new SiteWithConfig(website, configuration, diagnosticsSettings); return(siteWithConfig); }
private void UpdateConfig() { bool changes = false; var websiteConfigUpdate = new SiteWithConfig(website, currentSiteConfig); if (SiteWithConfig != null) { websiteConfigUpdate = SiteWithConfig; changes = true; } changes = changes || ObjectDeltaMapper.Map(this, currentSiteConfig, websiteConfigUpdate, "HostNames", "SiteWithConfig", "PassThru"); if (changes) { WebsitesClient.UpdateWebsiteConfiguration(Name, websiteConfigUpdate.GetSiteConfig(), Slot); } }
public void GetWebsiteProcessShowTest() { // Setup var clientMock = new Mock <IWebsitesClient>(); clientMock.Setup(c => c.GetWebsiteSlots(It.IsAny <string>())) .Returns(new Sites() { new Site { Name = "website1", WebSpace = "webspace1" } }); clientMock.Setup(c => c.GetWebsiteConfiguration(It.IsAny <string>())) .Returns(new SiteConfig { PublishingUsername = "******" } ); clientMock.Setup(c => c.GetWebsiteConfiguration(It.IsAny <string>(), null)) .Returns(new SiteConfig { PublishingUsername = "******" } ); SetupProfile(null); // Test var getAzureWebsiteCommand = new GetAzureWebsiteCommand { CommandRuntime = new MockCommandRuntime(), Name = "website1", WebsitesClient = clientMock.Object }; getAzureWebsiteCommand.ExecuteWithProcessing(); Assert.Equal(1, ((MockCommandRuntime)getAzureWebsiteCommand.CommandRuntime).OutputPipeline.Count); SiteWithConfig website = ((MockCommandRuntime)getAzureWebsiteCommand.CommandRuntime).OutputPipeline[0] as SiteWithConfig; Assert.NotNull(website); Assert.NotNull(website); Assert.Equal("website1", website.Name); Assert.Equal("webspace1", website.WebSpace); SetupProfile(null); // Run with mixed casing getAzureWebsiteCommand = new GetAzureWebsiteCommand { CommandRuntime = new MockCommandRuntime(), Name = "WEBSiTe1", WebsitesClient = clientMock.Object }; getAzureWebsiteCommand.ExecuteWithProcessing(); Assert.Equal(1, ((MockCommandRuntime)getAzureWebsiteCommand.CommandRuntime).OutputPipeline.Count); website = ((MockCommandRuntime)getAzureWebsiteCommand.CommandRuntime).OutputPipeline[0] as SiteWithConfig; Assert.NotNull(website); Assert.NotNull(website); Assert.Equal("website1", website.Name); Assert.Equal("webspace1", website.WebSpace); }
public override void ExecuteCmdlet() { base.ExecuteCmdlet(); WebsitesClient = WebsitesClient ?? new WebsitesClient(CurrentSubscription, WriteDebug); string suffix = WebsitesClient.GetWebsiteDnsSuffix(); Site website = null; SiteConfig websiteConfig = null; InvokeInOperationContext(() => { try { website = RetryCall(s => Channel.GetSite(s, Name, null)); websiteConfig = RetryCall(s => Channel.GetSiteConfig(s, website.WebSpace, Name)); } catch (CommunicationException ex) { WriteErrorDetails(ex); } }); if (website == null) { throw new Exception(string.Format(Resources.InvalidWebsite, Name)); } bool changes = false; SiteWithConfig websiteConfigUpdate = new SiteWithConfig(website, websiteConfig); if (SiteWithConfig != null) { websiteConfigUpdate = SiteWithConfig; changes = true; } if (NumberOfWorkers != null && !NumberOfWorkers.Equals(websiteConfig.NumberOfWorkers)) { changes = true; websiteConfigUpdate.NumberOfWorkers = NumberOfWorkers; } if (DefaultDocuments != null && !DefaultDocuments.Equals(websiteConfig.DefaultDocuments)) { changes = true; websiteConfigUpdate.DefaultDocuments = DefaultDocuments; } if (NetFrameworkVersion != null && !NetFrameworkVersion.Equals(websiteConfig.NetFrameworkVersion)) { changes = true; websiteConfigUpdate.NetFrameworkVersion = NetFrameworkVersion; } if (PhpVersion != null && !PhpVersion.Equals(websiteConfig.PhpVersion)) { changes = true; websiteConfigUpdate.PhpVersion = PhpVersion; } if (RequestTracingEnabled != null && !RequestTracingEnabled.Equals(websiteConfig.RequestTracingEnabled)) { changes = true; websiteConfigUpdate.RequestTracingEnabled = RequestTracingEnabled; } if (HttpLoggingEnabled != null && !HttpLoggingEnabled.Equals(websiteConfig.HttpLoggingEnabled)) { changes = true; websiteConfigUpdate.HttpLoggingEnabled = HttpLoggingEnabled; } if (DetailedErrorLoggingEnabled != null && !DetailedErrorLoggingEnabled.Equals(websiteConfig.DetailedErrorLoggingEnabled)) { changes = true; websiteConfigUpdate.DetailedErrorLoggingEnabled = DetailedErrorLoggingEnabled; } if (AppSettings != null && !AppSettings.Equals(websiteConfig.AppSettings)) { changes = true; websiteConfigUpdate.AppSettings = AppSettings; } if (Metadata != null && !Metadata.Equals(websiteConfig.Metadata)) { changes = true; websiteConfigUpdate.Metadata = Metadata; } if (ConnectionStrings != null && !ConnectionStrings.Equals(websiteConfig.ConnectionStrings)) { changes = true; websiteConfigUpdate.ConnectionStrings = ConnectionStrings; } if (HandlerMappings != null && !HandlerMappings.Equals(websiteConfig.HandlerMappings)) { changes = true; websiteConfigUpdate.HandlerMappings = HandlerMappings; } bool siteChanges = false; Site websiteUpdate = new Site { Name = Name, HostNames = new[] { string.Format("{0}.{1}", Name, suffix) } }; if (HostNames != null) { siteChanges = true; List <string> newHostNames = new List <string> { string.Format("{0}.{1}", Name, suffix) }; newHostNames.AddRange(HostNames); websiteUpdate.HostNames = newHostNames.ToArray(); } if (changes) { InvokeInOperationContext(() => { try { RetryCall(s => Channel.UpdateSiteConfig(s, website.WebSpace, Name, websiteConfigUpdate.GetSiteConfig())); } catch (CommunicationException ex) { WriteErrorDetails(ex); } }); } if (siteChanges) { InvokeInOperationContext(() => { try { RetryCall(s => Channel.UpdateSite(s, website.WebSpace, Name, websiteUpdate)); } catch (CommunicationException ex) { WriteErrorDetails(ex); } }); } if (PassThru.IsPresent) { WriteObject(true); } }
public override void ExecuteCmdlet() { Site website = null; SiteConfig websiteConfig = null; InvokeInOperationContext(() => { try { website = RetryCall(s => Channel.GetSite(s, Name, null)); websiteConfig = RetryCall(s => Channel.GetSiteConfig(s, website.WebSpace, Name)); } catch (CommunicationException ex) { WriteErrorDetails(ex); } }); if (website == null) { throw new Exception(string.Format(Resources.InvalidWebsite, Name)); } bool changes = false; SiteWithConfig websiteConfigUpdate = new SiteWithConfig(website, websiteConfig); if (SiteWithConfig != null) { websiteConfigUpdate = SiteWithConfig; changes = true; } if (NumberOfWorkers != null && !NumberOfWorkers.Equals(websiteConfig.NumberOfWorkers)) { changes = true; websiteConfigUpdate.NumberOfWorkers = NumberOfWorkers; } if (DefaultDocuments != null && !DefaultDocuments.Equals(websiteConfig.DefaultDocuments)) { changes = true; websiteConfigUpdate.DefaultDocuments = DefaultDocuments; } if (NetFrameworkVersion != null && !NetFrameworkVersion.Equals(websiteConfig.NetFrameworkVersion)) { changes = true; websiteConfigUpdate.NetFrameworkVersion = NetFrameworkVersion; } if (PhpVersion != null && !PhpVersion.Equals(websiteConfig.PhpVersion)) { changes = true; websiteConfigUpdate.PhpVersion = PhpVersion; } if (RequestTracingEnabled != null && !RequestTracingEnabled.Equals(websiteConfig.RequestTracingEnabled)) { changes = true; websiteConfigUpdate.RequestTracingEnabled = RequestTracingEnabled; } if (HttpLoggingEnabled != null && !HttpLoggingEnabled.Equals(websiteConfig.HttpLoggingEnabled)) { changes = true; websiteConfigUpdate.HttpLoggingEnabled = HttpLoggingEnabled; } if (DetailedErrorLoggingEnabled != null && !DetailedErrorLoggingEnabled.Equals(websiteConfig.DetailedErrorLoggingEnabled)) { changes = true; websiteConfigUpdate.DetailedErrorLoggingEnabled = DetailedErrorLoggingEnabled; } if (AppSettings != null && !AppSettings.Equals(websiteConfig.AppSettings)) { changes = true; websiteConfigUpdate.AppSettings = AppSettings; } if (Metadata != null && !Metadata.Equals(websiteConfig.Metadata)) { changes = true; websiteConfigUpdate.Metadata = Metadata; } if (ConnectionStrings != null && !ConnectionStrings.Equals(websiteConfig.ConnectionStrings)) { changes = true; websiteConfigUpdate.ConnectionStrings = ConnectionStrings; } if (HandlerMappings != null && !HandlerMappings.Equals(websiteConfig.HandlerMappings)) { changes = true; websiteConfigUpdate.HandlerMappings = HandlerMappings; } bool siteChanges = false; Site websiteUpdate = new Site { Name = Name, HostNames = new[] { Name + General.AzureWebsiteHostNameSuffix } }; if (HostNames != null) { siteChanges = true; List<string> newHostNames = new List<string> { Name + General.AzureWebsiteHostNameSuffix }; newHostNames.AddRange(HostNames); websiteUpdate.HostNames = newHostNames.ToArray(); } if (changes) { InvokeInOperationContext(() => { try { RetryCall(s => Channel.UpdateSiteConfig(s, website.WebSpace, Name, websiteConfigUpdate.GetSiteConfig())); } catch (CommunicationException ex) { WriteErrorDetails(ex); } }); } if (siteChanges) { InvokeInOperationContext(() => { try { RetryCall(s => Channel.UpdateSite(s, website.WebSpace, Name, websiteUpdate)); } catch (CommunicationException ex) { WriteErrorDetails(ex); } }); } if (PassThru.IsPresent) { WriteObject(true); } }