-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.bicep
72 lines (66 loc) · 1.68 KB
/
main.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
// =========== main.bicep ===========
targetScope = 'subscription'
// ***** Literals ***** //
// Resource type prefixes
//var storageAccountPrefix = 'st'
// ***** Parameters ***** //
param projectName string = '[Project_Name]'
param storageName string = '[Storage_Name]'
param location string = [Location]'
param tags object = {
owner: '[Your_Name]'
project: 'AzureTraining'
}
// ***** Resources ***** //
// Create: Resource Group
resource newRG 'Microsoft.Resources/resourceGroups@2022-09-01' = {
name: '${projectName}-rg'
location: location
}
// Create: Storage Account (boot diagnostics etc).
module newStorage 'storage.bicep' ={
scope: newRG
name: 'Deploy_${projectName}-st'
params: {
storageName: storageName
location: location
tags: tags
}
}
// Create: vNet + subnets
module newVnet 'vnet.bicep' = {
scope: newRG
name: 'Deploy_${projectName}-vnet1'
params: {
vnetName: '${projectName}-vnet1'
location: location
tags: tags
}
}
// Create: VMs
module newVM1 'vms.bicep' = {
scope: newRG
name: 'Deploy_${projectName}-vm1'
params: {
vmName: '${projectName}-vm1'
adminUsername: 'linuxadmin'
adminPasswordOrKey: '[Password]'
location: location
tags: tags
storageUri: newStorage.outputs.storageUri
subnetId: newVnet.outputs.subnetId1
}
}
module newVM2 'vms.bicep' = {
scope: newRG
name: 'Deploy_${projectName}-vm2'
params: {
vmName: '${projectName}-vm2'
adminUsername: 'linuxadmin'
adminPasswordOrKey: '[Password]'
location: location
tags: tags
storageUri: newStorage.outputs.storageUri
subnetId: newVnet.outputs.subnetId2
}
}