We are investigating migrating our TF Plugin from SDK v2 to Plugin Framework.
I understand that muxing enables us to migrate resources iteratively such that two plugin providers (old implemented with SDKv2 and new one implemented with Plugin Framework) can co-exist.
I want to get clarity on muxing and Plugin Protocols in terms of our existing end-user impact:
Q1: Let’s say I migrate a resource A from Plugin SDKv2 to Plugin Framework. I assume this requires me to completely remove resource A SDKv2 implementation for end-users to be able to use resource A?
Q2: As part of muxing, if I upgrade from Plugin Protocol version 5 to 6, one impact would be that our existing end-users will be forced to use Terraform version >1.0. Is this correct?
Q3: As part of muxing, if I upgrade from Plugin Protocol version 5 to 6, will there be any impact for our existing users if I choose to not use NestedAttributes in our existing resources? Asking this because I believe the most prevalent difference between the two protocol versions is this additional functionality in terms of impact.
Q4: Are there any end-user impact considerations we should be aware of when choosing to upgrade from Plugin protocol version 5 to 6 or downgrade 6 to 5? Is there any other end user impact overall from the migration that we should be aware of?