As an example of why this is necessary, imagine the user creates a multicloud rule on an instance but deletes the rule afterwards. Currently, this will not tear down the multicloud infrastructure (it may be used by other rules!). We should implement a cleanup that is either regularly called by the orchestrator or is initiated by the user to remove any costly infrastructure that is not currently being used.
As an example of why this is necessary, imagine the user creates a multicloud rule on an instance but deletes the rule afterwards. Currently, this will not tear down the multicloud infrastructure (it may be used by other rules!). We should implement a cleanup that is either regularly called by the orchestrator or is initiated by the user to remove any costly infrastructure that is not currently being used.