28 lines
864 B
Plaintext
28 lines
864 B
Plaintext
@startuml
|
|
driftctl -> Scanner: Resource()
|
|
hnote across: Enumeration phase
|
|
Scanner -> Scanner: List Enumerators
|
|
loop
|
|
Scanner -> Enumerator: Enumerate()
|
|
Enumerator -> RemoteSDK: List resources
|
|
RemoteSDK --> Enumerator: []remoteRes
|
|
alt optionally retrieve resource needed attributes
|
|
Enumerator -> RemoteSDK: Retrieve needed attributes
|
|
RemoteSDK --> Enumerator: Attrs
|
|
end
|
|
Enumerator --> Scanner: []Resource with limited attributes
|
|
end
|
|
alt if deep mode enabled
|
|
hnote across: Details fetching phase
|
|
loop for each enumerated resource
|
|
Scanner -> DetailsFetcher: ReadDetails(res)
|
|
DetailsFetcher -> TerraformProvider: ReadResource()
|
|
TerraformProvider --> DetailsFetcher: CTYValue
|
|
DetailsFetcher -> Deserializer: Deserialize()
|
|
Deserializer -> DetailsFetcher: Resource
|
|
DetailsFetcher -> Scanner: Resource with\nfull attributes
|
|
end
|
|
end
|
|
Scanner --> driftctl: []Resource
|
|
@enduml
|