2.0.473 • Published 14 days ago

projen-statemachine-example v2.0.473

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
14 days ago

projen-simple

License Release npm downloads pypi downloads NuGet downloads repo languages

npm (JS/TS)PyPI (Python)Maven (Java)GoNuGet
LinkLinkLinkLinkLink

Build a custom construct based on an example in an AWS Blog post and use projen to publish to 5 language repositories, i.e., npm, PyPI, Central Maven, NuGet, and Go.

Architecture

This library constrcution is referred to the first example in this AWS blog, Introducing Amazon API Gateway service integration for AWS Step Functions written by Benjanmin Smith. After you deploy the stack with whatever programming language you like, i.e., Typescript, Python, Java, or C sharp, you'll get a view similar to the following diagram:
image

How to utilize polyglot packages and deploy

TypeScript

$ cdk --init language typescript
$ yarn add projen-statemachine-example
import { StateMachineApiGatewayExample } from 'projen-statemachine-example';

 export class TypescriptStack extends cdk.Stack {
 constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
     super(scope, id, props);

     const stageName = 'default';
     const partPath = 'pets';
     const exampleConstruct = new StateMachineApiGatewayExample(this, 'KerKer', {
         stageName: stageName, partPath: partPath});

     new cdk.CfnOutput(this, 'OStateMachine', {
         value: exampleConstruct.stateMachine.stateMachineArn});
     new cdk.CfnOutput(this, 'OExecutionOutput', {
         value: exampleConstruct.executionInput, 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
$ mvn package
.
.
<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());
     }
 }

C

$ cdk init --language csharp
$ dotnet add src/Csharp package Projen.Statemachine --version 0.1.21
using Amazon.CDK;
using ScottHsieh.Examples;

namespace Csharp
{
    public class CsharpStack : Stack
    {
        internal CsharpStack(Construct scope, string id, IStackProps props = null) : base(scope, id, props)
        {
            string stageName = "default";
            string partPath = "pets";
            
            var exampleConstruct = new StateMachineApiGatewayExample(this, "KerKer", new StateMachineApiGatewayExampleProps
            {
                StageName = stageName,
                PartPath = partPath
            });
            
            new CfnOutput(this, "OStateMachine", new CfnOutputProps
            {
                Value = exampleConstruct.StateMachine.StateMachineArn
            });
            new CfnOutput(this, "OExecutionOutput", new CfnOutputProps
            {
                Value = exampleConstruct.ExecutionInput,
                Description = "Sample input to StartExecution."
            });
        }
    }
 }

References

2.0.473

14 days ago

2.0.472

15 days ago

2.0.471

16 days ago

2.0.470

17 days ago

2.0.469

18 days ago

2.0.468

19 days ago

2.0.467

20 days ago

2.0.466

21 days ago

2.0.465

22 days ago

2.0.464

23 days ago

2.0.463

24 days ago

2.0.462

25 days ago

2.0.461

27 days ago

2.0.460

29 days ago

2.0.459

30 days ago

2.0.458

1 month ago

2.0.457

1 month ago

2.0.456

1 month ago

2.0.455

1 month ago

2.0.454

1 month ago

2.0.453

1 month ago

2.0.452

1 month ago

2.0.451

1 month ago

2.0.450

1 month ago

2.0.449

1 month ago

2.0.448

1 month ago

2.0.447

1 month ago

2.0.446

1 month ago

2.0.445

1 month ago

2.0.444

2 months ago

2.0.443

2 months ago

2.0.442

2 months ago

2.0.441

2 months ago

2.0.440

2 months ago

2.0.438

2 months ago

2.0.439

2 months ago

2.0.437

2 months ago

2.0.436

2 months ago

2.0.435

2 months ago

2.0.434

2 months ago

2.0.433

2 months ago

2.0.432

2 months ago

2.0.431

2 months ago

2.0.430

2 months ago

2.0.429

2 months ago

2.0.428

2 months ago

2.0.427

2 months ago

2.0.426

2 months ago

2.0.425

2 months ago

2.0.424

2 months ago

2.0.423

2 months ago

2.0.422

2 months ago

2.0.421

2 months ago

2.0.420

2 months ago

2.0.419

2 months ago

2.0.418

2 months ago

2.0.417

3 months ago

2.0.416

3 months ago

2.0.415

3 months ago

2.0.414

3 months ago

2.0.413

3 months ago

2.0.412

3 months ago

2.0.411

3 months ago

2.0.409

3 months ago

2.0.408

3 months ago

2.0.410

3 months ago

2.0.407

3 months ago

2.0.406

3 months ago

2.0.405

3 months ago

2.0.404

3 months ago

2.0.403

3 months ago

2.0.402

3 months ago

2.0.401

3 months ago

2.0.400

3 months ago

2.0.399

3 months ago

2.0.398

3 months ago

2.0.397

3 months ago

2.0.396

3 months ago

2.0.395

3 months ago

2.0.394

3 months ago

2.0.393

4 months ago

2.0.392

4 months ago

2.0.391

4 months ago

2.0.390

4 months ago

2.0.389

4 months ago

2.0.388

4 months ago

2.0.387

4 months ago

2.0.386

4 months ago

2.0.385

4 months ago

2.0.384

4 months ago

2.0.383

4 months ago

2.0.382

4 months ago

2.0.381

4 months ago

2.0.380

4 months ago

2.0.379

4 months ago

2.0.378

4 months ago

2.0.377

4 months ago

2.0.376

4 months ago

2.0.375

4 months ago

2.0.374

4 months ago

2.0.373

4 months ago

2.0.372

4 months ago

2.0.371

4 months ago

2.0.370

4 months ago

2.0.369

4 months ago

2.0.368

4 months ago

2.0.367

5 months ago

2.0.366

5 months ago

2.0.365

5 months ago

2.0.364

5 months ago

2.0.363

5 months ago

2.0.362

5 months ago

2.0.361

5 months ago

2.0.359

5 months ago

2.0.360

5 months ago

2.0.358

5 months ago

2.0.357

5 months ago

2.0.356

5 months ago

2.0.355

5 months ago

2.0.354

5 months ago

2.0.353

5 months ago

2.0.352

5 months ago

2.0.306

7 months ago

2.0.305

7 months ago

2.0.304

7 months ago

2.0.303

7 months ago

2.0.302

7 months ago

2.0.301

7 months ago

2.0.300

7 months ago

2.0.290

7 months ago

2.0.299

7 months ago

2.0.298

7 months ago

2.0.297

7 months ago

2.0.296

7 months ago

2.0.295

7 months ago

2.0.294

7 months ago

2.0.293

7 months ago

2.0.292

7 months ago

2.0.291

7 months ago

2.0.289

7 months ago

2.0.288

7 months ago

2.0.351

5 months ago

2.0.350

5 months ago

2.0.329

6 months ago

2.0.339

6 months ago

2.0.338

6 months ago

2.0.337

6 months ago

2.0.336

6 months ago

2.0.335

6 months ago

2.0.334

6 months ago

2.0.333

6 months ago

2.0.332

6 months ago

2.0.331

6 months ago

2.0.330

6 months ago

2.0.349

5 months ago

2.0.348

5 months ago

2.0.347

5 months ago

2.0.346

5 months ago

2.0.345

5 months ago

2.0.344

6 months ago

2.0.343

6 months ago

2.0.342

6 months ago

2.0.341

6 months ago

2.0.340

6 months ago

2.0.309

7 months ago

2.0.308

7 months ago

2.0.307

7 months ago

2.0.317

6 months ago

2.0.316

6 months ago

2.0.315

7 months ago

2.0.314

7 months ago

2.0.313

7 months ago

2.0.312

7 months ago

2.0.311

7 months ago

2.0.310

7 months ago

2.0.319

6 months ago

2.0.318

6 months ago

2.0.328

6 months ago

2.0.327

6 months ago

2.0.326

6 months ago

2.0.325

6 months ago

2.0.324

6 months ago

2.0.323

6 months ago

2.0.322

6 months ago

2.0.321

6 months ago

2.0.320

6 months ago

2.0.279

8 months ago

2.0.278

8 months ago

2.0.277

8 months ago

2.0.276

8 months ago

2.0.275

8 months ago

2.0.274

8 months ago

2.0.273

8 months ago

2.0.272

8 months ago

2.0.271

8 months ago

2.0.270

8 months ago

2.0.287

7 months ago

2.0.286

7 months ago

2.0.284

8 months ago

2.0.283

8 months ago

2.0.282

8 months ago

2.0.281

8 months ago

2.0.280

8 months ago

2.0.269

8 months ago

2.0.268

8 months ago

2.0.267

8 months ago

2.0.191

11 months ago

2.0.190

11 months ago

2.0.199

10 months ago

2.0.198

10 months ago

2.0.197

10 months ago

2.0.196

11 months ago

2.0.195

11 months ago

2.0.194

11 months ago

2.0.193

11 months ago

2.0.192

11 months ago

2.0.179

11 months ago

2.0.178

11 months ago

2.0.177

11 months ago

2.0.176

11 months ago

2.0.175

11 months ago

2.0.174

11 months ago

2.0.173

11 months ago

2.0.172

11 months ago

2.0.171

11 months ago

2.0.170

11 months ago

2.0.180

11 months ago

2.0.189

11 months ago

2.0.188

11 months ago

2.0.187

11 months ago

2.0.186

11 months ago

2.0.185

11 months ago

2.0.184

11 months ago

2.0.183

11 months ago

2.0.182

11 months ago

2.0.181

11 months ago

2.0.159

12 months ago

2.0.158

12 months ago

2.0.157

12 months ago

2.0.169

11 months ago

2.0.168

11 months ago

2.0.167

11 months ago

2.0.166

12 months ago

2.0.165

12 months ago

2.0.164

12 months ago

2.0.163

12 months ago

2.0.162

12 months ago

2.0.161

12 months ago

2.0.160

12 months ago

2.0.259

8 months ago

2.0.258

8 months ago

2.0.257

8 months ago

2.0.256

9 months ago

2.0.255

9 months ago

2.0.254

9 months ago

2.0.253

9 months ago

2.0.252

9 months ago

2.0.251

9 months ago

2.0.250

9 months ago

2.0.266

8 months ago

2.0.265

8 months ago

2.0.264

8 months ago

2.0.263

8 months ago

2.0.262

8 months ago

2.0.261

8 months ago

2.0.260

8 months ago

2.0.239

9 months ago

2.0.238

9 months ago

2.0.237

9 months ago

2.0.236

9 months ago

2.0.235

9 months ago

2.0.234

9 months ago

2.0.233

9 months ago

2.0.232

9 months ago

2.0.231

9 months ago

2.0.230

9 months ago

2.0.249

9 months ago

2.0.248

9 months ago

2.0.247

9 months ago

2.0.246

9 months ago

2.0.245

9 months ago

2.0.244

9 months ago

2.0.243

9 months ago

2.0.242

9 months ago

2.0.241

9 months ago

2.0.240

9 months ago

2.0.209

10 months ago

2.0.208

10 months ago

2.0.218

10 months ago

2.0.217

10 months ago

2.0.216

10 months ago

2.0.215

10 months ago

2.0.214

10 months ago

2.0.213

10 months ago

2.0.212

10 months ago

2.0.211

10 months ago

2.0.210

10 months ago

2.0.219

10 months ago

2.0.229

9 months ago

2.0.228

9 months ago

2.0.227

9 months ago

2.0.226

10 months ago

2.0.225

10 months ago

2.0.224

10 months ago

2.0.223

10 months ago

2.0.222

10 months ago

2.0.221

10 months ago

2.0.220

10 months ago

2.0.207

10 months ago

2.0.206

10 months ago

2.0.205

10 months ago

2.0.204

10 months ago

2.0.203

10 months ago

2.0.202

10 months ago

2.0.201

10 months ago

2.0.200

10 months ago

2.0.139

1 year ago

2.0.138

1 year ago

2.0.137

1 year ago

2.0.136

1 year ago

2.0.135

1 year ago

2.0.134

1 year ago

2.0.133

1 year ago

2.0.132

1 year ago

2.0.131

1 year ago

2.0.130

1 year ago

2.0.149

12 months ago

2.0.148

1 year ago

2.0.147

1 year ago

2.0.146

1 year ago

2.0.145

1 year ago

2.0.144

1 year ago

2.0.143

1 year ago

2.0.142

1 year ago

2.0.141

1 year ago

2.0.140

1 year ago

2.0.119

1 year ago

2.0.118

1 year ago

2.0.129

1 year ago

2.0.128

1 year ago

2.0.127

1 year ago

2.0.126

1 year ago

2.0.125

1 year ago

2.0.124

1 year ago

2.0.123

1 year ago

2.0.122

1 year ago

2.0.121

1 year ago

2.0.120

1 year ago

2.0.156

12 months ago

2.0.155

12 months ago

2.0.154

12 months ago

2.0.153

12 months ago

2.0.152

12 months ago

2.0.151

12 months ago

2.0.150

12 months ago

2.0.109

1 year ago

2.0.117

1 year ago

2.0.116

1 year ago

2.0.115

1 year ago

2.0.114

1 year ago

2.0.113

1 year ago

2.0.112

1 year ago

2.0.111

1 year ago

2.0.110

1 year ago

2.0.79

2 years ago

2.0.77

2 years ago

2.0.78

2 years ago

2.0.75

2 years ago

2.0.76

2 years ago

2.0.73

2 years ago

2.0.74

2 years ago

2.0.108

2 years ago

2.0.107

2 years ago

2.0.106

2 years ago

2.0.105

2 years ago

2.0.104

2 years ago

2.0.88

2 years ago

2.0.103

2 years ago

2.0.89

2 years ago

2.0.102

2 years ago

2.0.86

2 years ago

2.0.101

2 years ago

2.0.87

2 years ago

2.0.100

2 years ago

2.0.84

2 years ago

2.0.85

2 years ago

2.0.82

2 years ago

2.0.83

2 years ago

2.0.80

2 years ago

2.0.81

2 years ago

2.0.99

2 years ago

2.0.97

2 years ago

2.0.98

2 years ago

2.0.95

2 years ago

2.0.96

2 years ago

2.0.93

2 years ago

2.0.94

2 years ago

2.0.91

2 years ago

2.0.92

2 years ago

2.0.90

2 years ago

2.0.28

2 years ago

2.0.29

2 years ago

2.0.37

2 years ago

2.0.3

2 years ago

2.0.38

2 years ago

2.0.2

2 years ago

2.0.35

2 years ago

2.0.5

2 years ago

2.0.36

2 years ago

2.0.4

2 years ago

2.0.33

2 years ago

2.0.7

2 years ago

2.0.34

2 years ago

2.0.6

2 years ago

2.0.31

2 years ago

2.0.9

2 years ago

2.0.32

2 years ago

2.0.8

2 years ago

2.0.30

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

2.0.39

2 years ago

2.0.48

2 years ago

2.0.49

2 years ago

2.0.46

2 years ago

2.0.47

2 years ago

2.0.44

2 years ago

2.0.45

2 years ago

2.0.42

2 years ago

2.0.43

2 years ago

2.0.40

2 years ago

2.0.41

2 years ago

2.0.59

2 years ago

2.0.57

2 years ago

2.0.58

2 years ago

2.0.55

2 years ago

2.0.56

2 years ago

2.0.53

2 years ago

2.0.54

2 years ago

2.0.51

2 years ago

2.0.52

2 years ago

2.0.50

2 years ago

2.0.68

2 years ago

2.0.69

2 years ago

2.0.66

2 years ago

2.0.67

2 years ago

2.0.64

2 years ago

2.0.65

2 years ago

2.0.62

2 years ago

2.0.63

2 years ago

2.0.60

2 years ago

2.0.61

2 years ago

2.0.71

2 years ago

2.0.72

2 years ago

2.0.70

2 years ago

2.0.15

2 years ago

2.0.16

2 years ago

2.0.13

2 years ago

2.0.14

2 years ago

2.0.11

2 years ago

2.0.12

2 years ago

2.0.10

2 years ago

2.0.19

2 years ago

2.0.17

2 years ago

2.0.18

2 years ago

2.0.26

2 years ago

2.0.27

2 years ago

2.0.24

2 years ago

2.0.25

2 years ago

2.0.22

2 years ago

2.0.23

2 years ago

2.0.20

2 years ago

2.0.21

2 years ago

0.1.48

3 years ago

0.1.47

3 years ago

0.1.46

3 years ago

0.1.45

3 years ago

0.1.43

3 years ago

0.1.44

3 years ago

0.1.42

3 years ago

0.1.41

3 years ago

0.1.40

3 years ago

0.1.39

3 years ago

0.1.37

3 years ago

0.1.38

3 years ago

0.1.35

3 years ago

0.1.36

3 years ago

0.1.33

3 years ago

0.1.34

3 years ago

0.1.32

3 years ago

0.1.31

3 years ago

0.1.30

3 years ago

0.1.29

3 years ago

0.1.2

3 years ago

0.1.28

3 years ago

0.1.27

3 years ago

0.1.26

3 years ago

0.1.25

3 years ago

0.1.24

3 years ago

0.1.21

3 years ago

0.1.20

3 years ago

0.1.19

3 years ago

0.1.18

3 years ago

0.1.16

3 years ago