Since dynamic providers are not supported in Go, what is the appropriate workaround when you need to implement a new provider? In particular, I'm looking to create a new provider in order to update GoDaddy domain nameservers. I see that in this doc there is reference to a third type of provider that you can write yourself and share. Are there any examples on how to implement one of these providers?
The component resource approach seems to have some downsides - namely I seem to only be able to manage creating a resource and not the update/delete cycles like you can with a dynamic provider
g
green-musician-49057
08/31/2021, 8:51 PM
@purple-jelly-68780 What solution did you end up going with for this?
p
purple-jelly-68780
08/31/2021, 8:54 PM
@green-musician-49057 I wasn't able to use Go for this without a lot of extra effort to build out a custom provider, so I implemented the dynamic provider in JS. I didn't have a lot of time to invest in this piece of the project unfortunately. Here's the dynamic provider in JS if you're interested: https://github.com/cwinters8/pulumi-aws-godaddy-dns/blob/main/providers/godaddy.js
Ah yep too bad it couldn't be done (quickly) in Go, but your solution doesn't look bad at all! We're looking to encapsulate some custom tooling with a custom provider, so it's good to see some real examples
p
purple-jelly-68780
08/31/2021, 9:05 PM
Yeah it was fairly simple to do in JS. I really like the concept of the dynamic providers, just wish they were supported in Go projects. The big downside of the implementation is that now I have two different stacks I have to spin up. But that's a tradeoff I was willing to make for the time savings