コード例 #1
0
        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);
        }
コード例 #2
0
        public AzureOperationResponse CreateOrUpdateSettings(AutoscaleSettingCreateOrUpdateParameters settings)
        {
            var resourceId = AutoscaleResourceIdBuilder.BuildVirtualMachineResourceId(cloudServiceName, availabilitySetName);

            return(autoscaleClient.Settings.CreateOrUpdate(resourceId, settings));
        }
コード例 #3
0
        public AzureOperationResponse DeleteSettings()
        {
            var resourceId = AutoscaleResourceIdBuilder.BuildVirtualMachineResourceId(cloudServiceName, availabilitySetName);

            return(autoscaleClient.Settings.Delete(resourceId));
        }
コード例 #4
0
        public AzureOperationResponse DeleteSettings()
        {
            var resourceId = AutoscaleResourceIdBuilder.BuildWebSiteResourceId(this.webspaceName, this.hostingPlanName);

            return(autoscaleClient.Settings.Delete(resourceId));
        }
コード例 #5
0
        public AutoscaleSettingGetResponse GetSettings()
        {
            var resourceId = AutoscaleResourceIdBuilder.BuildVirtualMachineResourceId(cloudServiceName, availabilitySetName);

            return(autoscaleClient.Settings.Get(resourceId));
        }
コード例 #6
0
        public AzureOperationResponse CreateOrUpdateSettings(AutoscaleSettingCreateOrUpdateParameters settings)
        {
            var resourceId = AutoscaleResourceIdBuilder.BuildWebSiteResourceId(this.webspaceName, this.hostingPlanName);

            return(autoscaleClient.Settings.CreateOrUpdate(resourceId, settings));
        }
コード例 #7
0
        public AutoscaleSettingGetResponse GetSettings()
        {
            var resourceId = AutoscaleResourceIdBuilder.BuildWebSiteResourceId(this.webspaceName, this.hostingPlanName);

            return(autoscaleClient.Settings.Get(resourceId));
        }
コード例 #8
0
        public AzureOperationResponse DeleteSettings()
        {
            var resourceId = AutoscaleResourceIdBuilder.BuildCloudServiceResourceId(cloudServiceName, roleName, isProduction);

            return(autoscaleClient.Settings.Delete(resourceId));
        }
コード例 #9
0
        public AzureOperationResponse CreateOrUpdateSettings(AutoscaleSettingCreateOrUpdateParameters settings)
        {
            var resourceId = AutoscaleResourceIdBuilder.BuildCloudServiceResourceId(cloudServiceName, roleName, isProduction);

            return(autoscaleClient.Settings.CreateOrUpdate(resourceId, settings));
        }
コード例 #10
0
        public AutoscaleSettingGetResponse GetSettings()
        {
            var resourceId = AutoscaleResourceIdBuilder.BuildCloudServiceResourceId(cloudServiceName, roleName, isProduction);

            return(autoscaleClient.Settings.Get(resourceId));
        }