projen-statemachine-example
Project description
projen-simple
Build a custom construct based on an AWS Blog post and use projen to publish to 4 language repositories. (Hope Go is coming soon)
Architecture
This library constrcution is referred to this AWS blog.
How to utilize polyglot packages
TypeScript
$ cdk --init language typescript
$ yarn add projen-statemachine-example
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from scotthsieh_projen_statemachine import StateMachineApiGatewayExample
class TypescriptStack(cdk.Stack):
def __init__(self, scope, id, props=None):
super().__init__(scope, id, props)
stage_name = "default"
part_path = "pets"
example_construct = StateMachineApiGatewayExample(self, "KerKer",
stage_name=stage_name, part_path=part_path
)
cdk.CfnOutput(self, "OStateMachine",
value=example_construct.state_machine.state_machine_arn
)
cdk.CfnOutput(self, "OExecutionOutput",
value=example_construct.execution_input, description="Sample input to StartExecution."
)
Python
$ cdk init --language python
$ cat <<EOL > requirements.txt
aws-cdk.core
scotthsieh_projen_statemachine
EOL
$ python -m pip install -r requirements.txt
from aws_cdk import core as cdk
from scotthsieh_projen_statemachine import StateMachineApiGatewayExample
class PythonStack(cdk.Stack):
def __init__(self, scope: cdk.Construct, construct_id: str, **kwargs) -> None:
super().__init__(scope, construct_id, **kwargs)
stage_name = 'default'
part_path = 'pets'
example_construct = StateMachineApiGatewayExample(
self, 'PythonStatemachne', stage_name=stage_name, part_path=part_path,
)
cdk.CfnOutput(self, "OStateMachine",
value=example_construct.state_machine.state_machine_arn
)
cdk.CfnOutput(self, "OExecutionOutput", value=example_construct.execution_input, description="Sample input to StartExecution.")
Java
$ cdk init --language java
.
.
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<custom.construct.version>0.1.20</custom.construct.version>
<cdk.version>1.104.0</cdk.version>
<junit.version>5.7.1</junit.version>
</properties>
.
.
<dependencies>
<!-- AWS Cloud Development Kit -->
.
.
.
<dependency>
<groupId>io.github.hsiehshujeng</groupId>
<artifactId>projen-statemachine</artifactId>
<version>${custom.construct.version}</version>
</dependency>
.
.
.
</dependencies>
package com.myorg;
import software.amazon.awscdk.core.Construct;
import software.amazon.awscdk.core.CfnOutput;
import software.amazon.awscdk.core.CfnOutputProps;
import software.amazon.awscdk.core.Stack;
import software.amazon.awscdk.core.StackProps;
import io.github.hsiehshujeng.projen.statemachine.*;
public class JavaStack extends Stack {
public JavaStack(final Construct scope, final String id) {
this(scope, id, null);
}
public JavaStack(final Construct scope, final String id, final StackProps props) {
super(scope, id, props);
String stageName = "default";
String partPath = "pets";
StateMachineApiGatewayExample exampleConstruct = new StateMachineApiGatewayExample(this, "KerKer",
StateMachineApiGatewayExampleProps.builder().stageName(stageName).partPath(partPath).build());
new CfnOutput(this, "OStateMachine",
CfnOutputProps.builder()
.value(exampleConstruct.getStateMachine().getStateMachineArn()).build());
new CfnOutput(this, "OExecutionOutput", CfnOutputProps.builder()
.value(exampleConstruct.getExecutionInput())
.description("Sample input to StartExecution.").build());
}
}
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file scotthsieh_projen_statemachine-0.1.21.tar.gz
.
File metadata
- Download URL: scotthsieh_projen_statemachine-0.1.21.tar.gz
- Upload date:
- Size: 966.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c866e5e8d1c8dade223d7dfc42dd0708d16f00185362e86a4009e88a0597a7cd |
|
MD5 | 1027db322c7a987d9f9630da72cea7cd |
|
BLAKE2b-256 | 147122ce1e6173db1426205946739ac2e9e5d3d205820464d74cf5b682c02171 |
File details
Details for the file scotthsieh_projen_statemachine-0.1.21-py3-none-any.whl
.
File metadata
- Download URL: scotthsieh_projen_statemachine-0.1.21-py3-none-any.whl
- Upload date:
- Size: 964.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47b5729940e3d5c82d3236b1c792bb03f96c93ea17515875e43276ca0f43a78c |
|
MD5 | f38580cb54d9ff928760b5f8a0e5b332 |
|
BLAKE2b-256 | 68f309c0e9fa5d8a993aa56cb8ba53562296d123de501dc06604725344088aca |