-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcycleserver-vm.bicep
88 lines (85 loc) · 1.83 KB
/
cycleserver-vm.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
param location string = resourceGroup().location
param csadminSshKey string
param customData string = ''
param subnetId string
param userAssignedIdentity string
resource pip 'Microsoft.Network/publicIpAddresses@2020-05-01' = {
name: 'cycleserver-pip'
location: location
properties: {
publicIPAllocationMethod: 'Dynamic'
}
}
resource nic 'Microsoft.Network/networkInterfaces@2020-05-01' = {
name: 'cycleserver-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: 'cycleserver'
location: location
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'${userAssignedIdentity}': {}
}
}
properties: {
osProfile: {
computerName: 'CycleServer'
adminUsername: 'csadmin'
customData: base64(customData)
linuxConfiguration: {
disablePasswordAuthentication: true
ssh: {
publicKeys: [
{
path: '/home/csadmin/.ssh/authorized_keys'
keyData: csadminSshKey
}
]
}
}
}
hardwareProfile: {
vmSize: 'Standard_D8s_v3'
}
storageProfile: {
imageReference: {
publisher: 'OpenLogic'
offer: 'CentOS'
sku: '8_2'
version: 'latest'
}
osDisk: {
name: 'cycleserver-os'
createOption: 'FromImage'
managedDisk: {
storageAccountType: 'StandardSSD_LRS'
}
}
}
networkProfile: {
networkInterfaces: [
{
id: nic.id
}
]
}
}
}