Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

On-Demand CFN Resource Generator #87

Closed
1 of 10 tasks
workeitel opened this issue Dec 9, 2019 · 2 comments
Closed
1 of 10 tasks

On-Demand CFN Resource Generator #87

workeitel opened this issue Dec 9, 2019 · 2 comments
Assignees
Labels
effort/medium Reasonable effort required for implementation

Comments

@workeitel
Copy link

workeitel commented Dec 9, 2019

PR Champion
#

Description

Allow generating "CFN resources" (L1s) on-demand for any CloudFormation resource, including all resources published to the CloudFormation Resource Registry.

Spaces:

  • Terraform
  • Kubernetes
  • F5

Progress

  • Tracking Issue Created
  • RFC PR Created
  • Core Team Member Assigned
  • Initial Approval / Final Comment Period
  • Ready For Implementation
    • implementation issue 1
  • Resolved
@eladb eladb transferred this issue from aws/aws-cdk Jan 23, 2020
@eladb eladb added the effort/medium Reasonable effort required for implementation label Jan 23, 2020
@eladb
Copy link
Contributor

eladb commented Feb 3, 2020

@workeitel wrote:

Use Case

So far cfn2ts tool was only used for generating L1 TS files for the CloudFormation resource specification. The cfn2ts tool is hardcoded to use the cfnspec package which has all resources checked in: https://github.com/aws/aws-cdk/blob/master/tools/cfn2ts/lib/index.ts#L1

With the latest launch of CloudFormation resource registry: https://aws.amazon.com/blogs/aws/cloudformation-update-cli-third-party-resource-support-registry/ everybody can build own CloudFormation resources (not only custom resources as before). That includes multiple steps including defining a Resource Provider Schema ( != resource specification )

Proposed Solution

The perfect scenario would be if

  1. cfn2ts understands the resource provider schema and I can generate L1 constructs directly based on it
  2. OR CloudFormation supports generating resource specification out of the resource provider schema and I can use then cfn2ts to generate L1 constructs.

Because both solutions most likely require more time I would like to see a better way of triggering cfn2ts in the meanwhile.

What works today:

  1. I write manually/generate with a custom tool a resource specification out of my resource provider schema
  2. I checkout the cdk repo since cfn2ts is not published on npm.
  3. Manually patch this line to point to my own resource specification: https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/cfnspec/lib/index.ts#L9
  4. run cfn2ts to get my L1

Other

I suggest:

  1. something like cfn2ts --cfnspec-path ../myresource.json to override the path to the CloudFormation spec.
  2. Publishing cfn2ts as a own npm package for easier consumption.

@eladb eladb changed the title Make cfn2ts usable for third party resources and customer managed resources On-Demand CFN Resource Generator Feb 3, 2020
@eladb eladb added the status/proposed Newly proposed RFC label Feb 3, 2020
@eladb
Copy link
Contributor

eladb commented Jul 1, 2020

Dup #77

@eladb eladb removed the status/proposed Newly proposed RFC label Jul 1, 2020
@eladb eladb closed this as completed Jul 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort/medium Reasonable effort required for implementation
Projects
None yet
Development

No branches or pull requests

2 participants