-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathAWS Educate TPET Backend Architecture Diagram.drawio.xml
More file actions
1573 lines (1573 loc) · 183 KB
/
Copy pathAWS Educate TPET Backend Architecture Diagram.drawio.xml
File metadata and controls
1573 lines (1573 loc) · 183 KB
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
<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" version="28.2.5" pages="7">
<diagram name="Page-1" id="4BnFH3v_7Wsev0KVXtkR">
<mxGraphModel grid="1" page="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="LCNAS7WgAcGymB_NSwYL-1" value="User Interface" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-149" y="718" width="220" height="502" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-2" value="Application &amp; Compute" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="80" y="718" width="520" height="502" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-3" value="Data Store" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="610" y="718" width="240" height="502" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-4" value="<font style="font-size: 14px;"><b>API Gateway (HTTP)</b></font>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.api_gateway;" vertex="1" parent="1">
<mxGeometry x="120" y="920" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-5" value="CloudFront" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudfront;" vertex="1" parent="1">
<mxGeometry x="-78" y="920" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-6" value="<b><font style="font-size: 14px;">Cognito</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cognito;" vertex="1" parent="1">
<mxGeometry x="312" y="760" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-7" value="<b><font style="font-size: 14px;">DynamoDB</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.dynamodb;" vertex="1" parent="1">
<mxGeometry x="696" y="838" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-8" value="<span style="font-size: 14px;"><b>Function1</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1">
<mxGeometry x="468" y="860" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-9" value="<span style="font-size: 14px;"><b>Function2</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1">
<mxGeometry x="468" y="980" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-10" value="<span style="font-size: 14px;"><b>Authorizer</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1">
<mxGeometry x="120" y="760" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-11" value="<font style="font-size: 14px;"><b>S3</b></font>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#7AA116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.s3;" vertex="1" parent="1">
<mxGeometry x="696" y="1002" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-12" value="Route53" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.route_53;" vertex="1" parent="1">
<mxGeometry x="-78" y="760" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-13" value="Terraform" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://www.aviator.co/blog/wp-content/uploads/2023/01/terraform.png;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="297" y="1320" width="104" height="78.03" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-14" value="ACM" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.certificate_manager_3;" vertex="1" parent="1">
<mxGeometry x="-78" y="1100" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-15" value="<b><font style="font-size: 14px;">Clients</font></b>" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.users;" vertex="1" parent="1">
<mxGeometry x="-480" y="920" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-16" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-5" target="LCNAS7WgAcGymB_NSwYL-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="168" y="579" as="sourcePoint" />
<mxPoint x="357" y="399" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-17" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-10" target="LCNAS7WgAcGymB_NSwYL-6">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="10" y="969" as="sourcePoint" />
<mxPoint x="132" y="969" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-18" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-4" target="LCNAS7WgAcGymB_NSwYL-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="210" y="969" as="sourcePoint" />
<mxPoint x="478" y="821" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-19" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-4" target="LCNAS7WgAcGymB_NSwYL-9">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="220" y="979" as="sourcePoint" />
<mxPoint x="488" y="831" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-20" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="230" y="989" as="sourcePoint" />
<mxPoint x="159" y="870" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-21" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-15" target="LCNAS7WgAcGymB_NSwYL-12">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-300" y="959" as="sourcePoint" />
<mxPoint x="478" y="1099" as="targetPoint" />
<Array as="points">
<mxPoint x="-210" y="959" />
<mxPoint x="-210" y="799" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-22" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;dashed=1;endFill=0;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-14">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-232" y="989" as="sourcePoint" />
<mxPoint x="-39" y="1030" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-23" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.markup.curlyBrace;whiteSpace=wrap;strokeColor=#999999;rotation=-180;" vertex="1" parent="1">
<mxGeometry x="80" y="1240" width="765" height="30" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-24" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.markup.curlyBrace;whiteSpace=wrap;strokeColor=#999999;rotation=-180;" vertex="1" parent="1">
<mxGeometry x="-149" y="1290" width="996" height="30" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-25" value="<b><font style="font-size: 14px;">EventBridge Scheduler</font></b>" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#E7157B;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.eventbridge_scheduler;" vertex="1" parent="1">
<mxGeometry x="122" y="1080" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-26" value="<span style="font-size: 14px;"><b>GET /route1</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="345" y="870" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-27" value="<span style="font-size: 14px;"><b>POST /route2</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="340" y="990" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-28" value="" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.saml_token;" vertex="1" parent="1">
<mxGeometry x="235" y="742" width="28" height="28" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-29" value="<span style="font-size: 14px;"><b>Auth</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="220" y="770" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-30" value="<span style="font-size: 14px;"><b>DNS resolution&nbsp;</b></span><div><span style="font-size: 14px;"><b>(Alias record)</b></span></div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="-210" y="750" width="130" height="50" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-31" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-8" target="LCNAS7WgAcGymB_NSwYL-7">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="208" y="969" as="sourcePoint" />
<mxPoint x="478" y="1029" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-32" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-8" target="LCNAS7WgAcGymB_NSwYL-11">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="556" y="909" as="sourcePoint" />
<mxPoint x="706" y="887" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-33" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-9" target="LCNAS7WgAcGymB_NSwYL-7">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="566" y="919" as="sourcePoint" />
<mxPoint x="716" y="897" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-34" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-9" target="LCNAS7WgAcGymB_NSwYL-11">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="556" y="909" as="sourcePoint" />
<mxPoint x="706" y="1047" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-35" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="199.99999999999977" y="1129" as="sourcePoint" />
<mxPoint x="510" y="1080" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-36" value="<span style="font-size: 14px;"><b>Warm up Lambda functions</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="235" y="1102" width="210" height="30" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-37" value="" style="shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;imageAspect=0;aspect=fixed;image=https://cdn1.iconfinder.com/data/icons/material-core/20/schedule-128.png" vertex="1" parent="1">
<mxGeometry x="322" y="1080" width="22" height="22" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-38" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="1" source="LCNAS7WgAcGymB_NSwYL-15" target="LCNAS7WgAcGymB_NSwYL-5">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="10" y="969" as="sourcePoint" />
<mxPoint x="130" y="969" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-39" value="<span style="font-size: 14px;"><b>https://domain.com/path</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="-400" y="930" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="LCNAS7WgAcGymB_NSwYL-40" value="<span style="font-size: 14px;"><b>Microservice</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="410" y="1270" width="110" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram name="TPET v2" id="xm2esYqSG7Rjounob8mT">
<mxGraphModel grid="1" page="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="i0wpE-lDAegy-wdbP4sz-0" />
<mxCell id="i0wpE-lDAegy-wdbP4sz-1" parent="i0wpE-lDAegy-wdbP4sz-0" />
<mxCell id="IiRN-Emb7IzWe63zckCC-0" value="User Interface" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1381" y="1260" width="220" height="502" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-1" value="Application &amp; Compute" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1610" y="1260" width="520" height="502" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-2" value="Data Store" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="2140" y="1260" width="240" height="502" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-3" value="<font style="font-size: 14px;"><b>API Gateway (HTTP)</b></font>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.api_gateway;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1650" y="1462" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-4" value="CloudFront" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudfront;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1452" y="1462" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-5" value="<b><font style="font-size: 14px;">Cognito</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cognito;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1842" y="1302" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-6" value="<b><font style="font-size: 14px;">DynamoDB</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.dynamodb;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="2226" y="1463" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-7" value="<span style="font-size: 14px;"><b>Function1</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1998" y="1402" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-8" value="<span style="font-size: 14px;"><b>Function2</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1998" y="1522" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-9" value="<span style="font-size: 14px;"><b>Authorizer</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1650" y="1302" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-10" value="<font style="font-size: 14px;"><b>S3</b></font>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#7AA116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.s3;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="2226" y="1627" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-11" value="Route53" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.route_53;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1452" y="1302" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-12" value="Terraform" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://www.aviator.co/blog/wp-content/uploads/2023/01/terraform.png;fontStyle=1" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1827" y="1862" width="104" height="78.03" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-13" value="ACM" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.certificate_manager_3;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1452" y="1642" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-14" value="<b><font style="font-size: 14px;">Clients</font></b>" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.users;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1050" y="1462" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-15" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-4" target="IiRN-Emb7IzWe63zckCC-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1698" y="1121" as="sourcePoint" />
<mxPoint x="1887" y="941" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-16" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-9" target="IiRN-Emb7IzWe63zckCC-5">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1540" y="1511" as="sourcePoint" />
<mxPoint x="1662" y="1511" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-17" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-3" target="IiRN-Emb7IzWe63zckCC-7">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1740" y="1511" as="sourcePoint" />
<mxPoint x="2008" y="1363" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-18" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-3" target="IiRN-Emb7IzWe63zckCC-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1750" y="1521" as="sourcePoint" />
<mxPoint x="2018" y="1373" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-19" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1760" y="1531" as="sourcePoint" />
<mxPoint x="1689" y="1412" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-20" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-14" target="IiRN-Emb7IzWe63zckCC-11">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1230" y="1501" as="sourcePoint" />
<mxPoint x="2008" y="1641" as="targetPoint" />
<Array as="points">
<mxPoint x="1320" y="1501" />
<mxPoint x="1320" y="1341" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-21" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;dashed=1;endFill=0;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-13">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1298" y="1531" as="sourcePoint" />
<mxPoint x="1491" y="1572" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-22" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.markup.curlyBrace;whiteSpace=wrap;strokeColor=#999999;rotation=-180;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1610" y="1782" width="765" height="30" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-23" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.markup.curlyBrace;whiteSpace=wrap;strokeColor=#999999;rotation=-180;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1381" y="1832" width="996" height="30" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-24" value="<b><font style="font-size: 14px;">EventBridge Scheduler</font></b>" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#E7157B;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.eventbridge_scheduler;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1652" y="1622" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-25" value="<span style="font-size: 14px;"><b>GET /route1</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1875" y="1412" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-26" value="<span style="font-size: 14px;"><b>POST /route2</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1870" y="1532" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-27" value="" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.saml_token;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1765" y="1284" width="28" height="28" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-28" value="<span style="font-size: 14px;"><b>Auth</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1750" y="1312" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-29" value="<span style="font-size: 14px;"><b>DNS resolution&nbsp;</b></span><div><span style="font-size: 14px;"><b>(Alias record)</b></span></div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1320" y="1292" width="130" height="50" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-30" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-7" target="IiRN-Emb7IzWe63zckCC-6">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1738" y="1511" as="sourcePoint" />
<mxPoint x="2008" y="1571" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-31" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-7" target="IiRN-Emb7IzWe63zckCC-10">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="2086" y="1451" as="sourcePoint" />
<mxPoint x="2236" y="1429" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-32" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-8" target="IiRN-Emb7IzWe63zckCC-6">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="2096" y="1461" as="sourcePoint" />
<mxPoint x="2246" y="1439" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-33" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-8" target="IiRN-Emb7IzWe63zckCC-10">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="2086" y="1451" as="sourcePoint" />
<mxPoint x="2236" y="1589" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-34" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1729.9999999999998" y="1671" as="sourcePoint" />
<mxPoint x="2040" y="1622" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-35" value="<span style="font-size: 14px;"><b>Warm up Lambda functions</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1765" y="1644" width="210" height="30" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-36" value="" style="shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;imageAspect=0;aspect=fixed;image=https://cdn1.iconfinder.com/data/icons/material-core/20/schedule-128.png" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1852" y="1622" width="22" height="22" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-37" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-14" target="IiRN-Emb7IzWe63zckCC-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1540" y="1511" as="sourcePoint" />
<mxPoint x="1660" y="1511" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-38" value="<span style="font-size: 14px;"><b>https://domain.com/path</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1130" y="1472" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-39" value="<span style="font-size: 14px;"><b>Microservice</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="1940" y="1812" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-40" value="<span style="font-size: 14px;"><b>Aurora Serverless v2</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.aurora;" vertex="1" parent="i0wpE-lDAegy-wdbP4sz-1">
<mxGeometry x="2225" y="1320" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="IiRN-Emb7IzWe63zckCC-41" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="i0wpE-lDAegy-wdbP4sz-1" source="IiRN-Emb7IzWe63zckCC-7" target="IiRN-Emb7IzWe63zckCC-40">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="2170" y="1551" as="sourcePoint" />
<mxPoint x="2320" y="1492" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram name="TPET v2 - auth service" id="ifDDqpo26CvSv-mXjAnu">
<mxGraphModel dx="2952" dy="1327" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="b_NHINdoUEC2v1s0xhQe-0" />
<mxCell id="b_NHINdoUEC2v1s0xhQe-1" parent="b_NHINdoUEC2v1s0xhQe-0" />
<mxCell id="b_NHINdoUEC2v1s0xhQe-2" value="Application &amp; Compute (Auth Service)" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="80" y="500" width="840" height="1050" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-5" value="User Interface" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="-149" y="500" width="220" height="1050" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-6" value="Data Store" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="931" y="848" width="240" height="502" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-7" value="<font style="font-size: 14px;"><b>API Gateway (HTTP)</b></font><div><font style="font-size: 14px;"><b>auth-service</b></font></div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.api_gateway;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="120" y="1040" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-8" value="CloudFront" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudfront;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="-78" y="1040" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-9" value="<b><font style="font-size: 14px;">Cognito</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cognito;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="753" y="686" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-10" value="<b><font style="font-size: 14px;">DynamoDB</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.dynamodb;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="1000" y="1039" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-11" value="<span style="font-size: 14px;"><b>login</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="488" y="808" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-12" value="<span style="font-size: 14px;"><b>change_password</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="489" y="926" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-13" value="<span style="font-size: 14px;"><b>health_check</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="488" y="1420" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-15" value="Route53" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.route_53;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="-78" y="880" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-16" value="Terraform" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://www.aviator.co/blog/wp-content/uploads/2023/01/terraform.png;fontStyle=1" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="478" y="1602" width="104" height="78.03" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-17" value="ACM" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.certificate_manager_3;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="-78" y="1220" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-18" value="<b><font style="font-size: 14px;">Clients</font></b>" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.users;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="-480" y="1040" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-19" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-8" target="b_NHINdoUEC2v1s0xhQe-7" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="168" y="699" as="sourcePoint" />
<mxPoint x="357" y="519" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-20" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;exitPerimeter=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-11" target="b_NHINdoUEC2v1s0xhQe-9" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="759" as="sourcePoint" />
<mxPoint x="522" y="759" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-21" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-7" target="b_NHINdoUEC2v1s0xhQe-11" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="210" y="969" as="sourcePoint" />
<mxPoint x="478" y="821" as="targetPoint" />
<Array as="points">
<mxPoint x="280" y="1080" />
<mxPoint x="280" y="847" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-22" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-7" target="b_NHINdoUEC2v1s0xhQe-12" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="201" y="959.0000000000002" as="sourcePoint" />
<mxPoint x="392" y="834.9999999999999" as="targetPoint" />
<Array as="points">
<mxPoint x="280" y="1080" />
<mxPoint x="280" y="970" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-23" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-7" target="b_NHINdoUEC2v1s0xhQe-13" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="230" y="989" as="sourcePoint" />
<mxPoint x="159" y="870" as="targetPoint" />
<Array as="points">
<mxPoint x="280" y="1080" />
<mxPoint x="280" y="1459" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-24" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-18" target="b_NHINdoUEC2v1s0xhQe-15" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-300" y="1079" as="sourcePoint" />
<mxPoint x="478" y="1219" as="targetPoint" />
<Array as="points">
<mxPoint x="-210" y="1079" />
<mxPoint x="-210" y="919" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-25" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;dashed=1;endFill=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-17" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-232" y="1109" as="sourcePoint" />
<mxPoint x="-39" y="1150" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-26" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.markup.curlyBrace;whiteSpace=wrap;strokeColor=#999999;rotation=-180;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="-149" y="1572" width="1367" height="30" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-27" value="<span style="font-size: 14px;"><b>POST&nbsp;/login</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="310" y="808" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-28" value="<b style=""><span style="font-size: 14px;">POST </span><font style="font-size: 14px;">/</font></b><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><b><font style="font-size: 14px;">change-password</font></b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="285" y="932" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-29" value="" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.saml_token;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="685" y="660" width="28" height="28" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-30" value="<span style="font-size: 14px;"><b>Auth</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="670" y="688" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-31" value="<span style="font-size: 14px;"><b>DNS resolution&nbsp;</b></span><div><span style="font-size: 14px;"><b>(Alias record)</b></span></div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="-210" y="870" width="130" height="50" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-34" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-18" target="b_NHINdoUEC2v1s0xhQe-8" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="10" y="1089" as="sourcePoint" />
<mxPoint x="130" y="1089" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-35" value="<span style="font-size: 14px;"><b>https://domain.com/path</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="-400" y="1050" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-52" value="<b style="font-size: 14px;">is_logged_in</b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="492" y="1039" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-53" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-52" target="b_NHINdoUEC2v1s0xhQe-10" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1330" y="1020" as="sourcePoint" />
<mxPoint x="2301" y="1099" as="targetPoint" />
<Array as="points">
<mxPoint x="980" y="1078" />
<mxPoint x="980" y="1078" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-55" value="<span style="font-size: 14px;"><b>get_me</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="492" y="1170" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-59" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-7" target="b_NHINdoUEC2v1s0xhQe-52" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="959" as="sourcePoint" />
<mxPoint x="395.0000000000002" y="948" as="targetPoint" />
<Array as="points">
<mxPoint x="280" y="1080" />
<mxPoint x="280" y="1078" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-60" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-7" target="b_NHINdoUEC2v1s0xhQe-55" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="203" y="960" as="sourcePoint" />
<mxPoint x="738" y="1271" as="targetPoint" />
<Array as="points">
<mxPoint x="280" y="1080" />
<mxPoint x="280" y="1210" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="b_NHINdoUEC2v1s0xhQe-62" value="<span style="font-size: 14px;"><b>GET /health</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="303" y="1426" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="TINRxwxae5Y3UMHxMP7P-0" value="<span style="font-size: 14px;"><b>GET /users/{user_id}</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="303" y="1300" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="TINRxwxae5Y3UMHxMP7P-1" value="<font style="font-size: 14px;"><b style="">GET&nbsp;</b><b style="">/users/me</b></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="320" y="1170" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="TINRxwxae5Y3UMHxMP7P-2" value="<b style="font-size: 14px;">get_user</b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="492" y="1290" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="EeghqgEJChwJxnQBBjpa-0" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-7" target="TINRxwxae5Y3UMHxMP7P-2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="230" y="1110" as="sourcePoint" />
<mxPoint x="452" y="1330" as="targetPoint" />
<Array as="points">
<mxPoint x="280" y="1080" />
<mxPoint x="280" y="1330" />
<mxPoint x="492" y="1330" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="EeghqgEJChwJxnQBBjpa-1" value="<font style="font-size: 14px;"><b style="">GET&nbsp;</b><b style="">/is-logged-in</b></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="300" y="1050" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="wQzKWK5nzLITtfM6oDwn-2" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;exitPerimeter=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-12" target="b_NHINdoUEC2v1s0xhQe-9" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="600" y="840" as="sourcePoint" />
<mxPoint x="816" y="840" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wQzKWK5nzLITtfM6oDwn-3" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-52" target="b_NHINdoUEC2v1s0xhQe-9" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="575" y="1080" as="sourcePoint" />
<mxPoint x="780" y="847" as="targetPoint" />
<Array as="points">
<mxPoint x="660" y="1050" />
<mxPoint x="660" y="725" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3dBUm21ufE-stk4q9Huu-0" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-55" target="b_NHINdoUEC2v1s0xhQe-10" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="610" y="1070" as="sourcePoint" />
<mxPoint x="1040" y="1070" as="targetPoint" />
<Array as="points">
<mxPoint x="880" y="1209" />
<mxPoint x="880" y="1078" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3dBUm21ufE-stk4q9Huu-1" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" parent="b_NHINdoUEC2v1s0xhQe-1" source="TINRxwxae5Y3UMHxMP7P-2" target="b_NHINdoUEC2v1s0xhQe-10" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="900" y="1291" as="sourcePoint" />
<mxPoint x="1330" y="1160" as="targetPoint" />
<Array as="points">
<mxPoint x="880" y="1330" />
<mxPoint x="880" y="1078" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3dBUm21ufE-stk4q9Huu-2" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" parent="b_NHINdoUEC2v1s0xhQe-1" target="b_NHINdoUEC2v1s0xhQe-10" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="567" y="970" as="sourcePoint" />
<mxPoint x="1150" y="1200" as="targetPoint" />
<Array as="points">
<mxPoint x="567" y="970" />
<mxPoint x="880" y="970" />
<mxPoint x="880" y="1078" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3dBUm21ufE-stk4q9Huu-3" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-11" target="b_NHINdoUEC2v1s0xhQe-10" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="570" y="850" as="sourcePoint" />
<mxPoint x="1303" y="1088" as="targetPoint" />
<Array as="points">
<mxPoint x="880" y="850" />
<mxPoint x="880" y="1078" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3dBUm21ufE-stk4q9Huu-5" value="<span style="font-size: 14px;"><b>refresh_service_accounts_token</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="488" y="585" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="3dBUm21ufE-stk4q9Huu-6" value="<b><font style="font-size: 14px;">EventBridge Scheduler</font></b>" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#E7157B;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.eventbridge_scheduler;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="210" y="578" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="3dBUm21ufE-stk4q9Huu-7" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="3dBUm21ufE-stk4q9Huu-6" target="3dBUm21ufE-stk4q9Huu-5" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="469" y="470" as="sourcePoint" />
<mxPoint x="763" y="840" as="targetPoint" />
<Array as="points">
<mxPoint x="270" y="664" />
<mxPoint x="270" y="664" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3dBUm21ufE-stk4q9Huu-8" value="<b><font style="font-size: 14px;">Secret Manager</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.secrets_manager;" parent="b_NHINdoUEC2v1s0xhQe-1" vertex="1">
<mxGeometry x="753" y="530" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="3dBUm21ufE-stk4q9Huu-9" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;endFill=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="b_NHINdoUEC2v1s0xhQe-11" target="3dBUm21ufE-stk4q9Huu-5" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="600" as="sourcePoint" />
<mxPoint x="703" y="600" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="3dBUm21ufE-stk4q9Huu-10" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="b_NHINdoUEC2v1s0xhQe-1" source="3dBUm21ufE-stk4q9Huu-5" target="3dBUm21ufE-stk4q9Huu-8" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="620" y="690" as="sourcePoint" />
<mxPoint x="913" y="690" as="targetPoint" />
<Array as="points">
<mxPoint x="650" y="624" />
<mxPoint x="650" y="569" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram name="TPET v2 - email service" id="aib-voNyJvjwLm8yUIpa">
<mxGraphModel grid="1" page="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="rVpUAMiD41hedI7dKIFu-0" />
<mxCell id="rVpUAMiD41hedI7dKIFu-1" parent="rVpUAMiD41hedI7dKIFu-0" />
<mxCell id="rVpUAMiD41hedI7dKIFu-3" value="Application &amp; Compute (Email Service)" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="80" y="440" width="1570" height="1110" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-2" value="User Interface" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="-149" y="440" width="220" height="1110" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-4" value="Data Store" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="1680" y="440" width="240" height="1110" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-5" value="<font style="font-size: 14px;"><b>API Gateway (HTTP)</b></font><div><font style="font-size: 14px;"><b>email-service</b></font></div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.api_gateway;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="120" y="920" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-6" value="CloudFront" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudfront;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="-78" y="920" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-9" value="<span style="font-size: 14px;"><b>Validate_input</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="440" y="1240" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-10" value="<span style="font-size: 14px;"><b>list_runs_lambda</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="733" y="686" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-11" value="<span style="font-size: 14px;"><b>health_check_lambda</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="733" y="550" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-12" value="<font style="font-size: 14px;"><b>S3</b></font>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#7AA116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.s3;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="1770" y="1069" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-13" value="Route53" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.route_53;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="-78" y="760" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-14" value="Terraform" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://www.aviator.co/blog/wp-content/uploads/2023/01/terraform.png;fontStyle=1" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="478" y="1602" width="104" height="78.03" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-15" value="ACM" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.certificate_manager_3;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="-78" y="1100" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-16" value="<b><font style="font-size: 14px;">Clients</font></b>" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.users;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="-480" y="920" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-17" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-6" target="rVpUAMiD41hedI7dKIFu-5">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="168" y="579" as="sourcePoint" />
<mxPoint x="357" y="399" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-18" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-11" target="we8ZZ4Ay46dUM0WB7PRR-0">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="759" as="sourcePoint" />
<mxPoint x="872" y="589" as="targetPoint" />
<Array as="points">
<mxPoint x="1310" y="589" />
<mxPoint x="1310" y="839" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-19" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-5" target="rVpUAMiD41hedI7dKIFu-9">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200.99999999999977" y="959" as="sourcePoint" />
<mxPoint x="440" y="1370" as="targetPoint" />
<Array as="points">
<mxPoint x="273" y="959" />
<mxPoint x="273" y="1280" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-20" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-5" target="rVpUAMiD41hedI7dKIFu-10">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="201" y="959" as="sourcePoint" />
<mxPoint x="736" y="895.0000000000001" as="targetPoint" />
<Array as="points">
<mxPoint x="273" y="959" />
<mxPoint x="273" y="730" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-21" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-5" target="rVpUAMiD41hedI7dKIFu-11">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="203" y="959" as="sourcePoint" />
<mxPoint x="563" y="589" as="targetPoint" />
<Array as="points">
<mxPoint x="273" y="959" />
<mxPoint x="273" y="589" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-22" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-16" target="rVpUAMiD41hedI7dKIFu-13">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-300" y="959" as="sourcePoint" />
<mxPoint x="478" y="1099" as="targetPoint" />
<Array as="points">
<mxPoint x="-210" y="959" />
<mxPoint x="-210" y="799" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-23" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;dashed=1;endFill=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-15">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-232" y="989" as="sourcePoint" />
<mxPoint x="-39" y="1030" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-25" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.markup.curlyBrace;whiteSpace=wrap;strokeColor=#999999;rotation=-180;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="-149" y="1572" width="2048" height="30" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-27" value="<span style="font-size: 14px;"><b>POST&nbsp;/send-email</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="280" y="1240" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-28" value="<span style="font-size: 14px;"><b>POST&nbsp;/runs</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="350" y="838" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-31" value="<span style="font-size: 14px;"><b>DNS resolution&nbsp;</b></span><div><span style="font-size: 14px;"><b>(Alias record)</b></span></div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="-210" y="750" width="130" height="50" as="geometry" />
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-34" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-5" target="houSYJ3wM4XthUD5c73X-16">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200.99999999999977" y="959" as="sourcePoint" />
<mxPoint x="1463" y="921" as="targetPoint" />
<Array as="points">
<mxPoint x="273" y="959" />
<mxPoint x="273" y="1000" />
<mxPoint x="570" y="1000" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-35" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-10" target="we8ZZ4Ay46dUM0WB7PRR-0">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="556" y="909" as="sourcePoint" />
<mxPoint x="706" y="1047" as="targetPoint" />
<Array as="points">
<mxPoint x="1310" y="730" />
<mxPoint x="1310" y="839" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-39" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-16" target="rVpUAMiD41hedI7dKIFu-6">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="10" y="969" as="sourcePoint" />
<mxPoint x="130" y="969" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="rVpUAMiD41hedI7dKIFu-40" value="<span style="font-size: 14px;"><b>https://domain.com/path</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="-400" y="930" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="we8ZZ4Ay46dUM0WB7PRR-0" value="<span style="font-size: 14px;"><b>Aurora Serverless v2</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.aurora;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="1760" y="800" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="4vn6Ztt12m8cdEvHhUgE-0" value="<b><font style="font-size: 14px;">auto_resumer</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sqs;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="568" y="1240" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="4vn6Ztt12m8cdEvHhUgE-2" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" target="4vn6Ztt12m8cdEvHhUgE-0">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="522" y="1279" as="sourcePoint" />
<mxPoint x="562" y="1279" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="4vn6Ztt12m8cdEvHhUgE-3" value="<span style="font-size: 14px;"><b>auto_resume_aurora</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="698" y="1240" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="4vn6Ztt12m8cdEvHhUgE-4" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="4vn6Ztt12m8cdEvHhUgE-0" target="4vn6Ztt12m8cdEvHhUgE-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="542" y="1269" as="sourcePoint" />
<mxPoint x="612" y="1269" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="4vn6Ztt12m8cdEvHhUgE-5" value="<b><font style="font-size: 14px;">upsert_run</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sqs;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="825" y="1240" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-0" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="4vn6Ztt12m8cdEvHhUgE-3" target="4vn6Ztt12m8cdEvHhUgE-5">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="782" y="1279" as="sourcePoint" />
<mxPoint x="704" y="1269" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-2" value="<span style="font-size: 14px;"><b>upsert_run</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="946" y="1240" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-3" value="<b><font style="font-size: 14px;">create_email</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sqs;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="1072" y="1240" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-4" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="4vn6Ztt12m8cdEvHhUgE-5" target="houSYJ3wM4XthUD5c73X-2">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="912" y="1279" as="sourcePoint" />
<mxPoint x="864" y="1279" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-5" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="houSYJ3wM4XthUD5c73X-2" target="houSYJ3wM4XthUD5c73X-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1024" y="1279" as="sourcePoint" />
<mxPoint x="1074" y="1279" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-7" value="<span style="font-size: 14px;"><b>create_email</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="1192" y="1240" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-8" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=none;startFill=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="houSYJ3wM4XthUD5c73X-3" target="houSYJ3wM4XthUD5c73X-7">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1172" y="1264" as="sourcePoint" />
<mxPoint x="1182" y="1284" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-12" value="<span style="font-size: 14px;"><b>create_run_lambda</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="733" y="830" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-16" value="<span style="font-size: 14px;"><b>get_run_lambda</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="733" y="960" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-21" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-5" target="houSYJ3wM4XthUD5c73X-22">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="201" y="959" as="sourcePoint" />
<mxPoint x="1501.9999999999995" y="1069" as="targetPoint" />
<Array as="points">
<mxPoint x="273" y="959" />
<mxPoint x="273" y="1140" />
<mxPoint x="583" y="1140" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-22" value="<span style="font-size: 14px;"><b>list_emails_lambda</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="733" y="1100" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-23" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="rVpUAMiD41hedI7dKIFu-5" target="houSYJ3wM4XthUD5c73X-12">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="201" y="959" as="sourcePoint" />
<mxPoint x="730" y="1078" as="targetPoint" />
<Array as="points">
<mxPoint x="273" y="959" />
<mxPoint x="273" y="869" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="houSYJ3wM4XthUD5c73X-27" value="<span style="font-size: 14px;"><b>GET /health</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="350" y="550" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="UBVjydGrKTWAeSrImttg-2" value="<span style="font-size: 14px;"><b>GET&nbsp;/runs/{run_id}</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="340" y="970" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="UBVjydGrKTWAeSrImttg-3" value="<span style="font-size: 14px;"><b>GET /runs/{run_id}/emails</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="325" y="1110" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="UBVjydGrKTWAeSrImttg-4" value="<span style="font-size: 14px;"><b>GET /runs</b></span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="355" y="690" width="90" height="30" as="geometry" />
</mxCell>
<mxCell id="UBVjydGrKTWAeSrImttg-5" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="houSYJ3wM4XthUD5c73X-12" target="we8ZZ4Ay46dUM0WB7PRR-0">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="690" y="730" as="sourcePoint" />
<mxPoint x="1450" y="839" as="targetPoint" />
<Array as="points">
<mxPoint x="1310" y="869" />
<mxPoint x="1310" y="839" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UBVjydGrKTWAeSrImttg-6" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="houSYJ3wM4XthUD5c73X-16" target="we8ZZ4Ay46dUM0WB7PRR-0">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="890" as="sourcePoint" />
<mxPoint x="1549" y="860" as="targetPoint" />
<Array as="points">
<mxPoint x="1310" y="999" />
<mxPoint x="1310" y="839" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UBVjydGrKTWAeSrImttg-7" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;edgeStyle=orthogonalEdgeStyle;startArrow=classic;startFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="houSYJ3wM4XthUD5c73X-22" target="we8ZZ4Ay46dUM0WB7PRR-0">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="720" y="1160" as="sourcePoint" />
<mxPoint x="1509" y="1000" as="targetPoint" />
<Array as="points">
<mxPoint x="1310" y="1139" />
<mxPoint x="1310" y="839" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UBVjydGrKTWAeSrImttg-8" value="<b><font style="font-size: 14px;">SES</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.simple_email_service;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="1550" y="1370" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="mQgigsHz2UARt74wCmPu-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="mQgigsHz2UARt74wCmPu-0" target="mQgigsHz2UARt74wCmPu-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="mQgigsHz2UARt74wCmPu-0" value="<span style="font-size: 14px;"><b>send_email</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sqs;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="1301" y="1240" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="mQgigsHz2UARt74wCmPu-1" value="<span style="font-size: 14px;"><b>send_email</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="rVpUAMiD41hedI7dKIFu-1">
<mxGeometry x="1410" y="1240" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="mQgigsHz2UARt74wCmPu-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="houSYJ3wM4XthUD5c73X-7" target="mQgigsHz2UARt74wCmPu-0">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="mQgigsHz2UARt74wCmPu-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;exitX=1;exitY=0.75;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="mQgigsHz2UARt74wCmPu-1" target="UBVjydGrKTWAeSrImttg-8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="mQgigsHz2UARt74wCmPu-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;startArrow=classic;startFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" source="mQgigsHz2UARt74wCmPu-1" target="rVpUAMiD41hedI7dKIFu-12">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1770" y="1110" as="targetPoint" />
<Array as="points">
<mxPoint x="1629" y="1270" />
<mxPoint x="1629" y="1108" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="mQgigsHz2UARt74wCmPu-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;startArrow=classic;startFill=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="rVpUAMiD41hedI7dKIFu-1" target="rVpUAMiD41hedI7dKIFu-12">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1230" y="1240" as="sourcePoint" />
<mxPoint x="1769" y="1108" as="targetPoint" />
<Array as="points">
<mxPoint x="1230" y="1190" />
<mxPoint x="1629" y="1190" />
<mxPoint x="1629" y="1108" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram name="TPET v2 - file service" id="MJl58xElqvGpkB6aUICU">
<mxGraphModel grid="1" page="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-0" />
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-1" parent="mM2Ni-CSZxxTtwMLCx8e-0" />
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-2" value="Application &amp; Compute (File Service)" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">
<mxGeometry x="80" y="440" width="870" height="880" as="geometry" />
</mxCell>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-5" value="User Interface" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">
<mxGeometry x="-149" y="440" width="220" height="880" as="geometry" />
</mxCell>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-6" value="Data Store" style="fillColor=none;strokeColor=#5A6C86;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#5A6C86;whiteSpace=wrap;html=1;" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">
<mxGeometry x="981" y="440" width="240" height="880" as="geometry" />
</mxCell>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-7" value="<font style="font-size: 14px;"><b>API Gateway (HTTP)</b></font><div><span style="font-size: 14px;"><b>file-service</b></span></div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.api_gateway;" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">
<mxGeometry x="120" y="920" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-8" value="CloudFront" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudfront;" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">
<mxGeometry x="-78" y="920" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-10" value="<b><font style="font-size: 14px;">DynamoDB</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.dynamodb;" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">
<mxGeometry x="1067" y="1006" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-11" value="<b><font style="font-size: 14px;">upload_multiple_file_lambda</font></b>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">
<mxGeometry x="664" y="766" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-12" value="<span style="font-size: 14px;"><b>list_files_lambda</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">
<mxGeometry x="663" y="920" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-13" value="<span style="font-size: 14px;"><b>health_check_lambda</b></span>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">
<mxGeometry x="660" y="600" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-14" value="<font style="font-size: 14px;"><b>S3</b></font>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#7AA116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.s3;" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">
<mxGeometry x="1067" y="837" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-15" value="Route53" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.route_53;" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">
<mxGeometry x="-78" y="760" width="78" height="78" as="geometry" />
</mxCell>
<mxCell id="mM2Ni-CSZxxTtwMLCx8e-16" value="Terraform" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://www.aviator.co/blog/wp-content/uploads/2023/01/terraform.png;fontStyle=1" parent="mM2Ni-CSZxxTtwMLCx8e-1" vertex="1">