-
Notifications
You must be signed in to change notification settings - Fork 249
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
New Pattern: aws-apigateway-stepfunctions #145
Comments
@hnishar I see you assigned me the task & added the pattern to the roadmap. Does this mean I can start working on the implementation according to the proposed design? Or should I wait for explicit confirmation? |
dreamorosi@ Please wait for the confirmation, thank you! |
dreamorosi@ - go ahead on everything that meets the design guidelines. Let's continue to discuss the new properties your proposing (logGroupProps and createCloudWatchAlarms) and the implications on the rest of the library - if we decide to go with them I think they can be added before submitting the PR without the overall effort for them increasing. |
dreamorosi@ - your design is correct, our design guidelines doc missed these props. I will update the DESIGN_GUIDELINES.md file - you can proceed as you defined the construct above. |
I wonder if we should consider:
|
One of the tenets of our design is that Constructs are consistent - once a developer uses a construct they should be able to use other constructs intuitively. While these ideas are pretty good, we need to keep consistency in mind. We've got API Gateway HTTP APIs in our backlog as an additional set of constructs alongside the current API Gateway constructs. We've avoided constructs that can launch different types of resources (eg - we don't pass a flag to decide whether to launch resource type A or resource type B). A second set of constructs would provide access to HTTP APIs and fit within our design tenets. We had not considered Synchronous Workflows to this point, but at first glance it seems that a similar approach would be appropriate here. |
This proposed AWS Solutions Construct implements an Amazon API Gateway REST API connected to an AWS Step Function.
Use Case
Start a new workflow execution directly via HTTP request by passing the request body as input of the workflow.
Proposed Solution
The new Construct will build upon the defaults/implementations that already exist for both components.
Initializer
Pattern Construct Props
api.RestApiProps
boolean
string
states:StartExecution
).logs.LogGroupProps
sfn.StateMachineProps
boolean
Pattern Properties
api.RestApi
iam.Role
iam.Role
logs.LogGroup
sfn.StateMachine
logs.LogGroup
cloudwatch.Alarm[]
Sample API Usage
/
{ "data": "Hello World!" }
states:StartExecution
Default settings
Out of the box implementation of the Construct without any override will set the following defaults:
Amazon API Gateway
AWS Step Function
Architecture
Other
Questions:
logs.LogGroupProps
should this new Construct accept only onelogGroupProps?
or two i.e.ApiGatewaLogGroupProps?
andStepFunctionLogGroupProps?
? For the latter case what is the suggested naming convention?allowStartExecutionOperation
prop is required. Could you clarify what happens if the user sets it tofalse
? If I understand it correctly no method is deployed, is that correct?If the idea is welcome I am happy to implement it.
This is a 🚀 Feature Request
The text was updated successfully, but these errors were encountered: