https://pulumi.com logo
Title
h

helpful-knife-18557

07/15/2021, 4:01 PM
Hi all, I am setting up our IoT infra in aws, and there seems to be quite a bit missing from the pulumi_aws package (provisioning, things group, job template), just making sure I did not miss something?
g

great-sunset-355

07/15/2021, 10:42 PM
pulumi_aws
== https://registry.terraform.io/providers/hashicorp/aws/latest/docs if it's missing in terraform it's missing in pulumi, same goes for API all good and bad things from terraform API are transferred over to pulumi https://www.pulumi.com/docs/reference/pkg/aws/iot/
I did some aws IoT with cdk but even then I had to create custom resources to talk to IoT API because it's not implemented in CloudFormation either. judging from this: https://github.com/hashicorp/terraform-provider-aws/issues/8801 same will be true for terraform and pulumi. I'm guessing you'd need to extend/fork
pulumi_aws
provider yourself. I'd love to see some examples of this myself. Maybe @billowy-army-68599 can nudge us in a good direction.
👀 1
b

billowy-army-68599

07/15/2021, 11:05 PM
you're correct, we bridge the pulumi aws provider from the terraform provider. We're building a native AWS provider but we don't have an ETA yet
if you want to support a resource that isn't supported in the provider, you can either: - ask them to merge the changes upstream, in which case you'll get it in pulumi - use a dynamic provider (example here) https://www.twilio.com/blog/intro-to-infrastructure-as-code-with-twilio-part-1 - build a native provider just for that resource
g

great-sunset-355

07/15/2021, 11:13 PM
I was just reading this example https://github.com/pulumi/examples/tree/master/twilio-ts-component Do I understand correctly that it shows a custom component resource without dynamic provider, simply using SDK to call Twilio API
b

billowy-army-68599

07/15/2021, 11:19 PM
that's not a dynamic provider
h

helpful-knife-18557

07/16/2021, 12:26 AM
I'll look over this tomorrow and reports what i come up with as this is fairly critical for us. Thanks @great-sunset-355 and @billowy-army-68599!
so sounds like Dynamic provider might be the best approach here. At glance it does not sounds too complex. Ill give it shot. So would best practice be to create a provider per missing IoT feature or one larger "aws iot extra" provider?
think i got my answer, one per missing feature
So conclusion, Dynamic provider did do the job pretty well using Boto3 under the cover, pretty simple in the end, well done Pulumi!