2020-12-09 15:31:34 +00:00
|
|
|
@startuml
|
2021-08-24 15:07:34 +00:00
|
|
|
driftctl -> Scanner: Resource()
|
2021-08-10 13:53:39 +00:00
|
|
|
hnote across: Enumeration phase
|
2021-08-02 15:01:01 +00:00
|
|
|
Scanner -> Scanner: List Enumerators
|
2020-12-09 15:31:34 +00:00
|
|
|
loop
|
2021-08-02 15:01:01 +00:00
|
|
|
Scanner -> Enumerator: Enumerate()
|
2021-08-24 15:07:34 +00:00
|
|
|
Enumerator -> RemoteSDK: List resources
|
2021-08-02 15:01:01 +00:00
|
|
|
RemoteSDK --> Enumerator: []remoteRes
|
2021-08-24 15:07:34 +00:00
|
|
|
alt optionally retrieve resource needed attributes
|
|
|
|
Enumerator -> RemoteSDK: Retrieve needed attributes
|
2021-08-02 15:01:01 +00:00
|
|
|
RemoteSDK --> Enumerator: Attrs
|
|
|
|
end
|
2021-08-24 15:07:34 +00:00
|
|
|
Enumerator --> Scanner: []Resource with limited attributes
|
2021-08-10 13:53:39 +00:00
|
|
|
end
|
|
|
|
alt if deep mode enabled
|
|
|
|
hnote across: Details fetching phase
|
|
|
|
loop for each enumerated resource
|
2021-08-02 15:01:01 +00:00
|
|
|
Scanner -> DetailsFetcher: ReadDetails(res)
|
|
|
|
DetailsFetcher -> TerraformProvider: ReadResource()
|
|
|
|
TerraformProvider --> DetailsFetcher: CTYValue
|
|
|
|
DetailsFetcher -> Deserializer: Deserialize()
|
|
|
|
Deserializer -> DetailsFetcher: Resource
|
|
|
|
DetailsFetcher -> Scanner: Resource with\nfull attributes
|
2020-12-09 15:31:34 +00:00
|
|
|
end
|
|
|
|
end
|
2021-08-24 15:07:34 +00:00
|
|
|
Scanner --> driftctl: []Resource
|
2021-08-02 15:01:01 +00:00
|
|
|
@enduml
|