This repository has been archived by the owner on Dec 9, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add step functions execution form to library
- Loading branch information
1 parent
2e81d7b
commit 47851fb
Showing
3 changed files
with
77 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
import { extend, extract } from '../../../src/index.js' | ||
|
||
export default [extend('presets/base/typescript-cdk'), extract()] |
25 changes: 25 additions & 0 deletions
25
presets/library/step-functions-execution-form/templates/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<p align="center"> | ||
<a href="https://buttonize.io"> | ||
<img width="350" alt="Buttonize.io" src="https://user-images.githubusercontent.com/6282843/212024942-9fd50774-ea26-48ba-b2cf-ca2584498c9a.png"> | ||
</a> | ||
</p> | ||
|
||
--- | ||
|
||
## StepFunctions Execution Form | ||
|
||
[![StepFunctions Execution Form](https://github.com/buttonize/create-buttonize/assets/6282843/c3a40e5f-ed7b-4561-8e0f-375fcde9ef52)](https://buttonize.io/library/step-functions-execution-form) | ||
|
||
Learn more about StepFunctions Execution Form Construct [here](https://buttonize.io/library/step-functions-execution-form). | ||
|
||
## CDK | ||
|
||
The `cdk.json` file tells the CDK Toolkit how to execute your app. | ||
|
||
### Useful commands | ||
|
||
* `npm run build` compile typescript to js | ||
* `npm run watch` watch for changes and compile | ||
* `npx cdk deploy` deploy this stack to your default AWS account/region | ||
* `npx cdk diff` compare deployed stack with current state | ||
* `npx cdk synth` emits the synthesized CloudFormation template |
49 changes: 49 additions & 0 deletions
49
presets/library/step-functions-execution-form/templates/lib/example-stack.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
import * as cdk from 'aws-cdk-lib' | ||
import { Pass, StateMachine } from 'aws-cdk-lib/aws-stepfunctions' | ||
import { Buttonize, Input } from 'buttonize/cdk' | ||
import { StepFunctionsExecutionForm } from 'buttonize/library' | ||
import { Construct } from 'constructs' | ||
|
||
export class ExampleStack extends cdk.Stack { | ||
constructor(scope: Construct, id: string, props?: cdk.StackProps) { | ||
super(scope, id, props) | ||
|
||
Buttonize.init(this, { | ||
apiKey: '@@apiKey' | ||
}) | ||
|
||
const stateMachine = new StateMachine(this, 'StateMachine', { | ||
definition: new Pass(this, 'PassTest') | ||
}) | ||
|
||
new StepFunctionsExecutionForm(this, 'ExecutionForm', { | ||
name: 'Product cache invalidation panel', | ||
description: | ||
'Trigger invalidation of a product in all the caches in the in the company systems', | ||
stateMachine, | ||
submitButtonLabel: 'Invalidate', | ||
fields: [ | ||
Input.text({ | ||
id: 'id', | ||
label: 'Product ID' | ||
}), | ||
Input.select({ | ||
id: 'reason', | ||
options: [ | ||
{ label: 'New manual update', value: 'manual_update' }, | ||
{ label: 'System bug', value: 'bug' } | ||
] | ||
}) | ||
], | ||
executionInput: { | ||
operation: 'invalidate', | ||
product: { | ||
pid: '{{id}}' | ||
}, | ||
metadata: { | ||
reasonStatement: '{{reason.value}}' | ||
} | ||
} | ||
}) | ||
} | ||
} |