{
"swagger": "2.0",
"info": {
"title": "Azure Compute resource management API.",
"version": "2026-04-06-preview",
"x-typespec-generated": [
{
"emitter": "@azure-tools/typespec-autorest"
}
]
},
"schemes": [
"https"
],
"host": "management.azure.com",
"produces": [
"application/json"
],
"consumes": [
"application/json"
],
"security": [
{
"azure_auth": [
"user_impersonation"
]
}
],
"securityDefinitions": {
"azure_auth": {
"type": "oauth2",
"description": "Azure Active Directory OAuth2 Flow.",
"flow": "implicit",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"scopes": {
"user_impersonation": "impersonate your user account"
}
}
},
"tags": [
{
"name": "Operations"
},
{
"name": "LaunchBulkInstancesOperation"
}
],
"paths": {
"/providers/Microsoft.Compute/operations": {
"get": {
"operationId": "Operations_List",
"tags": [
"Operations"
],
"description": "List the operations for the provider",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/OperationListResult"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"Operations_List - generated by [MaximumSet] rule": {
"$ref": "./examples/Operations_List_MaximumSet_Gen.json"
},
"Operations_List - generated by [MinimumSet] rule": {
"$ref": "./examples/Operations_List_MinimumSet_Gen.json"
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/launchBulkInstancesOperations": {
"get": {
"operationId": "LaunchBulkInstancesOperation_ListBySubscription",
"tags": [
"LaunchBulkInstancesOperation"
],
"description": "List LaunchBulkInstancesOperation resources by subscriptionId.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/LaunchBulkInstancesOperationListResult"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"LaunchBulkInstancesOperation_ListBySubscription - generated by [MaximumSet] rule": {
"$ref": "./examples/LaunchBulkInstancesOperation_ListBySubscription_MaximumSet_Gen.json"
},
"LaunchBulkInstancesOperation_ListBySubscription - generated by [MinimumSet] rule": {
"$ref": "./examples/LaunchBulkInstancesOperation_ListBySubscription_MinimumSet_Gen.json"
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/launchBulkInstancesOperations/asyncOperations/{asyncOperationId}": {
"get": {
"operationId": "LaunchBulkInstancesOperation_GetOperationStatus",
"tags": [
"LaunchBulkInstancesOperation"
],
"description": "Get the status of a LaunchBulkInstancesOperation.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "asyncOperationId",
"in": "path",
"description": "The async operation id.",
"required": true,
"type": "string",
"minLength": 1,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/OperationStatusResult"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"LaunchBulkInstancesOperation_GetOperationStatus - generated by [MaximumSet] rule": {
"$ref": "./examples/LaunchBulkInstancesOperation_GetOperationStatus_MaximumSet_Gen.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/launchBulkInstancesOperations": {
"get": {
"operationId": "LaunchBulkInstancesOperation_ListByResourceGroup",
"tags": [
"LaunchBulkInstancesOperation"
],
"description": "List LaunchBulkInstancesOperation resources by resource group.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/LaunchBulkInstancesOperationListResult"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"LaunchBulkInstancesOperation_ListByResourceGroup - generated by [MaximumSet] rule": {
"$ref": "./examples/LaunchBulkInstancesOperation_ListByResourceGroup_MaximumSet_Gen.json"
},
"LaunchBulkInstancesOperation_ListByResourceGroup - generated by [MinimumSet] rule": {
"$ref": "./examples/LaunchBulkInstancesOperation_ListByResourceGroup_MinimumSet_Gen.json"
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/launchBulkInstancesOperations/{name}": {
"get": {
"operationId": "LaunchBulkInstancesOperation_Get",
"tags": [
"LaunchBulkInstancesOperation"
],
"description": "Gets an instance of LaunchBulkInstancesOperations.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "name",
"in": "path",
"description": "The name of the LaunchBulkInstancesOperation.",
"required": true,
"type": "string",
"minLength": 1,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/LocationBasedLaunchBulkInstancesOperation"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"LaunchBulkInstancesOperation_Get - generated by [MaximumSet] rule": {
"$ref": "./examples/LaunchBulkInstancesOperation_Get_MaximumSet_Gen.json"
}
}
},
"put": {
"operationId": "LaunchBulkInstancesOperation_CreateOrUpdate",
"tags": [
"LaunchBulkInstancesOperation"
],
"description": "Creates or updates LaunchBulkInstancesOperations.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "name",
"in": "path",
"description": "The name of the LaunchBulkInstancesOperation.",
"required": true,
"type": "string",
"minLength": 1,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
{
"name": "resource",
"in": "body",
"description": "Resource create parameters.",
"required": true,
"schema": {
"$ref": "#/definitions/LocationBasedLaunchBulkInstancesOperation"
}
}
],
"responses": {
"200": {
"description": "Resource 'LocationBasedLaunchBulkInstancesOperation' update operation succeeded",
"schema": {
"$ref": "#/definitions/LocationBasedLaunchBulkInstancesOperation"
}
},
"201": {
"description": "Resource 'LocationBasedLaunchBulkInstancesOperation' create operation succeeded",
"schema": {
"$ref": "#/definitions/LocationBasedLaunchBulkInstancesOperation"
},
"headers": {
"Azure-AsyncOperation": {
"type": "string",
"description": "A link to the status monitor"
},
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
}
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"LaunchBulkInstancesOperation_CreateOrUpdate - generated by [MaximumSet] rule": {
"$ref": "./examples/LaunchBulkInstancesOperation_CreateOrUpdate_MaximumSet_Gen.json"
}
},
"x-ms-long-running-operation-options": {
"final-state-via": "azure-async-operation"
},
"x-ms-long-running-operation": true
},
"delete": {
"operationId": "LaunchBulkInstancesOperation_Delete",
"tags": [
"LaunchBulkInstancesOperation"
],
"description": "Deletes LaunchBulkInstancesOperations.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "name",
"in": "path",
"description": "The name of the LaunchBulkInstancesOperation.",
"required": true,
"type": "string",
"minLength": 1,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
{
"name": "deleteInstances",
"in": "query",
"description": "When true, deletes all virtual machines created by this BulkAction Operation.",
"required": false,
"type": "boolean"
}
],
"responses": {
"202": {
"description": "Resource deletion accepted.",
"headers": {
"Location": {
"type": "string",
"description": "The Location header contains the URL where the status of the long running operation can be checked."
},
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
}
}
},
"204": {
"description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"LaunchBulkInstancesOperation_Delete - generated by [MaximumSet] rule": {
"$ref": "./examples/LaunchBulkInstancesOperation_Delete_MaximumSet_Gen.json"
}
},
"x-ms-long-running-operation-options": {
"final-state-via": "location"
},
"x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/launchBulkInstancesOperations/{name}/cancel": {
"post": {
"operationId": "LaunchBulkInstancesOperation_Cancel",
"tags": [
"LaunchBulkInstancesOperation"
],
"description": "Cancels LaunchBulkInstancesOperation instances that have not yet launched.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "name",
"in": "path",
"description": "The name of the LaunchBulkInstancesOperation.",
"required": true,
"type": "string",
"minLength": 1,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
}
],
"responses": {
"202": {
"description": "Resource operation accepted.",
"headers": {
"Location": {
"type": "string",
"description": "The Location header contains the URL where the status of the long running operation can be checked."
},
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
}
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"LaunchBulkInstancesOperation_Cancel - generated by [MaximumSet] rule": {
"$ref": "./examples/LaunchBulkInstancesOperation_Cancel_MaximumSet_Gen.json"
}
},
"x-ms-long-running-operation-options": {
"final-state-via": "location"
},
"x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/launchBulkInstancesOperations/{name}/virtualMachines": {
"get": {
"operationId": "LaunchBulkInstancesOperation_ListVirtualMachines",
"tags": [
"LaunchBulkInstancesOperation"
],
"description": "List VirtualMachine resources of a LaunchBulkInstancesOperation.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "name",
"in": "path",
"description": "The name of the LaunchBulkInstancesOperation.",
"required": true,
"type": "string",
"minLength": 1,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
{
"name": "$filter",
"in": "query",
"description": "Filter expression to filter the virtual machines.",
"required": false,
"type": "string"
},
{
"name": "$skiptoken",
"in": "query",
"description": "Skip token for pagination. Uses the token from a previous response to fetch the next page of results.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/VirtualMachineListResult"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"LaunchBulkInstancesOperation_ListVirtualMachines - generated by [MaximumSet] rule": {
"$ref": "./examples/LaunchBulkInstancesOperation_ListVirtualMachines_MaximumSet_Gen.json"
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/virtualMachinesBulkCancel": {
"post": {
"operationId": "VirtualMachineBulkOperations_BulkCancel",
"description": "Cancel one or more Bulk Actions operations by Bulk Action Operation Ids. Cancellation is best effort and work that has already completed is not reversed.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "requestBody",
"in": "body",
"description": "The Bulk Action Operation Ids that identify the operations to cancel.",
"required": true,
"schema": {
"$ref": "#/definitions/CancelOperationsRequest"
}
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/CancelOperationsResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"VirtualMachineBulkOperations_BulkCancel - generated by [MaximumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkCancel_MaximumSet_Gen.json"
},
"VirtualMachineBulkOperations_BulkCancel - generated by [MinimumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkCancel_MinimumSet_Gen.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/virtualMachinesBulkCreate": {
"post": {
"operationId": "VirtualMachineBulkOperations_BulkCreate",
"description": "Create one or more virtual machines from a common configuration and optional per-virtual-machine overrides. Bulk Actions begins processing the request immediately and returns a Bulk Action Operation Id for each virtual machine. Use the returned IDs to get operation status updates.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "requestBody",
"in": "body",
"description": "The virtual machine configuration and execution settings for the bulk create action.",
"required": true,
"schema": {
"$ref": "#/definitions/ExecuteCreateRequest"
}
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/CreateResourceOperationResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"VirtualMachineBulkOperations_BulkCreate - generated by [MaximumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkCreate_MaximumSet_Gen.json"
},
"VirtualMachineBulkOperations_BulkCreate - generated by [MinimumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkCreate_MinimumSet_Gen.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/virtualMachinesBulkDeallocate": {
"post": {
"operationId": "VirtualMachineBulkOperations_BulkDeallocate",
"description": "Deallocate one or more virtual machines. Bulk Actions begins processing the request immediately and returns a Bulk Action Operation Id for each virtual machine. Use the returned IDs to get operation status updates.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "requestBody",
"in": "body",
"description": "The virtual machines to deallocate and the execution settings for the bulk action.",
"required": true,
"schema": {
"$ref": "#/definitions/ExecuteDeallocateRequest"
}
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DeallocateResourceOperationResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"VirtualMachineBulkOperations_BulkDeallocate - generated by [MaximumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkDeallocate_MaximumSet_Gen.json"
},
"VirtualMachineBulkOperations_BulkDeallocate - generated by [MinimumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkDeallocate_MinimumSet_Gen.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/virtualMachinesBulkDelete": {
"post": {
"operationId": "VirtualMachineBulkOperations_BulkDelete",
"description": "Delete one or more virtual machines. This operation is destructive. Bulk Actions begins processing the request immediately and returns a Bulk Action Operation Id for each virtual machine. Use the returned IDs to get operation status updates.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "requestBody",
"in": "body",
"description": "The virtual machines to delete and the execution settings for the bulk action.",
"required": true,
"schema": {
"$ref": "#/definitions/ExecuteDeleteRequest"
}
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DeleteResourceOperationResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"VirtualMachineBulkOperations_BulkDelete - generated by [MaximumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkDelete_MaximumSet_Gen.json"
},
"VirtualMachineBulkOperations_BulkDelete - generated by [MinimumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkDelete_MinimumSet_Gen.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/virtualMachinesBulkGetOperationStatus": {
"post": {
"operationId": "VirtualMachineBulkOperations_BulkGetOperationsStatus",
"description": "Get the current status of one or more operations identified by their Bulk Action Operation Ids.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "requestBody",
"in": "body",
"description": "The Bulk Action Operation Ids that identify the operations for which current status should be returned.",
"required": true,
"schema": {
"$ref": "#/definitions/GetOperationStatusRequest"
}
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/GetOperationStatusResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"VirtualMachineBulkOperations_BulkGetOperationsStatus - generated by [MaximumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkGetOperationsStatus_MaximumSet_Gen.json"
},
"VirtualMachineBulkOperations_BulkGetOperationsStatus - generated by [MinimumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkGetOperationsStatus_MinimumSet_Gen.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/virtualMachinesBulkHibernate": {
"post": {
"operationId": "VirtualMachineBulkOperations_BulkHibernate",
"description": "Hibernate one or more virtual machines that support hibernation. Bulk Actions begins processing the request immediately and returns a Bulk Action Operation Id for each virtual machine. Use the returned IDs to get operation status updates.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "requestBody",
"in": "body",
"description": "The virtual machines to hibernate and the execution settings for the bulk action.",
"required": true,
"schema": {
"$ref": "#/definitions/ExecuteHibernateRequest"
}
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/HibernateResourceOperationResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"VirtualMachineBulkOperations_BulkHibernate - generated by [MaximumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkHibernate_MaximumSet_Gen.json"
},
"VirtualMachineBulkOperations_BulkHibernate - generated by [MinimumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkHibernate_MinimumSet_Gen.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/virtualMachinesBulkReimage": {
"post": {
"operationId": "VirtualMachineBulkOperations_BulkReimage",
"description": "This feature is currently in preview.\n\nReimage one or more virtual machines. Reimaging is destructive and can replace operating system disk contents. Bulk Actions begins processing the request immediately and returns a Bulk Action Operation Id for each virtual machine. Use the returned IDs to get operation status updates.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "requestBody",
"in": "body",
"description": "The virtual machines to reimage and the execution settings for the bulk action.",
"required": true,
"schema": {
"$ref": "#/definitions/ExecuteReimageRequest"
}
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ReimageResourceOperationResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"VirtualMachineBulkOperations_BulkReimage - generated by [MaximumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkReimage_MaximumSet_Gen.json"
},
"VirtualMachineBulkOperations_BulkReimage - generated by [MinimumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkReimage_MinimumSet_Gen.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/virtualMachinesBulkStart": {
"post": {
"operationId": "VirtualMachineBulkOperations_BulkStart",
"description": "Start one or more virtual machines. Bulk Actions begins processing the request immediately and returns a Bulk Action Operation Id for each virtual machine. Use the returned IDs to get operation status updates.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "requestBody",
"in": "body",
"description": "The virtual machines to start and the execution settings for the bulk action.",
"required": true,
"schema": {
"$ref": "#/definitions/ExecuteStartRequest"
}
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/StartResourceOperationResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"VirtualMachineBulkOperations_BulkStart - generated by [MaximumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkStart_MaximumSet_Gen.json"
},
"VirtualMachineBulkOperations_BulkStart - generated by [MinimumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkStart_MinimumSet_Gen.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/locations/{location}/virtualMachinesBulkVdiFlexCreate": {
"post": {
"operationId": "VirtualMachineBulkOperations_BulkVdiFlexCreate",
"description": "Create one or more virtual machines for a virtual desktop infrastructure workload by using flexible SKU and availability zone preferences. Bulk Actions begins processing the request immediately and returns a Bulk Action Operation Id for each virtual machine. Use the returned IDs to get operation status updates.",
"parameters": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
},
{
"name": "location",
"in": "path",
"description": "The location name.",
"required": true,
"type": "string",
"minLength": 1
},
{
"name": "requestBody",
"in": "body",
"description": "The virtual desktop infrastructure configuration and allocation preferences for the bulk create action.",
"required": true,
"schema": {
"$ref": "#/definitions/ExecuteVdiCreateRequest"
}
}
],
"responses": {
"200": {
"description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/CreateResourceOperationResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"VirtualMachineBulkOperations_BulkVdiFlexCreate - generated by [MaximumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkVdiFlexCreate_MaximumSet_Gen.json"
},
"VirtualMachineBulkOperations_BulkVdiFlexCreate - generated by [MinimumSet] rule": {
"$ref": "./examples/VirtualMachineBulkOperations_BulkVdiFlexCreate_MinimumSet_Gen.json"
}
}
}
}
},
"definitions": {
"AcceleratorManufacturer": {
"type": "string",
"description": "Accelerator manufacturers supported by Azure VMs.",
"enum": [
"AMD",
"Nvidia",
"Xilinx"
],
"x-ms-enum": {
"name": "AcceleratorManufacturer",
"modelAsString": true,
"values": [
{
"name": "AMD",
"value": "AMD",
"description": "AMD GpuType"
},
{
"name": "Nvidia",
"value": "Nvidia",
"description": "Nvidia GpuType"
},
{
"name": "Xilinx",
"value": "Xilinx",
"description": "Xilinx GpuType"
}
]
}
},
"AcceleratorType": {
"type": "string",
"description": "Accelerator types supported by Azure VMs.",
"enum": [
"GPU",
"FPGA"
],
"x-ms-enum": {
"name": "AcceleratorType",
"modelAsString": true,
"values": [
{
"name": "GPU",
"value": "GPU",
"description": "GPU Accelerator"
},
{
"name": "FPGA",
"value": "FPGA",
"description": "FPGA Accelerator"
}
]
}
},
"AdditionalCapabilities": {
"type": "object",
"description": "Enables or disables a capability on the virtual machine or virtual machine scale set.",
"properties": {
"ultraSSDEnabled": {
"type": "boolean",
"description": "The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled."
},
"hibernationEnabled": {
"type": "boolean",
"description": "The flag that enables or disables hibernation capability on the VM."
}
}
},
"AdditionalUnattendContent": {
"type": "object",
"description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied.",
"properties": {
"passName": {
"type": "string",
"description": "The pass name. Currently, the only allowable value is OobeSystem.",
"enum": [
"OobeSystem"
],
"x-ms-enum": {
"modelAsString": false
}
},
"componentName": {
"type": "string",
"description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.",
"enum": [
"Microsoft-Windows-Shell-Setup"
],
"x-ms-enum": {
"modelAsString": false
}
},
"settingName": {
"$ref": "#/definitions/SettingNames",
"description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon."
},
"content": {
"type": "string",
"description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted."
}
}
},
"AllInstancesDown": {
"type": "object",
"description": "Specifies if Scheduled Events should be auto-approved when all instances are down.",
"properties": {
"automaticallyApprove": {
"type": "boolean",
"description": "Specifies if Scheduled Events should be auto-approved when all instances are down. Its default value is true."
}
}
},
"AllocationStrategy": {
"type": "string",
"description": "The strategy Bulk Actions uses to select a virtual machine size.",
"enum": [
"LowestPrice",
"Prioritized",
"CapacityOptimized"
],
"x-ms-enum": {
"name": "AllocationStrategy",
"modelAsString": true,
"values": [
{
"name": "LowestPrice",
"value": "LowestPrice",
"description": "Bulk Actions prioritizes virtual machine sizes with the lowest hourly cost."
},
{
"name": "Prioritized",
"value": "Prioritized",
"description": "Bulk Actions considers virtual machine sizes in the customer-specified rank order."
},
{
"name": "CapacityOptimized",
"value": "CapacityOptimized",
"description": "Bulk Actions prioritizes virtual machine sizes with the highest available capacity."
}
]
}
},
"ApiEntityReference": {
"type": "object",
"description": "The API entity reference.",
"properties": {
"id": {
"type": "string",
"description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..."
}
}
},
"ApiError": {
"type": "object",
"description": "ApiError for Fleet",
"properties": {
"code": {
"type": "string",
"description": "The error code."
},
"target": {
"type": "string",
"description": "The target of the particular error."
},
"message": {
"type": "string",
"description": "The error message."
},
"details": {
"type": "array",
"description": "The API error details",
"items": {
"$ref": "#/definitions/ApiErrorBase"
},
"x-ms-identifiers": [
"message",
"target"
]
},
"innererror": {
"$ref": "#/definitions/InnerError",
"description": "The API inner error"
}
}
},
"ApiErrorBase": {
"type": "object",
"description": "API error base.",
"properties": {
"code": {
"type": "string",
"description": "The error code."
},
"target": {
"type": "string",
"description": "The target of the particular error."
},
"message": {
"type": "string",
"description": "The error message."
}
}
},
"ApplicationProfile": {
"type": "object",
"description": "Contains the list of gallery applications that should be made available to the VM",
"properties": {
"galleryApplications": {
"type": "array",
"description": "Specifies the gallery applications that should be made available to the VM",
"items": {
"$ref": "#/definitions/VMGalleryApplication"
},
"x-ms-identifiers": [
"packageReferenceId"
]
}
}
},
"ArchitectureType": {
"type": "string",
"description": "Architecture types supported by Azure VMs.",
"enum": [
"ARM64",
"X64"
],
"x-ms-enum": {
"name": "ArchitectureType",
"modelAsString": true,
"values": [
{
"name": "ARM64",
"value": "ARM64",
"description": "ARM64 Architecture"
},
{
"name": "X64",
"value": "X64",
"description": "X64 Architecture"
}
]
}
},
"Azure.Core.azureLocation": {
"type": "string",
"description": "Represents an Azure geography region where supported resource providers live."
},
"Azure.ResourceManager.CommonTypes.ExtendedLocation": {
"type": "object",
"description": "The complex type of the extended location.",
"properties": {
"name": {
"type": "string",
"description": "The name of the extended location."
},
"type": {
"$ref": "#/definitions/Azure.ResourceManager.CommonTypes.ExtendedLocationType",
"description": "The type of the extended location."
}
},
"required": [
"name",
"type"
]
},
"Azure.ResourceManager.CommonTypes.ExtendedLocationType": {
"type": "string",
"description": "The supported ExtendedLocation types.",
"enum": [
"EdgeZone",
"CustomLocation"
],
"x-ms-enum": {
"name": "ExtendedLocationType",
"modelAsString": true,
"values": [
{
"name": "EdgeZone",
"value": "EdgeZone",
"description": "Azure Edge Zones location type"
},
{
"name": "CustomLocation",
"value": "CustomLocation",
"description": "Azure Custom Locations type"
}
]
}
},
"BootDiagnostics": {
"type": "object",
"description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether boot diagnostics should be enabled on the Virtual Machine."
},
"storageUri": {
"type": "string",
"description": "Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used."
}
}
},
"BulkActionVmExtensionProperties": {
"type": "object",
"description": "Describes the properties of a Virtual Machine Extension.",
"properties": {
"forceUpdateTag": {
"type": "string",
"description": "How the extension handler should be forced to update even if the extension configuration has not changed."
},
"publisher": {
"type": "string",
"description": "The name of the extension handler publisher."
},
"type": {
"type": "string",
"description": "Specifies the type of the extension; an example is 'CustomScriptExtension'."
},
"typeHandlerVersion": {
"type": "string",
"description": "Specifies the version of the script handler."
},
"autoUpgradeMinorVersion": {
"type": "boolean",
"description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
},
"enableAutomaticUpgrade": {
"type": "boolean",
"description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available."
},
"settings": {
"type": "object",
"description": "JSON formatted public settings for the extension.",
"additionalProperties": {}
},
"protectedSettings": {
"type": "object",
"format": "password",
"description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.",
"additionalProperties": {},
"x-ms-mutability": [
"create"
],
"x-ms-secret": true
},
"suppressFailures": {
"type": "boolean",
"description": "Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false."
},
"protectedSettingsFromKeyVault": {
"$ref": "#/definitions/KeyVaultSecretReference",
"format": "password",
"description": "The extensions protected settings that are passed by reference, and consumed from key vault",
"x-ms-mutability": [
"create"
],
"x-ms-secret": true
},
"provisionAfterExtensions": {
"type": "array",
"description": "Collection of extension names after which this extension needs to be provisioned.",
"items": {
"type": "string"
}
}
}
},
"BulkVMConfiguration": {
"type": "object",
"description": "Per-VM configuration overrides that can be applied within a bulk virtual machine operation.",
"properties": {
"plan": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/Plan",
"description": "The marketplace image plan used for the virtual machine."
},
"zones": {
"type": "array",
"description": "The availability zones.",
"items": {
"type": "string"
}
},
"identity": {
"$ref": "#/definitions/VirtualMachineIdentity",
"description": "The identity of the virtual machine, if configured."
},
"extendedLocation": {
"$ref": "#/definitions/Azure.ResourceManager.CommonTypes.ExtendedLocation",
"description": "The extended location of the Virtual Machine."
},
"placement": {
"$ref": "#/definitions/Placement",
"description": "The availability zone placement constraints for the virtual machine."
},
"tags": {
"type": "object",
"description": "Resource tags to apply to the virtual machines created by this bulk action.",
"additionalProperties": {
"type": "string"
}
},
"properties": {
"$ref": "#/definitions/BulkactionVMProperties",
"description": "The configuration properties for the virtual machine."
},
"computeApiVersion": {
"type": "string",
"description": "The Microsoft.Compute API version that defines the virtual machine configuration supplied in the request."
},
"name": {
"type": "string",
"description": "The name of the virtual machine. When omitted, Bulk Actions generates a name from the resource prefix."
}
}
},
"BulkactionVMExtension": {
"type": "object",
"description": "Defines a virtual machine extension.",
"properties": {
"name": {
"type": "string",
"description": "The name of the virtual machine extension."
},
"properties": {
"$ref": "#/definitions/BulkActionVmExtensionProperties",
"description": "Properties of the virtual machine extension."
}
},
"required": [
"name",
"properties"
]
},
"BulkactionVMProperties": {
"type": "object",
"description": "Describes the properties of a Virtual Machine for bulk create.",
"properties": {
"scheduledEventsPolicy": {
"$ref": "#/definitions/ScheduledEventsPolicy",
"description": "Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations for the virtual machine."
},
"storageProfile": {
"$ref": "#/definitions/StorageProfile",
"description": "Specifies the storage settings for the virtual machine disks."
},
"hardwareProfile": {
"$ref": "#/definitions/HardwareProfile",
"description": "Specifies the hardware profile for the virtual machine."
},
"additionalCapabilities": {
"$ref": "#/definitions/AdditionalCapabilities",
"description": "Specifies additional capabilities enabled or disabled on the virtual machine."
},
"osProfile": {
"$ref": "#/definitions/OSProfile",
"description": "Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned."
},
"networkProfile": {
"$ref": "#/definitions/NetworkProfile",
"description": "Specifies the network interfaces of the virtual machine."
},
"securityProfile": {
"$ref": "#/definitions/SecurityProfile",
"description": "Specifies the Security related profile settings for the virtual machine."
},
"diagnosticsProfile": {
"$ref": "#/definitions/DiagnosticsProfile",
"description": "Specifies the boot diagnostic settings state. Minimum compute api-version: 2015-06-15."
},
"licenseType": {
"type": "string",
"description": "Specifies that the image or disk that is being used was licensed on-premises.
Possible values for Windows Server operating system are:
Windows_Client
Windows_Server
Possible values for Linux Server operating system are:
RHEL_BYOS (for RHEL)
SLES_BYOS (for SUSE)
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
Minimum api-version: 2015-06-15"
},
"extensionsTimeBudget": {
"type": "string",
"description": "Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum compute api-version: 2020-06-01."
},
"scheduledEventsProfile": {
"$ref": "#/definitions/ScheduledEventsProfile",
"description": "Specifies Scheduled Event related configurations."
},
"userData": {
"type": "string",
"description": "UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum compute api-version: 2021-03-01."
},
"capacityReservation": {
"$ref": "#/definitions/CapacityReservationProfile",
"description": "Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum compute api-version: 2021-04-01."
},
"applicationProfile": {
"$ref": "#/definitions/ApplicationProfile",
"description": "Specifies the gallery applications that should be made available to the VM."
},
"vmExtensions": {
"type": "array",
"description": "Virtual Machine Extensions Array to be applied to the Virtual Machines.",
"items": {
"$ref": "#/definitions/BulkactionVMExtension"
}
}
}
},
"CachingTypes": {
"type": "string",
"description": "Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage**",
"enum": [
"None",
"ReadOnly",
"ReadWrite"
],
"x-ms-enum": {
"name": "CachingTypes",
"modelAsString": true,
"values": [
{
"name": "None",
"value": "None",
"description": "Caching type:None"
},
{
"name": "ReadOnly",
"value": "ReadOnly",
"description": "Caching type:ReadOnly"
},
{
"name": "ReadWrite",
"value": "ReadWrite",
"description": "Caching type:ReadWrite"
}
]
}
},
"CancelOperationsRequest": {
"type": "object",
"description": "The eligible operations to cancel.",
"properties": {
"operationIds": {
"type": "array",
"description": "The Bulk Action Operation Ids that identify the operations to cancel.",
"items": {
"type": "string"
}
}
},
"required": [
"operationIds"
]
},
"CancelOperationsResponse": {
"type": "object",
"description": "The results of the cancellation requests.",
"properties": {
"results": {
"type": "array",
"description": "The current result for each operation submitted for cancellation.",
"items": {
"$ref": "#/definitions/ResourceOperation"
},
"x-ms-identifiers": [
"resourceId"
]
}
},
"required": [
"results"
]
},
"CapacityReservationProfile": {
"type": "object",
"description": "The parameters of a capacity reservation Profile.",
"properties": {
"capacityReservationGroup": {
"$ref": "#/definitions/SubResource",
"description": "Specifies the capacity reservation group resource id that should be used for allocating the virtual machine provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details."
}
}
},
"CapacityType": {
"type": "string",
"description": "Capacity types for LaunchBulkInstancesOperation.",
"enum": [
"VM",
"VCpu"
],
"x-ms-enum": {
"name": "CapacityType",
"modelAsString": true,
"values": [
{
"name": "VM",
"value": "VM",
"description": "Default. VM is the default capacity type for LaunchBulkInstancesOperation where capacity is provisioned in terms of VMs."
},
{
"name": "VCpu",
"value": "VCpu",
"description": "VCpu is the capacity type for LaunchBulkInstancesOperation where capacity is provisioned in terms of VCpus. If VCpu capacity is not exactly divisible by VCpu count in VMSizes, capacity in VCpus will be overprovisioned by default."
}
]
}
},
"ComputeProfile": {
"type": "object",
"description": "Compute Profile to configure the Virtual Machines.",
"properties": {
"virtualMachineProfile": {
"$ref": "#/definitions/BulkactionVMProperties",
"description": "Base Virtual Machine Profile Properties to be specified according to specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/{computeApiVersion}/virtualMachine.json#/definitions/VirtualMachineProperties"
},
"extensions": {
"type": "array",
"description": "Virtual Machine Extensions Array to be specified according to specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/{computeApiVersion}/virtualMachine.json#/definitions/VirtualMachineExtension",
"items": {
"$ref": "#/definitions/BulkactionVMExtension"
},
"x-ms-identifiers": [
"name"
]
},
"computeApiVersion": {
"type": "string",
"description": "Specifies the Microsoft.Compute API version to use when creating underlying Virtual Machines. The default value will be the latest supported computeApiVersion by LaunchBulkInstancesOperation."
}
},
"required": [
"virtualMachineProfile"
]
},
"CpuManufacturer": {
"type": "string",
"description": "Cpu Manufacturers supported by Azure VMs.",
"enum": [
"Intel",
"AMD",
"Microsoft",
"Ampere"
],
"x-ms-enum": {
"name": "CpuManufacturer",
"modelAsString": true,
"values": [
{
"name": "Intel",
"value": "Intel",
"description": "Intel CPU."
},
{
"name": "AMD",
"value": "AMD",
"description": "AMD CPU."
},
{
"name": "Microsoft",
"value": "Microsoft",
"description": "Microsoft CPU."
},
{
"name": "Ampere",
"value": "Ampere",
"description": "Ampere CPU."
}
]
}
},
"CreateResourceOperationResponse": {
"type": "object",
"description": "The result of a bulk create action.",
"properties": {
"description": {
"type": "string",
"description": "A description of the bulk action result."
},
"type": {
"type": "string",
"description": "The type of resources targeted by the bulk action."
},
"location": {
"$ref": "#/definitions/Azure.Core.azureLocation",
"description": "The Azure region where Bulk Actions processes the request.",
"x-ms-mutability": [
"read",
"create"
]
},
"results": {
"type": "array",
"description": "The result for each virtual machine.",
"items": {
"$ref": "#/definitions/ResourceOperation"
},
"x-ms-identifiers": [
"resourceId"
]
}
},
"required": [
"description",
"type",
"location"
]
},
"DataDisk": {
"type": "object",
"description": "Describes a data disk.",
"properties": {
"lun": {
"type": "integer",
"format": "int32",
"description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
},
"name": {
"type": "string",
"description": "The disk name."
},
"vhd": {
"$ref": "#/definitions/VirtualHardDisk",
"description": "The virtual hard disk."
},
"image": {
"$ref": "#/definitions/VirtualHardDisk",
"description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist."
},
"caching": {
"$ref": "#/definitions/CachingTypes",
"description": "Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage."
},
"writeAcceleratorEnabled": {
"type": "boolean",
"description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
},
"createOption": {
"$ref": "#/definitions/DiskCreateOptionTypes",
"description": "Specifies how the virtual machine disk should be created. Possible values are Attach, FromImage, Empty, Copy, Restore."
},
"diskSizeGB": {
"type": "integer",
"format": "int32",
"description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023."
},
"managedDisk": {
"$ref": "#/definitions/ManagedDiskParameters",
"description": "The managed disk parameters."
},
"sourceResource": {
"$ref": "#/definitions/ApiEntityReference",
"description": "The source resource identifier. It can be a snapshot, or disk restore point from which to create a disk."
},
"toBeDetached": {
"type": "boolean",
"description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset."
},
"detachOption": {
"$ref": "#/definitions/DiskDetachOptionTypes",
"description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. This feature is still in preview. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'."
},
"deleteOption": {
"$ref": "#/definitions/DiskDeleteOptionTypes",
"description": "Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete, Detach. The default value is set to Detach."
}
},
"required": [
"lun",
"createOption"
]
},
"DeallocateResourceOperationResponse": {
"type": "object",
"description": "The result of a bulk deallocate action.",
"properties": {
"description": {
"type": "string",
"description": "A description of the bulk action result."
},
"type": {
"type": "string",
"description": "The type of resources targeted by the bulk action."
},
"location": {
"$ref": "#/definitions/Azure.Core.azureLocation",
"description": "The Azure region where Bulk Actions processes the request.",
"x-ms-mutability": [
"read",
"create"
]
},
"results": {
"type": "array",
"description": "The result for each virtual machine.",
"items": {
"$ref": "#/definitions/ResourceOperation"
},
"x-ms-identifiers": [
"resourceId"
]
}
},
"required": [
"description",
"type",
"location"
]
},
"DeleteOptions": {
"type": "string",
"description": "Specify what happens to the network interface when the VM is deleted",
"enum": [
"Delete",
"Detach"
],
"x-ms-enum": {
"name": "DeleteOptions",
"modelAsString": true,
"values": [
{
"name": "Delete",
"value": "Delete",
"description": "Delete network interface when the VM is deleted"
},
{
"name": "Detach",
"value": "Detach",
"description": "Detach network interface when the VM is deleted"
}
]
}
},
"DeleteResourceOperationResponse": {
"type": "object",
"description": "The result of a bulk delete action.",
"properties": {
"description": {
"type": "string",
"description": "A description of the bulk action result."
},
"type": {
"type": "string",
"description": "The type of resources targeted by the bulk action."
},
"location": {
"$ref": "#/definitions/Azure.Core.azureLocation",
"description": "The Azure region where Bulk Actions processes the request.",
"x-ms-mutability": [
"read",
"create"
]
},
"results": {
"type": "array",
"description": "The result for each virtual machine.",
"items": {
"$ref": "#/definitions/ResourceOperation"
},
"x-ms-identifiers": [
"resourceId"
]
}
},
"required": [
"description",
"type",
"location"
]
},
"DiagnosticsProfile": {
"type": "object",
"description": "Specifies the boot diagnostic settings state. Minimum compute api-version: 2015-06-15.",
"properties": {
"bootDiagnostics": {
"$ref": "#/definitions/BootDiagnostics",
"description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor."
}
}
},
"DiffDiskOptions": {
"type": "string",
"description": "Specifies the ephemeral disk option for operating system disk.",
"enum": [
"Local"
],
"x-ms-enum": {
"name": "DiffDiskOptions",
"modelAsString": true,
"values": [
{
"name": "Local",
"value": "Local",
"description": "Local Ephemeral disk option: Local"
}
]
}
},
"DiffDiskPlacement": {
"type": "string",
"description": "Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the location i.e, cache disk, resource disk or nvme disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. Minimum api-version for NvmeDisk: 2024-03-01.",
"enum": [
"CacheDisk",
"ResourceDisk",
"NvmeDisk"
],
"x-ms-enum": {
"name": "DiffDiskPlacement",
"modelAsString": true,
"values": [
{
"name": "CacheDisk",
"value": "CacheDisk",
"description": "CacheDisk disk placement"
},
{
"name": "ResourceDisk",
"value": "ResourceDisk",
"description": "ResourceDisk disk placement"
},
{
"name": "NvmeDisk",
"value": "NvmeDisk",
"description": "NvmeDisk disk placement"
}
]
}
},
"DiffDiskSettings": {
"type": "object",
"description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk. Note: The ephemeral disk settings can only be specified for managed disk.",
"properties": {
"option": {
"$ref": "#/definitions/DiffDiskOptions",
"description": "Specifies the ephemeral disk settings for operating system disk."
},
"placement": {
"$ref": "#/definitions/DiffDiskPlacement",
"description": "Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk, ResourceDisk, NvmeDisk. The defaulting behavior is: CacheDisk if one is configured for the VM size otherwise ResourceDisk or NvmeDisk is used. Minimum api-version for NvmeDisk: 2024-03-01."
}
}
},
"DiskControllerTypes": {
"type": "string",
"description": "Specifies the disk controller type configured for the VM and VirtualMachineScaleSet. This property is only supported for virtual machines whose operating system disk and VM sku supports Generation 2 (https://docs.microsoft.com/en-us/azure/virtual-machines/generation-2), please check the HyperVGenerations capability returned as part of VM sku capabilities in the response of Microsoft.Compute SKUs api for the region contains V2 (https://docs.microsoft.com/rest/api/compute/resourceskus/list). For more information about Disk Controller Types supported please refer to https://aka.ms/azure-diskcontrollertypes.",
"enum": [
"SCSI",
"NVMe"
],
"x-ms-enum": {
"name": "DiskControllerTypes",
"modelAsString": true,
"values": [
{
"name": "SCSI",
"value": "SCSI",
"description": "SCSI disk controller type"
},
{
"name": "NVMe",
"value": "NVMe",
"description": "NVMe disk controller type"
}
]
}
},
"DiskCreateOptionTypes": {
"type": "string",
"description": "Specifies how the virtual machine disk should be created. Possible values are **Attach:** This value is used when you are using a specialized disk to create the virtual machine. **FromImage:** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. **Empty:** This value is used when creating an empty data disk. **Copy:** This value is used to create a data disk from a snapshot or another disk. **Restore:** This value is used to create a data disk from a disk restore point.",
"enum": [
"FromImage",
"Empty",
"Attach",
"Copy",
"Restore"
],
"x-ms-enum": {
"name": "DiskCreateOptionTypes",
"modelAsString": true,
"values": [
{
"name": "FromImage",
"value": "FromImage",
"description": "Create disk FromImage"
},
{
"name": "Empty",
"value": "Empty",
"description": "Empty value"
},
{
"name": "Attach",
"value": "Attach",
"description": "Create disk by Attach"
},
{
"name": "Copy",
"value": "Copy",
"description": "Create disk by Copy"
},
{
"name": "Restore",
"value": "Restore",
"description": "Create disk by Restore"
}
]
}
},
"DiskDeleteOptionTypes": {
"type": "string",
"description": "Specifies the behavior of the managed disk when the VM gets deleted, for example whether the managed disk is deleted or detached. Supported values are: **Delete.** If this value is used, the managed disk is deleted when VM gets deleted. **Detach.** If this value is used, the managed disk is retained after VM gets deleted. Minimum api-version: 2021-03-01.",
"enum": [
"Delete",
"Detach"
],
"x-ms-enum": {
"name": "DiskDeleteOptionTypes",
"modelAsString": true,
"values": [
{
"name": "Delete",
"value": "Delete",
"description": "Delete the disk upon VM deletion"
},
{
"name": "Detach",
"value": "Detach",
"description": "Detach the disk upon VM deletion"
}
]
}
},
"DiskDetachOptionTypes": {
"type": "string",
"description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values are: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview**. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.",
"enum": [
"ForceDetach"
],
"x-ms-enum": {
"name": "DiskDetachOptionTypes",
"modelAsString": true,
"values": [
{
"name": "ForceDetach",
"value": "ForceDetach",
"description": "ForceDetach the disk"
}
]
}
},
"DiskEncryptionSetParameters": {
"type": "object",
"description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details.",
"allOf": [
{
"$ref": "#/definitions/SubResource"
}
]
},
"DiskEncryptionSettings": {
"type": "object",
"description": "Describes a Encryption Settings for a Disk",
"properties": {
"diskEncryptionKey": {
"$ref": "#/definitions/KeyVaultSecretReference",
"description": "Specifies the location of the disk encryption key, which is a Key Vault Secret."
},
"keyEncryptionKey": {
"$ref": "#/definitions/KeyVaultKeyReference",
"description": "Specifies the location of the key encryption key in Key Vault."
},
"enabled": {
"type": "boolean",
"description": "Specifies whether disk encryption should be enabled on the virtual machine."
}
}
},
"DistributionStrategy": {
"type": "string",
"description": "The strategy Bulk Actions uses to distribute virtual machines across availability zones.",
"enum": [
"BestEffortSingleZone",
"Prioritized",
"BestEffortBalanced",
"StrictBalanced"
],
"x-ms-enum": {
"name": "DistributionStrategy",
"modelAsString": true,
"values": [
{
"name": "BestEffortSingleZone",
"value": "BestEffortSingleZone",
"description": "Bulk Actions attempts to place as many virtual machines as possible in one availability zone and uses additional zones when needed."
},
{
"name": "Prioritized",
"value": "Prioritized",
"description": "Bulk Actions considers availability zones in the customer-specified rank order."
},
{
"name": "BestEffortBalanced",
"value": "BestEffortBalanced",
"description": "Bulk Actions attempts to distribute virtual machines evenly across the available zones."
},
{
"name": "StrictBalanced",
"value": "StrictBalanced",
"description": "Bulk Actions distributes virtual machines evenly across zones and rejects the request when an even distribution cannot be achieved."
}
]
}
},
"DomainNameLabelScopeTypes": {
"type": "string",
"description": "The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created",
"enum": [
"TenantReuse",
"SubscriptionReuse",
"ResourceGroupReuse",
"NoReuse"
],
"x-ms-enum": {
"name": "DomainNameLabelScopeTypes",
"modelAsString": true,
"values": [
{
"name": "TenantReuse",
"value": "TenantReuse",
"description": "TenantReuse scope type"
},
{
"name": "SubscriptionReuse",
"value": "SubscriptionReuse",
"description": "SubscriptionReuse scope type"
},
{
"name": "ResourceGroupReuse",
"value": "ResourceGroupReuse",
"description": "ResourceGroupReuse scope type"
},
{
"name": "NoReuse",
"value": "NoReuse",
"description": "NoReuse scope type"
}
]
}
},
"EncryptionIdentity": {
"type": "object",
"description": "Specifies the Managed Identity used by ADE to get access token for keyvault operations.",
"properties": {
"userAssignedIdentityResourceId": {
"type": "string",
"description": "Specifies ARM Resource ID of one of the user identities associated with the VM."
}
}
},
"EventGridAndResourceGraph": {
"type": "object",
"description": "Specifies eventGridAndResourceGraph related Scheduled Event related configurations.",
"properties": {
"enable": {
"type": "boolean",
"description": "Specifies if event grid and resource graph is enabled for Scheduled event related configurations."
},
"scheduledEventsApiVersion": {
"type": "string",
"description": "Specifies the api-version to determine which Scheduled Events configuration schema version will be delivered."
}
}
},
"EvictionPolicy": {
"type": "string",
"description": "Different kind of eviction policies",
"enum": [
"Delete",
"Deallocate"
],
"x-ms-enum": {
"name": "EvictionPolicy",
"modelAsString": true,
"values": [
{
"name": "Delete",
"value": "Delete",
"description": "When evicted, the Spot VM will be deleted and the corresponding capacity will be updated to reflect this."
},
{
"name": "Deallocate",
"value": "Deallocate",
"description": "When evicted, the Spot VM will be deallocated/stopped"
}
]
}
},
"ExecuteCreateRequest": {
"type": "object",
"description": "The virtual machine configuration and execution settings for a bulk create action.",
"properties": {
"resourceConfigParameters": {
"$ref": "#/definitions/ResourceProvisionPayload",
"description": "The shared and per-virtual-machine creation configuration."
},
"executionParameters": {
"$ref": "#/definitions/ExecutionParameters",
"description": "The execution settings for the bulk action."
}
},
"required": [
"resourceConfigParameters",
"executionParameters"
]
},
"ExecuteDeallocateRequest": {
"type": "object",
"description": "The virtual machines and execution settings for a bulk deallocate action.",
"properties": {
"executionParameters": {
"$ref": "#/definitions/ExecutionParameters",
"description": "The execution settings for the bulk action."
},
"resources": {
"$ref": "#/definitions/Resources",
"description": "The target virtual machines."
}
},
"required": [
"executionParameters",
"resources"
]
},
"ExecuteDeleteRequest": {
"type": "object",
"description": "The virtual machines and execution settings for a bulk delete action.",
"properties": {
"executionParameters": {
"$ref": "#/definitions/ExecutionParameters",
"description": "The execution settings for the bulk action."
},
"resources": {
"$ref": "#/definitions/Resources",
"description": "The target virtual machines."
},
"forceDeletion": {
"type": "boolean",
"description": "Indicates whether Bulk Actions uses forced deletion for the target virtual machines."
}
},
"required": [
"executionParameters",
"resources"
]
},
"ExecuteHibernateRequest": {
"type": "object",
"description": "The virtual machines and execution settings for a bulk hibernate action.",
"properties": {
"executionParameters": {
"$ref": "#/definitions/ExecutionParameters",
"description": "The execution settings for the bulk action."
},
"resources": {
"$ref": "#/definitions/Resources",
"description": "The target virtual machines."
}
},
"required": [
"executionParameters",
"resources"
]
},
"ExecuteReimageRequest": {
"type": "object",
"description": "The virtual machines and configuration for a bulk reimage action.",
"properties": {
"executionParameters": {
"$ref": "#/definitions/ExecutionParameters",
"description": "The execution settings for the bulk action."
},
"resources": {
"$ref": "#/definitions/Resources",
"description": "The target virtual machines."
},
"reimageParameters": {
"$ref": "#/definitions/ReimagePayload",
"description": "The shared and per-virtual-machine reimage configuration."
}
},
"required": [
"executionParameters",
"resources"
]
},
"ExecuteStartRequest": {
"type": "object",
"description": "The virtual machines and execution settings for a bulk start action.",
"properties": {
"executionParameters": {
"$ref": "#/definitions/ExecutionParameters",
"description": "The execution settings for the bulk action."
},
"resources": {
"$ref": "#/definitions/Resources",
"description": "The target virtual machines."
}
},
"required": [
"executionParameters",
"resources"
]
},
"ExecuteVdiCreateRequest": {
"type": "object",
"description": "The virtual machine configuration and flexible allocation preferences for a virtual desktop infrastructure workload.",
"properties": {
"resourceConfigParameters": {
"$ref": "#/definitions/ResourceProvisionVdiPayload",
"description": "The creation configuration and flexible allocation preferences."
},
"executionParameters": {
"$ref": "#/definitions/ExecutionParameters",
"description": "The execution settings for the bulk action."
}
},
"required": [
"resourceConfigParameters",
"executionParameters"
]
},
"ExecutionParameters": {
"type": "object",
"description": "The execution settings for a bulk action.",
"properties": {
"retryPolicy": {
"$ref": "#/definitions/RetryPolicy",
"description": "The retry settings for the bulk action."
}
}
},
"FallbackOperationInfo": {
"type": "object",
"description": "Information about the fallback operation attempted after the requested operation did not succeed.",
"properties": {
"lastOpType": {
"$ref": "#/definitions/ResourceOperationType",
"description": "The type of the additional operation."
},
"status": {
"type": "string",
"description": "The status of the additional operation."
},
"error": {
"$ref": "#/definitions/ResourceOperationError",
"description": "The error returned when the additional operation did not succeed."
}
},
"required": [
"lastOpType",
"status"
]
},
"FlexProperties": {
"type": "object",
"description": "The allocation preferences for creating virtual machines for a virtual desktop infrastructure workload.",
"properties": {
"vmSizeProfiles": {
"type": "array",
"description": "The virtual machine sizes that Bulk Actions can use, in customer-defined priority order.",
"minItems": 1,
"maxItems": 5,
"items": {
"$ref": "#/definitions/VmSizeProfile"
},
"x-ms-identifiers": []
},
"osType": {
"$ref": "#/definitions/OsType",
"description": "The operating system type for the virtual machines."
},
"priorityProfile": {
"$ref": "#/definitions/PriorityProfile",
"description": "The priority and allocation preferences for the virtual machines."
},
"zoneAllocationPolicy": {
"$ref": "#/definitions/ZoneAllocationPolicy",
"description": "The preferences for distributing virtual machines across availability zones."
}
},
"required": [
"vmSizeProfiles",
"osType",
"priorityProfile"
]
},
"GetOperationStatusRequest": {
"type": "object",
"description": "The operation for which current status should be returned.",
"properties": {
"operationIds": {
"type": "array",
"description": "The Bulk Action Operation Ids that identify the operations for which current status should be returned.",
"items": {
"type": "string"
}
}
},
"required": [
"operationIds"
]
},
"GetOperationStatusResponse": {
"type": "object",
"description": "The current results for the requested operations.",
"properties": {
"results": {
"type": "array",
"description": "The current result for each requested operation.",
"items": {
"$ref": "#/definitions/ResourceOperation"
},
"x-ms-identifiers": [
"resourceId"
]
}
},
"required": [
"results"
]
},
"HardwareProfile": {
"type": "object",
"description": "Specifies the hardware profile for the virtual machine.",
"properties": {
"vmSize": {
"type": "string",
"description": "Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set."
},
"vmSizeProperties": {
"$ref": "#/definitions/VmSizeProperties",
"description": "Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details."
}
}
},
"HibernateResourceOperationResponse": {
"type": "object",
"description": "The result of a bulk hibernate action.",
"properties": {
"description": {
"type": "string",
"description": "A description of the bulk action result."
},
"type": {
"type": "string",
"description": "The type of resources targeted by the bulk action."
},
"location": {
"$ref": "#/definitions/Azure.Core.azureLocation",
"description": "The Azure region where Bulk Actions processes the request.",
"x-ms-mutability": [
"read",
"create"
]
},
"results": {
"type": "array",
"description": "The result for each virtual machine.",
"items": {
"$ref": "#/definitions/ResourceOperation"
},
"x-ms-identifiers": [
"resourceId"
]
}
},
"required": [
"description",
"type",
"location"
]
},
"HostEndpointSettings": {
"type": "object",
"description": "Specifies particular host endpoint settings.",
"properties": {
"mode": {
"$ref": "#/definitions/Modes",
"description": "Specifies the execution mode. In Audit mode, the system acts as if it is enforcing the access control policy, including emitting access denial entries in the logs but it does not actually deny any requests to host endpoints. In Enforce mode, the system will enforce the access control and it is the recommended mode of operation."
},
"inVMAccessControlProfileReferenceId": {
"type": "string",
"description": "Specifies the InVMAccessControlProfileVersion resource id in the format of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/inVMAccessControlProfiles/{profile}/versions/{version}"
}
}
},
"HyperVGeneration": {
"type": "string",
"description": "HyperVGenerations supported by Azure VMs.",
"enum": [
"Gen1",
"Gen2"
],
"x-ms-enum": {
"name": "HyperVGeneration",
"modelAsString": true,
"values": [
{
"name": "Gen1",
"value": "Gen1",
"description": "Gen1 hyperV."
},
{
"name": "Gen2",
"value": "Gen2",
"description": "Gen2 hyperV."
}
]
}
},
"IPVersions": {
"type": "string",
"description": "Available from compute Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
"enum": [
"IPv4",
"IPv6"
],
"x-ms-enum": {
"name": "IPVersions",
"modelAsString": true,
"values": [
{
"name": "IPv4",
"value": "IPv4",
"description": "IPv4 version"
},
{
"name": "IPv6",
"value": "IPv6",
"description": "IPv6 version"
}
]
}
},
"ImageReference": {
"type": "object",
"description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set.",
"properties": {
"publisher": {
"type": "string",
"description": "The image publisher."
},
"offer": {
"type": "string",
"description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine."
},
"sku": {
"type": "string",
"description": "The image SKU."
},
"version": {
"type": "string",
"description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input."
},
"sharedGalleryImageId": {
"type": "string",
"description": "Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call."
},
"communityGalleryImageId": {
"type": "string",
"description": "Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call."
}
},
"allOf": [
{
"$ref": "#/definitions/SubResource"
}
]
},
"InnerError": {
"type": "object",
"description": "Inner error details.",
"properties": {
"exceptionType": {
"type": "string",
"description": "The exception type."
},
"errorDetail": {
"type": "string",
"description": "The internal error message or exception dump."
}
}
},
"KeyVaultKeyReference": {
"type": "object",
"description": "Describes a reference to Key Vault Key",
"properties": {
"keyUrl": {
"type": "string",
"description": "The URL referencing a key encryption key in Key Vault."
},
"sourceVault": {
"$ref": "#/definitions/SubResource",
"description": "The relative URL of the Key Vault containing the key."
}
},
"required": [
"keyUrl",
"sourceVault"
]
},
"KeyVaultSecretReference": {
"type": "object",
"description": "A reference to a secret stored in Azure Key Vault.",
"properties": {
"secretUrl": {
"type": "string",
"description": "The URL of the secret in Azure Key Vault."
},
"sourceVault": {
"$ref": "#/definitions/SubResource",
"description": "The Azure resource ID of the Key Vault that contains the secret."
}
},
"required": [
"secretUrl",
"sourceVault"
]
},
"LaunchBulkInstancesOperationListResult": {
"type": "object",
"description": "List of LaunchBulkInstancesOperation resources.",
"properties": {
"value": {
"type": "array",
"description": "The list of LaunchBulkInstancesOperation resources.",
"items": {
"$ref": "#/definitions/LocationBasedLaunchBulkInstancesOperation"
},
"x-ms-identifiers": [
"id"
]
},
"nextLink": {
"type": "string",
"description": "The URL to get the next set of results."
}
},
"required": [
"value"
]
},
"LaunchBulkInstancesOperationProperties": {
"type": "object",
"description": "Details of the LaunchBulkInstancesOperation.",
"properties": {
"createdTime": {
"type": "string",
"format": "date-time",
"description": "The UTC time the LaunchBulkInstancesOperation resource was created.",
"readOnly": true
},
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
"description": "The status of the last operation.",
"readOnly": true
},
"capacity": {
"type": "integer",
"format": "int32",
"description": "Total capacity to achieve. It can be in terms of VMs or vCPUs.",
"minimum": 1
},
"capacityType": {
"$ref": "#/definitions/CapacityType",
"description": "Specifies capacity type for launching instances. It can be in terms of VMs or vCPUs."
},
"priorityProfile": {
"$ref": "#/definitions/PriorityProfile",
"description": "Configuration Options for Regular or Spot instances in LaunchBulkInstancesOperation."
},
"vmSizesProfile": {
"type": "array",
"description": "List of VM sizes supported for LaunchBulkInstancesOperation",
"items": {
"$ref": "#/definitions/VmSizeProfile"
},
"x-ms-identifiers": []
},
"vmAttributes": {
"$ref": "#/definitions/VMAttributes",
"description": "Attributes to launch instances."
},
"computeProfile": {
"$ref": "#/definitions/ComputeProfile",
"description": "Compute Profile to configure the Virtual Machines."
},
"zoneAllocationPolicy": {
"$ref": "#/definitions/ZoneAllocationPolicy",
"description": "Zone Allocation Policy for launching instances."
},
"retryPolicy": {
"$ref": "#/definitions/RetryPolicy",
"description": "Retry policy the user can pass"
}
},
"required": [
"capacity",
"priorityProfile",
"computeProfile"
]
},
"LinuxConfiguration": {
"type": "object",
"description": "Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros).",
"properties": {
"disablePasswordAuthentication": {
"type": "boolean",
"description": "Specifies whether password authentication should be disabled."
},
"ssh": {
"$ref": "#/definitions/SshConfiguration",
"description": "Specifies the ssh key configuration for a Linux OS."
},
"provisionVMAgent": {
"type": "boolean",
"description": "Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later."
},
"patchSettings": {
"$ref": "#/definitions/LinuxPatchSettings",
"description": "[Preview Feature] Specifies settings related to VM Guest Patching on Linux."
},
"enableVMAgentPlatformUpdates": {
"type": "boolean",
"description": "Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false."
}
}
},
"LinuxPatchAssessmentMode": {
"type": "string",
"description": "Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.
Possible values are:
**ImageDefault** - You control the timing of patch assessments on a virtual machine.
**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.",
"enum": [
"ImageDefault",
"AutomaticByPlatform"
],
"x-ms-enum": {
"name": "LinuxPatchAssessmentMode",
"modelAsString": true,
"values": [
{
"name": "ImageDefault",
"value": "ImageDefault",
"description": "ImageDefault mode"
},
{
"name": "AutomaticByPlatform",
"value": "AutomaticByPlatform",
"description": "AutomaticByPlatform mode"
}
]
}
},
"LinuxPatchSettings": {
"type": "object",
"description": "Specifies settings related to VM Guest Patching on Linux.",
"properties": {
"patchMode": {
"$ref": "#/definitions/LinuxVMGuestPatchMode",
"description": "Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.
Possible values are:
**ImageDefault** - The virtual machine's default patching configuration is used.
**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true"
},
"assessmentMode": {
"$ref": "#/definitions/LinuxPatchAssessmentMode",
"description": "Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.
Possible values are:
**ImageDefault** - You control the timing of patch assessments on a virtual machine.
**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true."
},
"automaticByPlatformSettings": {
"$ref": "#/definitions/LinuxVMGuestPatchAutomaticByPlatformSettings",
"description": "Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux."
}
}
},
"LinuxVMGuestPatchAutomaticByPlatformRebootSetting": {
"type": "string",
"description": "Specifies the reboot setting for all AutomaticByPlatform patch installation operations.",
"enum": [
"Unknown",
"IfRequired",
"Never",
"Always"
],
"x-ms-enum": {
"name": "LinuxVMGuestPatchAutomaticByPlatformRebootSetting",
"modelAsString": true,
"values": [
{
"name": "Unknown",
"value": "Unknown",
"description": "Unknown reboot setting"
},
{
"name": "IfRequired",
"value": "IfRequired",
"description": "Reboot if required"
},
{
"name": "Never",
"value": "Never",
"description": "Never reboot"
},
{
"name": "Always",
"value": "Always",
"description": "Always reboot"
}
]
}
},
"LinuxVMGuestPatchAutomaticByPlatformSettings": {
"type": "object",
"description": "Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings.",
"properties": {
"rebootSetting": {
"$ref": "#/definitions/LinuxVMGuestPatchAutomaticByPlatformRebootSetting",
"description": "Specifies the reboot setting for all AutomaticByPlatform patch installation operations."
},
"bypassPlatformSafetyChecksOnUserSchedule": {
"type": "boolean",
"description": "Enables customer to schedule patching without accidental upgrades"
}
}
},
"LinuxVMGuestPatchMode": {
"type": "string",
"description": "Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.
Possible values are:
**ImageDefault** - The virtual machine's default patching configuration is used.
**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true",
"enum": [
"ImageDefault",
"AutomaticByPlatform"
],
"x-ms-enum": {
"name": "LinuxVMGuestPatchMode",
"modelAsString": true,
"values": [
{
"name": "ImageDefault",
"value": "ImageDefault",
"description": "ImageDefault linux VM guest patch mode"
},
{
"name": "AutomaticByPlatform",
"value": "AutomaticByPlatform",
"description": "AutomaticByPlatform linux VM guest patch mode"
}
]
}
},
"LocalStorageDiskType": {
"type": "string",
"description": "Local storage disk types supported by Azure VMs.",
"enum": [
"HDD",
"SSD"
],
"x-ms-enum": {
"name": "LocalStorageDiskType",
"modelAsString": true,
"values": [
{
"name": "HDD",
"value": "HDD",
"description": "HDD DiskType."
},
{
"name": "SSD",
"value": "SSD",
"description": "SSD DiskType."
}
]
}
},
"LocationBasedLaunchBulkInstancesOperation": {
"type": "object",
"description": "Location based LaunchBulkInstancesOperation resource. The location is part of the resource path.",
"properties": {
"properties": {
"$ref": "#/definitions/LaunchBulkInstancesOperationProperties",
"description": "The resource-specific properties for this resource."
},
"zones": {
"type": "array",
"description": "Zones in which the LaunchBulkInstancesOperation is available",
"items": {
"type": "string"
}
},
"tags": {
"type": "object",
"description": "Resource tags.",
"additionalProperties": {
"type": "string"
}
},
"identity": {
"$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity",
"description": "The managed service identities assigned to this resource."
},
"plan": {
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/Plan",
"description": "Details of the resource plan."
}
},
"allOf": [
{
"$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource"
}
]
},
"ManagedDiskParameters": {
"type": "object",
"description": "The parameters of a managed disk.",
"properties": {
"storageAccountType": {
"$ref": "#/definitions/StorageAccountTypes",
"description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."
},
"diskEncryptionSet": {
"$ref": "#/definitions/DiskEncryptionSetParameters",
"description": "Specifies the customer managed disk encryption set resource id for the managed disk."
},
"securityProfile": {
"$ref": "#/definitions/VMDiskSecurityProfile",
"description": "Specifies the security profile for the managed disk."
}
},
"allOf": [
{
"$ref": "#/definitions/SubResource"
}
]
},
"Mode": {
"type": "string",
"description": "Specifies the mode that ProxyAgent will execute on if the feature is enabled. ProxyAgent will start to audit or monitor but not enforce access control over requests to host endpoints in Audit mode, while in Enforce mode it will enforce access control. The default value is Enforce mode.",
"enum": [
"Audit",
"Enforce"
],
"x-ms-enum": {
"name": "Mode",
"modelAsString": true,
"values": [
{
"name": "Audit",
"value": "Audit",
"description": "Audit mode"
},
{
"name": "Enforce",
"value": "Enforce",
"description": "Enforce mode"
}
]
}
},
"Modes": {
"type": "string",
"description": "Specifies the execution mode. In Audit mode, the system acts as if it is enforcing the access control policy, including emitting access denial entries in the logs but it does not actually deny any requests to host endpoints. In Enforce mode, the system will enforce the access control and it is the recommended mode of operation.",
"enum": [
"Audit",
"Enforce",
"Disabled"
],
"x-ms-enum": {
"name": "Modes",
"modelAsString": true,
"values": [
{
"name": "Audit",
"value": "Audit",
"description": "Audit mode"
},
{
"name": "Enforce",
"value": "Enforce",
"description": "Enforce mode"
},
{
"name": "Disabled",
"value": "Disabled",
"description": "Disabled mode"
}
]
}
},
"NetworkApiVersion": {
"type": "string",
"description": "Specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations",
"enum": [
"2020-11-01",
"2022-11-01"
],
"x-ms-enum": {
"name": "NetworkApiVersion",
"modelAsString": true,
"values": [
{
"name": "2020-11-01",
"value": "2020-11-01",
"description": "2020-11-01 version"
},
{
"name": "2022-11-01",
"value": "2022-11-01",
"description": "2022-11-01 version"
}
]
}
},
"NetworkInterfaceAuxiliaryMode": {
"type": "string",
"description": "Specifies whether the Auxiliary mode is enabled for the Network Interface resource.",
"enum": [
"None",
"AcceleratedConnections",
"Floating"
],
"x-ms-enum": {
"name": "NetworkInterfaceAuxiliaryMode",
"modelAsString": true,
"values": [
{
"name": "None",
"value": "None",
"description": "None mode"
},
{
"name": "AcceleratedConnections",
"value": "AcceleratedConnections",
"description": "AcceleratedConnections mode"
},
{
"name": "Floating",
"value": "Floating",
"description": "Floating mode"
}
]
}
},
"NetworkInterfaceAuxiliarySku": {
"type": "string",
"description": "Specifies whether the Auxiliary sku is enabled for the Network Interface resource.",
"enum": [
"None",
"A1",
"A2",
"A4",
"A8"
],
"x-ms-enum": {
"name": "NetworkInterfaceAuxiliarySku",
"modelAsString": true,
"values": [
{
"name": "None",
"value": "None",
"description": "None: None sku"
},
{
"name": "A1",
"value": "A1",
"description": "A1 sku"
},
{
"name": "A2",
"value": "A2",
"description": "A2 sku"
},
{
"name": "A4",
"value": "A4",
"description": "A4 sku"
},
{
"name": "A8",
"value": "A8",
"description": "A8 sku"
}
]
}
},
"NetworkInterfaceReference": {
"type": "object",
"description": "Describes a network interface reference.",
"properties": {
"properties": {
"$ref": "#/definitions/NetworkInterfaceReferenceProperties",
"description": "Describes a network interface reference properties."
}
},
"allOf": [
{
"$ref": "#/definitions/SubResource"
}
]
},
"NetworkInterfaceReferenceProperties": {
"type": "object",
"description": "Describes a network interface reference properties.",
"properties": {
"primary": {
"type": "boolean",
"description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
},
"deleteOption": {
"$ref": "#/definitions/DeleteOptions",
"description": "Specify what happens to the network interface when the VM is deleted"
}
}
},
"NetworkProfile": {
"type": "object",
"description": "Specifies the network interfaces or the networking configuration of the virtual machine.",
"properties": {
"networkInterfaces": {
"type": "array",
"description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine.",
"items": {
"$ref": "#/definitions/NetworkInterfaceReference"
}
},
"networkApiVersion": {
"$ref": "#/definitions/NetworkApiVersion",
"description": "specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations"
},
"networkInterfaceConfigurations": {
"type": "array",
"description": "Specifies the networking configurations that will be used to create the virtual machine networking resources.",
"items": {
"$ref": "#/definitions/VirtualMachineNetworkInterfaceConfiguration"
},
"x-ms-identifiers": [
"name"
]
}
}
},
"OSDisk": {
"type": "object",
"description": "Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).",
"properties": {
"osType": {
"$ref": "#/definitions/OperatingSystemTypes",
"description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows, Linux."
},
"encryptionSettings": {
"$ref": "#/definitions/DiskEncryptionSettings",
"description": "Specifies the encryption settings for the OS Disk. Minimum compute api-version: 2015-06-15."
},
"name": {
"type": "string",
"description": "The disk name."
},
"vhd": {
"$ref": "#/definitions/VirtualHardDisk",
"description": "The virtual hard disk."
},
"image": {
"$ref": "#/definitions/VirtualHardDisk",
"description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist."
},
"caching": {
"$ref": "#/definitions/CachingTypes",
"description": "Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage."
},
"writeAcceleratorEnabled": {
"type": "boolean",
"description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
},
"diffDiskSettings": {
"$ref": "#/definitions/DiffDiskSettings",
"description": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine."
},
"createOption": {
"$ref": "#/definitions/DiskCreateOptionTypes",
"description": "Specifies how the virtual machine disk should be created. Possible values are Attach, FromImage. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described."
},
"diskSizeGB": {
"type": "integer",
"format": "int32",
"description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023."
},
"managedDisk": {
"$ref": "#/definitions/ManagedDiskParameters",
"description": "The managed disk parameters."
},
"deleteOption": {
"$ref": "#/definitions/DiskDeleteOptionTypes",
"description": "Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: Delete, Detach. The default value is set to Detach. For an ephemeral OS Disk, the default value is set to Delete. The user cannot change the delete option for an ephemeral OS Disk."
}
},
"required": [
"createOption"
]
},
"OSImageNotificationProfile": {
"type": "object",
"description": "Profile for the OS Image Scheduled event.",
"properties": {
"notBeforeTimeout": {
"type": "string",
"description": "Length of time a Virtual Machine being reimaged or having its OS upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). The configuration is specified in ISO 8601 format, and the value must be 15 minutes (PT15M)"
},
"enable": {
"type": "boolean",
"description": "Specifies whether the OS Image Scheduled event is enabled or disabled."
}
}
},
"OSProfile": {
"type": "object",
"description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned.",
"properties": {
"computerName": {
"type": "string",
"description": "Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules)."
},
"adminUsername": {
"type": "string",
"description": "Specifies the name of the administrator account.
This property cannot be updated after the VM is created.
**Windows-only restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length (Linux):** 1 character
**Max-length (Linux):** 64 characters
**Max-length (Windows):** 20 characters."
},
"adminPassword": {
"type": "string",
"format": "password",
"description": "Specifies the password of the administrator account.
**Minimum-length (Windows):** 8 characters
**Minimum-length (Linux):** 6 characters
**Max-length (Windows):** 123 characters
**Max-length (Linux):** 72 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"
For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)
For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)",
"x-ms-mutability": [
"create"
],
"x-ms-secret": true
},
"customData": {
"type": "string",
"description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init)."
},
"windowsConfiguration": {
"$ref": "#/definitions/WindowsConfiguration",
"description": "Specifies Windows operating system settings on the virtual machine."
},
"linuxConfiguration": {
"$ref": "#/definitions/LinuxConfiguration",
"description": "Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros)."
},
"secrets": {
"type": "array",
"description": "Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows).",
"items": {
"$ref": "#/definitions/VaultSecretGroup"
},
"x-ms-identifiers": [
"sourceVault/id"
]
},
"allowExtensionOperations": {
"type": "boolean",
"description": "Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine."
},
"requireGuestProvisionSignal": {
"type": "boolean",
"description": "Optional property which must either be set to True or omitted."
}
}
},
"OSProfileProvisioningData": {
"type": "object",
"description": "Additional parameters for reimaging a virtual machine that does not use an ephemeral operating system disk.",
"properties": {
"adminPassword": {
"type": "string",
"format": "password",
"description": "The password for the virtual machine administrator account. The password must be 8 to 123 characters long for Windows virtual machines or 6 to 72 characters long for Linux virtual machines. It must contain characters from at least three of these categories: lowercase letters, uppercase letters, digits, and special characters. The following values are not allowed: `abc@123`, `P@$$w0rd`, `P@ssw0rd`, `P@ssword123`, `Pa$$word`, `pass@word1`, `Password!`, `Password1`, `Password22`, and `iloveyou!`. This secret is accepted only in the request and is not returned in responses.",
"x-ms-secret": true
},
"customData": {
"type": "string",
"description": "Base64-encoded custom data provided to the virtual machine. The decoded data can contain up to 65,535 bytes. Do not include secrets or passwords."
}
}
},
"OperatingSystemTypes": {
"type": "string",
"description": "This property allows you to specify the supported type of the OS that application is built for. Possible values are: **Windows,** **Linux.**",
"enum": [
"Windows",
"Linux"
],
"x-ms-enum": {
"name": "OperatingSystemTypes",
"modelAsString": true,
"values": [
{
"name": "Windows",
"value": "Windows",
"description": "Windows OS"
},
{
"name": "Linux",
"value": "Linux",
"description": "Linux OS"
}
]
}
},
"OsType": {
"type": "string",
"description": "The operating system type for virtual machines created with flexible allocation preferences.",
"enum": [
"Windows",
"Linux"
],
"x-ms-enum": {
"name": "OsType",
"modelAsString": true,
"values": [
{
"name": "Windows",
"value": "Windows",
"description": "Windows operating system."
},
{
"name": "Linux",
"value": "Linux",
"description": "Linux operating system."
}
]
}
},
"PatchSettings": {
"type": "object",
"description": "Specifies settings related to VM Guest Patching on Windows.",
"properties": {
"patchMode": {
"$ref": "#/definitions/WindowsVMGuestPatchMode",
"description": "Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.
Possible values are:
**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false
**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.
**AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true"
},
"enableHotpatching": {
"type": "boolean",
"description": "Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'."
},
"assessmentMode": {
"$ref": "#/definitions/WindowsPatchAssessmentMode",
"description": "Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.
Possible values are:
**ImageDefault** - You control the timing of patch assessments on a virtual machine.
**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true."
},
"automaticByPlatformSettings": {
"$ref": "#/definitions/WindowsVMGuestPatchAutomaticByPlatformSettings",
"description": "Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows."
}
}
},
"Placement": {
"type": "object",
"description": "The customer-defined constraints for virtual machine placement.",
"properties": {
"zonePlacementPolicy": {
"$ref": "#/definitions/ZonePlacementPolicyType",
"description": "The policy used to select an availability zone."
},
"includeZones": {
"type": "array",
"description": "The availability zones that Bulk Actions can select. When omitted, Bulk Actions can consider any supported zone in the region.",
"items": {
"type": "string"
}
},
"excludeZones": {
"type": "array",
"description": "The availability zones that Bulk Actions must not select.",
"items": {
"type": "string"
}
}
}
},
"PriorityProfile": {
"type": "object",
"description": "The priority and allocation preferences for virtual machines.",
"properties": {
"type": {
"$ref": "#/definitions/PriorityType",
"description": "The priority type for virtual machine allocation."
},
"maxPricePerVM": {
"type": "number",
"format": "float",
"description": "The maximum hourly price, in US dollars, for each Spot virtual machine."
},
"evictionPolicy": {
"$ref": "#/definitions/EvictionPolicy",
"description": "The action applied to a Spot virtual machine when Azure evicts it."
},
"allocationStrategy": {
"$ref": "#/definitions/AllocationStrategy",
"description": "The strategy used to select a virtual machine size."
}
}
},
"PriorityType": {
"type": "string",
"description": "The priority type for virtual machine allocation.",
"enum": [
"Regular",
"Spot"
],
"x-ms-enum": {
"name": "PriorityType",
"modelAsString": true,
"values": [
{
"name": "Regular",
"value": "Regular",
"description": "Regular, non-Spot virtual machines."
},
{
"name": "Spot",
"value": "Spot",
"description": "Azure Spot Virtual Machines."
}
]
}
},
"ProtocolTypes": {
"type": "string",
"description": "Specifies the protocol of WinRM listener. Possible values are: **http,** **https.**",
"enum": [
"Http",
"Https"
],
"x-ms-enum": {
"name": "ProtocolTypes",
"modelAsString": true,
"values": [
{
"name": "Http",
"value": "Http",
"description": "Http protocol"
},
{
"name": "Https",
"value": "Https",
"description": "Https protocol"
}
]
}
},
"ProvisioningState": {
"type": "string",
"description": "The status of the LaunchBulkInstancesOperation.",
"enum": [
"Creating",
"Succeeded",
"Failed",
"Deleting",
"Canceled"
],
"x-ms-enum": {
"name": "ProvisioningState",
"modelAsString": true,
"values": [
{
"name": "Creating",
"value": "Creating",
"description": "Initial creation in progress."
},
{
"name": "Succeeded",
"value": "Succeeded",
"description": "The operation has completed successfully."
},
{
"name": "Failed",
"value": "Failed",
"description": "The operation has failed."
},
{
"name": "Deleting",
"value": "Deleting",
"description": "Deletion in progress."
},
{
"name": "Canceled",
"value": "Canceled",
"description": "The operation has been canceled."
}
]
},
"readOnly": true
},
"ProxyAgentSettings": {
"type": "object",
"description": "Specifies ProxyAgent settings for the virtual machine or virtual machine scale set. Minimum api-version: 2023-09-01.",
"properties": {
"enabled": {
"type": "boolean",
"description": "Specifies whether ProxyAgent feature should be enabled on the virtual machine or virtual machine scale set."
},
"mode": {
"$ref": "#/definitions/Mode",
"description": "Specifies the mode that ProxyAgent will execute on. Warning: this property has been deprecated, please specify 'mode' under particular hostendpoint setting."
},
"keyIncarnationId": {
"type": "integer",
"format": "int32",
"description": "Increase the value of this property allows users to reset the key used for securing communication channel between guest and host."
},
"wireServer": {
"$ref": "#/definitions/HostEndpointSettings",
"description": "Specifies the Wire Server endpoint settings while creating the virtual machine or virtual machine scale set. Minimum api-version: 2024-03-01."
},
"imds": {
"$ref": "#/definitions/HostEndpointSettings",
"description": "Specifies the IMDS endpoint settings while creating the virtual machine or virtual machine scale set. Minimum api-version: 2024-03-01."
},
"addProxyAgentExtension": {
"type": "boolean",
"description": "Specify whether to implicitly install the ProxyAgent Extension. This option is currently applicable only for Linux Os."
}
}
},
"PublicIPAddressSku": {
"type": "object",
"description": "Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.",
"properties": {
"name": {
"$ref": "#/definitions/PublicIPAddressSkuName",
"description": "Specify public IP sku name"
},
"tier": {
"$ref": "#/definitions/PublicIPAddressSkuTier",
"description": "Specify public IP sku tier"
}
}
},
"PublicIPAddressSkuName": {
"type": "string",
"description": "Specify public IP sku name",
"enum": [
"Basic",
"Standard"
],
"x-ms-enum": {
"name": "PublicIPAddressSkuName",
"modelAsString": true,
"values": [
{
"name": "Basic",
"value": "Basic",
"description": "Basic IP sku name"
},
{
"name": "Standard",
"value": "Standard",
"description": "Standard IP sku name"
}
]
}
},
"PublicIPAddressSkuTier": {
"type": "string",
"description": "Specify public IP sku tier",
"enum": [
"Regional",
"Global"
],
"x-ms-enum": {
"name": "PublicIPAddressSkuTier",
"modelAsString": true,
"values": [
{
"name": "Regional",
"value": "Regional",
"description": "Regional IP address sku tier"
},
{
"name": "Global",
"value": "Global",
"description": "Global IP address sku tier"
}
]
}
},
"PublicIPAllocationMethod": {
"type": "string",
"description": "Specify the public IP allocation type",
"enum": [
"Dynamic",
"Static"
],
"x-ms-enum": {
"name": "PublicIPAllocationMethod",
"modelAsString": true,
"values": [
{
"name": "Dynamic",
"value": "Dynamic",
"description": "Dynamic IP allocation"
},
{
"name": "Static",
"value": "Static",
"description": "Static IP allocation"
}
]
}
},
"ReimagePayload": {
"type": "object",
"description": "The shared and per-virtual-machine configuration for a bulk reimage action.",
"properties": {
"baseProfile": {
"$ref": "#/definitions/VirtualMachineReimageParameters",
"description": "The reimage configuration applied to every virtual machine unless a per-virtual-machine override is provided."
},
"resourceOverrides": {
"type": "array",
"description": "The reimage configuration overrides for individual virtual machines.",
"items": {
"$ref": "#/definitions/ReimageResourceOverride"
},
"x-ms-identifiers": []
}
}
},
"ReimageResourceOperationResponse": {
"type": "object",
"description": "The result of a bulk reimage action.",
"properties": {
"description": {
"type": "string",
"description": "A description of the bulk action result."
},
"type": {
"type": "string",
"description": "The type of resources targeted by the bulk action."
},
"location": {
"$ref": "#/definitions/Azure.Core.azureLocation",
"description": "The Azure region where Bulk Actions processes the request.",
"x-ms-mutability": [
"read",
"create"
]
},
"results": {
"type": "array",
"description": "The result for each virtual machine.",
"items": {
"$ref": "#/definitions/ResourceOperation"
},
"x-ms-identifiers": [
"resourceId"
]
}
},
"required": [
"description",
"type",
"location"
]
},
"ReimageResourceOverride": {
"type": "object",
"description": "A reimage configuration override for one virtual machine.",
"properties": {
"resourceId": {
"type": "string",
"format": "arm-id",
"description": "The Azure resource ID of the virtual machine to which the override applies.",
"x-ms-arm-id-details": {
"allowedResources": [
{
"type": "Microsoft.Compute/virtualMachines"
}
]
}
},
"profile": {
"$ref": "#/definitions/VirtualMachineReimageParameters",
"description": "The reimage configuration for this virtual machine."
}
},
"required": [
"resourceId",
"profile"
]
},
"ResourceIdentityType": {
"type": "string",
"description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.",
"enum": [
"SystemAssigned",
"UserAssigned",
"SystemAssigned, UserAssigned",
"None"
],
"x-ms-enum": {
"name": "ResourceIdentityType",
"modelAsString": false
}
},
"ResourceOperation": {
"type": "object",
"description": "The result of a bulk action for one virtual machine.",
"properties": {
"resourceId": {
"type": "string",
"format": "arm-id",
"description": "The virtual machine Azure resource ID."
},
"errorCode": {
"type": "string",
"description": "A code that identifies the error for the virtual machine operation."
},
"errorDetails": {
"type": "string",
"description": "A message that describes the error for the virtual machine operation."
},
"operation": {
"$ref": "#/definitions/ResourceOperationDetails",
"description": "The virtual machine operation details."
}
}
},
"ResourceOperationDetails": {
"type": "object",
"description": "The status and settings for an operation on one virtual machine.",
"properties": {
"operationId": {
"type": "string",
"description": "The operation ID used to track the action for this virtual machine."
},
"resourceId": {
"type": "string",
"format": "arm-id",
"description": "The virtual machine's Azure resource ID."
},
"opType": {
"type": "string",
"description": "The type of operation performed on the virtual machine.",
"default": "Unknown",
"enum": [
"Unknown",
"Start",
"Deallocate",
"Hibernate",
"Create",
"Delete"
],
"x-ms-enum": {
"name": "ResourceOperationType",
"modelAsString": true,
"values": [
{
"name": "Unknown",
"value": "Unknown",
"description": "The operation type is not known."
},
{
"name": "Start",
"value": "Start",
"description": "Starts the specified virtual machines."
},
{
"name": "Deallocate",
"value": "Deallocate",
"description": "Deallocates the specified virtual machines."
},
{
"name": "Hibernate",
"value": "Hibernate",
"description": "Hibernates the specified virtual machines."
},
{
"name": "Create",
"value": "Create",
"description": "Creates the specified virtual machines."
},
{
"name": "Delete",
"value": "Delete",
"description": "Deletes the specified virtual machines."
}
]
}
},
"subscriptionId": {
"type": "string",
"description": "The subscription ID associated with the bulk action."
},
"deadline": {
"type": "string",
"format": "date-time",
"description": "The requested deadline for the operation."
},
"deadlineType": {
"type": "string",
"description": "Specifies whether the deadline time indicates the time at which the operation should start or should be complete.",
"default": "Unknown",
"enum": [
"Unknown",
"InitiateAt",
"CompleteBy"
],
"x-ms-enum": {
"name": "DeadlineType",
"modelAsString": true,
"values": [
{
"name": "Unknown",
"value": "Unknown",
"description": "The deadline behavior is not known."
},
{
"name": "InitiateAt",
"value": "InitiateAt",
"description": "Bulk Actions attempts to start the operation at the specified deadline."
},
{
"name": "CompleteBy",
"value": "CompleteBy",
"description": "Bulk Actions attempts to complete the operation by the specified deadline."
}
]
}
},
"state": {
"type": "string",
"description": "The current state of the operation.",
"default": "Unknown",
"enum": [
"Unknown",
"PendingScheduling",
"Scheduled",
"PendingExecution",
"Executing",
"Succeeded",
"Failed",
"Cancelled",
"Blocked"
],
"x-ms-enum": {
"name": "OperationState",
"modelAsString": true,
"values": [
{
"name": "Unknown",
"value": "Unknown",
"description": "The operation state is not known."
},
{
"name": "PendingScheduling",
"value": "PendingScheduling",
"description": "The operation is waiting to be scheduled."
},
{
"name": "Scheduled",
"value": "Scheduled",
"description": "The operation has been scheduled."
},
{
"name": "PendingExecution",
"value": "PendingExecution",
"description": "The operation is waiting to begin."
},
{
"name": "Executing",
"value": "Executing",
"description": "The operation is in progress."
},
{
"name": "Succeeded",
"value": "Succeeded",
"description": "The operation completed successfully."
},
{
"name": "Failed",
"value": "Failed",
"description": "The operation failed."
},
{
"name": "Cancelled",
"value": "Cancelled",
"description": "The operation was canceled by the caller."
},
{
"name": "Blocked",
"value": "Blocked",
"description": "The operation cannot currently make progress."
}
]
},
"readOnly": true
},
"timezone": {
"type": "string",
"description": "The time zone used to interpret the operation deadline."
},
"resourceOperationError": {
"$ref": "#/definitions/ResourceOperationError",
"description": "Contains error details if the operation does not succeed."
},
"fallbackOperationInfo": {
"$ref": "#/definitions/FallbackOperationInfo",
"description": "Information about the fallback operation attempted after the requested operation did not succeed."
},
"completedAt": {
"type": "string",
"format": "date-time",
"description": "The date and time when the operation completed."
},
"retryPolicy": {
"$ref": "#/definitions/RetryPolicy",
"description": "The retry settings for the bulk action."
}
},
"required": [
"operationId"
]
},
"ResourceOperationError": {
"type": "object",
"description": "An error that occurred while processing one virtual machine.",
"properties": {
"errorCode": {
"type": "string",
"description": "A code that identifies the error."
},
"errorDetails": {
"type": "string",
"description": "A message that describes the error."
}
},
"required": [
"errorCode",
"errorDetails"
]
},
"ResourceOperationType": {
"type": "string",
"description": "The type of operation performed by Bulk Actions.",
"enum": [
"Unknown",
"Start",
"Deallocate",
"Hibernate",
"Create",
"Delete"
],
"x-ms-enum": {
"name": "ResourceOperationType",
"modelAsString": true,
"values": [
{
"name": "Unknown",
"value": "Unknown",
"description": "The operation type is not known."
},
{
"name": "Start",
"value": "Start",
"description": "Starts the specified virtual machines."
},
{
"name": "Deallocate",
"value": "Deallocate",
"description": "Deallocates the specified virtual machines."
},
{
"name": "Hibernate",
"value": "Hibernate",
"description": "Hibernates the specified virtual machines."
},
{
"name": "Create",
"value": "Create",
"description": "Creates the specified virtual machines."
},
{
"name": "Delete",
"value": "Delete",
"description": "Deletes the specified virtual machines."
}
]
}
},
"ResourceProvisionPayload": {
"type": "object",
"description": "The shared and per-virtual-machine configuration for a bulk create action.",
"properties": {
"baseProfile": {
"$ref": "#/definitions/BulkVMConfiguration",
"description": "The virtual machine configuration as a JSON object applied to every virtual machine in the bulk create action."
},
"resourceOverrides": {
"type": "array",
"description": "The per-virtual-machine configuration overrides for the bulk create action.",
"items": {
"$ref": "#/definitions/BulkVMConfiguration"
},
"x-ms-identifiers": []
},
"resourceCount": {
"type": "integer",
"format": "int32",
"description": "The number of virtual machines to create."
},
"resourcePrefix": {
"type": "string",
"description": "The prefix used by Bulk Actions to generate virtual machine names when a per-virtual-machine override does not specify `name`."
}
},
"required": [
"resourceCount"
]
},
"ResourceProvisionVdiPayload": {
"type": "object",
"description": "The virtual machine configuration and flexible allocation preferences for a virtual desktop infrastructure workload.",
"properties": {
"baseProfile": {
"$ref": "#/definitions/BulkVMConfiguration",
"description": "The virtual machine configuration as a JSON object applied to every virtual machine in the bulk create action."
},
"resourceOverrides": {
"type": "array",
"description": "The per-virtual-machine configuration overrides for the bulk create action.",
"items": {
"$ref": "#/definitions/BulkVMConfiguration"
},
"x-ms-identifiers": []
},
"resourceCount": {
"type": "integer",
"format": "int32",
"description": "The number of virtual machines to create."
},
"resourcePrefix": {
"type": "string",
"description": "The prefix used by Bulk Actions to generate virtual machine names when a per-virtual-machine override does not specify `name`."
},
"flexProperties": {
"$ref": "#/definitions/FlexProperties",
"description": "The flexible allocation preferences for the virtual desktop infrastructure workload."
}
},
"required": [
"resourceCount",
"flexProperties"
]
},
"Resources": {
"type": "object",
"description": "The virtual machines targeted by a bulk action.",
"properties": {
"ids": {
"type": "array",
"description": "The Azure resource IDs of the target virtual machines.",
"items": {
"type": "string",
"format": "arm-id",
"description": "A type definition that refers the id to an Azure Resource Manager resource.",
"x-ms-arm-id-details": {
"allowedResources": [
{
"type": "Microsoft.Compute/virtualMachines"
}
]
}
}
}
},
"required": [
"ids"
]
},
"RetryPolicy": {
"type": "object",
"description": "The retry settings for a bulk action.",
"properties": {
"retryCount": {
"type": "integer",
"format": "int32",
"description": "The maximum number of retry attempts."
},
"retryWindowInMinutes": {
"type": "integer",
"format": "int32",
"description": "The period, in minutes, during which Bulk Actions can retry the operation."
},
"onFailureAction": {
"$ref": "#/definitions/ResourceOperationType",
"description": "The operation that Bulk Actions attempts when the requested operation fails."
}
}
},
"ScheduledEventsAdditionalPublishingTargets": {
"type": "object",
"description": "Specifies additional publishing targets for scheduled events.",
"properties": {
"eventGridAndResourceGraph": {
"$ref": "#/definitions/EventGridAndResourceGraph",
"description": "The configuration parameters used while creating eventGridAndResourceGraph Scheduled Event setting."
}
}
},
"ScheduledEventsPolicy": {
"type": "object",
"description": "Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations.",
"properties": {
"userInitiatedRedeploy": {
"$ref": "#/definitions/UserInitiatedRedeploy",
"description": "The configuration parameters used while creating userInitiatedRedeploy scheduled event setting creation."
},
"userInitiatedReboot": {
"$ref": "#/definitions/UserInitiatedReboot",
"description": "The configuration parameters used while creating userInitiatedReboot scheduled event setting creation."
},
"scheduledEventsAdditionalPublishingTargets": {
"$ref": "#/definitions/ScheduledEventsAdditionalPublishingTargets",
"description": "The configuration parameters used while publishing scheduledEventsAdditionalPublishingTargets."
},
"allInstancesDown": {
"$ref": "#/definitions/AllInstancesDown",
"description": "The configuration parameters used while creating AllInstancesDown scheduled event setting creation."
}
}
},
"ScheduledEventsProfile": {
"type": "object",
"description": "Profile for the scheduled events.",
"properties": {
"terminateNotificationProfile": {
"$ref": "#/definitions/TerminateNotificationProfile",
"description": "Specifies Terminate Scheduled Event related configurations."
},
"osImageNotificationProfile": {
"$ref": "#/definitions/OSImageNotificationProfile",
"description": "Specifies OS Image Scheduled Event related configurations."
}
}
},
"SecurityEncryptionTypes": {
"type": "string",
"description": "Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, VMGuestStateOnly for encryption of just the VMGuestState blob, and NonPersistedTPM for not persisting firmware state in the VMGuestState blob.. **Note:** It can be set for only Confidential VMs.",
"enum": [
"VMGuestStateOnly",
"DiskWithVMGuestState",
"NonPersistedTPM"
],
"x-ms-enum": {
"name": "SecurityEncryptionTypes",
"modelAsString": true,
"values": [
{
"name": "VMGuestStateOnly",
"value": "VMGuestStateOnly",
"description": "VMGuestStateOnly encryption"
},
{
"name": "DiskWithVMGuestState",
"value": "DiskWithVMGuestState",
"description": "DiskWithVMGuestState encryption"
},
{
"name": "NonPersistedTPM",
"value": "NonPersistedTPM",
"description": "NonPersistedTPM encryption"
}
]
}
},
"SecurityProfile": {
"type": "object",
"description": "Specifies the Security profile settings for the virtual machine or virtual machine scale set.",
"properties": {
"uefiSettings": {
"$ref": "#/definitions/UefiSettings",
"description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum compute api-version: 2020-12-01."
},
"encryptionAtHost": {
"type": "boolean",
"description": "This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at host will be disabled unless this property is set to true for the resource."
},
"securityType": {
"$ref": "#/definitions/SecurityTypes",
"description": "Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set."
},
"encryptionIdentity": {
"$ref": "#/definitions/EncryptionIdentity",
"description": "Specifies the Managed Identity used by ADE to get access token for keyvault operations."
},
"proxyAgentSettings": {
"$ref": "#/definitions/ProxyAgentSettings",
"description": "Specifies ProxyAgent settings while creating the virtual machine. Minimum compute api-version: 2023-09-01."
}
}
},
"SecurityTypes": {
"type": "string",
"description": "Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set.",
"enum": [
"TrustedLaunch",
"ConfidentialVM"
],
"x-ms-enum": {
"name": "SecurityTypes",
"modelAsString": true,
"values": [
{
"name": "TrustedLaunch",
"value": "TrustedLaunch",
"description": "TrustedLaunch security type"
},
{
"name": "ConfidentialVM",
"value": "ConfidentialVM",
"description": "ConfidentialVM security type"
}
]
}
},
"SettingNames": {
"type": "string",
"description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.",
"enum": [
"AutoLogon",
"FirstLogonCommands"
],
"x-ms-enum": {
"name": "SettingNames",
"modelAsString": true,
"values": [
{
"name": "AutoLogon",
"value": "AutoLogon",
"description": "AutoLogon mode"
},
{
"name": "FirstLogonCommands",
"value": "FirstLogonCommands",
"description": "FirstLogonCommands mode"
}
]
}
},
"SshConfiguration": {
"type": "object",
"description": "SSH configuration for Linux based VMs running on Azure",
"properties": {
"publicKeys": {
"type": "array",
"description": "The list of SSH public keys used to authenticate with linux based VMs.",
"items": {
"$ref": "#/definitions/SshPublicKey"
},
"x-ms-identifiers": [
"path"
]
}
}
},
"SshPublicKey": {
"type": "object",
"description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed.",
"properties": {
"path": {
"type": "string",
"description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys"
},
"keyData": {
"type": "string",
"description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed)."
}
}
},
"StartResourceOperationResponse": {
"type": "object",
"description": "The result of a bulk start action.",
"properties": {
"description": {
"type": "string",
"description": "A description of the bulk action result."
},
"type": {
"type": "string",
"description": "The type of resources targeted by the bulk action."
},
"location": {
"$ref": "#/definitions/Azure.Core.azureLocation",
"description": "The Azure region where Bulk Actions processes the request.",
"x-ms-mutability": [
"read",
"create"
]
},
"results": {
"type": "array",
"description": "The result for each virtual machine.",
"items": {
"$ref": "#/definitions/ResourceOperation"
},
"x-ms-identifiers": [
"resourceId"
]
}
},
"required": [
"description",
"type",
"location"
]
},
"StorageAccountTypes": {
"type": "string",
"description": "Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types",
"enum": [
"Standard_LRS",
"Premium_LRS",
"StandardSSD_LRS",
"UltraSSD_LRS",
"Premium_ZRS",
"StandardSSD_ZRS",
"PremiumV2_LRS"
],
"x-ms-enum": {
"name": "StorageAccountTypes",
"modelAsString": true,
"values": [
{
"name": "Standard_LRS",
"value": "Standard_LRS",
"description": "Standard_LRS storage account type"
},
{
"name": "Premium_LRS",
"value": "Premium_LRS",
"description": "Premium_LRS storage account type"
},
{
"name": "StandardSSD_LRS",
"value": "StandardSSD_LRS",
"description": "StandardSSD_LRS storage account type"
},
{
"name": "UltraSSD_LRS",
"value": "UltraSSD_LRS",
"description": "UltraSSD_LRS storage account type"
},
{
"name": "Premium_ZRS",
"value": "Premium_ZRS",
"description": "Premium_ZRS storage account type"
},
{
"name": "StandardSSD_ZRS",
"value": "StandardSSD_ZRS",
"description": "StandardSSD_ZRS storage account type"
},
{
"name": "PremiumV2_LRS",
"value": "PremiumV2_LRS",
"description": "PremiumV2_LRS storage account type"
}
]
}
},
"StorageProfile": {
"type": "object",
"description": "Specifies the storage settings for the virtual machine disks.",
"properties": {
"imageReference": {
"$ref": "#/definitions/ImageReference",
"description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations."
},
"osDisk": {
"$ref": "#/definitions/OSDisk",
"description": "Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)."
},
"dataDisks": {
"type": "array",
"description": "Specifies the parameters that are used to add a data disk to a virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview).",
"items": {
"$ref": "#/definitions/DataDisk"
},
"x-ms-identifiers": [
"lun"
]
},
"diskControllerType": {
"$ref": "#/definitions/DiskControllerTypes",
"description": "Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01."
}
}
},
"SubResource": {
"type": "object",
"description": "A reference to an Azure resource.",
"properties": {
"id": {
"type": "string",
"description": "The Azure resource ID."
}
}
},
"TerminateNotificationProfile": {
"type": "object",
"description": "Profile properties for the Terminate Scheduled event.",
"properties": {
"notBeforeTimeout": {
"type": "string",
"description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)"
},
"enable": {
"type": "boolean",
"description": "Specifies whether the Terminate Scheduled event is enabled or disabled."
}
}
},
"UefiSettings": {
"type": "object",
"description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01.",
"properties": {
"secureBootEnabled": {
"type": "boolean",
"description": "Specifies whether secure boot should be enabled on the virtual machine. Minimum compute api-version: 2020-12-01."
},
"vTpmEnabled": {
"type": "boolean",
"description": "Specifies whether vTPM should be enabled on the virtual machine. Minimum compute api-version: 2020-12-01."
}
}
},
"UserAssignedIdentitiesValue": {
"type": "object",
"properties": {
"principalId": {
"type": "string",
"description": "The principal id of user assigned identity.",
"readOnly": true
},
"clientId": {
"type": "string",
"description": "The client id of user assigned identity.",
"readOnly": true
}
}
},
"UserInitiatedReboot": {
"type": "object",
"description": "Specifies Reboot related Scheduled Event related configurations.",
"properties": {
"automaticallyApprove": {
"type": "boolean",
"description": "Specifies Reboot Scheduled Event related configurations."
}
}
},
"UserInitiatedRedeploy": {
"type": "object",
"description": "Specifies Redeploy related Scheduled Event related configurations.",
"properties": {
"automaticallyApprove": {
"type": "boolean",
"description": "Specifies Redeploy Scheduled Event related configurations."
}
}
},
"VMAttributeMinMaxDouble": {
"type": "object",
"description": "VMAttributes using double values.",
"properties": {
"min": {
"type": "number",
"format": "double",
"description": "Minimum value. If not specified, no minimum filter is applied.",
"minimum": 0
},
"max": {
"type": "number",
"format": "double",
"description": "Maximum value. Must be greater than zero. Double.MaxValue(1.7976931348623157E+308).",
"minimum": 0
}
}
},
"VMAttributeMinMaxInteger": {
"type": "object",
"description": "While retrieving VMSizes from CRS, Min = 0 (uint.MinValue) if not specified, Max = 4294967295 (uint.MaxValue) if not specified. This allows to filter VMAttributes on all available VMSizes.",
"properties": {
"min": {
"type": "integer",
"format": "int32",
"description": "Min VMSize from CRS, Min = 0 (uint.MinValue) if not specified.",
"minimum": 0
},
"max": {
"type": "integer",
"format": "int32",
"description": "Max VMSize from CRS, Max = 4294967295 (uint.MaxValue) if not specified.",
"minimum": 0
}
}
},
"VMAttributeSupport": {
"type": "string",
"description": "VMSizes supported by Azure VMs. Included is a union of Excluded and Required.",
"enum": [
"Excluded",
"Included",
"Required"
],
"x-ms-enum": {
"name": "VMAttributeSupport",
"modelAsString": true,
"values": [
{
"name": "Excluded",
"value": "Excluded",
"description": "All VMSizes having the feature support will be excluded."
},
{
"name": "Included",
"value": "Included",
"description": "VMSizes that have the feature support and that do not have the feature support will be used. Included is a union of Excluded and Required."
},
{
"name": "Required",
"value": "Required",
"description": "Only the VMSizes having the feature support will be used."
}
]
}
},
"VMAttributes": {
"type": "object",
"description": "VMAttributes that will be used to filter VMSizes which will be used to launch instances.",
"properties": {
"vCpuCount": {
"$ref": "#/definitions/VMAttributeMinMaxInteger",
"description": "The range of vCpuCount specified from Min to Max. Must be specified if VMAttributes are specified, either Min or Max is required if specified."
},
"memoryInGiB": {
"$ref": "#/definitions/VMAttributeMinMaxDouble",
"description": "The range of memory specified from Min to Max. Must be specified if VMAttributes are specified, either Min or Max is required if specified."
},
"architectureTypes": {
"type": "array",
"description": "The VM architecture types specified as a list. Must be specified if VMAttributes are specified. Must be compatible with image used.",
"items": {
"$ref": "#/definitions/ArchitectureType"
}
},
"memoryInGiBPerVCpu": {
"$ref": "#/definitions/VMAttributeMinMaxDouble",
"description": "The range of memory in GiB per vCPU specified from min to max. Optional parameter. Either Min or Max is required if specified."
},
"localStorageSupport": {
"$ref": "#/definitions/VMAttributeSupport",
"description": "Specifies whether the VMSize supporting local storage should be used to launch instances or not. Included - Default if not specified as most Azure VMs support local storage."
},
"localStorageInGiB": {
"$ref": "#/definitions/VMAttributeMinMaxDouble",
"description": "LocalStorageSupport should be set to \"Included\" or \"Required\" to use this VMAttribute. If localStorageSupport is \"Excluded\", this VMAttribute can not be used."
},
"localStorageDiskTypes": {
"type": "array",
"description": "The local storage disk types specified as a list. LocalStorageSupport should be set to \"Included\" or \"Required\" to use this VMAttribute. If localStorageSupport is \"Excluded\", this VMAttribute can not be used.",
"items": {
"$ref": "#/definitions/LocalStorageDiskType"
}
},
"dataDiskCount": {
"$ref": "#/definitions/VMAttributeMinMaxInteger",
"description": "The range of data disk count specified from Min to Max. Optional parameter. Either Min or Max is required if specified."
},
"networkInterfaceCount": {
"$ref": "#/definitions/VMAttributeMinMaxInteger",
"description": "The range of network interface count specified from Min to Max. Optional parameter. Either Min or Max is required if specified."
},
"networkBandwidthInMbps": {
"$ref": "#/definitions/VMAttributeMinMaxDouble",
"description": "The range of network bandwidth in Mbps specified from Min to Max. Optional parameter. Either Min or Max is required if specified."
},
"rdmaSupport": {
"$ref": "#/definitions/VMAttributeSupport",
"description": "Specifies whether the VMSize supporting RDMA (Remote Direct Memory Access) should be used to build launch instances or not."
},
"rdmaNetworkInterfaceCount": {
"$ref": "#/definitions/VMAttributeMinMaxInteger",
"description": "The range of RDMA (Remote Direct Memory Access) network interface count specified from Min to Max. Optional parameter. Either Min or Max is required if specified. rdmaSupport should be set to \"Included\" or \"Required\" to use this VMAttribute. If rdmaSupport is \"Excluded\", this VMAttribute can not be used."
},
"acceleratorSupport": {
"$ref": "#/definitions/VMAttributeSupport",
"description": "Specifies whether the VMSize supporting accelerator should be used to launch instances or not. acceleratorSupport should be set to \"Included\" or \"Required\" to use this VMAttribute. If acceleratorSupport is \"Excluded\", this VMAttribute can not be used."
},
"acceleratorManufacturers": {
"type": "array",
"description": "The accelerator manufacturers specified as a list. acceleratorSupport should be set to \"Included\" or \"Required\" to use this VMAttribute. If acceleratorSupport is \"Excluded\", this VMAttribute can not be used.",
"items": {
"$ref": "#/definitions/AcceleratorManufacturer"
}
},
"acceleratorTypes": {
"type": "array",
"description": "The accelerator types specified as a list. acceleratorSupport should be set to \"Included\" or \"Required\" to use this VMAttribute. If acceleratorSupport is \"Excluded\", this VMAttribute can not be used.",
"items": {
"$ref": "#/definitions/AcceleratorType"
}
},
"acceleratorCount": {
"$ref": "#/definitions/VMAttributeMinMaxInteger",
"description": "The range of accelerator count specified from min to max. Optional parameter. Either Min or Max is required if specified. acceleratorSupport should be set to \"Included\" or \"Required\" to use this VMAttribute. If acceleratorSupport is \"Excluded\", this VMAttribute can not be used."
},
"vmCategories": {
"type": "array",
"description": "The VM category specified as a list. Optional parameter.",
"items": {
"$ref": "#/definitions/VMCategory"
}
},
"cpuManufacturers": {
"type": "array",
"description": "The VM CPU manufacturers specified as a list. Optional parameter.",
"items": {
"$ref": "#/definitions/CpuManufacturer"
}
},
"hyperVGenerations": {
"type": "array",
"description": "The hyperV generations specified as a list. Optional parameter.",
"items": {
"$ref": "#/definitions/HyperVGeneration"
}
},
"burstableSupport": {
"$ref": "#/definitions/VMAttributeSupport",
"description": "Specifies whether the VMSize supporting burstable capability should be used to launch instances or not."
},
"allowedVMSizes": {
"type": "array",
"description": "Specifies which VMSizes should be allowed while filtering on VMAttributes. Cannot be specified together with excludedVMSizes. Maximum of 10 VM sizes allowed. Optional parameter.",
"maxItems": 10,
"items": {
"type": "string"
}
},
"excludedVMSizes": {
"type": "array",
"description": "Specifies which VMSizes should be excluded while filtering on VMAttributes. Cannot be specified together with allowedVMSizes. Maximum of 10 VM sizes allowed. Optional parameter.",
"maxItems": 10,
"items": {
"type": "string"
}
}
},
"required": [
"vCpuCount",
"memoryInGiB",
"architectureTypes"
]
},
"VMCategory": {
"type": "string",
"description": "VMCategories defined for Azure VMs.",
"enum": [
"GeneralPurpose",
"ComputeOptimized",
"MemoryOptimized",
"StorageOptimized",
"GpuAccelerated",
"FpgaAccelerated",
"HighPerformanceCompute"
],
"x-ms-enum": {
"name": "VMCategory",
"modelAsString": true,
"values": [
{
"name": "GeneralPurpose",
"value": "GeneralPurpose",
"description": "General purpose VM sizes provide balanced CPU-to-memory ratio. Ideal for testing and development, small to medium databases, and low to medium traffic web servers."
},
{
"name": "ComputeOptimized",
"value": "ComputeOptimized",
"description": "Compute optimized VM sizes have a high CPU-to-memory ratio. These sizes are good for medium traffic web servers, network appliances, batch processes, and application servers."
},
{
"name": "MemoryOptimized",
"value": "MemoryOptimized",
"description": "Memory optimized VM sizes offer a high memory-to-CPU ratio that is great for relational database servers, medium to large caches, and in-memory analytics."
},
{
"name": "StorageOptimized",
"value": "StorageOptimized",
"description": "Storage optimized virtual machine (VM) sizes offer high disk throughput and IO, and are ideal for Big Data, SQL, NoSQL databases, data warehousing, and large transactional databases."
},
{
"name": "GpuAccelerated",
"value": "GpuAccelerated",
"description": "GPU optimized VM sizes are specialized virtual machines available with single, multiple, or fractional GPUs."
},
{
"name": "FpgaAccelerated",
"value": "FpgaAccelerated",
"description": "FPGA optimized VM sizes are specialized virtual machines available with single or multiple FPGA."
},
{
"name": "HighPerformanceCompute",
"value": "HighPerformanceCompute",
"description": "Azure High Performance Compute VMs are optimized for various HPC workloads such as CFD, FEA, EDA, rendering, molecular dynamics, weather simulation, and financial risk analysis."
}
]
}
},
"VMDiskSecurityProfile": {
"type": "object",
"description": "Specifies the security profile settings for the managed disk. **Note:** It can only be set for Confidential VMs.",
"properties": {
"securityEncryptionType": {
"$ref": "#/definitions/SecurityEncryptionTypes",
"description": "Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, VMGuestStateOnly for encryption of just the VMGuestState blob, and NonPersistedTPM for not persisting firmware state in the VMGuestState blob.. **Note:** It can be set for only Confidential VMs."
},
"diskEncryptionSet": {
"$ref": "#/definitions/DiskEncryptionSetParameters",
"description": "Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob."
}
}
},
"VMGalleryApplication": {
"type": "object",
"description": "Specifies the required information to reference a compute gallery application version",
"properties": {
"tags": {
"type": "string",
"description": "Optional, Specifies a passthrough value for more generic context."
},
"order": {
"type": "integer",
"format": "int32",
"description": "Optional, Specifies the order in which the packages have to be installed"
},
"packageReferenceId": {
"type": "string",
"description": "Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version}"
},
"configurationReference": {
"type": "string",
"description": "Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided"
},
"treatFailureAsDeploymentFailure": {
"type": "boolean",
"description": "Optional, If true, any failure for any operation in the VmApplication will fail the deployment"
},
"enableAutomaticUpgrade": {
"type": "boolean",
"description": "If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the VM/VMSS"
}
},
"required": [
"packageReferenceId"
]
},
"VMOperationStatus": {
"type": "string",
"description": "Virtual Machine operation status values.",
"enum": [
"Creating",
"Canceled",
"CancelFailedStatusUnknown",
"Failed",
"Succeeded",
"Deleting",
"Cancelling"
],
"x-ms-enum": {
"name": "VMOperationStatus",
"modelAsString": true,
"values": [
{
"name": "Creating",
"value": "Creating",
"description": "Indicates that the virtual machine is either in the process of being created or is scheduled to be created."
},
{
"name": "Canceled",
"value": "Canceled",
"description": "Indicates that the cancellation request was successful because the virtual machine had not been created yet."
},
{
"name": "CancelFailedStatusUnknown",
"value": "CancelFailedStatusUnknown",
"description": "Indicates that the cancellation request could not be applied because the virtual machine had already been created."
},
{
"name": "Failed",
"value": "Failed",
"description": "Indicates that the virtual machine operation failed."
},
{
"name": "Succeeded",
"value": "Succeeded",
"description": "Indicates that the virtual machine operation completed successfully."
},
{
"name": "Deleting",
"value": "Deleting",
"description": "Indicates that the virtual machine is being deleted."
},
{
"name": "Cancelling",
"value": "Cancelling",
"description": "Indicates that the virtual machine operation is being cancelled."
}
]
},
"readOnly": true
},
"VaultCertificate": {
"type": "object",
"description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM.",
"properties": {
"certificateUrl": {
"type": "string",
"description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:
{
'data':'',
'dataType':'pfx',
'password':''
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)."
},
"certificateStore": {
"type": "string",
"description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted."
}
}
},
"VaultSecretGroup": {
"type": "object",
"description": "Describes a set of certificates which are all in the same Key Vault.",
"properties": {
"sourceVault": {
"$ref": "#/definitions/SubResource",
"description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates."
},
"vaultCertificates": {
"type": "array",
"description": "The list of key vault references in SourceVault which contain certificates.",
"items": {
"$ref": "#/definitions/VaultCertificate"
},
"x-ms-identifiers": [
"certificateUrl"
]
}
}
},
"VirtualHardDisk": {
"type": "object",
"description": "Describes the uri of a disk.",
"properties": {
"uri": {
"type": "string",
"description": "Specifies the virtual hard disk's uri."
}
}
},
"VirtualMachine": {
"type": "object",
"description": "A virtual machine launched by a LaunchBulkInstancesOperation.",
"properties": {
"name": {
"type": "string",
"description": "The name of the virtual machine.",
"readOnly": true
},
"id": {
"type": "string",
"format": "arm-id",
"description": "The compute RP resource id of the virtual machine. subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/virtualMachines/{vmName}",
"readOnly": true
},
"type": {
"type": "string",
"description": "Type of the virtual machine",
"readOnly": true
},
"operationStatus": {
"$ref": "#/definitions/VMOperationStatus",
"description": "Represents the operationStatus of the virtual machine in response to the last operation performed on it by the LaunchBulkInstancesOperation.",
"readOnly": true
},
"error": {
"$ref": "#/definitions/ApiError",
"description": "Error information when operationStatus is Failed.",
"readOnly": true
}
},
"required": [
"name",
"id",
"operationStatus"
]
},
"VirtualMachineIdentity": {
"type": "object",
"description": "Identity for the virtual machine.",
"properties": {
"principalId": {
"type": "string",
"description": "The principal id of virtual machine identity. This property will only be provided for a system assigned identity.",
"readOnly": true
},
"tenantId": {
"type": "string",
"description": "The tenant id associated with the virtual machine. This property will only be provided for a system assigned identity.",
"readOnly": true
},
"type": {
"$ref": "#/definitions/ResourceIdentityType",
"description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine."
},
"userAssignedIdentities": {
"type": "object",
"description": "The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
"additionalProperties": {
"$ref": "#/definitions/UserAssignedIdentitiesValue"
}
}
}
},
"VirtualMachineIpTag": {
"type": "object",
"description": "Contains the IP tag associated with the public IP address.",
"properties": {
"ipTagType": {
"type": "string",
"description": "IP tag type. Example: FirstPartyUsage."
},
"tag": {
"type": "string",
"description": "IP tag associated with the public IP. Example: SQL, Storage etc."
}
}
},
"VirtualMachineListResult": {
"type": "object",
"description": "The response of a virtual machine list operation.",
"properties": {
"value": {
"type": "array",
"description": "The Virtual Machine items on this page.",
"items": {
"$ref": "#/definitions/VirtualMachine"
}
},
"nextLink": {
"type": "string",
"format": "uri",
"description": "The link to the next page of items."
}
},
"required": [
"value"
]
},
"VirtualMachineNetworkInterfaceConfiguration": {
"type": "object",
"description": "Describes a virtual machine network interface configurations.",
"properties": {
"name": {
"type": "string",
"description": "The network interface configuration name."
},
"properties": {
"$ref": "#/definitions/VirtualMachineNetworkInterfaceConfigurationProperties",
"description": "Describes a virtual machine network profile's IP configuration."
},
"tags": {
"type": "object",
"description": "Resource tags applied to the networkInterface address created by this NetworkInterfaceConfiguration",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"name"
]
},
"VirtualMachineNetworkInterfaceConfigurationProperties": {
"type": "object",
"description": "Describes a virtual machine network profile's IP configuration.",
"properties": {
"primary": {
"type": "boolean",
"description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
},
"deleteOption": {
"$ref": "#/definitions/DeleteOptions",
"description": "Specify what happens to the network interface when the VM is deleted"
},
"enableAcceleratedNetworking": {
"type": "boolean",
"description": "Specifies whether the network interface is accelerated networking-enabled."
},
"disableTcpStateTracking": {
"type": "boolean",
"description": "Specifies whether the network interface is disabled for tcp state tracking."
},
"enableFpga": {
"type": "boolean",
"description": "Specifies whether the network interface is FPGA networking-enabled."
},
"enableIPForwarding": {
"type": "boolean",
"description": "Whether IP forwarding enabled on this NIC."
},
"networkSecurityGroup": {
"$ref": "#/definitions/SubResource",
"description": "The network security group."
},
"dnsSettings": {
"$ref": "#/definitions/VirtualMachineNetworkInterfaceDnsSettingsConfiguration",
"description": "The dns settings to be applied on the network interfaces."
},
"ipConfigurations": {
"type": "array",
"description": "Specifies the IP configurations of the network interface.",
"items": {
"$ref": "#/definitions/VirtualMachineNetworkInterfaceIPConfiguration"
},
"x-ms-identifiers": [
"name"
]
},
"dscpConfiguration": {
"$ref": "#/definitions/SubResource",
"description": "The DSCP configuration for the network interface."
},
"auxiliaryMode": {
"$ref": "#/definitions/NetworkInterfaceAuxiliaryMode",
"description": "Specifies whether the Auxiliary mode is enabled for the Network Interface resource."
},
"auxiliarySku": {
"$ref": "#/definitions/NetworkInterfaceAuxiliarySku",
"description": "Specifies whether the Auxiliary sku is enabled for the Network Interface resource."
}
},
"required": [
"ipConfigurations"
]
},
"VirtualMachineNetworkInterfaceDnsSettingsConfiguration": {
"type": "object",
"description": "Describes a virtual machines network configuration's DNS settings.",
"properties": {
"dnsServers": {
"type": "array",
"description": "List of DNS servers IP addresses",
"items": {
"type": "string"
}
}
}
},
"VirtualMachineNetworkInterfaceIPConfiguration": {
"type": "object",
"description": "Describes a virtual machine network profile's IP configuration.",
"properties": {
"name": {
"type": "string",
"description": "The IP configuration name."
},
"properties": {
"$ref": "#/definitions/VirtualMachineNetworkInterfaceIPConfigurationProperties",
"description": "Describes a virtual machine network interface IP configuration properties."
}
},
"required": [
"name"
]
},
"VirtualMachineNetworkInterfaceIPConfigurationProperties": {
"type": "object",
"description": "Describes a virtual machine network interface IP configuration properties.",
"properties": {
"subnet": {
"$ref": "#/definitions/SubResource",
"description": "Specifies the identifier of the subnet."
},
"primary": {
"type": "boolean",
"description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
},
"publicIPAddressConfiguration": {
"$ref": "#/definitions/VirtualMachinePublicIPAddressConfiguration",
"description": "The publicIPAddressConfiguration."
},
"privateIPAddressVersion": {
"$ref": "#/definitions/IPVersions",
"description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'."
},
"applicationSecurityGroups": {
"type": "array",
"description": "Specifies an array of references to application security group.",
"items": {
"$ref": "#/definitions/SubResource"
}
},
"applicationGatewayBackendAddressPools": {
"type": "array",
"description": "Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway.",
"items": {
"$ref": "#/definitions/SubResource"
}
},
"loadBalancerBackendAddressPools": {
"type": "array",
"description": "Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer].",
"items": {
"$ref": "#/definitions/SubResource"
}
}
}
},
"VirtualMachinePublicIPAddressConfiguration": {
"type": "object",
"description": "Describes a virtual machines IP Configuration's PublicIPAddress configuration",
"properties": {
"name": {
"type": "string",
"description": "The publicIP address configuration name."
},
"properties": {
"$ref": "#/definitions/VirtualMachinePublicIPAddressConfigurationProperties",
"description": "Describes a virtual machines IP Configuration's PublicIPAddress configuration"
},
"sku": {
"$ref": "#/definitions/PublicIPAddressSku",
"description": "Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible."
},
"tags": {
"type": "object",
"description": "Resource tags applied to the publicIP address created by this PublicIPAddressConfiguration",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"name"
]
},
"VirtualMachinePublicIPAddressConfigurationProperties": {
"type": "object",
"description": "Describes a virtual machines IP Configuration's PublicIPAddress configuration",
"properties": {
"idleTimeoutInMinutes": {
"type": "integer",
"format": "int32",
"description": "The idle timeout of the public IP address."
},
"deleteOption": {
"$ref": "#/definitions/DeleteOptions",
"description": "Specify what happens to the public IP address when the VM is deleted"
},
"dnsSettings": {
"$ref": "#/definitions/VirtualMachinePublicIPAddressDnsSettingsConfiguration",
"description": "The dns settings to be applied on the publicIP addresses ."
},
"ipTags": {
"type": "array",
"description": "The list of IP tags associated with the public IP address.",
"items": {
"$ref": "#/definitions/VirtualMachineIpTag"
},
"x-ms-identifiers": []
},
"publicIPPrefix": {
"$ref": "#/definitions/SubResource",
"description": "The PublicIPPrefix from which to allocate publicIP addresses."
},
"publicIPAddressVersion": {
"$ref": "#/definitions/IPVersions",
"description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'."
},
"publicIPAllocationMethod": {
"$ref": "#/definitions/PublicIPAllocationMethod",
"description": "Specify the public IP allocation type"
}
}
},
"VirtualMachinePublicIPAddressDnsSettingsConfiguration": {
"type": "object",
"description": "Describes a virtual machines network configuration's DNS settings.",
"properties": {
"domainNameLabel": {
"type": "string",
"description": "The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID."
},
"domainNameLabelScope": {
"$ref": "#/definitions/DomainNameLabelScopeTypes",
"description": "The Domain name label scope of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the hashed domain name label with policy according to the domain name label scope and vm network profile unique ID."
}
},
"required": [
"domainNameLabel"
]
},
"VirtualMachineReimageParameters": {
"type": "object",
"description": "The parameters for reimaging a virtual machine. The operating system disk is always reimaged.",
"properties": {
"tempDisk": {
"type": "boolean",
"description": "Indicates whether to reimage the temporary disk. The default value is `false`. This option is supported only for virtual machines or virtual machine scale sets that use an ephemeral operating system disk."
},
"exactVersion": {
"type": "string",
"description": "The exact image version to use when reimaging the operating system disk. When omitted, the disk is reimaged to its current image version."
},
"osProfile": {
"$ref": "#/definitions/OSProfileProvisioningData",
"description": "The operating system profile used when reimaging a non-ephemeral operating system disk."
}
}
},
"VmSizeProfile": {
"type": "object",
"description": "A virtual machine size and its selection priority.",
"properties": {
"name": {
"type": "string",
"description": "The virtual machine SKU, for example `Standard_D2ads_v5`.",
"minLength": 1
},
"rank": {
"type": "integer",
"format": "int32",
"description": "The customer-defined priority rank for this virtual machine size."
}
},
"required": [
"name",
"rank"
]
},
"VmSizeProperties": {
"type": "object",
"description": "Specifies VM Size Property settings on the virtual machine.",
"properties": {
"vCpusAvailable": {
"type": "integer",
"format": "int32",
"description": "Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list)."
},
"vCpusPerCore": {
"type": "integer",
"format": "int32",
"description": "Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.**"
}
}
},
"WinRMConfiguration": {
"type": "object",
"description": "Describes Windows Remote Management configuration of the VM",
"properties": {
"listeners": {
"type": "array",
"description": "The list of Windows Remote Management listeners",
"items": {
"$ref": "#/definitions/WinRMListener"
},
"x-ms-identifiers": []
}
}
},
"WinRMListener": {
"type": "object",
"description": "Describes Protocol and thumbprint of Windows Remote Management listener",
"properties": {
"protocol": {
"$ref": "#/definitions/ProtocolTypes",
"description": "Specifies the protocol of WinRM listener. Possible values are: **http,** **https.**"
},
"certificateUrl": {
"type": "string",
"description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be the Base64 encoding of the following JSON Object which is encoded in UTF-8:
{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)."
}
}
},
"WindowsConfiguration": {
"type": "object",
"description": "Specifies Windows operating system settings on the virtual machine.",
"properties": {
"provisionVMAgent": {
"type": "boolean",
"description": "Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, it is set to true by default. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later."
},
"enableAutomaticUpdates": {
"type": "boolean",
"description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning."
},
"timeZone": {
"type": "string",
"description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\". Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones)."
},
"additionalUnattendContent": {
"type": "array",
"description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.",
"items": {
"$ref": "#/definitions/AdditionalUnattendContent"
},
"x-ms-identifiers": []
},
"patchSettings": {
"$ref": "#/definitions/PatchSettings",
"description": "[Preview Feature] Specifies settings related to VM Guest Patching on Windows."
},
"winRM": {
"$ref": "#/definitions/WinRMConfiguration",
"description": "Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell."
}
}
},
"WindowsPatchAssessmentMode": {
"type": "string",
"description": "Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.
Possible values are:
**ImageDefault** - You control the timing of patch assessments on a virtual machine.
**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.",
"enum": [
"ImageDefault",
"AutomaticByPlatform"
],
"x-ms-enum": {
"name": "WindowsPatchAssessmentMode",
"modelAsString": true,
"values": [
{
"name": "ImageDefault",
"value": "ImageDefault",
"description": "ImageDefault patch assessment mode"
},
{
"name": "AutomaticByPlatform",
"value": "AutomaticByPlatform",
"description": "AutomaticByPlatform patch assessment mode"
}
]
}
},
"WindowsVMGuestPatchAutomaticByPlatformRebootSetting": {
"type": "string",
"description": "Specifies the reboot setting for all AutomaticByPlatform patch installation operations.",
"enum": [
"Unknown",
"IfRequired",
"Never",
"Always"
],
"x-ms-enum": {
"name": "WindowsVMGuestPatchAutomaticByPlatformRebootSetting",
"modelAsString": true,
"values": [
{
"name": "Unknown",
"value": "Unknown",
"description": "Reboot setting for Unknown"
},
{
"name": "IfRequired",
"value": "IfRequired",
"description": "Reboot setting for IfRequired"
},
{
"name": "Never",
"value": "Never",
"description": "Reboot setting for Never"
},
{
"name": "Always",
"value": "Always",
"description": "Reboot setting for Always"
}
]
}
},
"WindowsVMGuestPatchAutomaticByPlatformSettings": {
"type": "object",
"description": "Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings.",
"properties": {
"rebootSetting": {
"$ref": "#/definitions/WindowsVMGuestPatchAutomaticByPlatformRebootSetting",
"description": "Specifies the reboot setting for all AutomaticByPlatform patch installation operations."
},
"bypassPlatformSafetyChecksOnUserSchedule": {
"type": "boolean",
"description": "Enables customer to schedule patching without accidental upgrades"
}
}
},
"WindowsVMGuestPatchMode": {
"type": "string",
"description": "Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.
Possible values are:
**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false
**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.
**AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true",
"enum": [
"Manual",
"AutomaticByOS",
"AutomaticByPlatform"
],
"x-ms-enum": {
"name": "WindowsVMGuestPatchMode",
"modelAsString": true,
"values": [
{
"name": "Manual",
"value": "Manual",
"description": "Manual VM guest patch mode"
},
{
"name": "AutomaticByOS",
"value": "AutomaticByOS",
"description": "AutomaticByOS VM guest patch mode"
},
{
"name": "AutomaticByPlatform",
"value": "AutomaticByPlatform",
"description": "AutomaticByPlatform VM guest patch mode"
}
]
}
},
"ZoneAllocationPolicy": {
"type": "object",
"description": "The preferences for distributing virtual machines across availability zones.",
"properties": {
"distributionStrategy": {
"$ref": "#/definitions/DistributionStrategy",
"description": "The strategy used to distribute virtual machines across availability zones."
},
"zonePreferences": {
"type": "array",
"description": "The availability zones and their allocation priorities.",
"items": {
"$ref": "#/definitions/ZonePreference"
},
"x-ms-identifiers": []
}
}
},
"ZonePlacementPolicyType": {
"type": "string",
"description": "The policy used to select an availability zone for the virtual machine.",
"enum": [
"Any",
"Auto"
],
"x-ms-enum": {
"name": "ZonePlacementPolicyType",
"modelAsString": true,
"values": [
{
"name": "Any",
"value": "Any"
},
{
"name": "Auto",
"value": "Auto",
"description": "Bulk Actions automatically selects an availability zone based on the request."
}
]
}
},
"ZonePreference": {
"type": "object",
"description": "An availability zone and its allocation priority.",
"properties": {
"zone": {
"type": "string",
"description": "The availability zone identifier."
},
"rank": {
"type": "integer",
"format": "int32",
"description": "The customer-defined priority rank for this availability zone."
}
},
"required": [
"zone",
"rank"
]
}
},
"parameters": {}
}