diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json index 263fc59b3384..ed54bb3b793d 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json @@ -56,6 +56,9 @@ }, "Create Hadoop cluster with Azure Data Lake Storage Gen 2": { "$ref": "./examples/CreateLinuxHadoopAdlsGen2.json" + }, + "Create HDInsight cluster with Autoscale configuration": { + "$ref": "./examples/CreateHDInsightClusterWithAutoscaleConfig.json" } }, "parameters": [ @@ -605,6 +608,90 @@ } } }, + "AutoscaleTimeAndCapacity": { + "properties": { + "time": { + "type": "string", + "description": "24-hour time in the form xx:xx" + }, + "minInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The minimum instance count of the cluster" + }, + "maxInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The maximum instance count of the cluster" + } + }, + "description": "Time and capacity request parameters" + }, + "AutoscaleSchedule": { + "properties": { + "days": { + "type": "array", + "items": { + "type": "string", + "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], + "x-ms-enum": { + "name": "DaysOfWeek", + "modelAsString": false + } + }, + "description": "Days of the week for a schedule-based autoscale rule" + }, + "timeAndCapacity": { + "$ref": "#/definitions/AutoscaleTimeAndCapacity", + "description": "Time and capacity for a schedule-based autoscale rule" + } + }, + "description": "Parameters for a schedule-based autoscale rule, consisting of an array of days + a time and capacity" + }, + "AutoscaleCapacity": { + "properties": { + "minInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The minimum instance count of the cluster" + }, + "maxInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The maximum instance count of the cluster" + } + }, + "description": "The load-based autoscale request parameters" + }, + "AutoscaleRecurrence": { + "properties": { + "timeZone": { + "type": "string", + "description": "The time zone for the autoscale schedule times" + }, + "schedule": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoscaleSchedule" + }, + "description": "Array of schedule-based autoscale rules" + } + }, + "description": "Schedule-based autoscale request parameters" + }, + "Autoscale": { + "properties": { + "capacity": { + "$ref": "#/definitions/AutoscaleCapacity", + "description": "Parameters for load-based autoscale" + }, + "recurrence": { + "$ref": "#/definitions/AutoscaleRecurrence", + "description": "Parameters for schedule-based autoscale" + } + }, + "description": "The autoscale request parameters" + }, "HardwareProfile": { "properties": { "vmSize": { @@ -710,6 +797,11 @@ "format": "int32", "description": "The instance count of the cluster." }, + "autoscale": { + "$ref": "#/definitions/Autoscale", + "x-ms-client-name": "autoscaleConfiguration", + "description": "The autoscale configurations." + }, "hardwareProfile": { "$ref": "#/definitions/HardwareProfile", "description": "The hardware profile." diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithAutoscaleConfig.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithAutoscaleConfig.json new file mode 100644 index 000000000000..bd255b6f85cb --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithAutoscaleConfig.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2015-03-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "tier": "Standard", + "clusterDefinition": { + "kind": "hadoop", + "componentVersion": { + "Hadoop": "2.7" + }, + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage.blob.core.windows.net", + "isDefault": true, + "container": "hdinsight-autoscale-tes-2019-06-18t05-49-16-591z", + "key": "storagekey" + } + ] + }, + "computeProfile": { + "roles": [ + { + "autoscale": { + "capacity": null, + "recurrence": { + "timeZone": "China Standard Time", + "schedule": [ + { + "days": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "timeAndCapacity": { + "time": "09:00", + "minInstanceCount": 3, + "maxInstanceCount": 3 + } + }, + { + "days": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "timeAndCapacity": { + "time": "18:00", + "minInstanceCount": 6, + "maxInstanceCount": 6 + } + }, + { + "days": [ + "Saturday", + "Sunday" + ], + "timeAndCapacity": { + "time": "09:00", + "minInstanceCount": 2, + "maxInstanceCount": 2 + } + }, + { + "days": [ + "Saturday", + "Sunday" + ], + "timeAndCapacity": { + "time": "18:00", + "minInstanceCount": 4, + "maxInstanceCount": 4 + } + } + ] + } + }, + "name": "workernode", + "targetInstanceCount": 4, + "hardwareProfile": { + "vmSize": "Standard_D4_V2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + }, + "virtualNetworkProfile": null, + "scriptActions": [], + "dataDisksGroups": null + } + ] + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + } + } + } +} \ No newline at end of file diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/HDI_Clusters_UpdateGatewaySettings_Enable.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/HDI_Clusters_UpdateGatewaySettings_Enable.json index da62bfa19376..d29d32c8b776 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/HDI_Clusters_UpdateGatewaySettings_Enable.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/HDI_Clusters_UpdateGatewaySettings_Enable.json @@ -15,6 +15,11 @@ "headers": { "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" } + }, + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + } } } } diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json index fc18241a07fa..853c0ca854db 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json @@ -56,6 +56,9 @@ }, "Create Hadoop cluster with Azure Data Lake Storage Gen 2": { "$ref": "./examples/CreateLinuxHadoopAdlsGen2.json" + }, + "Create HDInsight cluster with Autoscale configuration": { + "$ref": "./examples/CreateHDInsightClusterWithAutoscaleConfig.json" } }, "parameters": [ @@ -605,6 +608,90 @@ } } }, + "AutoscaleTimeAndCapacity": { + "properties": { + "time": { + "type": "string", + "description": "24-hour time in the form xx:xx" + }, + "minInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The minimum instance count of the cluster" + }, + "maxInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The maximum instance count of the cluster" + } + }, + "description": "Time and capacity request parameters" + }, + "AutoscaleSchedule": { + "properties": { + "days": { + "type": "array", + "items": { + "type": "string", + "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], + "x-ms-enum": { + "name": "DaysOfWeek", + "modelAsString": false + } + }, + "description": "Days of the week for a schedule-based autoscale rule" + }, + "timeAndCapacity": { + "$ref": "#/definitions/AutoscaleTimeAndCapacity", + "description": "Time and capacity for a schedule-based autoscale rule" + } + }, + "description": "Parameters for a schedule-based autoscale rule, consisting of an array of days + a time and capacity" + }, + "AutoscaleCapacity": { + "properties": { + "minInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The minimum instance count of the cluster" + }, + "maxInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The maximum instance count of the cluster" + } + }, + "description": "The load-based autoscale request parameters" + }, + "AutoscaleRecurrence": { + "properties": { + "timeZone": { + "type": "string", + "description": "The time zone for the autoscale schedule times" + }, + "schedule": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoscaleSchedule" + }, + "description": "Array of schedule-based autoscale rules" + } + }, + "description": "Schedule-based autoscale request parameters" + }, + "Autoscale": { + "properties": { + "capacity": { + "$ref": "#/definitions/AutoscaleCapacity", + "description": "Parameters for load-based autoscale" + }, + "recurrence": { + "$ref": "#/definitions/AutoscaleRecurrence", + "description": "Parameters for schedule-based autoscale" + } + }, + "description": "The autoscale request parameters" + }, "HardwareProfile": { "properties": { "vmSize": { @@ -710,6 +797,11 @@ "format": "int32", "description": "The instance count of the cluster." }, + "autoscale": { + "$ref": "#/definitions/Autoscale", + "x-ms-client-name": "autoscaleConfiguration", + "description": "The autoscale configurations." + }, "hardwareProfile": { "$ref": "#/definitions/HardwareProfile", "description": "The hardware profile." diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithAutoscaleConfig.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithAutoscaleConfig.json new file mode 100644 index 000000000000..19a92e1154e3 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithAutoscaleConfig.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2018-06-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "tier": "Standard", + "clusterDefinition": { + "kind": "hadoop", + "componentVersion": { + "Hadoop": "2.7" + }, + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage.blob.core.windows.net", + "isDefault": true, + "container": "hdinsight-autoscale-tes-2019-06-18t05-49-16-591z", + "key": "storagekey" + } + ] + }, + "computeProfile": { + "roles": [ + { + "autoscale": { + "capacity": null, + "recurrence": { + "timeZone": "China Standard Time", + "schedule": [ + { + "days": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "timeAndCapacity": { + "time": "09:00", + "minInstanceCount": 3, + "maxInstanceCount": 3 + } + }, + { + "days": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "timeAndCapacity": { + "time": "18:00", + "minInstanceCount": 6, + "maxInstanceCount": 6 + } + }, + { + "days": [ + "Saturday", + "Sunday" + ], + "timeAndCapacity": { + "time": "09:00", + "minInstanceCount": 2, + "maxInstanceCount": 2 + } + }, + { + "days": [ + "Saturday", + "Sunday" + ], + "timeAndCapacity": { + "time": "18:00", + "minInstanceCount": 4, + "maxInstanceCount": 4 + } + } + ] + } + }, + "name": "workernode", + "targetInstanceCount": 4, + "hardwareProfile": { + "vmSize": "Standard_D4_V2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + }, + "virtualNetworkProfile": null, + "scriptActions": [], + "dataDisksGroups": null + } + ] + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + } + } + } +} \ No newline at end of file diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/HDI_Clusters_UpdateGatewaySettings_Enable.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/HDI_Clusters_UpdateGatewaySettings_Enable.json index 306db252822e..23c05b00feca 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/HDI_Clusters_UpdateGatewaySettings_Enable.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/HDI_Clusters_UpdateGatewaySettings_Enable.json @@ -15,6 +15,11 @@ "headers": { "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" } + }, + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + } } } }