From f4829ba1af3643a8b42bb74af9dfa8207d383da3 Mon Sep 17 00:00:00 2001
From: mickychetta <45010053+mickychetta@users.noreply.github.com>
Date: Tue, 10 May 2022 05:36:36 -0700
Subject: [PATCH] feat(aws-fargate-stepfunctions): new construct (#677)
* created README.md
* removed arn env var prop and fixed state machine doc comments
* made createCloudWatchAlarms prop optional
* created new construct
* fixed README typo
* refactored test to single concept design
* updated default for vpcProps
---
DESIGN_GUIDELINES.md | 4 +-
.../aws-fargate-stepfunctions/.eslintignore | 4 +
.../aws-fargate-stepfunctions/.gitignore | 15 +
.../aws-fargate-stepfunctions/.npmignore | 21 +
.../aws-fargate-stepfunctions/README.md | 141 ++
.../architecture.png | Bin 0 -> 187339 bytes
.../aws-fargate-stepfunctions/lib/index.ts | 187 +++
.../aws-fargate-stepfunctions/package.json | 110 ++
.../test/fargate-stepfunctions.test.ts | 313 ++++
.../test/integ.new-resources.expected.json | 1355 +++++++++++++++++
.../test/integ.new-resources.ts | 59 +
.../integ.no-cloudwatch-alarms.expected.json | 1292 ++++++++++++++++
.../test/integ.no-cloudwatch-alarms.ts | 59 +
13 files changed, 3558 insertions(+), 2 deletions(-)
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.eslintignore
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.gitignore
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.npmignore
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/README.md
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/architecture.png
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/lib/index.ts
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/package.json
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/test/fargate-stepfunctions.test.ts
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/test/integ.new-resources.expected.json
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/test/integ.new-resources.ts
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/test/integ.no-cloudwatch-alarms.expected.json
create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/test/integ.no-cloudwatch-alarms.ts
diff --git a/DESIGN_GUIDELINES.md b/DESIGN_GUIDELINES.md
index 8985fd9b7..fcb96c45b 100644
--- a/DESIGN_GUIDELINES.md
+++ b/DESIGN_GUIDELINES.md
@@ -347,14 +347,14 @@ Existing Inconsistencies would not be published, that’s for our internal use
| Name | Type | Description | Notes |
| --- | --- | --- |--- |
| stateMachineProps |[`sfn.StateMachineProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html)|Optional user provided props to override the default props for `sfn.StateMachine`|
-| createCloudWatchAlarms | `boolean`|Whether to create recommended CloudWatch alarms.|
+| createCloudWatchAlarms? | `boolean`|Whether to create recommended CloudWatch alarms.|
**Required Construct Properties**
| Name | Type | Description | Notes |
| --- | --- | --- |--- |
| stateMachine| [`sfn.StateMachine`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html)|Returns an instance of `sfn.StateMachine` created by the construct.|
-| stateMachineLoggingGroup|[`logs.ILogGroup`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.ILogGroup.html)|Returns an instance of the `logs.ILogGroup` created by the construct for StateMachine.|
+| stateMachineLogGroup|[`logs.ILogGroup`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.ILogGroup.html)|Returns an instance of the `logs.ILogGroup` created by the construct for StateMachine.|
| cloudwatchAlarms? | [`cloudwatch.Alarm[]`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)|Returns a list of `cloudwatch.Alarm` created by the construct.|
## VPC
diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.eslintignore b/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.eslintignore
new file mode 100644
index 000000000..e6f7801ea
--- /dev/null
+++ b/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.eslintignore
@@ -0,0 +1,4 @@
+lib/*.js
+test/*.js
+*.d.ts
+coverage
diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.gitignore b/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.gitignore
new file mode 100644
index 000000000..6773cabd2
--- /dev/null
+++ b/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.gitignore
@@ -0,0 +1,15 @@
+lib/*.js
+test/*.js
+*.js.map
+*.d.ts
+node_modules
+*.generated.ts
+dist
+.jsii
+
+.LAST_BUILD
+.nyc_output
+coverage
+.nycrc
+.LAST_PACKAGE
+*.snk
\ No newline at end of file
diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.npmignore b/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.npmignore
new file mode 100644
index 000000000..f66791629
--- /dev/null
+++ b/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/.npmignore
@@ -0,0 +1,21 @@
+# Exclude typescript source and config
+*.ts
+tsconfig.json
+coverage
+.nyc_output
+*.tgz
+*.snk
+*.tsbuildinfo
+
+# Include javascript files and typescript declarations
+!*.js
+!*.d.ts
+
+# Exclude jsii outdir
+dist
+
+# Include .jsii
+!.jsii
+
+# Include .jsii
+!.jsii
\ No newline at end of file
diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/README.md b/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/README.md
new file mode 100644
index 000000000..e0583aff3
--- /dev/null
+++ b/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/README.md
@@ -0,0 +1,141 @@
+# aws-fargate-stepfunctions module
+
+
+---
+
+![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge)
+
+> All classes are under active development and subject to non-backward compatible changes or removal in any
+> future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.
+> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.
+
+---
+
+
+| **Reference Documentation**:| https://docs.aws.amazon.com/solutions/latest/constructs/|
+|:-------------|:-------------|
+
+
+| **Language** | **Package** |
+|:-------------|-----------------|
+|![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws_fargate_stepfunctions`|
+|![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-fargate-stepfunctions`|
+|![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.fargatestepfunctions`|
+
+This AWS Solutions Construct implements an AWS Fargate service that can execute an AWS Step Functions state machine
+
+Here is a minimal deployable pattern definition:
+
+Typescript
+``` typescript
+import { Construct } from 'constructs';
+import { Stack, StackProps } from 'aws-cdk-lib';
+import { FargateToStepfunctions, FargateToStepfunctionsProps } from '@aws-solutions-constructs/aws-fargate-stepfunctions';
+import * as stepfunctions from 'aws-cdk-lib/aws-stepfunctions';
+
+const startState = new stepfunctions.Pass(this, 'StartState');
+
+const constructProps: FargateToStepfunctionsProps = {
+ publicApi: true,
+ ecrRepositoryArn: "arn:aws:ecr:us-east-1:123456789012:repository/your-ecr-repo",
+ stateMachineProps: {
+ definition: startState
+ }
+};
+
+new FargateToStepfunctions(this, 'test-construct', constructProps);
+```
+
+Python
+``` python
+from aws_solutions_constructs.aws_fargate_stepfunctions import FargateToStepfunctions, FargateToStepfunctionsProps
+from aws_cdk import (
+ aws_stepfunctions as stepfunctions,
+ Stack
+)
+from constructs import Construct
+
+start_state = stepfunctions.Pass(self, 'start_state')
+
+FargateToStepfunctions(self, 'test_construct',
+ public_api=True,
+ ecr_repository_arn="arn:aws:ecr:us-east-1:123456789012:repository/your-ecr-repo",
+ state_machine_props=stepfunctions.StateMachineProps(
+ definition=start_state))
+```
+
+Java
+``` java
+import software.constructs.Construct;
+
+import software.amazon.awscdk.Stack;
+import software.amazon.awscdk.StackProps;
+import software.amazon.awsconstructs.services.fargatestepfunctions.*;
+import software.amazon.awscdk.services.stepfunctions.*;
+
+start_state = stepfunctions.Pass(self, 'start_state')
+
+new FargateToStepfunctions(this, "test-construct", new FargateToStepfunctionsProps.Builder()
+ .publicApi(true)
+ .ecrRepositoryArn("arn:aws:ecr:us-east-1:123456789012:repository/your-ecr-repo")
+ .stateMachineProps(new StateMachineProps.Builder()
+ .definition(startState)
+ .build()
+ .build());
+```
+
+## Pattern Construct Props
+
+| **Name** | **Type** | **Description** |
+|:-------------|:----------------|-----------------|
+| publicApi | `boolean` | Whether the construct is deploying a private or public API. This has implications for the VPC. |
+| vpcProps? | [`ec2.VpcProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html) | Optional custom properties for a VPC the construct will create. This VPC will be used by any Private Hosted Zone the construct creates (that's why loadBalancerProps and privateHostedZoneProps can't include a VPC). Providing both this and existingVpc is an error. |
+| existingVpc? | [`ec2.IVpc`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html) | An existing VPC in which to deploy the construct. Providing both this and vpcProps is an error. If the client provides an existing load balancer and/or existing Private Hosted Zone, those constructs must exist in this VPC. |
+| clusterProps? | [`ecs.ClusterProps`](https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-ecs.ClusterProps.html) | Optional properties to create a new ECS cluster. To provide an existing cluster, use the cluster attribute of fargateServiceProps. |
+| ecrRepositoryArn? | `string` | The arn of an ECR Repository containing the image to use to generate the containers. Either this or the image property of containerDefinitionProps must be provided. format: arn:aws:ecr:*region*:*account number*:repository/*Repository Name* |
+| ecrImageVersion? | `string` | The version of the image to use from the repository. Defaults to 'Latest' |
+| containerDefinitionProps? | [`ecs.ContainerDefinitionProps \| any`](https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-ecs.ContainerDefinitionProps.html) | Optional props to define the container created for the Fargate Service (defaults found in fargate-defaults.ts) |
+| fargateTaskDefinitionProps? | [`ecs.FargateTaskDefinitionProps \| any`](https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-ecs.FargateTaskDefinitionProps.html) | Optional props to define the Fargate Task Definition for this construct (defaults found in fargate-defaults.ts) |
+| fargateServiceProps? | [`ecs.FargateServiceProps \| any`](https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-ecs.FargateServiceProps.html) | Optional values to override default Fargate Task definition properties (fargate-defaults.ts). The construct will default to launching the service is the most isolated subnets available (precedence: Isolated, Private and Public). Override those and other defaults here. |
+|existingFargateServiceObject? | [`ecs.FargateService`](https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-ecs.FargateService.html) | A Fargate Service already instantiated (probably by another Solutions Construct). If this is specified, then no props defining a new service can be provided, including: ecrImageVersion, containerDefinitionProps, fargateTaskDefinitionProps, ecrRepositoryArn, fargateServiceProps, clusterProps |
+|existingContainerDefinitionObject? | [`ecs.ContainerDefinition`](https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-ecs.ContainerDefinition.html) | A container definition already instantiated as part of a Fargate service. This must be the container in the existingFargateServiceObject |
+|stateMachineProps|[`sfn.StateMachineProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html)|User provided props to override the default props for sfn.StateMachine.|
+| createCloudWatchAlarms? | `boolean`|Whether to create recommended CloudWatch alarms. Default is true.|
+|logGroupProps?|[`logs.LogGroupProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)|Optional user provided props to override the default props for for the CloudWatchLogs LogGroup.|
+|stateMachineEnvironmentVariableName?|`string`|Optional name for the container environment variable containing the state machine ARN.|
+
+## Pattern Properties
+
+| **Name** | **Type** | **Description** |
+|:-------------|:----------------|-----------------|
+| vpc | [`ec2.IVpc`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html) | The VPC used by the construct (whether created by the construct or provided by the client) |
+| service | [`ecs.FargateService`](https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-ecs.FargateService.html) | The AWS Fargate service used by this construct (whether created by this construct or passed to this construct at initialization) |
+| container | [`ecs.ContainerDefinition`](https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-ecs.ContainerDefinition.html) | The container associated with the AWS Fargate service in the service property. |
+| stateMachine| [`sfn.StateMachine`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html)|Returns an instance of `sfn.StateMachine` created by the construct.|
+| stateMachineLogGroup|[`logs.ILogGroup`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.ILogGroup.html)|Returns an instance of the `logs.ILogGroup` created by the construct for StateMachine.|
+| cloudwatchAlarms? | [`cloudwatch.Alarm[]`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)|Returns a list of `cloudwatch.Alarm` created by the construct.|
+
+## Default settings
+
+Out of the box implementation of the Construct without any override will set the following defaults:
+
+### AWS Fargate Service
+* Sets up an AWS Fargate service
+ * Uses the existing service if provided
+ * Creates a new service if none provided.
+ * Service will run in isolated subnets if available, then private subnets if available and finally public subnets
+* Adds an environment variable to the container containing the ARN of the state machine
+ * Default name is `STATE_MACHINE_ARN`
+* Add permissions to the container IAM role allowing it to start the execution of a state machine
+
+### AWS Step Functions
+* Sets up an AWS Step Functions state machine
+ * Uses an existing state machine if one is provided, otherwise creates a new one
+* Adds an Interface Endpoint to the VPC for Step Functions (the service by default runs in Isolated or Private subnets)
+* Enables CloudWatch logging
+
+## Architecture
+![Architecture Diagram](architecture.png)
+
+***
+© Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/architecture.png b/source/patterns/@aws-solutions-constructs/aws-fargate-stepfunctions/architecture.png
new file mode 100644
index 0000000000000000000000000000000000000000..091cbd81be8f55e527da54048f6bf52ca16892a8
GIT binary patch
literal 187339
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