I ran into an interesting issue with the UltraDNS provider when attempting to implement a resource import func. The composite resource id,
OwnerName.Name, uses a period to separate the constituent parts, e.g.,
Shiny-app.domain.com (OwnerName) and
domain.com (Name). Since the period character appears multiple other times in the resource id (a total of four), this complicates parsing the OwnerName vs. Name properties in a safe manner.
In addition, the composite resource id does not include another necessary data element,
Type that simplifies the initial read request made after import.
I’m curious if there are any recommended best practices or strategies for migrating the format of a resource id, either explicitly or in the background:
tf migrate ultradns_record.e_imo_com
tf apply and perform “read-repair” to check if resource id uses legacy or new format and updating to new if necessary
Are there other recommendations or strategies I might be missing, i.e., define an entirely new resource?