diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json index b5feeccd1af2..775bf7b48996 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json @@ -2717,6 +2717,9 @@ }, "Create a vm with an extensions time budget.": { "$ref": "./examples/CreateAVmWithExtensionsTimeBudget.json" + }, + "Create a vm with Application Profile.": { + "$ref": "./examples/CreateAVmWithApplicationProfile.json" } } }, @@ -3748,6 +3751,9 @@ }, "Create a scale set with Host Encryption using encryptionAtHost property.": { "$ref": "./examples/CreateAScaleSetWithEncryptionAtHost.json" + }, + "Create a scale set with Application Profile": { + "$ref": "./examples/CreateAScaleSetWithApplicationProfile.json" } } }, @@ -8284,6 +8290,48 @@ }, "description": "Specifies the storage settings for the virtual machine disks." }, + "VMGalleryApplication": { + "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, has no effect if manuallyManaged is set to true" + }, + "manuallyManaged": { + "type": "boolean", + "default": false, + "description": "Specifies whether the gallery application would be manually managed. If set to true, the VMApplicationExtension would not manage the gallery application" + }, + "packageReferenceId": { + "type": "string", + "description": "Specifies the GalleryApplicationVersion reference in URL form. e.g. /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" + } + }, + "required": [ + "packageReferenceId" + ], + "description": "Specifies the required information to reference a compute gallery application version" + }, + "ApplicationProfile": { + "properties": { + "galleryApplications": { + "type": "array", + "items": { + "$ref": "#/definitions/VMGalleryApplication" + }, + "description": "Specifies the gallery applications that should be made available to the VM/VMSS" + } + }, + "description": "Contains the list of gallery applications that should be made available to the VM/VMSS" + }, "SecurityProfile": { "properties": { "encryptionAtHost": { @@ -8904,6 +8952,10 @@ "$ref": "#/definitions/HardwareProfile", "description": "Specifies the hardware settings for the virtual machine." }, + "applicationProfile": { + "$ref": "#/definitions/ApplicationProfile", + "description": "Specifies the gallery applications that should be made available to the VM/VMSS" + }, "storageProfile": { "$ref": "#/definitions/StorageProfile", "description": "Specifies the storage settings for the virtual machine disks." @@ -10234,6 +10286,10 @@ "$ref": "#/definitions/VirtualMachineScaleSetOSProfile", "description": "Specifies the operating system settings for the virtual machines in the scale set." }, + "applicationProfile": { + "$ref": "#/definitions/ApplicationProfile", + "description": "Specifies the gallery applications that should be made available to the VM/VMSS" + }, "storageProfile": { "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile", "description": "Specifies the storage settings for the virtual machine disks." @@ -10283,6 +10339,10 @@ "$ref": "#/definitions/VirtualMachineScaleSetUpdateOSProfile", "description": "The virtual machine scale set OS profile." }, + "applicationProfile": { + "$ref": "#/definitions/ApplicationProfile", + "description": "Specifies the gallery applications that should be made available to the VM/VMSS" + }, "storageProfile": { "$ref": "#/definitions/VirtualMachineScaleSetUpdateStorageProfile", "description": "The virtual machine scale set storage profile." @@ -10916,6 +10976,10 @@ "$ref": "#/definitions/HardwareProfile", "description": "Specifies the hardware settings for the virtual machine." }, + "applicationProfile": { + "$ref": "#/definitions/ApplicationProfile", + "description": "Specifies the gallery applications that should be made available to the VM/VMSS" + }, "storageProfile": { "$ref": "#/definitions/StorageProfile", "description": "Specifies the storage settings for the virtual machine disks." diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAScaleSetWithApplicationProfile.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAScaleSetWithApplicationProfile.json new file mode 100644 index 000000000000..f6398954a2fb --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAScaleSetWithApplicationProfile.json @@ -0,0 +1,259 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-12-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" + } + }, + "applicationProfile": { + "galleryApplications": [ + { + "tags": "myTag1", + "order": 1, + "manuallyManaged": true, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0", + "configurationReference": "https://mystorageaccount.blob.core.windows.net/configurations/settings.config" + }, + { + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1" + } + ] + }, + "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": "ffb27c5c-39a5-4d4e-b307-b32598689813", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "applicationProfile": { + "galleryApplications": [ + { + "tags": "myTag1", + "order": 1, + "manuallyManaged": true, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0", + "configurationReference": "https://mystorageaccount.blob.core.windows.net/configurations/settings.config" + }, + { + "manuallyManaged": false, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1" + } + ] + }, + "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": "ffb27c5c-39a5-4d4e-b307-b32598689813", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "applicationProfile": { + "galleryApplications": [ + { + "tags": "myTag1", + "order": 1, + "manuallyManaged": true, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0", + "configurationReference": "https://mystorageaccount.blob.core.windows.net/configurations/settings.config" + }, + { + "manuallyManaged": false, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1" + } + ] + }, + "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-12-01/examples/CreateAVmWithApplicationProfile.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAVmWithApplicationProfile.json new file mode 100644 index 000000000000..42148c188f54 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAVmWithApplicationProfile.json @@ -0,0 +1,211 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-12-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "{image_sku}", + "publisher": "{image_publisher}", + "version": "latest", + "offer": "{image_offer}" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "applicationProfile": { + "galleryApplications": [ + { + "tags": "myTag1", + "order": 1, + "manuallyManaged": true, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0", + "configurationReference": "https://mystorageaccount.blob.core.windows.net/configurations/settings.config" + }, + { + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1" + } + ] + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": 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", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "/home/{your-username}/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1" + } + ] + }, + "disablePasswordAuthentication": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "16.04-LTS", + "publisher": "Canonical", + "version": "latest", + "offer": "UbuntuServer" + }, + "osDisk": { + "osType": "Linux", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "applicationProfile": { + "galleryApplications": [ + { + "tags": "myTag1", + "order": 1, + "manuallyManaged": true, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0", + "configurationReference": "https://mystorageaccount.blob.core.windows.net/configurations/settings.config" + }, + { + "manuallyManaged": false, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1" + } + ] + }, + "vmId": "e0de9b84-a506-4b95-9623-00a425d05c90", + "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", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "/home/{your-username}/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1" + } + ] + }, + "disablePasswordAuthentication": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "16.04-LTS", + "publisher": "Canonical", + "version": "latest", + "offer": "UbuntuServer" + }, + "osDisk": { + "osType": "Linux", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "applicationProfile": { + "galleryApplications": [ + { + "tags": "myTag1", + "order": 1, + "manuallyManaged": true, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0", + "configurationReference": "https://mystorageaccount.blob.core.windows.net/configurations/settings.config" + }, + { + "manuallyManaged": false, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1" + } + ] + }, + "vmId": "e0de9b84-a506-4b95-9623-00a425d05c90", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetVirtualMachine.json index 20ce5f270a35..e6be34e83610 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetVirtualMachine.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetVirtualMachine.json @@ -69,6 +69,21 @@ } ] }, + "applicationProfile": { + "galleryApplications": [ + { + "tags": "myTag1", + "order": 1, + "manuallyManaged": true, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0", + "configurationReference": "https://mystorageaccount.blob.core.windows.net/configurations/settings.config" + }, + { + "manuallyManaged": false, + "packageReferenceId": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1" + } + ] + }, "osProfile": { "computerName": "myVM", "adminUsername": "admin",