| An earlier version of the 3rd party module used to call the 2018-04-02 version of the API and convert the "tags" as reported by Azure into a Hash: https://github.com/keirans/azuremetadata/blob/02e18bff84783f11f15cc8f94c0f734fca950fe6/lib/facter/azure_metadata.rb#L22-L23 The module was modified to call a newer version of the API and the tag parsing wasn't preserved. See https://github.com/keirans/azuremetadata/commit/1e5668fba79195a2904dd8ee64391cb208d7ba1f#diff-7c55f6f5e9b2f257c6ea24ca9e84d192f9a2689045474d0ec14f45cf2bf7df85L19-L24 The author explicitly states that this in intentional and 0.2.0 is a breaking change. See https://github.com/keirans/azuremetadata#api-version-pinned-to-2020-06-01
You should use the tagsList value instead which is native functionaly. As a result, 0.2.0 is a breaking change for previous users. This native approach also gracefully handles special characters in tag keys and values unlike previous versions of the module.
For example, from the Azure docs: "The tags field is a string with the tags delimited by semicolons. This output can be a problem if semicolons are used in the tags themselves." Facter 4 does not claim to maintain compatibility with the old version of the module, so the customer should either use the old version of the module or create a separate custom fact to convert the "az_metadata.compute.tagsList" Array into a Hash. |