# NOT RUN {
# basic Linux (Ubuntu) and Windows configs
ubuntu_18.04()
windows_2019()
# Windows DSVM with 500GB data disk, no public IP address
windows_dsvm(datadisks=500, ip=NULL)
# RHEL VM exposing ports 80 (HTTP) and 443 (HTTPS)
rhel_8(nsg=nsg_config(nsg_rule_allow_http, nsg_rule_allow_https))
# exposing no ports externally, spot (low) priority
rhel_8(nsg=nsg_config(list()), properties=list(priority="spot"))
# deploying an extra resource: storage account
ubuntu_18.04(
variables=list(storName="[concat(parameters('vmName'), 'stor')]"),
other_resources=list(
list(
type="Microsoft.Storage/storageAccounts",
name="[variables('storName')]",
apiVersion="2018-07-01",
location="[variables('location')]",
properties=list(supportsHttpsTrafficOnly=TRUE),
sku=list(name="Standard_LRS"),
kind="Storage"
)
)
)
## custom VM configuration: Windows 10 Pro 1903 with data disks
## this assumes you have a valid Win10 desktop license
user <- user_config("myname", password="Use-strong-passwords!")
image <- image_config(
publisher="MicrosoftWindowsDesktop",
offer="Windows-10",
sku="19h1-pro"
)
datadisks <- list(
datadisk_config(250, type="Premium_LRS"),
datadisk_config(1000, type="Standard_LRS")
)
nsg <- nsg_config(
list(nsg_rule_allow_rdp)
)
vm_config(
image=image,
keylogin=FALSE,
datadisks=datadisks,
nsg=nsg,
properties=list(licenseType="Windows_Client")
)
# }
# NOT RUN {
# reusing existing resources: placing multiple VMs in one vnet/subnet
rg <- AzureRMR::get_azure_login()$
get_subscription("sub_id")$
get_resource_group("rgname")
vnet <- rg$get_resource(type="Microsoft.Network/virtualNetworks", name="myvnet")
# by default, the NSG is associated with the subnet, so we don't need a new NSG either
vmconfig1 <- ubuntu_18.04(vnet=vnet, nsg=NULL)
vmconfig2 <- debian_9_backports(vnet=vnet, nsg=NULL)
vmconfig3 <- windows_2019(vnet=vnet, nsg=NULL)
# }
Run the code above in your browser using DataLab