driftctl/docs/media/resource.puml

28 lines
864 B
Plaintext
Raw Normal View History

@startuml
2021-08-24 15:07:34 +00:00
driftctl -> Scanner: Resource()
2021-08-10 13:53:39 +00:00
hnote across: Enumeration phase
Scanner -> Scanner: List Enumerators
loop
Scanner -> Enumerator: Enumerate()
2021-08-24 15:07:34 +00:00
Enumerator -> RemoteSDK: List resources
RemoteSDK --> Enumerator: []remoteRes
2021-08-24 15:07:34 +00:00
alt optionally retrieve resource needed attributes
Enumerator -> RemoteSDK: Retrieve needed attributes
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
Scanner -> DetailsFetcher: ReadDetails(res)
DetailsFetcher -> TerraformProvider: ReadResource()
TerraformProvider --> DetailsFetcher: CTYValue
DetailsFetcher -> Deserializer: Deserialize()
Deserializer -> DetailsFetcher: Resource
DetailsFetcher -> Scanner: Resource with\nfull attributes
end
end
2021-08-24 15:07:34 +00:00
Scanner --> driftctl: []Resource
@enduml