public string AutoScaleCloudService(string serviceName, string roleName) { AutoscaleClient autoscaleClient = new AutoscaleClient(cloudCredentials); AutoscaleSettingCreateOrUpdateParameters autoscaleCreateParams = new AutoscaleSettingCreateOrUpdateParameters() { Setting = new AutoscaleSetting() { Enabled = true, Profiles = new List <AutoscaleProfile> { new AutoscaleProfile { Capacity = new ScaleCapacity { Default = "1", Maximum = "10", Minimum = "1" }, Name = "sampleProfile", Recurrence = new Recurrence { Frequency = RecurrenceFrequency.Week, Schedule = new RecurrentSchedule { Days = new List <String> { "Monday", "Thursday", "Friday" }, Hours = { 7, 19 }, Minutes = new List <int> { 0 }, TimeZone = "Eastern Standard Time" } }, Rules = new List <ScaleRule> { new ScaleRule { MetricTrigger = new MetricTrigger { MetricName = "PercentageCPU", MetricNamespace = "", MetricSource = AutoscaleMetricSourceBuilder.BuildCloudServiceMetricSource(serviceName, roleName, true), Operator = ComparisonOperationType.GreaterThanOrEqual, Threshold = 80, Statistic = MetricStatisticType.Average, TimeGrain = TimeSpan.FromMinutes(5), TimeAggregation = TimeAggregationType.Average, TimeWindow = TimeSpan.FromMinutes(30) }, ScaleAction = new ScaleAction { Direction = ScaleDirection.Increase, Cooldown = TimeSpan.FromMinutes(20), Type = ScaleType.ChangeCount, Value = "1" }, }, new ScaleRule { MetricTrigger = new MetricTrigger { MetricName = "PercentageCPU", MetricNamespace = "", MetricSource = AutoscaleMetricSourceBuilder.BuildCloudServiceMetricSource(serviceName, roleName, true), Operator = ComparisonOperationType.LessThanOrEqual, Threshold = 60, Statistic = MetricStatisticType.Average, TimeGrain = TimeSpan.FromMinutes(5), TimeAggregation = TimeAggregationType.Average, TimeWindow = TimeSpan.FromMinutes(30) }, ScaleAction = new ScaleAction { Direction = ScaleDirection.Decrease, Cooldown = TimeSpan.FromMinutes(20), Type = ScaleType.ChangeCount, Value = "1" }, } } } } } }; OperationResponse autoscaleResponse = autoscaleClient.Settings.CreateOrUpdate( AutoscaleResourceIdBuilder.BuildCloudServiceResourceId(serviceName, roleName, true), autoscaleCreateParams); string statusCode = autoscaleResponse.StatusCode.ToString(); AutoscaleSettingGetResponse settingReponse = autoscaleClient.Settings.Get(AutoscaleResourceIdBuilder.BuildCloudServiceResourceId(serviceName, roleName, true)); AutoscaleSetting autoscaleSetting = settingReponse.Setting; return(statusCode); }
public AzureOperationResponse CreateOrUpdateSettings(AutoscaleSettingCreateOrUpdateParameters settings) { var resourceId = AutoscaleResourceIdBuilder.BuildVirtualMachineResourceId(cloudServiceName, availabilitySetName); return(autoscaleClient.Settings.CreateOrUpdate(resourceId, settings)); }
public AzureOperationResponse DeleteSettings() { var resourceId = AutoscaleResourceIdBuilder.BuildVirtualMachineResourceId(cloudServiceName, availabilitySetName); return(autoscaleClient.Settings.Delete(resourceId)); }
public AzureOperationResponse DeleteSettings() { var resourceId = AutoscaleResourceIdBuilder.BuildWebSiteResourceId(this.webspaceName, this.hostingPlanName); return(autoscaleClient.Settings.Delete(resourceId)); }
public AutoscaleSettingGetResponse GetSettings() { var resourceId = AutoscaleResourceIdBuilder.BuildVirtualMachineResourceId(cloudServiceName, availabilitySetName); return(autoscaleClient.Settings.Get(resourceId)); }
public AzureOperationResponse CreateOrUpdateSettings(AutoscaleSettingCreateOrUpdateParameters settings) { var resourceId = AutoscaleResourceIdBuilder.BuildWebSiteResourceId(this.webspaceName, this.hostingPlanName); return(autoscaleClient.Settings.CreateOrUpdate(resourceId, settings)); }
public AutoscaleSettingGetResponse GetSettings() { var resourceId = AutoscaleResourceIdBuilder.BuildWebSiteResourceId(this.webspaceName, this.hostingPlanName); return(autoscaleClient.Settings.Get(resourceId)); }
public AzureOperationResponse DeleteSettings() { var resourceId = AutoscaleResourceIdBuilder.BuildCloudServiceResourceId(cloudServiceName, roleName, isProduction); return(autoscaleClient.Settings.Delete(resourceId)); }
public AzureOperationResponse CreateOrUpdateSettings(AutoscaleSettingCreateOrUpdateParameters settings) { var resourceId = AutoscaleResourceIdBuilder.BuildCloudServiceResourceId(cloudServiceName, roleName, isProduction); return(autoscaleClient.Settings.CreateOrUpdate(resourceId, settings)); }
public AutoscaleSettingGetResponse GetSettings() { var resourceId = AutoscaleResourceIdBuilder.BuildCloudServiceResourceId(cloudServiceName, roleName, isProduction); return(autoscaleClient.Settings.Get(resourceId)); }