-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 824fe27
Showing
2 changed files
with
248 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Omniverse Virtual Workstation | ||
|
||
Required template file to successfully deploy an Omniverse Virtual Workstation. | ||
|
||
## Options to Access the Template | ||
|
||
### 1. Clone the Repository | ||
You can clone the repository to access the Azure ARM template: | ||
```bash | ||
git clone https://github.com/NVIDIA-Omniverse/VirtualWorkstation.git | ||
``` | ||
|
||
### 2. Direct Download | ||
Alternatively, you can download the Azure ARM template directly: | ||
- [Download the Microsoft Azure ARM Template](https://github.com/NVIDIA-Omniverse/VirtualWorkstation/releases/download/public/nvidia-ovw-azure-arm_template.json) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,232 @@ | ||
{ | ||
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", | ||
"contentVersion": "1.0.0.0", | ||
"parameters": { | ||
"virtualMachineName": { | ||
"type": "string", | ||
"metadata": { | ||
"description": "The name of the virtual machine." | ||
} | ||
}, | ||
"adminUsername": { | ||
"type": "string", | ||
"metadata": { | ||
"description": "Username for the Virtual Machine." | ||
} | ||
}, | ||
"adminPassword": { | ||
"type": "securestring", | ||
"minLength": 12, | ||
"metadata": { | ||
"description": "Password for the Virtual Machine." | ||
} | ||
}, | ||
"dnsLabelPrefix": { | ||
"type": "string", | ||
"defaultValue": "[toLower(format('{0}-{1}', parameters('virtualMachineName'), uniqueString(resourceGroup().id, parameters('virtualMachineName'))))]", | ||
"metadata": { | ||
"description": "Unique DNS Name for the Public IP used to access the Virtual Machine." | ||
} | ||
}, | ||
"publicIpName": { | ||
"type": "string", | ||
"defaultValue": "[concat(parameters('virtualMachineName'), '_PublicIP')]", | ||
"metadata": { | ||
"description": "Name for the Public IP used to access the Virtual Machine." | ||
} | ||
}, | ||
"publicIPAllocationMethod": { | ||
"type": "string", | ||
"defaultValue": "Dynamic", | ||
"allowedValues": [ | ||
"Dynamic", | ||
"Static" | ||
], | ||
"metadata": { | ||
"description": "Allocation method for the Public IP used to access the Virtual Machine." | ||
} | ||
}, | ||
"publicIpSku": { | ||
"type": "string", | ||
"defaultValue": "Basic", | ||
"allowedValues": [ | ||
"Basic", | ||
"Standard" | ||
], | ||
"metadata": { | ||
"description": "SKU for the Public IP used to access the Virtual Machine." | ||
} | ||
}, | ||
"vmSize": { | ||
"type": "string", | ||
"defaultValue": "Standard_NV36ads_A10_v5", | ||
"allowedValues": [ | ||
"Standard_NV36ads_A10_v5", | ||
"Standard_NV72ads_A10_v5" | ||
], | ||
"metadata": { | ||
"description": "Size of the virtual machine." | ||
} | ||
}, | ||
"location": { | ||
"type": "string", | ||
"defaultValue": "[resourceGroup().location]", | ||
"metadata": { | ||
"description": "Location for all resources." | ||
} | ||
} | ||
}, | ||
"variables": { | ||
"addressPrefix": "10.0.0.0/16", | ||
"subnetPrefix": "10.0.0.0/24", | ||
"virtualNetworkName": "[concat(parameters('virtualMachineName'), '_VNET')]", | ||
"subnetName": "[concat(parameters('virtualMachineName'), '_SubNet0')]", | ||
"networkSecurityGroupName": "[concat(parameters('virtualMachineName'), '_NSG')]", | ||
"nicName": "[concat(parameters('virtualMachineName'), '_VNIC')]" | ||
}, | ||
"resources": [ | ||
{ | ||
"type": "Microsoft.Network/publicIPAddresses", | ||
"apiVersion": "2022-05-01", | ||
"name": "[parameters('publicIpName')]", | ||
"location": "[parameters('location')]", | ||
"sku": { | ||
"name": "[parameters('publicIpSku')]" | ||
}, | ||
"properties": { | ||
"publicIPAllocationMethod": "[parameters('publicIPAllocationMethod')]" | ||
} | ||
}, | ||
{ | ||
"type": "Microsoft.Network/networkSecurityGroups", | ||
"apiVersion": "2022-05-01", | ||
"name": "[variables('networkSecurityGroupName')]", | ||
"location": "[parameters('location')]", | ||
"properties": { | ||
"securityRules": [ | ||
{ | ||
"name": "default-allow-3389", | ||
"properties": { | ||
"priority": 1000, | ||
"access": "Allow", | ||
"direction": "Inbound", | ||
"destinationPortRange": "3389", | ||
"protocol": "Tcp", | ||
"sourcePortRange": "*", | ||
"sourceAddressPrefix": "*", | ||
"destinationAddressPrefix": "*" | ||
} | ||
} | ||
] | ||
} | ||
}, | ||
{ | ||
"type": "Microsoft.Network/virtualNetworks", | ||
"apiVersion": "2022-05-01", | ||
"name": "[variables('virtualNetworkName')]", | ||
"location": "[parameters('location')]", | ||
"properties": { | ||
"addressSpace": { | ||
"addressPrefixes": [ | ||
"[variables('addressPrefix')]" | ||
] | ||
}, | ||
"subnets": [ | ||
{ | ||
"name": "[variables('subnetName')]", | ||
"properties": { | ||
"addressPrefix": "[variables('subnetPrefix')]", | ||
"networkSecurityGroup": { | ||
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('networkSecurityGroupName'))]" | ||
} | ||
} | ||
} | ||
] | ||
}, | ||
"dependsOn": [ | ||
"[resourceId('Microsoft.Network/networkSecurityGroups', variables('networkSecurityGroupName'))]" | ||
] | ||
}, | ||
{ | ||
"type": "Microsoft.Network/networkInterfaces", | ||
"apiVersion": "2022-05-01", | ||
"name": "[variables('nicName')]", | ||
"location": "[parameters('location')]", | ||
"properties": { | ||
"ipConfigurations": [ | ||
{ | ||
"name": "ipconfig1", | ||
"properties": { | ||
"privateIPAllocationMethod": "Dynamic", | ||
"publicIPAddress": { | ||
"id": "[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIpName'))]" | ||
}, | ||
"subnet": { | ||
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('virtualNetworkName'), variables('subnetName'))]" | ||
} | ||
} | ||
} | ||
] | ||
}, | ||
"dependsOn": [ | ||
"[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIpName'))]", | ||
"[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]" | ||
] | ||
}, | ||
{ | ||
"type": "Microsoft.Compute/virtualMachines", | ||
"apiVersion": "2021-04-01", | ||
"name": "[parameters('virtualMachineName')]", | ||
"location": "[resourceGroup().location]", | ||
"dependsOn": [ | ||
"[resourceId('Microsoft.Compute/disks', variables('newDiskName'))]" | ||
], | ||
"properties": { | ||
"hardwareProfile": { | ||
"vmSize": "[parameters('vmSize')]" | ||
}, | ||
"osProfile": { | ||
"computerName": "[parameters('virtualMachineName')]", | ||
"adminUsername": "[parameters('adminUsername')]", | ||
"adminPassword": "[parameters('adminPassword')]" | ||
}, | ||
"storageProfile": { | ||
"imageReference": { | ||
"publisher": "nvidia", | ||
"offer": "nvidia-omniverse-workstation", | ||
"sku": "ove", | ||
"version": "latest" | ||
}, | ||
"osDisk": { | ||
"createOption": "FromImage", | ||
"managedDisk": { | ||
"storageAccountType": "StandardSSD_LRS" | ||
} | ||
}, | ||
"dataDisks": [ | ||
{ | ||
"diskSizeGB": 1023, | ||
"lun": 0, | ||
"createOption": "Empty" | ||
} | ||
] | ||
}, | ||
"networkProfile": { | ||
"networkInterfaces": [ | ||
{ | ||
"id": "[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]" | ||
} | ||
] | ||
} | ||
}, | ||
"plan": { | ||
"name": "ove", | ||
"publisher": "nvidia", | ||
"product": "nvidia-omniverse-workstation" | ||
}, | ||
"dependsOn": [ | ||
"[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]" | ||
] | ||
} | ||
] | ||
} |