diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
index b57655bd5d11..15e2c61fbb65 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
@@ -2659,6 +2659,9 @@
"Create a vm with boot diagnostics.": {
"$ref": "./examples/CreateAVmWithBootDiagnostics.json"
},
+ "Create a vm with managed boot diagnostics.": {
+ "$ref": "./examples/CreateAVmWithManagedBootDiagnostics.json"
+ },
"Create a vm with empty data disks.": {
"$ref": "./examples/CreateAVmWithEmptyDataDisks.json"
},
@@ -3411,6 +3414,65 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/retrieveBootDiagnosticsData": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_RetrieveBootDiagnosticsData",
+ "description": "The operation to retrieve SAS URIs for a virtual machine's boot diagnostic logs.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "sasUriExpirationTimeInMinutes",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes.
NOTE: If not specified, SAS URIs will be generated with a default expiration duration of 120 minutes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RetrieveBootDiagnosticsDataResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "RetrieveBootDiagnosticsData of a virtual machine.": {
+ "$ref": "./examples/RetrieveBootDiagnosticsDataVirtualMachine.json"
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance": {
"post": {
"tags": [
@@ -3568,6 +3630,9 @@
"Create a scale set with boot diagnostics.": {
"$ref": "./examples/CreateAScaleSetWithBootDiagnostics.json"
},
+ "Create a scale set with managed boot diagnostics.": {
+ "$ref": "./examples/CreateAScaleSetWithManagedBootDiagnostics.json"
+ },
"Create a scale set with a marketplace image plan.": {
"$ref": "./examples/CreateAScaleSetWithAMarketplaceImagePlan.json"
},
@@ -5955,6 +6020,72 @@
"x-ms-long-running-operation": true
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/retrieveBootDiagnosticsData": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_RetrieveBootDiagnosticsData",
+ "description": "The operation to retrieve SAS URIs of boot diagnostic logs for a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "sasUriExpirationTimeInMinutes",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes.
NOTE: If not specified, SAS URIs will be generated with a default expiration duration of 120 minutes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RetrieveBootDiagnosticsDataResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "RetrieveBootDiagnosticsData of a virtual machine.": {
+ "$ref": "./examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json"
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance": {
"post": {
"tags": [
@@ -6235,6 +6366,21 @@
},
"description": "Specifies the disallowed configuration for a virtual machine image."
},
+ "RetrieveBootDiagnosticsDataResult": {
+ "properties": {
+ "consoleScreenshotBlobUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The console screenshot blob URI"
+ },
+ "serialConsoleLogBlobUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The serial console log blob URI."
+ }
+ },
+ "description": "The SAS URIs of the console screenshot and serial log blobs."
+ },
"HyperVGenerationType": {
"type": "string",
"description": "Specifies the HyperVGeneration Type",
@@ -8158,7 +8304,7 @@
},
"storageUri": {
"type": "string",
- "description": "Uri of the storage account to use for placing the console output and screenshot."
+ "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."
}
},
"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."
@@ -8275,12 +8421,12 @@
"consoleScreenshotBlobUri": {
"readOnly": true,
"type": "string",
- "description": "The console screenshot blob URI."
+ "description": "The console screenshot blob URI.
NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage."
},
"serialConsoleLogBlobUri": {
"readOnly": true,
"type": "string",
- "description": "The Linux serial console log blob Uri."
+ "description": "The serial console log blob Uri.
NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage."
},
"status": {
"readOnly": true,
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json
new file mode 100644
index 000000000000..5553d72e053c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithManagedBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithManagedBootDiagnostics.json
new file mode 100644
index 000000000000..dd09e24daf77
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithManagedBootDiagnostics.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json
new file mode 100644
index 000000000000..a5298d6e7bb6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2020-06-01",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "sasUriExpirationTimeInMinutes": 60
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "consoleScreenshotBlobUri": "https://storageuri/myvmScaleSetinstance.screenshot.bmp?sv=2017-04-17&sr=b&sig=hcanChQRWQIOzXddctW0KMI6vidtGYPTlXKhEpUaB40%3d&se=2020-03-02T23:01:12Z&sp=r",
+ "serialConsoleLogBlobUri": "https://storageuri/myvmScaleSetinstance.serialconsole.log?sv=2017-04-17&sr=b&sig=hcanChQRWQIOzXddctW0KMI6vidtGYPTlXKhEpUaB40%3d&se=2020-03-02T23:01:12Z&sp=r"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json
new file mode 100644
index 000000000000..898c1994810a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2020-06-01",
+ "vmName": "VMName",
+ "sasUriExpirationTimeInMinutes": 60
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "consoleScreenshotBlobUri": "https://storageuri/vm.screenshot.bmp?sv=2017-04-17&sr=b&sig=hcanChQRWQIOzXddctW0KMI6vidtGYPTlXKhEpUaB40%3d&se=2020-03-02T23:01:12Z&sp=r",
+ "serialConsoleLogBlobUri": "https://storageuri/vm.serialconsole.log?sv=2017-04-17&sr=b&sig=hcanChQRWQIOzXddctW0KMI6vidtGYPTlXKhEpUaB40%3d&se=2020-03-02T23:01:12Z&sp=r"
+ }
+ }
+ }
+}