pulumi/developer-docs/architecture/pulumi-import.uml
Pat Gavlin 3a545de34a
[developer-docs] Document resource import. (#8137)
These changes add a page to the developer docs that describes the design
and implementation of the `import` resource option and the `pulumi
import` command.

Co-authored-by: Levi Blackstone <levi@pulumi.com>
2021-10-07 12:14:37 -07:00

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