azd 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +2 -0
  4. data/lib/generators/azd/install_generator.rb +14 -0
  5. data/lib/generators/templates/azure.yaml.tt +22 -0
  6. data/lib/generators/templates/infra/abbreviations.json +136 -0
  7. data/lib/generators/templates/infra/core/ai/cognitiveservices.bicep +53 -0
  8. data/lib/generators/templates/infra/core/config/configstore.bicep +48 -0
  9. data/lib/generators/templates/infra/core/database/cosmos/cosmos-account.bicep +49 -0
  10. data/lib/generators/templates/infra/core/database/cosmos/mongo/cosmos-mongo-account.bicep +23 -0
  11. data/lib/generators/templates/infra/core/database/cosmos/mongo/cosmos-mongo-db.bicep +47 -0
  12. data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-account.bicep +22 -0
  13. data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-db.bicep +74 -0
  14. data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-role-assign.bicep +19 -0
  15. data/lib/generators/templates/infra/core/database/cosmos/sql/cosmos-sql-role-def.bicep +30 -0
  16. data/lib/generators/templates/infra/core/database/mysql/flexibleserver.bicep +65 -0
  17. data/lib/generators/templates/infra/core/database/postgresql/flexibleserver.bicep +81 -0
  18. data/lib/generators/templates/infra/core/database/sqlserver/sqlserver.bicep +130 -0
  19. data/lib/generators/templates/infra/core/gateway/apim.bicep +79 -0
  20. data/lib/generators/templates/infra/core/host/aks-agent-pool.bicep +18 -0
  21. data/lib/generators/templates/infra/core/host/aks-managed-cluster.bicep +140 -0
  22. data/lib/generators/templates/infra/core/host/aks.bicep +280 -0
  23. data/lib/generators/templates/infra/core/host/appservice-appsettings.bicep +17 -0
  24. data/lib/generators/templates/infra/core/host/appservice.bicep +123 -0
  25. data/lib/generators/templates/infra/core/host/appserviceplan.bicep +22 -0
  26. data/lib/generators/templates/infra/core/host/container-app-upsert.bicep +109 -0
  27. data/lib/generators/templates/infra/core/host/container-app.bicep +165 -0
  28. data/lib/generators/templates/infra/core/host/container-apps-environment.bicep +41 -0
  29. data/lib/generators/templates/infra/core/host/container-apps.bicep +40 -0
  30. data/lib/generators/templates/infra/core/host/container-registry.bicep +83 -0
  31. data/lib/generators/templates/infra/core/host/functions.bicep +86 -0
  32. data/lib/generators/templates/infra/core/host/staticwebapp.bicep +22 -0
  33. data/lib/generators/templates/infra/core/monitor/applicationinsights-dashboard.bicep +1236 -0
  34. data/lib/generators/templates/infra/core/monitor/applicationinsights.bicep +30 -0
  35. data/lib/generators/templates/infra/core/monitor/loganalytics.bicep +22 -0
  36. data/lib/generators/templates/infra/core/monitor/monitoring.bicep +32 -0
  37. data/lib/generators/templates/infra/core/networking/cdn-endpoint.bicep +52 -0
  38. data/lib/generators/templates/infra/core/networking/cdn-profile.bicep +34 -0
  39. data/lib/generators/templates/infra/core/networking/cdn.bicep +42 -0
  40. data/lib/generators/templates/infra/core/search/search-services.bicep +68 -0
  41. data/lib/generators/templates/infra/core/security/aks-managed-cluster-access.bicep +19 -0
  42. data/lib/generators/templates/infra/core/security/configstore-access.bicep +21 -0
  43. data/lib/generators/templates/infra/core/security/keyvault-access.bicep +22 -0
  44. data/lib/generators/templates/infra/core/security/keyvault-secret.bicep +31 -0
  45. data/lib/generators/templates/infra/core/security/keyvault.bicep +31 -0
  46. data/lib/generators/templates/infra/core/security/registry-access.bicep +19 -0
  47. data/lib/generators/templates/infra/core/security/role.bicep +21 -0
  48. data/lib/generators/templates/infra/core/storage/storage-account.bicep +64 -0
  49. data/lib/generators/templates/infra/core/testing/loadtesting.bicep +15 -0
  50. data/lib/generators/templates/infra/identity.bicep +20 -0
  51. data/lib/generators/templates/infra/main.bicep +243 -0
  52. data/lib/generators/templates/infra/main.parameters.json +25 -0
  53. data/lib/generators/templates/infra/rails.bicep +95 -0
  54. metadata +115 -0
@@ -0,0 +1,1236 @@
1
+ metadata description = 'Creates a dashboard for an Application Insights instance.'
2
+ param name string
3
+ param applicationInsightsName string
4
+ param location string = resourceGroup().location
5
+ param tags object = {}
6
+
7
+ // 2020-09-01-preview because that is the latest valid version
8
+ resource applicationInsightsDashboard 'Microsoft.Portal/dashboards@2020-09-01-preview' = {
9
+ name: name
10
+ location: location
11
+ tags: tags
12
+ properties: {
13
+ lenses: [
14
+ {
15
+ order: 0
16
+ parts: [
17
+ {
18
+ position: {
19
+ x: 0
20
+ y: 0
21
+ colSpan: 2
22
+ rowSpan: 1
23
+ }
24
+ metadata: {
25
+ inputs: [
26
+ {
27
+ name: 'id'
28
+ value: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
29
+ }
30
+ {
31
+ name: 'Version'
32
+ value: '1.0'
33
+ }
34
+ ]
35
+ #disable-next-line BCP036
36
+ type: 'Extension/AppInsightsExtension/PartType/AspNetOverviewPinnedPart'
37
+ asset: {
38
+ idInputName: 'id'
39
+ type: 'ApplicationInsights'
40
+ }
41
+ defaultMenuItemId: 'overview'
42
+ }
43
+ }
44
+ {
45
+ position: {
46
+ x: 2
47
+ y: 0
48
+ colSpan: 1
49
+ rowSpan: 1
50
+ }
51
+ metadata: {
52
+ inputs: [
53
+ {
54
+ name: 'ComponentId'
55
+ value: {
56
+ Name: applicationInsights.name
57
+ SubscriptionId: subscription().subscriptionId
58
+ ResourceGroup: resourceGroup().name
59
+ }
60
+ }
61
+ {
62
+ name: 'Version'
63
+ value: '1.0'
64
+ }
65
+ ]
66
+ #disable-next-line BCP036
67
+ type: 'Extension/AppInsightsExtension/PartType/ProactiveDetectionAsyncPart'
68
+ asset: {
69
+ idInputName: 'ComponentId'
70
+ type: 'ApplicationInsights'
71
+ }
72
+ defaultMenuItemId: 'ProactiveDetection'
73
+ }
74
+ }
75
+ {
76
+ position: {
77
+ x: 3
78
+ y: 0
79
+ colSpan: 1
80
+ rowSpan: 1
81
+ }
82
+ metadata: {
83
+ inputs: [
84
+ {
85
+ name: 'ComponentId'
86
+ value: {
87
+ Name: applicationInsights.name
88
+ SubscriptionId: subscription().subscriptionId
89
+ ResourceGroup: resourceGroup().name
90
+ }
91
+ }
92
+ {
93
+ name: 'ResourceId'
94
+ value: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
95
+ }
96
+ ]
97
+ #disable-next-line BCP036
98
+ type: 'Extension/AppInsightsExtension/PartType/QuickPulseButtonSmallPart'
99
+ asset: {
100
+ idInputName: 'ComponentId'
101
+ type: 'ApplicationInsights'
102
+ }
103
+ }
104
+ }
105
+ {
106
+ position: {
107
+ x: 4
108
+ y: 0
109
+ colSpan: 1
110
+ rowSpan: 1
111
+ }
112
+ metadata: {
113
+ inputs: [
114
+ {
115
+ name: 'ComponentId'
116
+ value: {
117
+ Name: applicationInsights.name
118
+ SubscriptionId: subscription().subscriptionId
119
+ ResourceGroup: resourceGroup().name
120
+ }
121
+ }
122
+ {
123
+ name: 'TimeContext'
124
+ value: {
125
+ durationMs: 86400000
126
+ endTime: null
127
+ createdTime: '2018-05-04T01:20:33.345Z'
128
+ isInitialTime: true
129
+ grain: 1
130
+ useDashboardTimeRange: false
131
+ }
132
+ }
133
+ {
134
+ name: 'Version'
135
+ value: '1.0'
136
+ }
137
+ ]
138
+ #disable-next-line BCP036
139
+ type: 'Extension/AppInsightsExtension/PartType/AvailabilityNavButtonPart'
140
+ asset: {
141
+ idInputName: 'ComponentId'
142
+ type: 'ApplicationInsights'
143
+ }
144
+ }
145
+ }
146
+ {
147
+ position: {
148
+ x: 5
149
+ y: 0
150
+ colSpan: 1
151
+ rowSpan: 1
152
+ }
153
+ metadata: {
154
+ inputs: [
155
+ {
156
+ name: 'ComponentId'
157
+ value: {
158
+ Name: applicationInsights.name
159
+ SubscriptionId: subscription().subscriptionId
160
+ ResourceGroup: resourceGroup().name
161
+ }
162
+ }
163
+ {
164
+ name: 'TimeContext'
165
+ value: {
166
+ durationMs: 86400000
167
+ endTime: null
168
+ createdTime: '2018-05-08T18:47:35.237Z'
169
+ isInitialTime: true
170
+ grain: 1
171
+ useDashboardTimeRange: false
172
+ }
173
+ }
174
+ {
175
+ name: 'ConfigurationId'
176
+ value: '78ce933e-e864-4b05-a27b-71fd55a6afad'
177
+ }
178
+ ]
179
+ #disable-next-line BCP036
180
+ type: 'Extension/AppInsightsExtension/PartType/AppMapButtonPart'
181
+ asset: {
182
+ idInputName: 'ComponentId'
183
+ type: 'ApplicationInsights'
184
+ }
185
+ }
186
+ }
187
+ {
188
+ position: {
189
+ x: 0
190
+ y: 1
191
+ colSpan: 3
192
+ rowSpan: 1
193
+ }
194
+ metadata: {
195
+ inputs: []
196
+ type: 'Extension/HubsExtension/PartType/MarkdownPart'
197
+ settings: {
198
+ content: {
199
+ settings: {
200
+ content: '# Usage'
201
+ title: ''
202
+ subtitle: ''
203
+ }
204
+ }
205
+ }
206
+ }
207
+ }
208
+ {
209
+ position: {
210
+ x: 3
211
+ y: 1
212
+ colSpan: 1
213
+ rowSpan: 1
214
+ }
215
+ metadata: {
216
+ inputs: [
217
+ {
218
+ name: 'ComponentId'
219
+ value: {
220
+ Name: applicationInsights.name
221
+ SubscriptionId: subscription().subscriptionId
222
+ ResourceGroup: resourceGroup().name
223
+ }
224
+ }
225
+ {
226
+ name: 'TimeContext'
227
+ value: {
228
+ durationMs: 86400000
229
+ endTime: null
230
+ createdTime: '2018-05-04T01:22:35.782Z'
231
+ isInitialTime: true
232
+ grain: 1
233
+ useDashboardTimeRange: false
234
+ }
235
+ }
236
+ ]
237
+ #disable-next-line BCP036
238
+ type: 'Extension/AppInsightsExtension/PartType/UsageUsersOverviewPart'
239
+ asset: {
240
+ idInputName: 'ComponentId'
241
+ type: 'ApplicationInsights'
242
+ }
243
+ }
244
+ }
245
+ {
246
+ position: {
247
+ x: 4
248
+ y: 1
249
+ colSpan: 3
250
+ rowSpan: 1
251
+ }
252
+ metadata: {
253
+ inputs: []
254
+ type: 'Extension/HubsExtension/PartType/MarkdownPart'
255
+ settings: {
256
+ content: {
257
+ settings: {
258
+ content: '# Reliability'
259
+ title: ''
260
+ subtitle: ''
261
+ }
262
+ }
263
+ }
264
+ }
265
+ }
266
+ {
267
+ position: {
268
+ x: 7
269
+ y: 1
270
+ colSpan: 1
271
+ rowSpan: 1
272
+ }
273
+ metadata: {
274
+ inputs: [
275
+ {
276
+ name: 'ResourceId'
277
+ value: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
278
+ }
279
+ {
280
+ name: 'DataModel'
281
+ value: {
282
+ version: '1.0.0'
283
+ timeContext: {
284
+ durationMs: 86400000
285
+ createdTime: '2018-05-04T23:42:40.072Z'
286
+ isInitialTime: false
287
+ grain: 1
288
+ useDashboardTimeRange: false
289
+ }
290
+ }
291
+ isOptional: true
292
+ }
293
+ {
294
+ name: 'ConfigurationId'
295
+ value: '8a02f7bf-ac0f-40e1-afe9-f0e72cfee77f'
296
+ isOptional: true
297
+ }
298
+ ]
299
+ #disable-next-line BCP036
300
+ type: 'Extension/AppInsightsExtension/PartType/CuratedBladeFailuresPinnedPart'
301
+ isAdapter: true
302
+ asset: {
303
+ idInputName: 'ResourceId'
304
+ type: 'ApplicationInsights'
305
+ }
306
+ defaultMenuItemId: 'failures'
307
+ }
308
+ }
309
+ {
310
+ position: {
311
+ x: 8
312
+ y: 1
313
+ colSpan: 3
314
+ rowSpan: 1
315
+ }
316
+ metadata: {
317
+ inputs: []
318
+ type: 'Extension/HubsExtension/PartType/MarkdownPart'
319
+ settings: {
320
+ content: {
321
+ settings: {
322
+ content: '# Responsiveness\r\n'
323
+ title: ''
324
+ subtitle: ''
325
+ }
326
+ }
327
+ }
328
+ }
329
+ }
330
+ {
331
+ position: {
332
+ x: 11
333
+ y: 1
334
+ colSpan: 1
335
+ rowSpan: 1
336
+ }
337
+ metadata: {
338
+ inputs: [
339
+ {
340
+ name: 'ResourceId'
341
+ value: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
342
+ }
343
+ {
344
+ name: 'DataModel'
345
+ value: {
346
+ version: '1.0.0'
347
+ timeContext: {
348
+ durationMs: 86400000
349
+ createdTime: '2018-05-04T23:43:37.804Z'
350
+ isInitialTime: false
351
+ grain: 1
352
+ useDashboardTimeRange: false
353
+ }
354
+ }
355
+ isOptional: true
356
+ }
357
+ {
358
+ name: 'ConfigurationId'
359
+ value: '2a8ede4f-2bee-4b9c-aed9-2db0e8a01865'
360
+ isOptional: true
361
+ }
362
+ ]
363
+ #disable-next-line BCP036
364
+ type: 'Extension/AppInsightsExtension/PartType/CuratedBladePerformancePinnedPart'
365
+ isAdapter: true
366
+ asset: {
367
+ idInputName: 'ResourceId'
368
+ type: 'ApplicationInsights'
369
+ }
370
+ defaultMenuItemId: 'performance'
371
+ }
372
+ }
373
+ {
374
+ position: {
375
+ x: 12
376
+ y: 1
377
+ colSpan: 3
378
+ rowSpan: 1
379
+ }
380
+ metadata: {
381
+ inputs: []
382
+ type: 'Extension/HubsExtension/PartType/MarkdownPart'
383
+ settings: {
384
+ content: {
385
+ settings: {
386
+ content: '# Browser'
387
+ title: ''
388
+ subtitle: ''
389
+ }
390
+ }
391
+ }
392
+ }
393
+ }
394
+ {
395
+ position: {
396
+ x: 15
397
+ y: 1
398
+ colSpan: 1
399
+ rowSpan: 1
400
+ }
401
+ metadata: {
402
+ inputs: [
403
+ {
404
+ name: 'ComponentId'
405
+ value: {
406
+ Name: applicationInsights.name
407
+ SubscriptionId: subscription().subscriptionId
408
+ ResourceGroup: resourceGroup().name
409
+ }
410
+ }
411
+ {
412
+ name: 'MetricsExplorerJsonDefinitionId'
413
+ value: 'BrowserPerformanceTimelineMetrics'
414
+ }
415
+ {
416
+ name: 'TimeContext'
417
+ value: {
418
+ durationMs: 86400000
419
+ createdTime: '2018-05-08T12:16:27.534Z'
420
+ isInitialTime: false
421
+ grain: 1
422
+ useDashboardTimeRange: false
423
+ }
424
+ }
425
+ {
426
+ name: 'CurrentFilter'
427
+ value: {
428
+ eventTypes: [
429
+ 4
430
+ 1
431
+ 3
432
+ 5
433
+ 2
434
+ 6
435
+ 13
436
+ ]
437
+ typeFacets: {}
438
+ isPermissive: false
439
+ }
440
+ }
441
+ {
442
+ name: 'id'
443
+ value: {
444
+ Name: applicationInsights.name
445
+ SubscriptionId: subscription().subscriptionId
446
+ ResourceGroup: resourceGroup().name
447
+ }
448
+ }
449
+ {
450
+ name: 'Version'
451
+ value: '1.0'
452
+ }
453
+ ]
454
+ #disable-next-line BCP036
455
+ type: 'Extension/AppInsightsExtension/PartType/MetricsExplorerBladePinnedPart'
456
+ asset: {
457
+ idInputName: 'ComponentId'
458
+ type: 'ApplicationInsights'
459
+ }
460
+ defaultMenuItemId: 'browser'
461
+ }
462
+ }
463
+ {
464
+ position: {
465
+ x: 0
466
+ y: 2
467
+ colSpan: 4
468
+ rowSpan: 3
469
+ }
470
+ metadata: {
471
+ inputs: [
472
+ {
473
+ name: 'options'
474
+ value: {
475
+ chart: {
476
+ metrics: [
477
+ {
478
+ resourceMetadata: {
479
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
480
+ }
481
+ name: 'sessions/count'
482
+ aggregationType: 5
483
+ namespace: 'microsoft.insights/components/kusto'
484
+ metricVisualization: {
485
+ displayName: 'Sessions'
486
+ color: '#47BDF5'
487
+ }
488
+ }
489
+ {
490
+ resourceMetadata: {
491
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
492
+ }
493
+ name: 'users/count'
494
+ aggregationType: 5
495
+ namespace: 'microsoft.insights/components/kusto'
496
+ metricVisualization: {
497
+ displayName: 'Users'
498
+ color: '#7E58FF'
499
+ }
500
+ }
501
+ ]
502
+ title: 'Unique sessions and users'
503
+ visualization: {
504
+ chartType: 2
505
+ legendVisualization: {
506
+ isVisible: true
507
+ position: 2
508
+ hideSubtitle: false
509
+ }
510
+ axisVisualization: {
511
+ x: {
512
+ isVisible: true
513
+ axisType: 2
514
+ }
515
+ y: {
516
+ isVisible: true
517
+ axisType: 1
518
+ }
519
+ }
520
+ }
521
+ openBladeOnClick: {
522
+ openBlade: true
523
+ destinationBlade: {
524
+ extensionName: 'HubsExtension'
525
+ bladeName: 'ResourceMenuBlade'
526
+ parameters: {
527
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
528
+ menuid: 'segmentationUsers'
529
+ }
530
+ }
531
+ }
532
+ }
533
+ }
534
+ }
535
+ {
536
+ name: 'sharedTimeRange'
537
+ isOptional: true
538
+ }
539
+ ]
540
+ #disable-next-line BCP036
541
+ type: 'Extension/HubsExtension/PartType/MonitorChartPart'
542
+ settings: {}
543
+ }
544
+ }
545
+ {
546
+ position: {
547
+ x: 4
548
+ y: 2
549
+ colSpan: 4
550
+ rowSpan: 3
551
+ }
552
+ metadata: {
553
+ inputs: [
554
+ {
555
+ name: 'options'
556
+ value: {
557
+ chart: {
558
+ metrics: [
559
+ {
560
+ resourceMetadata: {
561
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
562
+ }
563
+ name: 'requests/failed'
564
+ aggregationType: 7
565
+ namespace: 'microsoft.insights/components'
566
+ metricVisualization: {
567
+ displayName: 'Failed requests'
568
+ color: '#EC008C'
569
+ }
570
+ }
571
+ ]
572
+ title: 'Failed requests'
573
+ visualization: {
574
+ chartType: 3
575
+ legendVisualization: {
576
+ isVisible: true
577
+ position: 2
578
+ hideSubtitle: false
579
+ }
580
+ axisVisualization: {
581
+ x: {
582
+ isVisible: true
583
+ axisType: 2
584
+ }
585
+ y: {
586
+ isVisible: true
587
+ axisType: 1
588
+ }
589
+ }
590
+ }
591
+ openBladeOnClick: {
592
+ openBlade: true
593
+ destinationBlade: {
594
+ extensionName: 'HubsExtension'
595
+ bladeName: 'ResourceMenuBlade'
596
+ parameters: {
597
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
598
+ menuid: 'failures'
599
+ }
600
+ }
601
+ }
602
+ }
603
+ }
604
+ }
605
+ {
606
+ name: 'sharedTimeRange'
607
+ isOptional: true
608
+ }
609
+ ]
610
+ #disable-next-line BCP036
611
+ type: 'Extension/HubsExtension/PartType/MonitorChartPart'
612
+ settings: {}
613
+ }
614
+ }
615
+ {
616
+ position: {
617
+ x: 8
618
+ y: 2
619
+ colSpan: 4
620
+ rowSpan: 3
621
+ }
622
+ metadata: {
623
+ inputs: [
624
+ {
625
+ name: 'options'
626
+ value: {
627
+ chart: {
628
+ metrics: [
629
+ {
630
+ resourceMetadata: {
631
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
632
+ }
633
+ name: 'requests/duration'
634
+ aggregationType: 4
635
+ namespace: 'microsoft.insights/components'
636
+ metricVisualization: {
637
+ displayName: 'Server response time'
638
+ color: '#00BCF2'
639
+ }
640
+ }
641
+ ]
642
+ title: 'Server response time'
643
+ visualization: {
644
+ chartType: 2
645
+ legendVisualization: {
646
+ isVisible: true
647
+ position: 2
648
+ hideSubtitle: false
649
+ }
650
+ axisVisualization: {
651
+ x: {
652
+ isVisible: true
653
+ axisType: 2
654
+ }
655
+ y: {
656
+ isVisible: true
657
+ axisType: 1
658
+ }
659
+ }
660
+ }
661
+ openBladeOnClick: {
662
+ openBlade: true
663
+ destinationBlade: {
664
+ extensionName: 'HubsExtension'
665
+ bladeName: 'ResourceMenuBlade'
666
+ parameters: {
667
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
668
+ menuid: 'performance'
669
+ }
670
+ }
671
+ }
672
+ }
673
+ }
674
+ }
675
+ {
676
+ name: 'sharedTimeRange'
677
+ isOptional: true
678
+ }
679
+ ]
680
+ #disable-next-line BCP036
681
+ type: 'Extension/HubsExtension/PartType/MonitorChartPart'
682
+ settings: {}
683
+ }
684
+ }
685
+ {
686
+ position: {
687
+ x: 12
688
+ y: 2
689
+ colSpan: 4
690
+ rowSpan: 3
691
+ }
692
+ metadata: {
693
+ inputs: [
694
+ {
695
+ name: 'options'
696
+ value: {
697
+ chart: {
698
+ metrics: [
699
+ {
700
+ resourceMetadata: {
701
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
702
+ }
703
+ name: 'browserTimings/networkDuration'
704
+ aggregationType: 4
705
+ namespace: 'microsoft.insights/components'
706
+ metricVisualization: {
707
+ displayName: 'Page load network connect time'
708
+ color: '#7E58FF'
709
+ }
710
+ }
711
+ {
712
+ resourceMetadata: {
713
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
714
+ }
715
+ name: 'browserTimings/processingDuration'
716
+ aggregationType: 4
717
+ namespace: 'microsoft.insights/components'
718
+ metricVisualization: {
719
+ displayName: 'Client processing time'
720
+ color: '#44F1C8'
721
+ }
722
+ }
723
+ {
724
+ resourceMetadata: {
725
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
726
+ }
727
+ name: 'browserTimings/sendDuration'
728
+ aggregationType: 4
729
+ namespace: 'microsoft.insights/components'
730
+ metricVisualization: {
731
+ displayName: 'Send request time'
732
+ color: '#EB9371'
733
+ }
734
+ }
735
+ {
736
+ resourceMetadata: {
737
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
738
+ }
739
+ name: 'browserTimings/receiveDuration'
740
+ aggregationType: 4
741
+ namespace: 'microsoft.insights/components'
742
+ metricVisualization: {
743
+ displayName: 'Receiving response time'
744
+ color: '#0672F1'
745
+ }
746
+ }
747
+ ]
748
+ title: 'Average page load time breakdown'
749
+ visualization: {
750
+ chartType: 3
751
+ legendVisualization: {
752
+ isVisible: true
753
+ position: 2
754
+ hideSubtitle: false
755
+ }
756
+ axisVisualization: {
757
+ x: {
758
+ isVisible: true
759
+ axisType: 2
760
+ }
761
+ y: {
762
+ isVisible: true
763
+ axisType: 1
764
+ }
765
+ }
766
+ }
767
+ }
768
+ }
769
+ }
770
+ {
771
+ name: 'sharedTimeRange'
772
+ isOptional: true
773
+ }
774
+ ]
775
+ #disable-next-line BCP036
776
+ type: 'Extension/HubsExtension/PartType/MonitorChartPart'
777
+ settings: {}
778
+ }
779
+ }
780
+ {
781
+ position: {
782
+ x: 0
783
+ y: 5
784
+ colSpan: 4
785
+ rowSpan: 3
786
+ }
787
+ metadata: {
788
+ inputs: [
789
+ {
790
+ name: 'options'
791
+ value: {
792
+ chart: {
793
+ metrics: [
794
+ {
795
+ resourceMetadata: {
796
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
797
+ }
798
+ name: 'availabilityResults/availabilityPercentage'
799
+ aggregationType: 4
800
+ namespace: 'microsoft.insights/components'
801
+ metricVisualization: {
802
+ displayName: 'Availability'
803
+ color: '#47BDF5'
804
+ }
805
+ }
806
+ ]
807
+ title: 'Average availability'
808
+ visualization: {
809
+ chartType: 3
810
+ legendVisualization: {
811
+ isVisible: true
812
+ position: 2
813
+ hideSubtitle: false
814
+ }
815
+ axisVisualization: {
816
+ x: {
817
+ isVisible: true
818
+ axisType: 2
819
+ }
820
+ y: {
821
+ isVisible: true
822
+ axisType: 1
823
+ }
824
+ }
825
+ }
826
+ openBladeOnClick: {
827
+ openBlade: true
828
+ destinationBlade: {
829
+ extensionName: 'HubsExtension'
830
+ bladeName: 'ResourceMenuBlade'
831
+ parameters: {
832
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
833
+ menuid: 'availability'
834
+ }
835
+ }
836
+ }
837
+ }
838
+ }
839
+ }
840
+ {
841
+ name: 'sharedTimeRange'
842
+ isOptional: true
843
+ }
844
+ ]
845
+ #disable-next-line BCP036
846
+ type: 'Extension/HubsExtension/PartType/MonitorChartPart'
847
+ settings: {}
848
+ }
849
+ }
850
+ {
851
+ position: {
852
+ x: 4
853
+ y: 5
854
+ colSpan: 4
855
+ rowSpan: 3
856
+ }
857
+ metadata: {
858
+ inputs: [
859
+ {
860
+ name: 'options'
861
+ value: {
862
+ chart: {
863
+ metrics: [
864
+ {
865
+ resourceMetadata: {
866
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
867
+ }
868
+ name: 'exceptions/server'
869
+ aggregationType: 7
870
+ namespace: 'microsoft.insights/components'
871
+ metricVisualization: {
872
+ displayName: 'Server exceptions'
873
+ color: '#47BDF5'
874
+ }
875
+ }
876
+ {
877
+ resourceMetadata: {
878
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
879
+ }
880
+ name: 'dependencies/failed'
881
+ aggregationType: 7
882
+ namespace: 'microsoft.insights/components'
883
+ metricVisualization: {
884
+ displayName: 'Dependency failures'
885
+ color: '#7E58FF'
886
+ }
887
+ }
888
+ ]
889
+ title: 'Server exceptions and Dependency failures'
890
+ visualization: {
891
+ chartType: 2
892
+ legendVisualization: {
893
+ isVisible: true
894
+ position: 2
895
+ hideSubtitle: false
896
+ }
897
+ axisVisualization: {
898
+ x: {
899
+ isVisible: true
900
+ axisType: 2
901
+ }
902
+ y: {
903
+ isVisible: true
904
+ axisType: 1
905
+ }
906
+ }
907
+ }
908
+ }
909
+ }
910
+ }
911
+ {
912
+ name: 'sharedTimeRange'
913
+ isOptional: true
914
+ }
915
+ ]
916
+ #disable-next-line BCP036
917
+ type: 'Extension/HubsExtension/PartType/MonitorChartPart'
918
+ settings: {}
919
+ }
920
+ }
921
+ {
922
+ position: {
923
+ x: 8
924
+ y: 5
925
+ colSpan: 4
926
+ rowSpan: 3
927
+ }
928
+ metadata: {
929
+ inputs: [
930
+ {
931
+ name: 'options'
932
+ value: {
933
+ chart: {
934
+ metrics: [
935
+ {
936
+ resourceMetadata: {
937
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
938
+ }
939
+ name: 'performanceCounters/processorCpuPercentage'
940
+ aggregationType: 4
941
+ namespace: 'microsoft.insights/components'
942
+ metricVisualization: {
943
+ displayName: 'Processor time'
944
+ color: '#47BDF5'
945
+ }
946
+ }
947
+ {
948
+ resourceMetadata: {
949
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
950
+ }
951
+ name: 'performanceCounters/processCpuPercentage'
952
+ aggregationType: 4
953
+ namespace: 'microsoft.insights/components'
954
+ metricVisualization: {
955
+ displayName: 'Process CPU'
956
+ color: '#7E58FF'
957
+ }
958
+ }
959
+ ]
960
+ title: 'Average processor and process CPU utilization'
961
+ visualization: {
962
+ chartType: 2
963
+ legendVisualization: {
964
+ isVisible: true
965
+ position: 2
966
+ hideSubtitle: false
967
+ }
968
+ axisVisualization: {
969
+ x: {
970
+ isVisible: true
971
+ axisType: 2
972
+ }
973
+ y: {
974
+ isVisible: true
975
+ axisType: 1
976
+ }
977
+ }
978
+ }
979
+ }
980
+ }
981
+ }
982
+ {
983
+ name: 'sharedTimeRange'
984
+ isOptional: true
985
+ }
986
+ ]
987
+ #disable-next-line BCP036
988
+ type: 'Extension/HubsExtension/PartType/MonitorChartPart'
989
+ settings: {}
990
+ }
991
+ }
992
+ {
993
+ position: {
994
+ x: 12
995
+ y: 5
996
+ colSpan: 4
997
+ rowSpan: 3
998
+ }
999
+ metadata: {
1000
+ inputs: [
1001
+ {
1002
+ name: 'options'
1003
+ value: {
1004
+ chart: {
1005
+ metrics: [
1006
+ {
1007
+ resourceMetadata: {
1008
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
1009
+ }
1010
+ name: 'exceptions/browser'
1011
+ aggregationType: 7
1012
+ namespace: 'microsoft.insights/components'
1013
+ metricVisualization: {
1014
+ displayName: 'Browser exceptions'
1015
+ color: '#47BDF5'
1016
+ }
1017
+ }
1018
+ ]
1019
+ title: 'Browser exceptions'
1020
+ visualization: {
1021
+ chartType: 2
1022
+ legendVisualization: {
1023
+ isVisible: true
1024
+ position: 2
1025
+ hideSubtitle: false
1026
+ }
1027
+ axisVisualization: {
1028
+ x: {
1029
+ isVisible: true
1030
+ axisType: 2
1031
+ }
1032
+ y: {
1033
+ isVisible: true
1034
+ axisType: 1
1035
+ }
1036
+ }
1037
+ }
1038
+ }
1039
+ }
1040
+ }
1041
+ {
1042
+ name: 'sharedTimeRange'
1043
+ isOptional: true
1044
+ }
1045
+ ]
1046
+ #disable-next-line BCP036
1047
+ type: 'Extension/HubsExtension/PartType/MonitorChartPart'
1048
+ settings: {}
1049
+ }
1050
+ }
1051
+ {
1052
+ position: {
1053
+ x: 0
1054
+ y: 8
1055
+ colSpan: 4
1056
+ rowSpan: 3
1057
+ }
1058
+ metadata: {
1059
+ inputs: [
1060
+ {
1061
+ name: 'options'
1062
+ value: {
1063
+ chart: {
1064
+ metrics: [
1065
+ {
1066
+ resourceMetadata: {
1067
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
1068
+ }
1069
+ name: 'availabilityResults/count'
1070
+ aggregationType: 7
1071
+ namespace: 'microsoft.insights/components'
1072
+ metricVisualization: {
1073
+ displayName: 'Availability test results count'
1074
+ color: '#47BDF5'
1075
+ }
1076
+ }
1077
+ ]
1078
+ title: 'Availability test results count'
1079
+ visualization: {
1080
+ chartType: 2
1081
+ legendVisualization: {
1082
+ isVisible: true
1083
+ position: 2
1084
+ hideSubtitle: false
1085
+ }
1086
+ axisVisualization: {
1087
+ x: {
1088
+ isVisible: true
1089
+ axisType: 2
1090
+ }
1091
+ y: {
1092
+ isVisible: true
1093
+ axisType: 1
1094
+ }
1095
+ }
1096
+ }
1097
+ }
1098
+ }
1099
+ }
1100
+ {
1101
+ name: 'sharedTimeRange'
1102
+ isOptional: true
1103
+ }
1104
+ ]
1105
+ #disable-next-line BCP036
1106
+ type: 'Extension/HubsExtension/PartType/MonitorChartPart'
1107
+ settings: {}
1108
+ }
1109
+ }
1110
+ {
1111
+ position: {
1112
+ x: 4
1113
+ y: 8
1114
+ colSpan: 4
1115
+ rowSpan: 3
1116
+ }
1117
+ metadata: {
1118
+ inputs: [
1119
+ {
1120
+ name: 'options'
1121
+ value: {
1122
+ chart: {
1123
+ metrics: [
1124
+ {
1125
+ resourceMetadata: {
1126
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
1127
+ }
1128
+ name: 'performanceCounters/processIOBytesPerSecond'
1129
+ aggregationType: 4
1130
+ namespace: 'microsoft.insights/components'
1131
+ metricVisualization: {
1132
+ displayName: 'Process IO rate'
1133
+ color: '#47BDF5'
1134
+ }
1135
+ }
1136
+ ]
1137
+ title: 'Average process I/O rate'
1138
+ visualization: {
1139
+ chartType: 2
1140
+ legendVisualization: {
1141
+ isVisible: true
1142
+ position: 2
1143
+ hideSubtitle: false
1144
+ }
1145
+ axisVisualization: {
1146
+ x: {
1147
+ isVisible: true
1148
+ axisType: 2
1149
+ }
1150
+ y: {
1151
+ isVisible: true
1152
+ axisType: 1
1153
+ }
1154
+ }
1155
+ }
1156
+ }
1157
+ }
1158
+ }
1159
+ {
1160
+ name: 'sharedTimeRange'
1161
+ isOptional: true
1162
+ }
1163
+ ]
1164
+ #disable-next-line BCP036
1165
+ type: 'Extension/HubsExtension/PartType/MonitorChartPart'
1166
+ settings: {}
1167
+ }
1168
+ }
1169
+ {
1170
+ position: {
1171
+ x: 8
1172
+ y: 8
1173
+ colSpan: 4
1174
+ rowSpan: 3
1175
+ }
1176
+ metadata: {
1177
+ inputs: [
1178
+ {
1179
+ name: 'options'
1180
+ value: {
1181
+ chart: {
1182
+ metrics: [
1183
+ {
1184
+ resourceMetadata: {
1185
+ id: '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup().name}/providers/Microsoft.Insights/components/${applicationInsights.name}'
1186
+ }
1187
+ name: 'performanceCounters/memoryAvailableBytes'
1188
+ aggregationType: 4
1189
+ namespace: 'microsoft.insights/components'
1190
+ metricVisualization: {
1191
+ displayName: 'Available memory'
1192
+ color: '#47BDF5'
1193
+ }
1194
+ }
1195
+ ]
1196
+ title: 'Average available memory'
1197
+ visualization: {
1198
+ chartType: 2
1199
+ legendVisualization: {
1200
+ isVisible: true
1201
+ position: 2
1202
+ hideSubtitle: false
1203
+ }
1204
+ axisVisualization: {
1205
+ x: {
1206
+ isVisible: true
1207
+ axisType: 2
1208
+ }
1209
+ y: {
1210
+ isVisible: true
1211
+ axisType: 1
1212
+ }
1213
+ }
1214
+ }
1215
+ }
1216
+ }
1217
+ }
1218
+ {
1219
+ name: 'sharedTimeRange'
1220
+ isOptional: true
1221
+ }
1222
+ ]
1223
+ #disable-next-line BCP036
1224
+ type: 'Extension/HubsExtension/PartType/MonitorChartPart'
1225
+ settings: {}
1226
+ }
1227
+ }
1228
+ ]
1229
+ }
1230
+ ]
1231
+ }
1232
+ }
1233
+
1234
+ resource applicationInsights 'Microsoft.Insights/components@2020-02-02' existing = {
1235
+ name: applicationInsightsName
1236
+ }