microsoft.insights autoscalesettings template reference

Template format

To create a microsoft.insights/autoscalesettings resource, add the following JSON to the resources section of your template.

{
  "name": "string",
  "type": "microsoft.insights/autoscalesettings",
  "apiVersion": "2015-04-01",
  "location": "string",
  "tags": {},
  "properties": {
    "profiles": [
      {
        "name": "string",
        "capacity": {
          "minimum": "string",
          "maximum": "string",
          "default": "string"
        },
        "rules": [
          {
            "metricTrigger": {
              "metricName": "string",
              "metricResourceUri": "string",
              "timeGrain": "string",
              "statistic": "string",
              "timeWindow": "string",
              "timeAggregation": "string",
              "operator": "string",
              "threshold": "number"
            },
            "scaleAction": {
              "direction": "string",
              "type": "string",
              "value": "string",
              "cooldown": "string"
            }
          }
        ],
        "fixedDate": {
          "timeZone": "string",
          "start": "string",
          "end": "string"
        },
        "recurrence": {
          "frequency": "string",
          "schedule": {
            "timeZone": "string",
            "days": [
              "string"
            ],
            "hours": [
              "integer"
            ],
            "minutes": [
              "integer"
            ]
          }
        }
      }
    ],
    "notifications": [
      {
        "operation": "Scale",
        "email": {
          "sendToSubscriptionAdministrator": "boolean",
          "sendToSubscriptionCoAdministrators": "boolean",
          "customEmails": [
            "string"
          ]
        },
        "webhooks": [
          {
            "serviceUri": "string",
            "properties": {}
          }
        ]
      }
    ],
    "enabled": "boolean",
    "name": "string",
    "targetResourceUri": "string"
  }
}

Property values

The following tables describe the values you need to set in the schema.

microsoft.insights/autoscalesettings object

Name Type Required Value
name string Yes The autoscale setting name.
type enum Yes microsoft.insights/autoscalesettings
apiVersion enum Yes 2015-04-01
location string Yes Resource location
tags object No Resource tags
properties object Yes The autoscale setting of the resource. - AutoscaleSetting object

AutoscaleSetting object

Name Type Required Value
profiles array Yes the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified. - AutoscaleProfile object
notifications array No the collection of notifications. - AutoscaleNotification object
enabled boolean No the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'true'.
name string No the name of the autoscale setting.
targetResourceUri string No the resource identifier of the resource that the autoscale setting should be added to.

AutoscaleProfile object

Name Type Required Value
name string Yes the name of the profile.
capacity object Yes the number of instances that can be used during this profile. - ScaleCapacity object
rules array Yes the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified. - ScaleRule object
fixedDate object No the specific date-time for the profile. This element is not used if the Recurrence element is used. - TimeWindow object
recurrence object No the repeating times at which this profile begins. This element is not used if the FixedDate element is used. - Recurrence object

AutoscaleNotification object

Name Type Required Value
operation enum Yes the operation associated with the notification and its value must be "scale" - Scale
email object No the email notification. - EmailNotification object
webhooks array No the collection of webhook notifications. - WebhookNotification object

ScaleCapacity object

Name Type Required Value
minimum string Yes the minimum number of instances for the resource.
maximum string Yes the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription.
default string Yes the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default.

ScaleRule object

Name Type Required Value
metricTrigger object Yes the trigger that results in a scaling action. - MetricTrigger object
scaleAction object Yes the parameters for the scaling action. - ScaleAction object

TimeWindow object

Name Type Required Value
timeZone string No the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time
start string Yes the start time for the profile in ISO 8601 format.
end string Yes the end time for the profile in ISO 8601 format.

Recurrence object

Name Type Required Value
frequency enum Yes the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set schedule to every day of the week. The frequency property specifies that the schedule is repeated weekly. - None, Second, Minute, Hour, Day, Week, Month, Year
schedule object Yes the scheduling constraints for when the profile begins. - RecurrentSchedule object

EmailNotification object

Name Type Required Value
sendToSubscriptionAdministrator boolean No a value indicating whether to send email to subscription administrator.
sendToSubscriptionCoAdministrators boolean No a value indicating whether to send email to subscription co-administrators.
customEmails array No the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored. - string

WebhookNotification object

Name Type Required Value
serviceUri string No the service address to receive the notification.
properties object No a property bag of settings. This value can be empty.

MetricTrigger object

Name Type Required Value
metricName string Yes the name of the metric that defines what the rule monitors.
metricResourceUri string Yes the resource identifier of the resource the rule monitors.
timeGrain string Yes the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute.
statistic enum Yes the metric statistic type. How the metrics from multiple instances are combined. - Average, Min, Max, Sum
timeWindow string Yes the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes.
timeAggregation enum Yes time aggregation type. How the data that is collected should be combined over time. The default value is Average. - Average, Minimum, Maximum, Total, Count, Last
operator enum Yes the operator that is used to compare the metric data and the threshold. - Equals, NotEquals, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual
threshold number Yes the threshold of the metric that triggers the scale action.

ScaleAction object

Name Type Required Value
direction enum Yes the scale direction. Whether the scaling action increases or decreases the number of instances. - None, Increase, Decrease
type enum Yes the type of action that should occur when the scale rule fires. - ChangeCount, PercentChangeCount, ExactCount
value string No the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1.
cooldown string Yes the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format.

RecurrentSchedule object

Name Type Required Value
timeZone string Yes the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time
days array Yes the collection of days that the profile takes effect on. Possible values are Sunday through Saturday. - string
hours array Yes A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported). - integer
minutes array Yes A collection of minutes at which the profile takes effect at. - integer

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Deploy VM Scale Set with Python Bottle server & AutoScale

Deploy to Azure
Deploy a VM Scale Set behind a load balancer/NAT & each VM running a simple Python Bottle app that does work. With Autoscale configured Scale Set will scale out & in as needed
Deploy a VM Scale Set with a Linux custom image

Deploy to Azure
This template allows you to deploy a custom VM Linux image inside an Scale Set. These VMs are behind a load balancer with HTTP load balancing (by default on port 80). The example uses a custom script to do the application deployment and update, you may have to provide your custom script for your own update procedure. You will have to provide a generalized image of your VM in the same subscription and region where you create the VMSS.
Deploy a VM Scale Set with Linux VMs and Auto Scale

Deploy to Azure
This template allows you to deploy a simple VM Scale Set of Linux VMs using the latest patched version of Ubuntu Linux 15.04 or 14.04.4-LTS. These VMs are behind a load balancer with NAT rules for ssh connections.They also have Auto Scale integrated
Deploy a VM Scale Set with Windows VMs and Auto Scale

Deploy to Azure
This template allows you to deploy a simple VM Scale Set of Windows VMs using the latest patched version of Windows 2008-R2-SP1, 2012-Datacenter, or 2012-R2-Datacenter. These VMs are behind a load balancer with NAT rules for RDP connections. They also have Auto Scale integrated
VM Scale Set with autoscale running an IIS WebApp

Deploy to Azure
Deploys a Windows VM Scale Set running IIS and a very basic .NET MVC web app. The VMSS PowerShell DSC Extension is leveraged to do the IIS install and WebDeploy package deployment.
Deploy Windows VMSS configure windows featurtes SSL DSC

Deploy to Azure
This template allows you to deploy two Windows VMSS, configure windows features like IIS/Web Role, .Net Framework 4.5, windows auth, application initialization, download application deployment packages, URL Rewrite & SSL configuration using DSC and Azure Key Vault
Deploy Drupal with VM Scale Set, Glusterfs and Mysql

Deploy to Azure
Deploy a VM Scale Set behind a load balancer/NAT & each VM running Drupal (Apache / PHP). All nodes share the created glusterfs file storage, and MySQL database
Enterprise Governance-AppService, SQL DB, AD, OMS, Runbooks

Deploy to Azure
Cloud adoption for an Enterprise, small or large, require responsible and efficient governance models to derive value from their cloud deployments. CloudWise (a code-name for the solution), is a composite solution available from Azure Partner QuickStarts, is an adoption enabler for Customers, System Integrators and Partners alike, that delivers a self-serviceable, automated governance and operations solution, focused on Optimizing Your Costs, Improve Your Application(s) Reliability, Reducing Business Risk. The solution highlights the core governance pillars of Visibility and Control.
Kentico MVC

Deploy to Azure
This template facilitates the deployment of resources required to host Kentico MVC environments in Microsoft Azure.
Autoscale LANSA Windows VM ScaleSet with Azure SQL Database

Deploy to Azure
The template deploys a Windows VMSS with a desired count of VMs in the scale set and a LANSA MSI to install into each VM. Once the VM Scale Set is deployed a custom script extension is used to install the LANSA MSI)
Deploy an Autoscale Setting for Virtual Machine ScaleSet

Deploy to Azure
This template allows you to deploy an autoscale policy for Virtual Machine ScaleSet resource.
Deploy an Autoscale Setting for App Service Plan

Deploy to Azure
This template allows you to deploy an autoscale policy for Azure AppService Plan resource.
Scalable Umbraco CMS Web App

Deploy to Azure
This template provides a easy way to deploy umbraco CMS web app on Azure App Service Web Apps.
Simple Umbraco CMS Web App

Deploy to Azure
This template provides a easy way to deploy umbraco CMS web app on Azure App Service Web Apps.