pulumi/pulumi-cdk

Missing `aws-native:ssm:Parameter`

sam-goodwin opened this issue · 4 comments

What happened?

Any CDK stack using aws_ssm.StringParameter or any other parameter type errors with:

error: Resource type aws-native:ssm:Parameter not found

Expected Behavior

SSM Parameters from the CDK should successfully deploy by being mapped through to the Cloud Control API

Steps to reproduce

Instantiate a https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-ssm.StringParameter.html in a Stack and deploy.

Output of pulumi about

CLI
Version      3.53.1
Go Version   go1.19.5
Go Compiler  gc

Plugins
NAME    VERSION
aws     5.28.0
nodejs  unknown

Host
OS       darwin
Version  13.1
Arch     arm64

This project is written in nodejs: executable='/Users/samgoodwin/.nvm/versions/node/v16.14.2/bin/node' version='v16.14.2'

Current Stack: sam-g/stock-bot/stock-bot

TYPE                 URN
pulumi:pulumi:Stack  urn:pulumi:stock-bot::stock-bot::pulumi:pulumi:Stack::stock-bot-stock-bot


Found no pending operations associated with stock-bot

Backend
Name           pulumi.com
URL            https://app.pulumi.com/sam-g
User           sam-g
Organizations  sam-g

Additional context

No response

Contributing

Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Hey @sam-goodwin, good to see you kicking the tires on our the CDK interop! It looks like we should change the readme to highlight how to address missing mappings.

There are a number of resource types that don't yet have Cloud Control APIs, for those you can use this to map them to aws classic resources manually:

https://github.com/pulumi/pulumi-cdk#remapcloudcontrolresource

It looks like you've already found this though, as I found your library here: https://github.com/sam-goodwin/pulumi-cdk-classic

Are you interested in upstreaming the missing mappings?

Are you interested in upstreaming the missing mappings?

Yep! Was planning to do that soon. My goal with pulumi-cdk-classic was to bypass CC for performance reasons and it just so happened that I also had to patch some gaps. Serverless isn't very well supported it seems.

Would you be interested in up streaming all the mappings (including lambda, for example) or should we keep a clear separation. This library for best effort CC api and classic for an opt-in bypass?

From a user's point of view, they're using a CDK construct in Pulumi, regardless, aws vs aws-native is an implementation detail. If we can close the gaps with aws we should. We'll need to think about how we handle updates though as CC support becomes available for more resources.

@lukehoban does that line up with your thinking?