<mxfile host="Electron"><diagram id="automate-saas-tenant-provisioning-aws" name="Architecture"><mxGraphModel dx="2800" dy="1600" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="1499" pageHeight="561" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="zz-bg" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F5F5F5;strokeColor=none;" vertex="1" parent="1"><mxGeometry x="0" y="0" width="1499" height="561" as="geometry"/></mxCell><mxCell id="zz-title" value="&lt;b&gt;READY only after the health check&lt;/b&gt;&lt;br&gt;FactualMinds | 2026-10-19 | lab design, not a customer account" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;fontSize=16;spacing=8;fontColor=#232F3E;" vertex="1" parent="1"><mxGeometry x="40" y="30" width="1419" height="70" as="geometry"/></mxCell><mxCell id="zz-rule" value="" style="line;strokeWidth=2;html=1;strokeColor=#F5AE02;" vertex="1" parent="1"><mxGeometry x="48" y="98" width="1403" height="6" as="geometry"/></mxCell><mxCell id="ev" value="SignupApproved&lt;br&gt;&lt;i&gt;approver id&lt;/i&gt;" 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.eventbridge;" vertex="1" parent="1"><mxGeometry x="80" y="150" width="78" height="78" as="geometry"/></mxCell><mxCell id="sfn" value="Step Functions&lt;br&gt;Standard" 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.step_functions;" vertex="1" parent="1"><mxGeometry x="320" y="150" width="78" height="78" as="geometry"/></mxCell><mxCell id="ddb" value="Tenant item&lt;br&gt;attribute_not_exists" 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="560" y="150" width="78" height="78" as="geometry"/></mxCell><mxCell id="sec" value="Tenant secret&lt;br&gt;&lt;i&gt;ARN in state, not value&lt;/i&gt;" 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;" vertex="1" parent="1"><mxGeometry x="800" y="150" width="78" height="78" as="geometry"/></mxCell><mxCell id="hc" value="Health check" 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="1040" y="150" width="78" height="78" as="geometry"/></mxCell><mxCell id="ok" value="&lt;b&gt;READY&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E6F4EA;strokeColor=#1E8E3E;fontColor=#232F3E;fontSize=12;strokeWidth=1.5;" vertex="1" parent="1"><mxGeometry x="1259" y="157" width="120" height="64" as="geometry"/></mxCell><mxCell id="bad" value="&lt;b&gt;FAILED&lt;/b&gt;&lt;br&gt;delete the new secret" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FDE7EA;strokeColor=#DD344C;fontColor=#232F3E;fontSize=12;strokeWidth=1.5;" vertex="1" parent="1"><mxGeometry x="999" y="387" width="160" height="64" as="geometry"/></mxCell><mxCell id="e0" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;endArrow=block;endFill=1;strokeColor=#232F3E;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="ev" target="sfn"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell><mxCell id="e1" value="conditional put" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;endArrow=block;endFill=1;strokeColor=#232F3E;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=#F5F5F5;fontSize=11;fontColor=#232F3E;" edge="1" parent="1" source="sfn" target="ddb"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell><mxCell id="e2" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;endArrow=block;endFill=1;strokeColor=#232F3E;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="ddb" target="sec"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell><mxCell id="e3" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;endArrow=block;endFill=1;strokeColor=#232F3E;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="sec" target="hc"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell><mxCell id="e4" value="pass" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;endArrow=block;endFill=1;strokeColor=#232F3E;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=#F5F5F5;fontSize=11;fontColor=#232F3E;" edge="1" parent="1" source="hc" target="ok"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell><mxCell id="e5" value="fail" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;endArrow=block;endFill=1;strokeColor=#DD344C;dashed=1;exitX=0.5;exitY=1;exitDx=0;exitDy=23;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitPerimeter=0;labelBackgroundColor=#F5F5F5;fontSize=11;fontColor=#232F3E;" edge="1" parent="1" source="hc" target="bad"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell></root></mxGraphModel></diagram></mxfile>
