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

Refactor the custom resource provider as proposed in #9 #13

Closed
wants to merge 1 commit into from

Conversation

mindstorms6
Copy link
Contributor

This change makes it such that each custom resource is split into 2 parts

The "resource provider" and instances of the custom resource, that refer to a given provider.

This also for the Lambda backed provider adds the ability to add custom permissions :)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This change makes it such that each custom resource is split into 2 parts

The "resource provider" and instances of the custom resource, that refer to a given provider.

This also for the Lambda backed provider adds the ability to add custom permissions :)
@mindstorms6 mindstorms6 requested review from rix0rrr and eladb June 3, 2018 00:41
@eladb
Copy link
Contributor

eladb commented Jun 3, 2018

I think this is getting closer in terms of "soundness", but I think it's important that adding an instance of the custom resource to one's stack will look and feel like any other construct. We want to encapsulate the fact that this is a custom resource, so that users won't be able to tell.

The reasoning is that 3rd party SaaS providers should be able to vend construct libraries that will expose constructs that represent their SaaS and should behave exactly the same as AWS constructs.

This means that any API we are designing for the classes that support the declaration of custom resources should eventually allow resource authors to provide an API that looks like this:

new Fabulous(this, 'MyFabulous', { /* props */ });

Like any other construct!

To me, this technically means that the singleton lambda must be somehow "hidden" behind this construct.

@eladb
Copy link
Contributor

eladb commented Jun 3, 2018

@mindstorms6, Seems like you are blocked on the ability to add permissions to a lambda upon creation, which is something that I totally think we can add to LambdaProps itself. So feel free to submit a PR that does that and we can exhaust this important discussion about custom resources without blocking you.

@eladb
Copy link
Contributor

eladb commented Jun 5, 2018

Deprecated by #35

@eladb eladb closed this Jun 5, 2018
@mindstorms6 mindstorms6 deleted the dev-brelandm-custom-resoruce branch June 7, 2018 21:06
This was referenced Mar 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants