-
Notifications
You must be signed in to change notification settings - Fork 3
/
main.bicep
69 lines (59 loc) · 1.5 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
targetScope = 'subscription'
param location string = 'eastus'
param resourceGroupName string = 'apim'
@secure()
param publisherEmail string
param publisherName string
param apimServiceName string = 'apim'
param apimEnv string = 'dev'
param virtualNetworkType string = 'None'
param subnetName string = ''
param vnetName string = ''
@description('The pricing tier of this API Management service')
@allowed([
'Developer'
'Standard'
'Premium'
])
param sku string = 'Developer'
resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = {
name: resourceGroupName
location: location
tags: {
'environment': apimEnv
'resource': 'apim'
'demo': 'true'
}
}
var apimName = '${apimServiceName}-${apimEnv}-${uniqueString(resourceGroup.id)}'
module serviceConfig 'apim-modules/service/service.bicep' = {
name: 'serviceConfiguration'
scope: resourceGroup
params: {
publisherEmail: publisherEmail
publisherName: publisherName
location: location
apiManagementServiceName: apimName
sku: sku
subnetName: subnetName
vnetName: vnetName
apimEnv: apimEnv
virtualNetworkType: virtualNetworkType
}
}
module shared 'apim-modules/shared/shared.bicep' = {
name: 'shared'
scope: resourceGroup
params: {
apimInstance: serviceConfig.outputs.apimInstance
apimEnv: apimEnv
}
}
module apis 'apim-modules/apis/apis.bicep' = {
name: 'apis'
scope: resourceGroup
params: {
apimInstance: serviceConfig.outputs.apimInstance
apimEnv: apimEnv
}
}