mirror of https://github.com/pulumi/pulumi.git
37 lines
14 KiB
XML
37 lines
14 KiB
XML
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="531px" preserveAspectRatio="none" style="width:1476px;height:531px;background:#FFFFFF;" version="1.1" viewBox="0 0 1476 531" width="1476px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ah111f6ocowp" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#DDDDDD" height="519.6348" style="stroke:#A80036;stroke-width:1.0;" width="835" x="352.5" y="6"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="47" x="746.5" y="18.5684">Engine</text><rect fill="#FFFFFF" filter="url(#f1ah111f6ocowp)" height="377.0371" style="stroke:#A80036;stroke-width:1.0;" width="10" x="421" y="92.1094"/><rect fill="#FFFFFF" filter="url(#f1ah111f6ocowp)" height="159.208" style="stroke:#A80036;stroke-width:1.0;" width="10" x="773" y="121.4199"/><rect fill="#FFFFFF" filter="url(#f1ah111f6ocowp)" height="159.208" style="stroke:#A80036;stroke-width:1.0;" width="10" x="1122" y="280.6279"/><rect fill="#FFFFFF" filter="url(#f1ah111f6ocowp)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="1390" y="150.7305"/><rect fill="#FFFFFF" filter="url(#f1ah111f6ocowp)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="1390" y="209.3516"/><rect fill="#FFFFFF" filter="url(#f1ah111f6ocowp)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="1390" y="322.5938"/><rect fill="#FFFFFF" filter="url(#f1ah111f6ocowp)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="1390" y="381.2148"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="63" x2="63" y1="60.7988" y2="487.1465"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="425.5" x2="425.5" y1="60.7988" y2="487.1465"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="777.5" x2="777.5" y1="60.7988" y2="487.1465"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1126.5" x2="1126.5" y1="60.7988" y2="487.1465"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1395" x2="1395" y1="60.7988" y2="487.1465"/><rect fill="#FEFECE" filter="url(#f1ah111f6ocowp)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="112" x="5" y="25.3105"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="12" y="45.8457">Language SDK</text><rect fill="#FEFECE" filter="url(#f1ah111f6ocowp)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="112" x="5" y="486.1465"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="12" y="506.6816">Language SDK</text><rect fill="#FEFECE" filter="url(#f1ah111f6ocowp)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="135" x="356.5" y="25.3105"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="121" x="363.5" y="45.8457">Resource Monitor</text><rect fill="#FEFECE" filter="url(#f1ah111f6ocowp)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="135" x="356.5" y="486.1465"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="121" x="363.5" y="506.6816">Resource Monitor</text><rect fill="#FEFECE" filter="url(#f1ah111f6ocowp)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="117" x="717.5" y="25.3105"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="724.5" y="45.8457">Step Generator</text><rect fill="#FEFECE" filter="url(#f1ah111f6ocow
|
||
|
@startuml
|
||
|
participant "Language SDK" order 10
|
||
|
box "Engine"
|
||
|
participant "Resource Monitor" order 15
|
||
|
participant "Step Generator" order 20
|
||
|
participant "Step Executor" order 25
|
||
|
end box
|
||
|
participant "Resource Provider" order 30
|
||
|
|
||
|
"Language SDK" -> "Resource Monitor" ++ : RegisterResourceRequest(type, name, inputs, options)
|
||
|
"Resource Monitor" -> "Step Generator" ++ : RegisterResourceEvent(type, name, inputs, options)
|
||
|
"Step Generator" -> "Resource Provider" ++ : CheckRequest(type, inputs, old inputs)
|
||
|
"Step Generator" <- "Resource Provider" - - : CheckResponse(inputs', failures)
|
||
|
"Step Generator" -> "Resource Provider" ++ : DiffRequest(type, inputs', old state, options)
|
||
|
"Step Generator" <- "Resource Provider" - - : DiffResponse(diffs)
|
||
|
"Step Generator" -> "Step Executor" - -++ : [DeleteStep(old state), CreateStep(inputs', options)]
|
||
|
note left
|
||
|
This is fire-and-forget on the part of the step generator.
|
||
|
The steps will run in parallel with steps for other resources.
|
||
|
end note
|
||
|
"Step Executor" -> "Resource Provider" ++ : DeleteRequest(type, old state)
|
||
|
"Step Executor" <- "Resource Provider" - - : DeleteResponse()
|
||
|
"Step Executor" -> "Resource Provider" ++ : CreateRequest(type, inputs', old state)
|
||
|
"Step Executor" <- "Resource Provider" - - : CreateResponse(new state)
|
||
|
"Resource Monitor" <- "Step Executor" - - : done(new state)
|
||
|
"Language SDK" <- "Resource Monitor" - - : RegisterResourceResponse(urn, ID, new state)
|
||
|
@enduml
|
||
|
|
||
|
PlantUML version 1.2021.9(Sun Jul 25 03:13:56 PDT 2021)
|
||
|
(GPL source distribution)
|
||
|
Java Runtime: OpenJDK Runtime Environment
|
||
|
JVM: OpenJDK 64-Bit Server VM
|
||
|
Default Encoding: UTF-8
|
||
|
Language: en
|
||
|
Country: US
|
||
|
--></g></svg>
|