pulumi/developer-docs/architecture/pulumi-import.svg

38 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="545px" preserveAspectRatio="none" style="width:1224px;height:545px;background:#FFFFFF;" version="1.1" viewBox="0 0 1224 545" width="1224px" zoomAndPan="magnify"><defs><filter height="300%" id="f190crdgwhoxlj" 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="533.6348" style="stroke:#A80036;stroke-width:1.0;" width="308" x="563" y="6"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="47" x="693.5" y="18.5684">Engine</text><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="286.5" y="395.2148"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="453" y="453.8359"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="34.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="616.5" y="92.1094"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="210.1738" style="stroke:#A80036;stroke-width:1.0;" width="10" x="805.5" y="126.4199"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="1138.5" y="160.7305"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="1138.5" y="219.3516"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="1138.5" y="277.9727"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="109" x2="109" y1="60.7988" y2="501.1465"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="291" x2="291" y1="60.7988" y2="501.1465"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="458" x2="458" y1="60.7988" y2="501.1465"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="621" x2="621" y1="60.7988" y2="501.1465"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="810" x2="810" y1="60.7988" y2="501.1465"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1143.5" x2="1143.5" y1="60.7988" y2="501.1465"/><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="205" x="5" y="25.3105"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="191" x="12" y="45.8457">`pulumi import` Command</text><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="205" x="5" y="500.1465"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="191" x="12" y="520.6816">`pulumi import` Command</text><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="111" x="234" y="25.3105"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97" x="241" y="45.8457">PCL Converter</text><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="111" x="234" y="500.1465"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97" x="241" y="520.6816">PCL Converter</text><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="194" x="359" y="25.3105"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="180" x="366" y="45.8457">Language Code Generator</text><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="194" x="359" y="500.1465"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="180" x="366" y="520.6816">Language Code Generator</text><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="105" x="567" y="25.3105"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="91" x="574" y="45.8457">Import Driver</text><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="105" x="567" y="500.1465"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="91" x="574" y="520.6816">Import Driver</text><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="109" x="754" y="25.3105"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="761" y="45.8457">Step Executor</text><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="109" x="754" y="500.1465"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95" x="761" y="520.6816">Step Executor</text><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="138" x="1072.5" y="25.3105"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="1079.5" y="45.8457">Resource Provider</text><rect fill="#FEFECE" filter="url(#f190crdgwhoxlj)" height="30.4883" style="stroke:#A80036;stroke-width:1.5;" width="138" x="1072.5" y="500.1465"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="1079.5" y="520.6816">Resource Provider</text><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="286.5" y="395.2148"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="453" y="453.8359"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="34.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="616.5" y="92.1094"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="210.1738" style="stroke:#A80036;stroke-width:1.0;" width="10" x="805.5" y="126.4199"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="1138.5" y="160.7305"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="1138.5" y="219.3516"/><rect fill="#FFFFFF" filter="url(#f190crdgwhoxlj)" height="29.3105" style="stroke:#A80036;stroke-width:1.0;" width="10" x="1138.5" y="277.9727"/><polygon fill="#A80036" points="604.5,88.1094,614.5,92.1094,604.5,96.1094,608.5,92.1094" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="109.5" x2="610.5" y1="92.1094" y2="92.1094"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="178" x="116.5" y="87.3672">engine.Import(import specs)</text><polygon fill="#A80036" points="793.5,122.4199,803.5,126.4199,793.5,130.4199,797.5,126.4199" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="621.5" x2="799.5" y1="126.4199" y2="126.4199"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="160" x="628.5" y="121.6777">[]ImportStep(import spec)</text><path d="M436,105.1094 L436,130.1094 L607,130.1094 L607,115.1094 L597,105.1094 L436,105.1094 " fill="#FBFB77" filter="url(#f190crdgwhoxlj)" style="stroke:#A80036;stroke-width:1.0;"/><path d="M597,105.1094 L597,115.1094 L607,115.1094 L597,105.1094 " fill="#FBFB77" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="150" x="442" y="122.6777">All steps run in parallel.</text><polygon fill="#A80036" points="1126.5,156.7305,1136.5,160.7305,1126.5,164.7305,1130.5,160.7305" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="815.5" x2="1132.5" y1="160.7305" y2="160.7305"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="135" x="822.5" y="155.9883">ReadRequest(type, id)</text><polygon fill="#A80036" points="826.5,186.041,816.5,190.041,826.5,194.041,822.5,190.041" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="820.5" x2="1142.5" y1="190.041" y2="190.041"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="275" x="832.5" y="185.2988">ReadResponse(current inputs, current state)</text><polygon fill="#A80036" points="1126.5,215.3516,1136.5,219.3516,1126.5,223.3516,1130.5,219.3516" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="815.5" x2="1132.5" y1="219.3516" y2="219.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="269" x="822.5" y="214.6094">CheckRequest(type, inputs, current inputs)</text><polygon fill="#A80036" points="826.5,244.6621,816.5,248.6621,826.5,252.6621,822.5,248.6621" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="820.5" x2="1142.5" y1="248.6621" y2="248.6621"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="205" x="832.5" y="243.9199">CheckResponse(inputs', failures)</text><polygon fill="#A80036" points="1126.5,273.9727,1136.5,277.9727,1126.5,281.9727,1130.5,277.9727" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="815.5" x2="1132.5" y1="277.9727" y2="277.9727"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="304" x="822.5" y="273.2305">DiffRequest(type, inputs', current state, options)</text><polygon fill="#A80036" points="826.5,303.2832,816.5,307.2832,826.5,311.2832,822.5,307.2832" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="820.5" x2="1142.5" y1="307.2832" y2="307.2832"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="121" x="832.5" y="302.541">DiffResponse(diffs)</text><polygon fill="#A80036" points="632.5,332.5938,622.5,336.5938,632.5,340.5938,628.5,336.5938" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="626.5" x2="809.5" y1="336.5938" y2="336.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="126" x="638.5" y="331.8516">done(current states)</text><polygon fill="#A80036" points="120.5,361.9043,110.5,365.9043,120.5,369.9043,116.5,365.9043" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="114.5" x2="620.5" y1="365.9043" y2="365.9043"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="126" x="126.5" y="361.1621">done(current states)</text><polygon fill="#A80036" points="274.5,391.2148,284.5,395.2148,274.5,399.2148,278.5,395.2148" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="109.5" x2="280.5" y1="395.2148" y2="395.2148"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="142" x="116.5" y="390.4727">convert(current states)</text><polygon fill="#A80036" points="120.5,420.5254,110.5,424.5254,120.5,428.5254,116.5,424.5254" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="114.5" x2="290.5" y1="424.5254" y2="424.5254"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="153" x="126.5" y="419.7832">PCL resource definitions</text><polygon fill="#A80036" points="441,449.8359,451,453.8359,441,457.8359,445,453.8359" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="109.5" x2="447" y1="453.8359" y2="453.8359"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="267" x="116.5" y="449.0938">generateProgram(PCL resource definitions)</text><polygon fill="#A80036" points="120.5,479.1465,110.5,483.1465,120.5,487.1465,116.5,483.1465" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="114.5" x2="457" y1="483.1465" y2="483.1465"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="193" x="126.5" y="478.4043">Generated resource definitions</text><!--MD5=[ac683baf956ba0da9291aa462ec5d2d3]
@startuml
participant "`pulumi import` Command" order 10
participant "PCL Converter" order 13
participant "Language Code Generator" order 16
box "Engine"
participant "Import Driver" order 20
participant "Step Executor" order 25
end box
participant "Resource Provider" order 30
"`pulumi import` Command" -> "Import Driver" ++ : engine.Import(import specs)
"Import Driver" -> "Step Executor" - -++ : []ImportStep(import spec)
note left
All steps run in parallel.
end note
"Step Executor" -> "Resource Provider" ++ : ReadRequest(type, id)
"Step Executor" <- "Resource Provider" - - : ReadResponse(current inputs, current state)
"Step Executor" -> "Resource Provider" ++ : CheckRequest(type, inputs, current inputs)
"Step Executor" <- "Resource Provider" - - : CheckResponse(inputs', failures)
"Step Executor" -> "Resource Provider" ++ : DiffRequest(type, inputs', current state, options)
"Step Executor" <- "Resource Provider" - - : DiffResponse(diffs)
"Import Driver" <- "Step Executor" - - : done(current states)
"`pulumi import` Command" <- "Import Driver" - - : done(current states)
"`pulumi import` Command" -> "PCL Converter" ++ : convert(current states)
"`pulumi import` Command" <- "PCL Converter" - - : PCL resource definitions
"`pulumi import` Command" -> "Language Code Generator" ++ : generateProgram(PCL resource definitions)
"`pulumi import` Command" <- "Language Code Generator" - - : Generated resource definitions
@enduml
PlantUML version 1.2021.10(Mon Aug 30 06:43:48 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>