Does Pulumi have a native Cloudflare provider or j...
# general
b
Does Pulumi have a native Cloudflare provider or just the one derived from Terraform?
m
I don't believe so, but I also don't think a Pulumi-native provider would bring any benefit as long as the TF provider is well-maintained. (Note that since about half a year ago, Pulumi can use any TF provider directly: https://www.pulumi.com/blog/any-terraform-provider/)
b
But then why you created some native providers? What was the benefit in those cases?
I think what Pulumi truly needs is "L2 constructs" equivalent of CDK i.e. higher-level abstractions.
Essentially what you did for AWS provider with awsx: https://github.com/pulumi/pulumi-awsx
It would be nice to have something equivalent for Cloudflare.
Their Terraform provider includes far too many boilerplate fields that need to be filled in repeatedly, even though many—like the account ID—are essentially redundant. Fields like that could be set globally via the provider configuration, with the option to override them if necessary.
m
I'm just a Pulumi user, I can't speak to the company's strategy or history 🙂 If you need it, or believe there's demand, you can create the equivalent of
pulumi-awsx
for Cloudflare. In my experience, higher-level abstractions are really difficult to generalize, it's usually much more efficient to create them internally for a specific infrastructure as it matures.
b
Well, Cloudflare didn't really have a true provider until 5.0.0 and even in 5.0.0 I had to ask for missing stuff that came in 5.1.0 and now there's 5.2.0
So it's still a very recent thing.
I just see myself writing too much boilerplate for properties I think should have sensible defaults I shouldn't need to specify over and over.
m
You can just wrap the resources in Pulumi and set the defaults, e.g., by implementing functions to generate them or by creating component resources. Compared to TF, I find it very convenient.