private AdditionalConfiguration GetNewAdditionalConfiguration() { var newConfiguration = new AdditionalConfiguration(); // Arr Configuration int desiredArrInstanceCount; if (!int.TryParse(txtArrInstanceCount.Text, out desiredArrInstanceCount)) throw new Exception("Cannot parse ARR instance count"); var arrRole = new tangible.Azure.AdditionalConfiguration.Role() { Name = "MicrosoftDXGermany.hybrisOnAzure.ArrRole", DesiredInstanceCount = desiredArrInstanceCount }; newConfiguration.Roles.Add(arrRole); // default configuration var arrDefaultConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = "default" }; arrRole.Instances.Add(arrDefaultConfig); arrDefaultConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "IsInMaintenance", Value = "False" }); // instance configuration if (RoleEnvironment.IsAvailable) foreach (var arrInstance in RoleEnvironment.Roles["MicrosoftDXGermany.hybrisOnAzure.ArrRole"].Instances) { var arrInstanceConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = arrInstance.Id }; arrRole.Instances.Add(arrInstanceConfig); var setMaintenance = Page.FindControl("chkMaintenance_" + arrInstance.Id) as CheckBox; if (setMaintenance != null) arrInstanceConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "IsInMaintenance", Value = setMaintenance.Checked.ToString() }); } // Frontend Worker Instances int desiredFrontendInstanceCount; if (!int.TryParse(txtArrInstanceCount.Text, out desiredFrontendInstanceCount)) throw new Exception("Cannot parse FrontendWorker instance count"); var frontendRole = new tangible.Azure.AdditionalConfiguration.Role() { Name = "MicrosoftDXGermany.hybrisOnAzure.FrontendWorkerRole", DesiredInstanceCount = desiredFrontendInstanceCount }; newConfiguration.Roles.Add(frontendRole); // defaultConfiguration var frontendDefaultConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = "default" }; frontendRole.Instances.Add(frontendDefaultConfig); frontendDefaultConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "StopHybris", Value = "False" }); frontendDefaultConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "Reboot", Value = String.Empty }); // instance configuration if (RoleEnvironment.IsAvailable && RoleEnvironment.Roles.ContainsKey("MicrosoftDXGermany.hybrisOnAzure.FrontendWorkerRole")) foreach (var frontendInstance in RoleEnvironment.Roles["MicrosoftDXGermany.hybrisOnAzure.FrontendWorkerRole"].Instances) { var frontendInstanceConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = frontendInstance.Id }; frontendRole.Instances.Add(frontendInstanceConfig); var stopHybris = Page.FindControl("chkStopHybris_" + frontendInstance.Id) as CheckBox; if (stopHybris != null) frontendInstanceConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "StopHybris", Value = stopHybris.Checked.ToString() }); var reboot = Page.FindControl("chkReboot_" + frontendInstance.Id) as CheckBox; if (reboot != null) frontendInstanceConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "Reboot", Value = (reboot.Checked) ? newConfiguration.Timestamp.ToString() : string.Empty }); } // BackOffice Worker Instances var backOfficeRole = new tangible.Azure.AdditionalConfiguration.Role() { Name = "MicrosoftDXGermany.hybrisOnAzure.BackOfficeWorkerRole" }; newConfiguration.Roles.Add(backOfficeRole); // defaultConfiguration var backOfficeDefaultConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = "default" }; backOfficeRole.Instances.Add(frontendDefaultConfig); backOfficeDefaultConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "StopHybris", Value = "False" }); backOfficeDefaultConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "Reboot", Value = String.Empty }); // instance configuration if (RoleEnvironment.IsAvailable && RoleEnvironment.Roles.ContainsKey("MicrosoftDXGermany.hybrisOnAzure.BackOfficeWorkerRole")) foreach (var backOfficeInstance in RoleEnvironment.Roles["MicrosoftDXGermany.hybrisOnAzure.BackOfficeWorkerRole"].Instances) { var backOfficeInstanceConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = backOfficeInstance.Id }; backOfficeRole.Instances.Add(backOfficeInstanceConfig); var stopHybris = Page.FindControl("chkStopHybris_" + backOfficeInstance.Id) as CheckBox; if (stopHybris != null) backOfficeInstanceConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "StopHybris", Value = stopHybris.Checked.ToString() }); var reboot = Page.FindControl("chkReboot_" + backOfficeInstance.Id) as CheckBox; if (reboot != null) backOfficeInstanceConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "Reboot", Value = (reboot.Checked) ? newConfiguration.Timestamp.ToString() : string.Empty }); } return newConfiguration; }
private AdditionalConfiguration GetNewAdditionalConfiguration() { var newConfiguration = new AdditionalConfiguration(); // Arr Configuration int desiredArrInstanceCount; if (!int.TryParse(txtArrInstanceCount.Text, out desiredArrInstanceCount)) { throw new Exception("Cannot parse ARR instance count"); } var arrRole = new tangible.Azure.AdditionalConfiguration.Role() { Name = "MicrosoftDXGermany.hybrisOnAzure.ArrRole", DesiredInstanceCount = desiredArrInstanceCount }; newConfiguration.Roles.Add(arrRole); // default configuration var arrDefaultConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = "default" }; arrRole.Instances.Add(arrDefaultConfig); arrDefaultConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "IsInMaintenance", Value = "False" }); // instance configuration if (RoleEnvironment.IsAvailable) { foreach (var arrInstance in RoleEnvironment.Roles["MicrosoftDXGermany.hybrisOnAzure.ArrRole"].Instances) { var arrInstanceConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = arrInstance.Id }; arrRole.Instances.Add(arrInstanceConfig); var setMaintenance = Page.FindControl("chkMaintenance_" + arrInstance.Id) as CheckBox; if (setMaintenance != null) { arrInstanceConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "IsInMaintenance", Value = setMaintenance.Checked.ToString() }); } } } // Frontend Worker Instances int desiredFrontendInstanceCount; if (!int.TryParse(txtArrInstanceCount.Text, out desiredFrontendInstanceCount)) { throw new Exception("Cannot parse FrontendWorker instance count"); } var frontendRole = new tangible.Azure.AdditionalConfiguration.Role() { Name = "MicrosoftDXGermany.hybrisOnAzure.FrontendWorkerRole", DesiredInstanceCount = desiredFrontendInstanceCount }; newConfiguration.Roles.Add(frontendRole); // defaultConfiguration var frontendDefaultConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = "default" }; frontendRole.Instances.Add(frontendDefaultConfig); frontendDefaultConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "StopHybris", Value = "False" }); frontendDefaultConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "Reboot", Value = String.Empty }); // instance configuration if (RoleEnvironment.IsAvailable && RoleEnvironment.Roles.ContainsKey("MicrosoftDXGermany.hybrisOnAzure.FrontendWorkerRole")) { foreach (var frontendInstance in RoleEnvironment.Roles["MicrosoftDXGermany.hybrisOnAzure.FrontendWorkerRole"].Instances) { var frontendInstanceConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = frontendInstance.Id }; frontendRole.Instances.Add(frontendInstanceConfig); var stopHybris = Page.FindControl("chkStopHybris_" + frontendInstance.Id) as CheckBox; if (stopHybris != null) { frontendInstanceConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "StopHybris", Value = stopHybris.Checked.ToString() }); } var reboot = Page.FindControl("chkReboot_" + frontendInstance.Id) as CheckBox; if (reboot != null) { frontendInstanceConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "Reboot", Value = (reboot.Checked) ? newConfiguration.Timestamp.ToString() : string.Empty }); } } } // BackOffice Worker Instances var backOfficeRole = new tangible.Azure.AdditionalConfiguration.Role() { Name = "MicrosoftDXGermany.hybrisOnAzure.BackOfficeWorkerRole" }; newConfiguration.Roles.Add(backOfficeRole); // defaultConfiguration var backOfficeDefaultConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = "default" }; backOfficeRole.Instances.Add(frontendDefaultConfig); backOfficeDefaultConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "StopHybris", Value = "False" }); backOfficeDefaultConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "Reboot", Value = String.Empty }); // instance configuration if (RoleEnvironment.IsAvailable && RoleEnvironment.Roles.ContainsKey("MicrosoftDXGermany.hybrisOnAzure.BackOfficeWorkerRole")) { foreach (var backOfficeInstance in RoleEnvironment.Roles["MicrosoftDXGermany.hybrisOnAzure.BackOfficeWorkerRole"].Instances) { var backOfficeInstanceConfig = new tangible.Azure.AdditionalConfiguration.Instance() { Id = backOfficeInstance.Id }; backOfficeRole.Instances.Add(backOfficeInstanceConfig); var stopHybris = Page.FindControl("chkStopHybris_" + backOfficeInstance.Id) as CheckBox; if (stopHybris != null) { backOfficeInstanceConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "StopHybris", Value = stopHybris.Checked.ToString() }); } var reboot = Page.FindControl("chkReboot_" + backOfficeInstance.Id) as CheckBox; if (reboot != null) { backOfficeInstanceConfig.Configurations.Add(new tangible.Azure.AdditionalConfiguration.ConfigurationItem() { Name = "Reboot", Value = (reboot.Checked) ? newConfiguration.Timestamp.ToString() : string.Empty }); } } } return(newConfiguration); }