-
Notifications
You must be signed in to change notification settings - Fork 1
/
linux-vm-az.bicep
100 lines (96 loc) · 1.85 KB
/
linux-vm-az.bicep
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
param location string = resourceGroup().location
param adminSshKey string
param proximityPlacementGroupId string
param subnetId string
param vmName string
@allowed([
1
2
3
])
param zone int
resource pip 'Microsoft.Network/publicIpAddresses@2020-05-01' = {
name: '${vmName}-pip'
location: location
properties: {
publicIPAllocationMethod: 'Static'
}
sku: {
name: 'Standard'
}
zones: [
'${zone}'
]
}
resource nic 'Microsoft.Network/networkInterfaces@2020-05-01' = {
name: '${vmName}-nic'
location: location
properties: {
ipConfigurations: [
{
name: 'ipconfig'
properties: {
privateIPAllocationMethod: 'Dynamic'
subnet: {
id: subnetId
}
publicIPAddress: {
id: pip.id
}
}
}
]
}
}
resource vm 'Microsoft.Compute/virtualMachines@2020-06-01' = {
name: vmName
location: location
properties: {
hardwareProfile: {
vmSize: 'Standard_B4ms'
}
networkProfile: {
networkInterfaces: [
{
id: nic.id
}
]
}
osProfile: {
computerName: vmName
adminUsername: 'vmadmin'
linuxConfiguration: {
disablePasswordAuthentication: true
ssh: {
publicKeys: [
{
path: '/home/vmadmin/.ssh/authorized_keys'
keyData: adminSshKey
}
]
}
}
}
proximityPlacementGroup: {
id: proximityPlacementGroupId
}
storageProfile: {
imageReference: {
publisher: 'OpenLogic'
offer: 'CentOS'
sku: '7.7'
version: 'latest'
}
osDisk: {
name: '${vmName}-os'
createOption: 'FromImage'
managedDisk: {
storageAccountType: 'StandardSSD_LRS'
}
}
}
}
zones: [
'${zone}'
]
}