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

29 lines
1.4 KiB
Plaintext

@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