-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.json
1993 lines (1993 loc) · 92.4 KB
/
main.json
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.17.1.54307",
"templateHash": "301223764826088663"
}
},
"parameters": {
"deploymentParams": {
"type": "object"
},
"identityParams": {
"type": "object"
},
"storageAccountParams": {
"type": "object"
},
"logAnalyticsWorkspaceParams": {
"type": "object"
},
"vnetParams": {
"type": "object"
},
"vmParams": {
"type": "object"
},
"dceParams": {
"type": "object"
},
"mysqlDbParams": {
"type": "object"
},
"brandTags": {
"type": "object"
},
"dateNow": {
"type": "string",
"defaultValue": "[utcNow('yyyy-MM-dd-hh-mm')]"
},
"tags": {
"type": "object",
"defaultValue": "[union(parameters('brandTags'), createObject('last_deployed', parameters('dateNow')))]"
}
},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2022-09-01",
"name": "[format('{0}_{1}_usr_mgd_identity', parameters('deploymentParams').enterprise_name_suffix, parameters('deploymentParams').global_uniqueness)]",
"properties": {
"expressionEvaluationOptions": {
"scope": "inner"
},
"mode": "Incremental",
"parameters": {
"deploymentParams": {
"value": "[parameters('deploymentParams')]"
},
"identityParams": {
"value": "[parameters('identityParams')]"
},
"tags": {
"value": "[parameters('tags')]"
}
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.17.1.54307",
"templateHash": "7604186415119991904"
}
},
"parameters": {
"deploymentParams": {
"type": "object"
},
"identityParams": {
"type": "object"
},
"tags": {
"type": "object"
}
},
"resources": [
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"apiVersion": "2023-01-31",
"name": "[format('{0}_{1}_{2}', parameters('identityParams').identityNamePrefix, parameters('deploymentParams').enterprise_name_suffix, parameters('deploymentParams').global_uniqueness)]",
"location": "[parameters('deploymentParams').location]",
"tags": "[parameters('tags')]"
}
],
"outputs": {
"usr_mgd_identity_id": {
"type": "string",
"value": "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', format('{0}_{1}_{2}', parameters('identityParams').identityNamePrefix, parameters('deploymentParams').enterprise_name_suffix, parameters('deploymentParams').global_uniqueness))]"
},
"usr_mgd_identity_clientId": {
"type": "string",
"value": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', format('{0}_{1}_{2}', parameters('identityParams').identityNamePrefix, parameters('deploymentParams').enterprise_name_suffix, parameters('deploymentParams').global_uniqueness)), '2023-01-31').clientId]"
},
"usr_mgd_identity_principalId": {
"type": "string",
"value": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', format('{0}_{1}_{2}', parameters('identityParams').identityNamePrefix, parameters('deploymentParams').enterprise_name_suffix, parameters('deploymentParams').global_uniqueness)), '2023-01-31').principalId]"
},
"usr_mgd_identity_name": {
"type": "string",
"value": "[format('{0}_{1}_{2}', parameters('identityParams').identityNamePrefix, parameters('deploymentParams').enterprise_name_suffix, parameters('deploymentParams').global_uniqueness)]"
}
}
}
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2022-09-01",
"name": "[format('{0}_{1}_La', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness)]",
"properties": {
"expressionEvaluationOptions": {
"scope": "inner"
},
"mode": "Incremental",
"parameters": {
"deploymentParams": {
"value": "[parameters('deploymentParams')]"
},
"logAnalyticsWorkspaceParams": {
"value": "[parameters('logAnalyticsWorkspaceParams')]"
},
"tags": {
"value": "[parameters('tags')]"
}
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.17.1.54307",
"templateHash": "8084380687260809388"
}
},
"parameters": {
"module_metadata": {
"type": "object",
"defaultValue": {
"module_last_updated": "2023-05-21",
"owner": "miztiik@github"
}
},
"deploymentParams": {
"type": "object"
},
"logAnalyticsWorkspaceParams": {
"type": "object"
},
"tags": {
"type": "object"
}
},
"resources": [
{
"condition": "[equals(parameters('logAnalyticsWorkspaceParams').commitTier, false())]",
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "2020-08-01",
"name": "[format('{0}-payGTier-{1}', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness)]",
"location": "[parameters('deploymentParams').location]",
"tags": "[parameters('tags')]",
"properties": {
"retentionInDays": "[parameters('logAnalyticsWorkspaceParams').retentionInDays]",
"sku": {
"name": "PerGB2018"
},
"workspaceCapping": {
"dailyQuotaGb": "[parameters('logAnalyticsWorkspaceParams').dailyQuotaGb]"
},
"publicNetworkAccessForIngestion": "Enabled",
"publicNetworkAccessForQuery": "Enabled"
}
},
{
"condition": "[equals(parameters('logAnalyticsWorkspaceParams').commitTier, true())]",
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "2022-10-01",
"name": "[format('{0}-commitTier-{1}', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness)]",
"location": "[parameters('deploymentParams').location]",
"tags": "[parameters('tags')]",
"properties": {
"sku": {
"name": "CapacityReservation",
"capacityReservationLevel": 100
}
}
},
{
"type": "Microsoft.OperationalInsights/workspaces/tables",
"apiVersion": "2022-10-01",
"name": "[format('{0}/{1}', format('{0}-payGTier-{1}', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness), format('{0}{1}_CL', parameters('logAnalyticsWorkspaceParams').storeEventsCustomTableName, parameters('deploymentParams').global_uniqueness))]",
"properties": {
"plan": "Analytics",
"retentionInDays": -1,
"schema": {
"description": "Store order events custom table",
"displayName": "DOESNT-SEEM-TO-WORK-STORE-EVENTS-0",
"name": "[format('{0}{1}_CL', parameters('logAnalyticsWorkspaceParams').storeEventsCustomTableName, parameters('deploymentParams').global_uniqueness)]",
"columns": [
{
"name": "TimeGenerated",
"type": "datetime"
},
{
"name": "RawData",
"type": "string"
},
{
"name": "request_id",
"type": "string"
},
{
"name": "event_type",
"type": "string"
},
{
"name": "store_id",
"displayName": "store_id",
"description": "The Id of the store placing the Order",
"type": "int"
},
{
"name": "cust_id",
"type": "int"
},
{
"name": "category",
"type": "string"
},
{
"name": "sku",
"type": "int"
},
{
"name": "price",
"type": "real"
},
{
"name": "qty",
"type": "int"
},
{
"name": "discount",
"type": "real"
},
{
"name": "gift_wrap",
"type": "boolean"
},
{
"name": "variant",
"description": "Product Variety",
"type": "string"
},
{
"name": "priority_shipping",
"description": "Priority Shipping requested",
"type": "boolean"
},
{
"name": "contact_me",
"description": "Miztiik Automation Brand Experience Store",
"displayName": "contact_me",
"type": "string"
}
]
}
},
"dependsOn": [
"[resourceId('Microsoft.OperationalInsights/workspaces', format('{0}-payGTier-{1}', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness))]"
]
},
{
"type": "Microsoft.OperationalInsights/workspaces/tables",
"apiVersion": "2022-10-01",
"name": "[format('{0}/{1}', format('{0}-payGTier-{1}', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness), format('{0}{1}_CL', parameters('logAnalyticsWorkspaceParams').automationEventsCustomTableName, parameters('deploymentParams').global_uniqueness))]",
"properties": {
"plan": "Analytics",
"retentionInDays": -1,
"schema": {
"description": "Miztiik Automation Events",
"displayName": "DOESNT-SEEM-TO-WORK-AUTOMATION-EVENTS-1",
"name": "[format('{0}{1}_CL', parameters('logAnalyticsWorkspaceParams').automationEventsCustomTableName, parameters('deploymentParams').global_uniqueness)]",
"columns": [
{
"name": "TimeGenerated",
"type": "datetime"
},
{
"name": "RawData",
"type": "string"
},
{
"name": "request_id",
"type": "string"
}
]
}
},
"dependsOn": [
"[resourceId('Microsoft.OperationalInsights/workspaces', format('{0}-payGTier-{1}', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness))]"
]
},
{
"type": "Microsoft.OperationalInsights/workspaces/tables",
"apiVersion": "2022-10-01",
"name": "[format('{0}/{1}', format('{0}-payGTier-{1}', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness), format('{0}{1}_CL', parameters('logAnalyticsWorkspaceParams').managedRunCmdCustomTableName, parameters('deploymentParams').global_uniqueness))]",
"properties": {
"plan": "Analytics",
"retentionInDays": -1,
"schema": {
"description": "Miztiik Run Command Automation Events",
"displayName": "DOESNT-SEEM-TO-WORK-AUTOMATION-EVENTS-2",
"name": "[format('{0}{1}_CL', parameters('logAnalyticsWorkspaceParams').managedRunCmdCustomTableName, parameters('deploymentParams').global_uniqueness)]",
"columns": [
{
"name": "TimeGenerated",
"type": "datetime"
},
{
"name": "RawData",
"type": "string"
}
]
}
},
"dependsOn": [
"[resourceId('Microsoft.OperationalInsights/workspaces', format('{0}-payGTier-{1}', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness))]"
]
}
],
"outputs": {
"module_metadata": {
"type": "object",
"value": "[parameters('module_metadata')]"
},
"logAnalyticsPayGWorkspaceId": {
"type": "string",
"value": "[resourceId('Microsoft.OperationalInsights/workspaces', format('{0}-payGTier-{1}', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness))]"
},
"logAnalyticsPayGWorkspaceName": {
"type": "string",
"value": "[format('{0}-payGTier-{1}', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness)]"
},
"logAnalyticsCommitTierWorkspaceId": {
"type": "string",
"value": "[resourceId('Microsoft.OperationalInsights/workspaces', format('{0}-commitTier-{1}', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness))]"
},
"storeEventsCustomTableNamePrefix": {
"type": "string",
"value": "[format('{0}{1}', parameters('logAnalyticsWorkspaceParams').storeEventsCustomTableName, parameters('deploymentParams').global_uniqueness)]"
},
"storeEventsCustomTableName": {
"type": "string",
"value": "[format('{0}{1}_CL', parameters('logAnalyticsWorkspaceParams').storeEventsCustomTableName, parameters('deploymentParams').global_uniqueness)]"
},
"automationEventsCustomTableNamePrefix": {
"type": "string",
"value": "[format('{0}{1}', parameters('logAnalyticsWorkspaceParams').automationEventsCustomTableName, parameters('deploymentParams').global_uniqueness)]"
},
"automationEventsCustomTableName": {
"type": "string",
"value": "[format('{0}{1}_CL', parameters('logAnalyticsWorkspaceParams').automationEventsCustomTableName, parameters('deploymentParams').global_uniqueness)]"
},
"managedRunCmdCustomTableNamePrefix": {
"type": "string",
"value": "[format('{0}{1}', parameters('logAnalyticsWorkspaceParams').managedRunCmdCustomTableName, parameters('deploymentParams').global_uniqueness)]"
},
"managedRunCmdCustomTableName": {
"type": "string",
"value": "[format('{0}{1}_CL', parameters('logAnalyticsWorkspaceParams').managedRunCmdCustomTableName, parameters('deploymentParams').global_uniqueness)]"
}
}
}
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2022-09-01",
"name": "[format('{0}_{1}_Sa', parameters('storageAccountParams').storageAccountNamePrefix, parameters('deploymentParams').global_uniqueness)]",
"properties": {
"expressionEvaluationOptions": {
"scope": "inner"
},
"mode": "Incremental",
"parameters": {
"deploymentParams": {
"value": "[parameters('deploymentParams')]"
},
"storageAccountParams": {
"value": "[parameters('storageAccountParams')]"
},
"tags": {
"value": "[parameters('tags')]"
}
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.17.1.54307",
"templateHash": "16666267942053045280"
}
},
"parameters": {
"module_metadata": {
"type": "object",
"defaultValue": {
"module_last_updated": "2023-05-26",
"owner": "miztiik@github"
}
},
"deploymentParams": {
"type": "object"
},
"storageAccountParams": {
"type": "object"
},
"tags": {
"type": "object",
"defaultValue": "[resourceGroup().tags]"
}
},
"variables": {
"uniqStr": "[substring(uniqueString(resourceGroup().id), 0, 6)]",
"saName": "[format('{0}{1}{2}', parameters('storageAccountParams').storageAccountNamePrefix, variables('uniqStr'), parameters('deploymentParams').global_uniqueness)]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2022-05-01",
"name": "[variables('saName')]",
"location": "[parameters('deploymentParams').location]",
"tags": "[parameters('tags')]",
"sku": {
"name": "[format('{0}', parameters('storageAccountParams').fault_tolerant_sku)]"
},
"kind": "[format('{0}', parameters('storageAccountParams').kind)]",
"properties": {
"minimumTlsVersion": "[format('{0}', parameters('storageAccountParams').minimumTlsVersion)]",
"allowBlobPublicAccess": "[parameters('storageAccountParams').allowBlobPublicAccess]",
"defaultToOAuthAuthentication": true,
"supportsHttpsTrafficOnly": true,
"networkAcls": {
"bypass": "AzureServices",
"defaultAction": "Allow"
},
"encryption": {
"services": {
"file": {
"keyType": "Account",
"enabled": true
},
"blob": {
"keyType": "Account",
"enabled": true
}
},
"keySource": "Microsoft.Storage"
},
"accessTier": "Hot"
}
}
],
"outputs": {
"module_metadata": {
"type": "object",
"value": "[parameters('module_metadata')]"
},
"saName": {
"type": "string",
"value": "[variables('saName')]"
},
"saPrimaryEndpointsBlob": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('saName')), '2022-05-01').primaryEndpoints.blob]"
},
"saPrimaryEndpoints": {
"type": "object",
"value": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('saName')), '2022-05-01').primaryEndpoints]"
}
}
}
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2022-09-01",
"name": "[format('{0}_{1}_Blob', parameters('storageAccountParams').storageAccountNamePrefix, parameters('deploymentParams').global_uniqueness)]",
"properties": {
"expressionEvaluationOptions": {
"scope": "inner"
},
"mode": "Incremental",
"parameters": {
"deploymentParams": {
"value": "[parameters('deploymentParams')]"
},
"storageAccountParams": {
"value": "[parameters('storageAccountParams')]"
},
"storageAccountName": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', format('{0}_{1}_Sa', parameters('storageAccountParams').storageAccountNamePrefix, parameters('deploymentParams').global_uniqueness)), '2022-09-01').outputs.saName.value]"
},
"logAnalyticsWorkspaceId": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', format('{0}_{1}_La', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness)), '2022-09-01').outputs.logAnalyticsPayGWorkspaceId.value]"
},
"enableDiagnostics": {
"value": false
}
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.17.1.54307",
"templateHash": "2335086061513587326"
}
},
"parameters": {
"module_metadata": {
"type": "object",
"defaultValue": {
"module_last_updated": "2023-05-23",
"owner": "miztiik@github"
}
},
"deploymentParams": {
"type": "object"
},
"storageAccountParams": {
"type": "object"
},
"storageAccountName": {
"type": "string"
},
"enableDiagnostics": {
"type": "bool",
"defaultValue": false
},
"logAnalyticsWorkspaceId": {
"type": "string"
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts/blobServices",
"apiVersion": "2021-06-01",
"name": "[format('{0}/{1}', parameters('storageAccountName'), 'default')]",
"properties": {
"cors": {
"corsRules": []
}
}
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2021-04-01",
"name": "[format('{0}/{1}/{2}', parameters('storageAccountName'), 'default', format('{0}-blob-{1}', parameters('storageAccountParams').blobNamePrefix, parameters('deploymentParams').global_uniqueness))]",
"properties": {
"publicAccess": "None"
},
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices', parameters('storageAccountName'), 'default')]"
]
},
{
"condition": "[parameters('enableDiagnostics')]",
"type": "Microsoft.Insights/diagnosticSettings",
"apiVersion": "2021-05-01-preview",
"scope": "[format('Microsoft.Storage/storageAccounts/{0}', parameters('storageAccountName'))]",
"name": "[format('{0}-Diaglogs', parameters('storageAccountName'))]",
"properties": {
"workspaceId": "[parameters('logAnalyticsWorkspaceId')]",
"logs": [
{
"category": "StorageWrite",
"enabled": true
}
],
"metrics": [
{
"category": "Transaction",
"enabled": true
}
]
}
}
],
"outputs": {
"module_metadata": {
"type": "object",
"value": "[parameters('module_metadata')]"
},
"blobContainerId": {
"type": "string",
"value": "[resourceId('Microsoft.Storage/storageAccounts/blobServices/containers', parameters('storageAccountName'), 'default', format('{0}-blob-{1}', parameters('storageAccountParams').blobNamePrefix, parameters('deploymentParams').global_uniqueness))]"
},
"blobContainerName": {
"type": "string",
"value": "[format('{0}-blob-{1}', parameters('storageAccountParams').blobNamePrefix, parameters('deploymentParams').global_uniqueness)]"
}
}
}
},
"dependsOn": [
"[resourceId('Microsoft.Resources/deployments', format('{0}_{1}_La', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness))]",
"[resourceId('Microsoft.Resources/deployments', format('{0}_{1}_Sa', parameters('storageAccountParams').storageAccountNamePrefix, parameters('deploymentParams').global_uniqueness))]"
]
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2022-09-01",
"name": "[format('{0}_{1}_Vnet', parameters('vnetParams').vnetNamePrefix, parameters('deploymentParams').global_uniqueness)]",
"properties": {
"expressionEvaluationOptions": {
"scope": "inner"
},
"mode": "Incremental",
"parameters": {
"deploymentParams": {
"value": "[parameters('deploymentParams')]"
},
"vnetParams": {
"value": "[parameters('vnetParams')]"
},
"tags": {
"value": "[parameters('tags')]"
}
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.17.1.54307",
"templateHash": "1738244141924420397"
}
},
"parameters": {
"module_metadata": {
"type": "object",
"defaultValue": {
"module_last_updated": "2023-05-19",
"owner": "miztiik@github"
}
},
"deploymentParams": {
"type": "object"
},
"vnetParams": {
"type": "object"
},
"tags": {
"type": "object",
"defaultValue": "[resourceGroup().tags]"
},
"vnetAddPrefixes": {
"type": "object",
"defaultValue": {
"addressPrefixes": [
"10.0.0.0/16"
]
}
},
"webSubnet01Cidr": {
"type": "string",
"defaultValue": "10.0.0.0/24"
},
"webSubnet02Cidr": {
"type": "string",
"defaultValue": "10.0.1.0/24"
},
"appSubnet01Cidr": {
"type": "string",
"defaultValue": "10.0.2.0/24"
},
"appSubnet02Cidr": {
"type": "string",
"defaultValue": "10.0.3.0/24"
},
"dbSubnet01Cidr": {
"type": "string",
"defaultValue": "10.0.4.0/24"
},
"dbSubnet02Cidr": {
"type": "string",
"defaultValue": "10.0.5.0/24"
}
},
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2021-05-01",
"name": "[format('{0}_Vnet_{1}', parameters('vnetParams').vnetNamePrefix, parameters('deploymentParams').global_uniqueness)]",
"location": "[parameters('deploymentParams').location]",
"tags": "[parameters('tags')]",
"properties": {
"addressSpace": "[parameters('vnetAddPrefixes')]",
"subnets": [
{
"name": "webSubnet01",
"properties": {
"addressPrefix": "[parameters('webSubnet01Cidr')]"
}
},
{
"name": "webSubnet02",
"properties": {
"addressPrefix": "[parameters('webSubnet02Cidr')]"
}
},
{
"name": "appSubnet01",
"properties": {
"addressPrefix": "[parameters('appSubnet01Cidr')]"
}
},
{
"name": "appSubnet02",
"properties": {
"addressPrefix": "[parameters('appSubnet02Cidr')]"
}
},
{
"name": "dbSubnet01",
"properties": {
"addressPrefix": "[parameters('dbSubnet01Cidr')]"
}
},
{
"name": "dbSubnet02",
"properties": {
"addressPrefix": "[parameters('dbSubnet02Cidr')]"
}
}
]
}
}
],
"outputs": {
"module_metadata": {
"type": "object",
"value": "[parameters('module_metadata')]"
},
"vnetId": {
"type": "string",
"value": "[resourceId('Microsoft.Network/virtualNetworks', format('{0}_Vnet_{1}', parameters('vnetParams').vnetNamePrefix, parameters('deploymentParams').global_uniqueness))]"
},
"vnetName": {
"type": "string",
"value": "[format('{0}_Vnet_{1}', parameters('vnetParams').vnetNamePrefix, parameters('deploymentParams').global_uniqueness)]"
},
"vnetSubnets": {
"type": "array",
"value": "[reference(resourceId('Microsoft.Network/virtualNetworks', format('{0}_Vnet_{1}', parameters('vnetParams').vnetNamePrefix, parameters('deploymentParams').global_uniqueness)), '2021-05-01').subnets]"
},
"dbSubnet01Id": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Network/virtualNetworks', format('{0}_Vnet_{1}', parameters('vnetParams').vnetNamePrefix, parameters('deploymentParams').global_uniqueness)), '2021-05-01').subnets[4].id]"
},
"dbSubnet02Id": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Network/virtualNetworks', format('{0}_Vnet_{1}', parameters('vnetParams').vnetNamePrefix, parameters('deploymentParams').global_uniqueness)), '2021-05-01').subnets[5].id]"
}
}
}
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2022-09-01",
"name": "[format('{0}_{1}_Vm', parameters('vmParams').vmNamePrefix, parameters('deploymentParams').global_uniqueness)]",
"properties": {
"expressionEvaluationOptions": {
"scope": "inner"
},
"mode": "Incremental",
"parameters": {
"deploymentParams": {
"value": "[parameters('deploymentParams')]"
},
"r_usr_mgd_identity_name": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', format('{0}_{1}_usr_mgd_identity', parameters('deploymentParams').enterprise_name_suffix, parameters('deploymentParams').global_uniqueness)), '2022-09-01').outputs.usr_mgd_identity_name.value]"
},
"saName": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', format('{0}_{1}_Sa', parameters('storageAccountParams').storageAccountNamePrefix, parameters('deploymentParams').global_uniqueness)), '2022-09-01').outputs.saName.value]"
},
"blobContainerName": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', format('{0}_{1}_Blob', parameters('storageAccountParams').storageAccountNamePrefix, parameters('deploymentParams').global_uniqueness)), '2022-09-01').outputs.blobContainerName.value]"
},
"saPrimaryEndpointsBlob": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', format('{0}_{1}_Sa', parameters('storageAccountParams').storageAccountNamePrefix, parameters('deploymentParams').global_uniqueness)), '2022-09-01').outputs.saPrimaryEndpointsBlob.value]"
},
"vmParams": {
"value": "[parameters('vmParams')]"
},
"vnetName": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', format('{0}_{1}_Vnet', parameters('vnetParams').vnetNamePrefix, parameters('deploymentParams').global_uniqueness)), '2022-09-01').outputs.vnetName.value]"
},
"logAnalyticsPayGWorkspaceId": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', format('{0}_{1}_La', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness)), '2022-09-01').outputs.logAnalyticsPayGWorkspaceId.value]"
},
"linDataCollectionEndpointId": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', format('{0}_{1}_Dce', parameters('dceParams').endpointNamePrefix, parameters('deploymentParams').global_uniqueness)), '2022-09-01').outputs.linDataCollectionEndpointId.value]"
},
"storeEventsDcrId": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', format('{0}_{1}_Dcr', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness)), '2022-09-01').outputs.storeEventsDcrId.value]"
},
"automationEventsDcrId": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', format('{0}_{1}_Dcr', parameters('logAnalyticsWorkspaceParams').workspaceName, parameters('deploymentParams').global_uniqueness)), '2022-09-01').outputs.automationEventsDcrId.value]"
},
"tags": {
"value": "[parameters('tags')]"
}
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.17.1.54307",
"templateHash": "7007370225884824273"
}
},
"parameters": {
"module_metadata": {
"type": "object",
"defaultValue": {
"module_last_updated": "2023-05-19",
"owner": "miztiik@github"
}
},
"deploymentParams": {
"type": "object"
},
"tags": {
"type": "object"
},
"r_usr_mgd_identity_name": {
"type": "string"
},
"saName": {
"type": "string"
},
"blobContainerName": {
"type": "string"
},
"saPrimaryEndpointsBlob": {
"type": "string"
},
"logAnalyticsPayGWorkspaceId": {
"type": "string"
},
"linDataCollectionEndpointId": {
"type": "string"
},
"storeEventsDcrId": {
"type": "string"
},
"automationEventsDcrId": {
"type": "string"
},
"vmParams": {
"type": "object"
},
"vnetName": {
"type": "string"
},
"vmName": {
"type": "string",
"defaultValue": "[replace(format('{0}-{1}-{2}', parameters('vmParams').vmNamePrefix, parameters('deploymentParams').enterprise_name_suffix, parameters('deploymentParams').global_uniqueness), '_', '-')]"
},
"dnsLabelPrefix": {
"type": "string",
"defaultValue": "[toLower(format('{0}-{1}-{2}', parameters('vmParams').vmNamePrefix, parameters('deploymentParams').global_uniqueness, uniqueString(resourceGroup().id, parameters('vmName'))))]"
},
"blobOwnerRoleId": {
"type": "string",
"defaultValue": "b7e6dc6d-f1e8-4753-8033-0f276bb0955b"
},
"metricsPublisherRoleId": {
"type": "string",
"defaultValue": "3913510d-42f4-4e42-8a64-420c390055eb"
}
},
"variables": {
"no_of_vms": "[parameters('vmParams').vmCount]",
"userDataScript": "IyEvYmluL2Jhc2gKIyBzZXQgLWV4CnNldCAteApzZXQgLW8gcGlwZWZhaWwKCiMgdmVyc2lvbjogMjZNYXkyMDIzCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjICAgICBTRVQgR0xPQkFMUyAgICAgIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKUkVQT19OQU1FPSJhenVyZS13ZWItc2VydmVyLXZtIgoKR0lUX1JFUE9fVVJMPSJodHRwczovL2dpdGh1Yi5jb20vbWl6dGlpay8kUkVQT19OQU1FLmdpdCIKCkFQUF9ESVI9Ii92YXIvJFJFUE9fTkFNRSIKCkxPR19GSUxFPSIvdmFyL2xvZy9taXp0aWlrLWF1dG9tYXRpb24tYm9vdHN0cmFwLSQoZGF0ZSArJyVZLSVtLSVkJykubG9nIgoKIyBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvdmlydHVhbC1tYWNoaW5lcy9saW51eC90dXRvcmlhbC1hdXRvbWF0ZS12bS1kZXBsb3ltZW50CgppbnN0cnVjdGlvbigpCnsKICBlY2hvICJ1c2FnZTogLi9idWlsZC5zaCBwYWNrYWdlIDxzdGFnZT4gPHJlZ2lvbj4iCiAgZWNobyAiIgogIGVjaG8gIi9idWlsZC5zaCBkZXBsb3kgPHN0YWdlPiA8cmVnaW9uPiA8cGtnX2Rpcj4iCiAgZWNobyAiIgogIGVjaG8gIi9idWlsZC5zaCB0ZXN0LTx0ZXN0X3R5cGU+IDxzdGFnZT4iCn0KCmxvZ190aGlzKCkgewogICMgQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIGxpa2UgbG9nX3RoaXMgIkJlZ2luIGluc3RhbGxhdGlvbiIgd2lsbCByZXN1bHQgbG9nIGxpa2UgYmVsb3cKICAjIHsidGltZXN0YW1wIjogIjIwMjMtMDQtMTVUMTA6MjI6MjNaIiwgIm1lc3NhZ2UiOiAiQmVnaW4gaW5zdGFsbGF0aW9uIn0KICAgIGxvY2FsIHRpbWVzdGFtcD0kKGRhdGUgLXUgKyIlWS0lbS0lZFQlSDolTTolU1oiKQogICAgbG9jYWwgbWVzc2FnZT0kKHByaW50ZiAnJXMnICIkKiIgfCBzZWQgJ3MvIi9cXCIvZycpICMgRXNjYXBpbmcgZG91YmxlIHF1b3RlcwogICAgcHJpbnRmICd7InRpbWVzdGFtcCI6ICIlcyIsICJtZXNzYWdlIjogIiVzIn1cbicgIiR0aW1lc3RhbXAiICIkbWVzc2FnZSIKfQoKYXNzdW1lX3JvbGUoKSB7CiAgaWYgWyAtbiAiJERFUExPWUVSX1JPTEVfQVJOIiBdOyB0aGVuCiAgICBlY2hvICJBc3N1bWluZyByb2xlICRERVBMT1lFUl9ST0xFX0FSTiAuLi4iCiAgZmkKfQoKdW5hc3N1bWVfcm9sZSgpIHsKICB1bnNldCBUT0tFTgp9CgpmdW5jdGlvbiBjbG9uZV9naXRfcmVwbygpewogIGxvZ190aGlzICJDbG9uaW5nIFJlcG8iCiAgICAjIG1rZGlyIC1wIC92YXIvCiAgICBjZCAvdmFyCiAgICBnaXQgY2xvbmUgJEdJVF9SRVBPX1VSTAogICAgY2QgL3Zhci8kUkVQT19OQU1FCn0KCmZ1bmN0aW9uIGFkZF9lbnZfdmFycygpewogICAgSU1EUz1gY3VybCAtcyAtSCBNZXRhZGF0YTp0cnVlIC0tbm9wcm94eSAiKiIgImh0dHA6Ly8xNjkuMjU0LjE2OS4yNTQvbWV0YWRhdGEvaW5zdGFuY2U/YXBpLXZlcnNpb249MjAyMS0wMi0wMSJgCiAgICBkZWNsYXJlIC1nIFVTRVJfREFUQV9TQ1JJUFQ9YGN1cmwgLUggTWV0YWRhdGE6dHJ1ZSAtLW5vcHJveHkgIioiICJodHRwOi8vMTY5LjI1NC4xNjkuMjU0L21ldGFkYXRhL2luc3RhbmNlL2NvbXB1dGUvdXNlckRhdGE/YXBpLXZlcnNpb249MjAyMS0wMS0wMSZmb3JtYXQ9dGV4dCIgfCBiYXNlNjQgLS1kZWNvZGVgCn0KCmZ1bmN0aW9uIGluc3RhbGxfbGlic19vbl91YnVudHUoKXsKICBsb2dfdGhpcyAiQmVnaW4gQXp1cmUgQ0xJIEluc3RhbGxhdGlvbiIKICAjIGh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9jbGkvYXp1cmUvaW5zdGFsbC1henVyZS1jbGktbGludXg/cGl2b3RzPWFwdAogIGN1cmwgLXNMIGh0dHBzOi8vYWthLm1zL0luc3RhbGxBenVyZUNMSURlYiB8IHN1ZG8gYmFzaAoKICAjIEluaXRpYXRlIGF6IGxvZ2luCiAKICBheiBjb25maWcgc2V0IGV4dGVuc2lvbi51c2VfZHluYW1pY19pbnN0YWxsPXllc193aXRob3V0X3Byb21wdAogIGF6IGxvZ2luIC0taWRlbnRpdHkKCiAgbG9nX3RoaXMgIkJlZ2luIGpxLCBnaXQsIHB5dGhvbjMtcGlwIEluc3RhbGxhdGlvbiIKCiAgc3VkbyBhcHQtZ2V0IC15IGluc3RhbGwganEKICBzdWRvIGFwdC1nZXQgLXkgaW5zdGFsbCBnaXQKICBzdWRvIGFwdC1nZXQgLXkgaW5zdGFsbCBweXRob24zLXBpcAogIHN1ZG8gYXB0LWdldCAteSBpbnN0YWxsIG15c3FsLWNsaWVudAoKICAjIHN1ZG8gYXB0LWdldCAteSBweXRob24zIC1tIHBpcCBpbnN0YWxsIC0tdXBncmFkZSBwaXAKICAKICBsb2dfdGhpcyAiRW5kIG9mIGpxLCBnaXQsIHB5dGhvbjMtcGlwIEluc3RhbGxhdGlvbiIKfQoKZnVuY3Rpb24gaW5zdGFsbF9henVyZV9weXRob25fc2RrKCl7CiAgbG9nX3RoaXMgIkJlZ2luIEF6dXJlIFB5dGhvbiBTREsgSW5zdGFsbGF0aW9uIgogIAogIHB5dGhvbjMgLW0gcGlwIGluc3RhbGwgLS1uby1jYWNoZS1kaXIgLS11cGdyYWRlIGluc3RhbGwgYXp1cmUtaWRlbnRpdHkKICBweXRob24zIC1tIHBpcCBpbnN0YWxsIC0tbm8tY2FjaGUtZGlyIC0tdXBncmFkZSBpbnN0YWxsIGF6dXJlLXN0b3JhZ2UtYmxvYgogIHB5dGhvbjMgLW0gcGlwIGluc3RhbGwgLS1uby1jYWNoZS1kaXIgLS11cGdyYWRlIGluc3RhbGwgYXp1cmUtc3RvcmFnZS1xdWV1ZQogIHB5dGhvbjMgLW0gcGlwIGluc3RhbGwgLS1uby1jYWNoZS1kaXIgLS11cGdyYWRlIGluc3RhbGwgYXp1cmUtYXBwY29uZmlndXJhdGlvbi1wcm92aWRlcgogIHB5dGhvbjMgLW0gcGlwIGluc3RhbGwgLS1uby1jYWNoZS1kaXIgLS11cGdyYWRlIGluc3RhbGwgYXp1cmUtY29zbW9zCiAgcHl0aG9uMyAtbSBwaXAgaW5zdGFsbCAtLW5vLWNhY2hlLWRpciAtLXVwZ3JhZGUgaW5zdGFsbCBteXNxbC5jb25uZWN0b3IKICAKICBsb2dfdGhpcyAiRW5kIG9mIEF6dXJlIFB5dGhvbiBTREsgSW5zdGFsbGF0aW9uIgp9CgpmdW5jdGlvbiBpbnN0YWxsX2xpYnMoKXsKICAgICMgUHJlcGFyZSB0aGUgc2VydmVyIGZvciBweXRob24zCiAgICBzdWRvIHl1bSAteSBpbnN0YWxsIGdpdCBqcQogICAgc3VkbyB5dW0gLXkgaW5zdGFsbCBweXRob24zLXBpcAogICAgc3VkbyB5dW0gLXkgaW5zdGFsbCBweXRob24zIAp9CgpmdW5jdGlvbiBpbnN0YWxsX25naW54KCl7CiAgICBzdWRvIGFwdC1nZXQgLXkgdXBkYXRlCiAgICBzdWRvIGFwdC1nZXQgLXkgaW5zdGFsbCBuZ2lueAogICAgc3VkbyBzeXN0ZW1jdGwgc3RhcnQgbmdpbngKICAgIHN1ZG8gc3lzdGVtY3RsIGVuYWJsZSBuZ2lueAoKCiAgICAjIEdldCB0aGUgc2VydmVyIElQIGFkZHJlc3MgYW5kIGhvc3RuYW1lCiAgICBJUF9BRERSRVNTPSQoaG9zdG5hbWUgLUkgfCBhd2sgJ3twcmludCAkMX0nKQogICAgSE9TVE5BTUU9JChob3N0bmFtZSkKCiAgICAjIENyZWF0ZSB0aGUgaW5kZXguaHRtbCBmaWxlIHdpdGggdGhlIGRlc2lyZWQgY29udGVudAogICAgc3VkbyBzaCAtYyAiZWNobyAnSGVsbG8gV29ybGQgZnJvbSBtaXp0aWlrLWF1dG9tYXRpb24tdm0gPGI+JEhPU1ROQU1FPC9iPiA8Yj4kSVBfQUREUkVTUzwvYj4gb24gJChkYXRlKSAnID4gL3Zhci93d3cvaHRtbC9pbmRleC5odG1sIgoKICAgICMgU3RhcnQgdGhlIG5naW54IHNlcnZpY2UKICAgIHN1ZG8gc2VydmljZSBuZ2lueCByZXN0YXJ0CiAgICBzdWRvIHN5c3RlbWN0bCByZXN0YXJ0IG5naW54Cn0KCmZ1bmN0aW9uIGluc3RhbGxfbm9kZWpzKCl7CiAgICBjdXJsIC1vLSBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbnZtLXNoL252bS92MC4zNC4wL2luc3RhbGwuc2ggfCBiYXNoCiAgICAuIH4vLm52bS9udm0uc2gKICAgIG52bSBpbnN0YWxsIG5vZGUKICAgIG5vZGUgLWUgImNvbnNvbGUubG9nKCdSdW5uaW5nIE5vZGUuanMgJyArIHByb2Nlc3MudmVyc2lvbikiCn0KCmZ1bmN0aW9uIGNoZWNrX2V4ZWN1dGlvbigpewogIEhPU1RfRlFETj0kKGhvc3RuYW1lKQogIEhPU1RfSVA9JChob3N0bmFtZSAtSSkKICBDVVJSX1BXRD0kKHB3ZCkKICBDVVJSX1VTRVI9JCh3aG9hbWkpCiAgQ1VSUl9QQVRIPSQoZWNobyAkUEFUSCkKICBsb2dfdGhpcyAiTWl6dGlpayBDdXN0b21pc2F0aW9uIG9mIEhvc3Q6ICR7SE9TVF9GUUROfSAtICR7SE9TVF9JUH0iCiAgIyBsb2dfdGhpcyAiaGVsbG8iID4+L3Zhci9sb2cvbWl6dGlpay5sb2cKICBsb2dfdGhpcyAiQ3VycmVudCBVc2VyOiAke0NVUlJfVVNFUn0iCiAgbG9nX3RoaXMgIkN1cnJlbnQgUFdEOiAke0NVUlJfUFdEfSIKICBsb2dfdGhpcyAiQ3VycmVudCBQQVRIOiAke0NVUlJfUEFUSH0iCn0KCmNoZWNrX2V4ZWN1dGlvbiAgICAgICAgICAgICAgICAgfCAgIHRlZSAtYSAiJHtMT0dfRklMRX0iCmluc3RhbGxfbGlic19vbl91YnVudHUgICAgICAgICAgfCAgIHRlZSAtYSAiJHtMT0dfRklMRX0iCiMgaW5zdGFsbF9henVyZV9weXRob25fc2RrICAgICAgICB8ICAgdGVlIC1hICIke0xPR19GSUxFfSIKIyBjbG9uZV9naXRfcmVwbyAgICAgICAgICAgICAgICAgIHwgICB0ZWUgLWEgIiR7TE9HX0ZJTEV9IgppbnN0YWxsX25naW54ICAgICAgICAgICAgICAgICAgfCAgIHRlZSAtYSAiJHtMT0dfRklMRX0iCgoK",
"LinuxConfiguration": {
"disablePasswordAuthentication": true,
"ssh": {
"publickeys": [
{
"path": "[format('/home/{0}/.ssh/authorized_keys', parameters('vmParams').adminUsername)]",
"keyData": "[parameters('vmParams').adminPassword]"
}
]
}
},
"blobPermsConditionStr": "[format('((!(ActionMatches{{''Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read''}}) AND !(ActionMatches{{''Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write''}}) ) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals ''{0}''))', parameters('blobContainerName'))]"
},
"resources": [
{
"copy": {
"name": "r_publicIp",
"count": "[length(range(0, variables('no_of_vms')))]"
},
"type": "Microsoft.Network/publicIPAddresses",
"apiVersion": "2022-05-01",
"name": "[format('{0}-pip-{1}', parameters('vmName'), range(0, variables('no_of_vms'))[copyIndex()])]",
"location": "[parameters('deploymentParams').location]",
"tags": "[parameters('tags')]",
"sku": {
"name": "[parameters('vmParams').publicIpSku]"
},
"properties": {
"publicIPAllocationMethod": "[parameters('vmParams').publicIPAllocationMethod]",
"publicIPAddressVersion": "IPv4",
"deleteOption": "Delete",
"dnsSettings": {
"domainNameLabel": "[format('{0}-{1}', parameters('dnsLabelPrefix'), range(0, variables('no_of_vms'))[copyIndex()])]"
}
}
},
{
"type": "Microsoft.Network/networkSecurityGroups",
"apiVersion": "2021-05-01",
"name": "webSg",
"location": "[parameters('deploymentParams').location]",
"tags": "[parameters('tags')]",
"properties": {
"securityRules": [
{
"name": "AllowInboundSsh",
"properties": {
"priority": 250,
"protocol": "Tcp",
"access": "Allow",
"direction": "Inbound",
"sourceAddressPrefix": "*",
"sourcePortRange": "*",
"destinationAddressPrefix": "*",
"destinationPortRange": "22"
}
},
{
"name": "HTTP",
"properties": {
"priority": 200,
"protocol": "Tcp",
"access": "Allow",
"direction": "Inbound",
"sourceAddressPrefix": "*",
"sourcePortRange": "*",
"destinationAddressPrefix": "*",
"destinationPortRange": "80"
}
},
{
"name": "AllowHTTPInbound",
"properties": {
"priority": 100,
"access": "Allow",
"direction": "Inbound",
"protocol": "*",
"sourceAddressPrefix": "Internet",
"sourcePortRange": "*",
"destinationAddressPrefix": "*",
"destinationPortRange": "80"
}
},
{
"name": "Outbound_Allow_All",
"properties": {
"priority": 300,
"protocol": "*",
"access": "Allow",
"direction": "Outbound",
"sourceAddressPrefix": "*",