@aws-solutions-constructs/aws-sqs-pipes-stepfunctions 2.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/.eslintignore +7 -0
  2. package/.jsii +4457 -0
  3. package/README.md +100 -0
  4. package/architecture.png +0 -0
  5. package/integ.config.json +0 -0
  6. package/lib/index.d.ts +140 -0
  7. package/lib/index.js +77 -0
  8. package/package.json +96 -0
  9. package/test/integ.sqspstp-custom-log-level.d.ts +13 -0
  10. package/test/integ.sqspstp-custom-log-level.js +33 -0
  11. package/test/integ.sqspstp-custom-log-level.js.snapshot/cdk.out +1 -0
  12. package/test/integ.sqspstp-custom-log-level.js.snapshot/integ.json +12 -0
  13. package/test/integ.sqspstp-custom-log-level.js.snapshot/manifest.json +205 -0
  14. package/test/integ.sqspstp-custom-log-level.js.snapshot/sqspstp-custom-log-level.assets.json +19 -0
  15. package/test/integ.sqspstp-custom-log-level.js.snapshot/sqspstp-custom-log-level.template.json +654 -0
  16. package/test/integ.sqspstp-custom-log-level.js.snapshot/sqspstpcustomloglevelIntegDefaultTestDeployAssertD542618D.assets.json +19 -0
  17. package/test/integ.sqspstp-custom-log-level.js.snapshot/sqspstpcustomloglevelIntegDefaultTestDeployAssertD542618D.template.json +36 -0
  18. package/test/integ.sqspstp-custom-log-level.js.snapshot/tree.json +957 -0
  19. package/test/integ.sqspstp-existing-queue.d.ts +13 -0
  20. package/test/integ.sqspstp-existing-queue.js +35 -0
  21. package/test/integ.sqspstp-existing-queue.js.snapshot/cdk.out +1 -0
  22. package/test/integ.sqspstp-existing-queue.js.snapshot/integ.json +12 -0
  23. package/test/integ.sqspstp-existing-queue.js.snapshot/manifest.json +205 -0
  24. package/test/integ.sqspstp-existing-queue.js.snapshot/sqspstp-existing-queue.assets.json +19 -0
  25. package/test/integ.sqspstp-existing-queue.js.snapshot/sqspstp-existing-queue.template.json +654 -0
  26. package/test/integ.sqspstp-existing-queue.js.snapshot/sqspstpexistingqueueIntegDefaultTestDeployAssert6DA9FDD7.assets.json +19 -0
  27. package/test/integ.sqspstp-existing-queue.js.snapshot/sqspstpexistingqueueIntegDefaultTestDeployAssert6DA9FDD7.template.json +36 -0
  28. package/test/integ.sqspstp-existing-queue.js.snapshot/tree.json +957 -0
  29. package/test/integ.sqspstp-filter.d.ts +13 -0
  30. package/test/integ.sqspstp-filter.js +44 -0
  31. package/test/integ.sqspstp-filter.js.snapshot/cdk.out +1 -0
  32. package/test/integ.sqspstp-filter.js.snapshot/integ.json +12 -0
  33. package/test/integ.sqspstp-filter.js.snapshot/manifest.json +205 -0
  34. package/test/integ.sqspstp-filter.js.snapshot/sqspstp-filter.assets.json +19 -0
  35. package/test/integ.sqspstp-filter.js.snapshot/sqspstp-filter.template.json +662 -0
  36. package/test/integ.sqspstp-filter.js.snapshot/sqspstpfilterIntegDefaultTestDeployAssert0C52837E.assets.json +19 -0
  37. package/test/integ.sqspstp-filter.js.snapshot/sqspstpfilterIntegDefaultTestDeployAssert0C52837E.template.json +36 -0
  38. package/test/integ.sqspstp-filter.js.snapshot/tree.json +965 -0
  39. package/test/integ.sqspstp-lambda-function-enrichment.d.ts +13 -0
  40. package/test/integ.sqspstp-lambda-function-enrichment.js +40 -0
  41. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/asset.33adcab38bd8c4e154734b436a40ee81920a89cd6c787ce62302c33df5e1dfcb/index.js +9 -0
  42. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/cdk.out +1 -0
  43. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/integ.json +12 -0
  44. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/manifest.json +223 -0
  45. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/sqspstp-lambda-function-enrichment.assets.json +32 -0
  46. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/sqspstp-lambda-function-enrichment.template.json +757 -0
  47. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/sqspstplambdafunctionenrichmentIntegDefaultTestDeployAssert1F2A8125.assets.json +19 -0
  48. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/sqspstplambdafunctionenrichmentIntegDefaultTestDeployAssert1F2A8125.template.json +36 -0
  49. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/tree.json +1127 -0
  50. package/test/integ.sqspstp-logs-off.d.ts +13 -0
  51. package/test/integ.sqspstp-logs-off.js +33 -0
  52. package/test/integ.sqspstp-logs-off.js.snapshot/cdk.out +1 -0
  53. package/test/integ.sqspstp-logs-off.js.snapshot/integ.json +12 -0
  54. package/test/integ.sqspstp-logs-off.js.snapshot/manifest.json +199 -0
  55. package/test/integ.sqspstp-logs-off.js.snapshot/sqspstp-logs-off.assets.json +19 -0
  56. package/test/integ.sqspstp-logs-off.js.snapshot/sqspstp-logs-off.template.json +601 -0
  57. package/test/integ.sqspstp-logs-off.js.snapshot/sqspstplogsoffIntegDefaultTestDeployAssert25C29ACD.assets.json +19 -0
  58. package/test/integ.sqspstp-logs-off.js.snapshot/sqspstplogsoffIntegDefaultTestDeployAssert25C29ACD.template.json +36 -0
  59. package/test/integ.sqspstp-logs-off.js.snapshot/tree.json +902 -0
  60. package/test/integ.sqspstp-no-arguments.d.ts +13 -0
  61. package/test/integ.sqspstp-no-arguments.js +32 -0
  62. package/test/integ.sqspstp-no-arguments.js.snapshot/cdk.out +1 -0
  63. package/test/integ.sqspstp-no-arguments.js.snapshot/integ.json +12 -0
  64. package/test/integ.sqspstp-no-arguments.js.snapshot/manifest.json +205 -0
  65. package/test/integ.sqspstp-no-arguments.js.snapshot/sqspstp-no-arguments.assets.json +19 -0
  66. package/test/integ.sqspstp-no-arguments.js.snapshot/sqspstp-no-arguments.template.json +654 -0
  67. package/test/integ.sqspstp-no-arguments.js.snapshot/sqspstpnoargumentsIntegDefaultTestDeployAssert83953622.assets.json +19 -0
  68. package/test/integ.sqspstp-no-arguments.js.snapshot/sqspstpnoargumentsIntegDefaultTestDeployAssert83953622.template.json +36 -0
  69. package/test/integ.sqspstp-no-arguments.js.snapshot/tree.json +957 -0
  70. package/test/integ.sqspstp-set-queue-batch-size.d.ts +13 -0
  71. package/test/integ.sqspstp-set-queue-batch-size.js +39 -0
  72. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/cdk.out +1 -0
  73. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/integ.json +12 -0
  74. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/manifest.json +205 -0
  75. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/sqspstp-set-queue-batch-size.assets.json +19 -0
  76. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/sqspstp-set-queue-batch-size.template.json +658 -0
  77. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/sqspstpsetqueuebatchsizeIntegDefaultTestDeployAssertA1752E9D.assets.json +19 -0
  78. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/sqspstpsetqueuebatchsizeIntegDefaultTestDeployAssertA1752E9D.template.json +36 -0
  79. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/tree.json +961 -0
  80. package/test/integ.sqspstp-state-machine-enrichment.d.ts +13 -0
  81. package/test/integ.sqspstp-state-machine-enrichment.js +39 -0
  82. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/cdk.out +1 -0
  83. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/integ.json +12 -0
  84. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/manifest.json +241 -0
  85. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/sqspstp-state-machine-enrichment.assets.json +19 -0
  86. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/sqspstp-state-machine-enrichment.template.json +868 -0
  87. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/sqspstpstatemachineenrichmentIntegDefaultTestDeployAssert47A5DE6D.assets.json +19 -0
  88. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/sqspstpstatemachineenrichmentIntegDefaultTestDeployAssert47A5DE6D.template.json +36 -0
  89. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/tree.json +1252 -0
  90. package/test/lambda/index.js +9 -0
  91. package/test/sqs-pipes-stepfunctions.test.d.ts +13 -0
  92. package/test/sqs-pipes-stepfunctions.test.js +394 -0
package/README.md ADDED
@@ -0,0 +1,100 @@
1
+ # aws-sqs-pipes-stepfunctions module
2
+ <!--BEGIN STABILITY BANNER-->
3
+
4
+ ---
5
+
6
+ ![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge)
7
+
8
+ ---
9
+ <!--END STABILITY BANNER-->
10
+
11
+ | **Reference Documentation**:| <span style="font-weight: normal">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|
12
+ |:-------------|:-------------|
13
+ <div style="height:8px"></div>
14
+
15
+ | **Language** | **Package** |
16
+ |:-------------|-----------------|
17
+ |![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws_sqs_pipes_stepfunctions`|
18
+ |![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-sqs-pipes-stepfunctions`|
19
+ |![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.sqspipesstepfunctions`|
20
+
21
+ ## Overview
22
+ This AWS Solutions Construct implements an AWS SQS queue whose messages are passed to an AWS Step Functions state machine by an Amazon Eventbridge pipe.
23
+
24
+ Here is a minimal deployable pattern definition:
25
+
26
+ Typescript
27
+ ``` typescript
28
+ import { Construct } from 'constructs';
29
+ import { Stack, StackProps } from 'aws-cdk-lib';
30
+ import * as stepfunctions from 'aws-cdk-lib/aws-stepfunctions';
31
+ import { SqsToPipesToStepfunctions, SqsToPipesToStepfunctionsProps } from "@aws-solutions-constructs/aws-sqs-pipes-stepfunctions";
32
+
33
+ const startState = new stepfunctions.Pass(this, 'StartState');
34
+
35
+ new SqsToPipesToStepfunctions(this, 'SqsToLambdaToStepfunctionsPattern', {
36
+ stateMachineProps: {
37
+ definition: startState
38
+ }
39
+ });
40
+ ```
41
+
42
+ ## Pattern Construct Props
43
+
44
+ | **Name** | **Type** | **Description** |
45
+ |:-------------|:----------------|-----------------|
46
+ |existingQueueObj?|[`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html)|An optional, existing SQS queue to be used instead of the default queue. Providing both this and `queueProps` will cause an error.|
47
+ |queueProps?|[`sqs.QueueProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.QueueProps.html)|Optional user provided properties to override the default properties for the SQS queue.|
48
+ |encryptQueueWithCmk|`boolean`|Whether to encrypt the Queue with a customer managed KMS key (CMK). This is the default behavior, and this property defaults to true - if it is explicitly set to false then the Queue is encrypted with an Amazon managed KMS key. For a completely unencrypted Queue (not recommended), create the Queue separately from the construct and pass it in using the existingQueueObject. Since SNS subscriptions do not currently support SQS queues with AWS managed encryption keys, setting this to false will always result in an error from the underlying CDK - we have still included this property for consistency with topics and to be ready if the services one day support this functionality.|
49
+ |queueEncryptionKeyProps?|[`kms.KeyProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html#construct-props)|An optional subset of key properties to override the default properties used by constructs (`enableKeyRotation: true`). These properties will be used in constructing the CMK used to encrypt the SQS queue.|
50
+ |existingQueueEncryptionKey?|[`kms.Key`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html)|An optional CMK that will be used by the construct to encrypt the new SQS queue.|
51
+ |deployDeadLetterQueue?|`boolean`|Whether to create a secondary queue to be used as a dead letter queue. Defaults to true.|
52
+ |deadLetterQueueProps?|[`sqs.QueueProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.QueueProps.html)|Optional user-provided props to override the default props for the dead letter SQS queue.|
53
+ |maxReceiveCount?|`number`|The number of times a message can be unsuccessfully dequeued before being moved to the dead letter queue. Defaults to 15.|
54
+ |stateMachineProps|[`sfn.StateMachineProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_stepfunctions.StateMachineProps.html)|User provided props for the sfn.StateMachine.|
55
+ |createCloudWatchAlarms?|`boolean`|Whether to create recommended CloudWatch alarms|
56
+ | logGroupProps? | [logs.logGroupProps ](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.LogGroupProps.html)| Optional user provided props to override the default props for for the CloudWatchLogs LogGroup for the state machine. |
57
+ |pipeProps?|[ pipes.CfnPipeProps ](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_pipes.CfnPipeProps.html)|Optional customer provided settings for the EventBridge pipe. source, target, roleArn and enrichment settings are set by the construct and cannot be overriden here. The construct will generate default sourceParameters, targetParameters and logConfiguration (found [here](link)) that can be overriden by populating those values in these props. If the client wants to implement enrichment or a filter, this is where that information can be provided. Any other props can be freely overridden. If a client wants to set values such as batchSize, that can be done here in the sourceParameters property.|
58
+ | enrichmentFunction? | [lambda.Function ](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html) | Optional - Lambda function that the construct will configure to be called to enrich the message between source and target. The construct will configure the pipe IAM role to allow invoking the function (but will not affect the IArole assigned to the function). Specifying both this and enrichmentStateMachine is an error. Default - undefined |
59
+ | enrichmentStateMachine? | [sfn.StateMachine ](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_stepfunctions.StateMachine.html) | Optional - Step Functions state machine that the construct will configure to be called to enrich the message between source and target. The construct will configure the pipe IAM role to allow executing the state machine (but will not affect the IAM role assigned to the state machine). Specifying both this and enrichmentStateMachine is an error. Default - undefined |
60
+ |logLevel?|PipesLogLevel|Threshold for what messages the new pipe sends to the log, PipesLogLevel.OFF, PipesLogLevel.ERROR, PipesLogLevel.INFO, PipesLogLevel.TRACE. The default is INFO. Setting the level to OFF will prevent any log group from being created. Providing pipeProps.logConfiguration will controls all aspects of logging and any construct provided log configuration is disabled. If pipeProps.logConfiguration is provided then specifying this or pipeLogProps is an error. |
61
+ |pipeLogProps?|[logs.LogGroupProps]()| Default behavior is for the this construct to create a new CloudWatch Logs log group for the pipe. These props are used to override defaults set by AWS or this construct. If there are concerns about the cost of log storage, this is where a client can specify a shorter retention duration (in days) |
62
+
63
+ ## Pattern Properties
64
+
65
+ | **Name** | **Type** | **Description** |
66
+ |:-------------|:----------------|-----------------|
67
+ |stateMachine|[`sfn.StateMachine`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_stepfunctions.StateMachine.html)|Returns an instance of StateMachine created by the construct.|
68
+ |stateMachineLogGroup|[`logs.ILogGroup`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.ILogGroup.html)|Returns an instance of the ILogGroup created by the construct for StateMachine|
69
+ |cloudwatchAlarms?|[`cloudwatch.Alarm[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch.Alarm.html)|Returns a list of alarms created by the construct.|
70
+ |sqsQueue|[`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html)|Returns an instance of the SQS queue created by the pattern. |
71
+ |deadLetterQueue?|[`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html)|Returns an instance of the dead letter queue created by the pattern, if one is deployed.|
72
+ |encryptionKey?|[kms.IKey](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.IKey.html)|Returns an instance of kms.Key used for the SQS queue if key is customer managed.|
73
+ |pipe|[ pipes.CfnPipe](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_pipes.CfnPipe.html)| The L1 pipe construct created by this Solutions Construct. |
74
+ | pipeRole | [iam.Role ](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html) | The role created that allows the pipe to access both the source and the target. |
75
+
76
+ ## Default settings
77
+
78
+ Out of the box implementation of the Construct without any override will set the following defaults:
79
+
80
+ ### Amazon SQS Queue
81
+ * Deploy SQS dead-letter queue for the source SQS Queue.
82
+ * Enable server-side encryption for source SQS Queue using AWS Managed KMS Key.
83
+ * Enforce encryption of data in transit
84
+
85
+ ### AWS Step Functions State Machine
86
+ * Deploy Step Functions standard state machine
87
+ * Create CloudWatch log group with /vendedlogs/ prefix in name
88
+ * Deploy best practices CloudWatch Alarms for the Step Functions
89
+
90
+ ### AWS EventBridge Pipe
91
+ * Pipe configured with an SQS queue source and state machine target
92
+ * A least privilege IAM role assigned to the pipe to access the queue and state machine
93
+ * CloudWatch logs set up at the 'INFO' level
94
+ * Encrypted with an AWS managed KMS key
95
+
96
+ ## Architecture
97
+ ![Architecture Diagram](architecture.png)
98
+
99
+ ***
100
+ &copy; Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
Binary file
File without changes
package/lib/index.d.ts ADDED
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
5
+ * with the License. A copy of the License is located at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
10
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
+ * and limitations under the License.
12
+ */
13
+ import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
14
+ import * as logs from 'aws-cdk-lib/aws-logs';
15
+ import * as iam from 'aws-cdk-lib/aws-iam';
16
+ import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch';
17
+ import * as sqs from 'aws-cdk-lib/aws-sqs';
18
+ import * as lambda from 'aws-cdk-lib/aws-lambda';
19
+ import * as pipes from 'aws-cdk-lib/aws-pipes';
20
+ import * as kms from 'aws-cdk-lib/aws-kms';
21
+ import { PipesLogLevel } from '@aws-solutions-constructs/core';
22
+ export { PipesLogLevel } from '@aws-solutions-constructs/core';
23
+ import { Construct } from 'constructs';
24
+ /**
25
+ * @summary The properties for the SnsToSqs class.
26
+ */
27
+ export interface SqsToPipesToStepfunctionsProps {
28
+ /**
29
+ * An optional, existing SQS queue to be used instead of the default queue. Providing both this and queueProps will cause an error.
30
+ */
31
+ readonly existingQueueObj?: sqs.Queue;
32
+ /**
33
+ * Optional user provided properties to override the default properties for the SQS queue.
34
+ */
35
+ readonly queueProps?: sqs.QueueProps;
36
+ /**
37
+ * Whether to encrypt the Queue with a customer managed KMS key (CMK). This is the default
38
+ * behavior, and this property defaults to true - if it is explicitly set to false then the Queue
39
+ * is encrypted with an Amazon managed KMS key. For a completely unencrypted Queue (not recommended),
40
+ * create the Queue separately from the construct and pass it in using the existingQueueObject. Since
41
+ * SNS subscriptions do not currently support SQS queues with AWS managed encryption keys, setting this
42
+ * to false will always result in an error from the underlying CDK - we have still included this property
43
+ * for consistency with topics and to be ready if the services one day support this functionality.
44
+ */
45
+ readonly encryptQueueWithCmk?: boolean;
46
+ /**
47
+ * An optional subset of key properties to override the default properties used by constructs (enableKeyRotation: true).
48
+ * These properties will be used in constructing the CMK used to encrypt the SQS queue.
49
+ */
50
+ readonly queueEncryptionKeyProps?: kms.KeyProps;
51
+ /**
52
+ * An optional CMK that will be used by the construct to encrypt the new SQS queue.
53
+ */
54
+ readonly existingQueueEncryptionKey?: kms.Key;
55
+ /**
56
+ * Whether to create a secondary queue to be used as a dead letter queue.
57
+ *
58
+ * default = true.
59
+ */
60
+ readonly deployDeadLetterQueue?: boolean;
61
+ /**
62
+ * Optional user-provided props to override the default props for the dead letter SQS queue.
63
+ */
64
+ readonly deadLetterQueueProps?: sqs.QueueProps;
65
+ /**
66
+ * The number of times a message can be unsuccessfully dequeued before being moved to the dead letter
67
+ * queue. Defaults to 15.
68
+ */
69
+ readonly maxReceiveCount?: number;
70
+ /**
71
+ * User provided props for the sfn.StateMachine.
72
+ */
73
+ readonly stateMachineProps: sfn.StateMachineProps;
74
+ /**
75
+ * Whether to create recommended CloudWatch alarms
76
+ *
77
+ * default = true
78
+ */
79
+ readonly createCloudWatchAlarms?: boolean;
80
+ /**
81
+ * Optional user provided props to override the default props for for the CloudWatchLogs LogGroup.
82
+ */
83
+ readonly logGroupProps?: logs.LogGroupProps;
84
+ /**
85
+ * Optional customer provided settings for the EventBridge pipe. source, target and
86
+ * roleArn are set by the construct and cannot be overriden. The construct will generate
87
+ * default sourceParameters, targetParameters and logConfiguration that can be
88
+ * overriden by populating those values in these props. If the client wants to implement
89
+ * enrichment or a filter, this is where that information can be provided. Any other props
90
+ * can be freely overridden.
91
+ */
92
+ readonly pipeProps?: pipes.CfnPipeProps | any;
93
+ /**
94
+ * Default behavior is for the this construct to create a new CloudWatch Logs log group for the pipe.
95
+ * These props are used to override defaults set by AWS or this construct. If there are concerns about
96
+ * the cost of log storage, this is where a client can specify a shorter retention duration (in days)
97
+ */
98
+ readonly pipeLogProps?: logs.LogGroupProps;
99
+ /**
100
+ * Threshold for what messages the new pipe sends to the log, PipesLogLevel.OFF, PipesLogLevel.ERROR,
101
+ * PipesLogLevel.INFO, PipesLogLevel.TRACE. The default is INFO. Setting the level to OFF will prevent
102
+ * any log group from being created. Providing pipeProps.logConfiguration will controls all aspects of
103
+ * logging and any construct provided log configuration is disabled. If pipeProps.logConfiguration is
104
+ * provided then specifying this or pipeLogProps is an error.
105
+ */
106
+ readonly logLevel?: PipesLogLevel;
107
+ /**
108
+ * Optional - Lambda function that the construct will configure to be called to enrich the message
109
+ * between source and target. The construct will configure the pipe IAM role to allow invoking the
110
+ * function (but will not affect the IArole assigned to the function). Specifying both this and
111
+ * enrichmentStateMachine is an error. Default - undefined
112
+ */
113
+ readonly enrichmentFunction?: lambda.Function;
114
+ /**
115
+ * Optional - Step Functions state machine that the construct will configure to be called to enrich the message
116
+ * between source and target. The construct will configure the pipe IAM role to allow executing the state
117
+ * machine (but will not affect the IAM role assigned to the state machine). Specifying both this and
118
+ * enrichmentStateMachine is an error. Enrichment is invoked synchronously, so this must be an EXPRESS
119
+ * state machin. Default - undefined
120
+ */
121
+ readonly enrichmentStateMachine?: sfn.StateMachine;
122
+ }
123
+ export declare class SqsToPipesToStepfunctions extends Construct {
124
+ readonly stateMachine: sfn.StateMachine;
125
+ readonly stateMachineLogGroup: logs.ILogGroup;
126
+ readonly cloudwatchAlarms?: cloudwatch.Alarm[];
127
+ readonly sqsQueue: sqs.Queue;
128
+ readonly deadLetterQueue?: sqs.DeadLetterQueue;
129
+ readonly encryptionKey?: kms.IKey;
130
+ readonly pipe: pipes.CfnPipe;
131
+ readonly pipeRole: iam.Role;
132
+ /**
133
+ * @summary Constructs a new instance of the SqsToPipesToStepfunctions class.
134
+ * @param {cdk.App} scope - represents the scope for all the resources.
135
+ * @param {string} id - this is a a scope-unique id.
136
+ * @param {SqsToPipesToStepfunctionsProps} props - user provided props for the construct.
137
+ * @access public
138
+ */
139
+ constructor(scope: Construct, id: string, props: SqsToPipesToStepfunctionsProps);
140
+ }
package/lib/index.js ADDED
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SqsToPipesToStepfunctions = exports.PipesLogLevel = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /**
7
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
10
+ * with the License. A copy of the License is located at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
15
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
16
+ * and limitations under the License.
17
+ */
18
+ const defaults = require("@aws-solutions-constructs/core");
19
+ var core_1 = require("@aws-solutions-constructs/core");
20
+ Object.defineProperty(exports, "PipesLogLevel", { enumerable: true, get: function () { return core_1.PipesLogLevel; } });
21
+ // Note: To ensure CDKv2 compatibility, keep the import statement for Construct separate
22
+ const constructs_1 = require("constructs");
23
+ class SqsToPipesToStepfunctions extends constructs_1.Construct {
24
+ /**
25
+ * @summary Constructs a new instance of the SqsToPipesToStepfunctions class.
26
+ * @param {cdk.App} scope - represents the scope for all the resources.
27
+ * @param {string} id - this is a a scope-unique id.
28
+ * @param {SqsToPipesToStepfunctionsProps} props - user provided props for the construct.
29
+ * @access public
30
+ */
31
+ constructor(scope, id, props) {
32
+ super(scope, id);
33
+ defaults.CheckStateMachineProps(props);
34
+ defaults.CheckSqsProps(props);
35
+ defaults.CheckPipesProps(props);
36
+ // Create the Queue
37
+ // Setup the queue
38
+ const buildQueueResponse = defaults.buildQueue(this, 'queue', {
39
+ existingQueueObj: props.existingQueueObj,
40
+ queueProps: props.queueProps,
41
+ deployDeadLetterQueue: props.deployDeadLetterQueue,
42
+ deadLetterQueueProps: props.deadLetterQueueProps,
43
+ maxReceiveCount: props.maxReceiveCount,
44
+ enableEncryptionWithCustomerManagedKey: props.encryptQueueWithCmk,
45
+ encryptionKey: props.existingQueueEncryptionKey,
46
+ encryptionKeyProps: props.queueEncryptionKeyProps
47
+ });
48
+ this.sqsQueue = buildQueueResponse.queue;
49
+ this.deadLetterQueue = buildQueueResponse.dlq;
50
+ // Create the State Machine
51
+ const buildStateMachineResponse = defaults.buildStateMachine(this, defaults.idPlaceholder, {
52
+ stateMachineProps: props.stateMachineProps,
53
+ logGroupProps: props.logGroupProps,
54
+ createCloudWatchAlarms: props.createCloudWatchAlarms,
55
+ });
56
+ this.stateMachine = buildStateMachineResponse.stateMachine;
57
+ this.stateMachineLogGroup = buildStateMachineResponse.logGroup;
58
+ this.cloudwatchAlarms = buildStateMachineResponse.cloudWatchAlarms;
59
+ // Create the pipe to connect the queue and state machine
60
+ const buildPipeResponse = defaults.BuildPipe(this, id, {
61
+ source: defaults.CreateSqsSource(this.sqsQueue, props.pipeProps?.sourceParameters),
62
+ target: defaults.CreateStateMachineTarget(this.stateMachine, props.pipeProps?.targetParameters),
63
+ enrichmentFunction: props.enrichmentFunction,
64
+ enrichmentStateMachine: props.enrichmentStateMachine,
65
+ clientProps: props.pipeProps,
66
+ logLevel: props.logLevel,
67
+ pipeLogProps: props.pipeLogProps
68
+ });
69
+ this.pipe = buildPipeResponse.pipe;
70
+ this.pipeRole = buildPipeResponse.pipeRole;
71
+ defaults.addCfnGuardSuppressRules(this.pipeRole, ["IAM_NO_INLINE_POLICY_CHECK"]);
72
+ }
73
+ }
74
+ exports.SqsToPipesToStepfunctions = SqsToPipesToStepfunctions;
75
+ _a = JSII_RTTI_SYMBOL_1;
76
+ SqsToPipesToStepfunctions[_a] = { fqn: "@aws-solutions-constructs/aws-sqs-pipes-stepfunctions.SqsToPipesToStepfunctions", version: "2.73.0" };
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBRUgsMkRBQTJEO0FBVTNELHVEQUErRDtBQUF0RCxxR0FBQSxhQUFhLE9BQUE7QUFDdEIsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQXNIdkMsTUFBYSx5QkFBMEIsU0FBUSxzQkFBUztJQVN0RDs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoQyxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQzVELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxxQkFBcUI7WUFDbEQsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtZQUNoRCxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsc0NBQXNDLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUNqRSxhQUFhLEVBQUUsS0FBSyxDQUFDLDBCQUEwQjtZQUMvQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsdUJBQXVCO1NBQ2xELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDO1FBRTlDLDJCQUEyQjtRQUMzQixNQUFNLHlCQUF5QixHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLGFBQWEsRUFBRTtZQUN6RixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNsQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsc0JBQXNCO1NBQ3JELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcseUJBQXlCLENBQUMsWUFBWSxDQUFDO1FBQzNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyx5QkFBeUIsQ0FBQyxRQUFRLENBQUM7UUFDL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDO1FBRW5FLHlEQUF5RDtRQUN6RCxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNyRCxNQUFNLEVBQUUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUM7WUFDbEYsTUFBTSxFQUFFLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUM7WUFDL0Ysa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUM1QyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsc0JBQXNCO1lBQ3BELFdBQVcsRUFBRSxLQUFLLENBQUMsU0FBUztZQUM1QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1NBQ2pDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDO1FBQzNDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7O0FBN0RILDhEQThEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5pbXBvcnQgKiBhcyBzZm4gZnJvbSAnYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMnO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCAqIGFzIHNxcyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3FzJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCAqIGFzIHBpcGVzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1waXBlcyc7XG5pbXBvcnQgKiBhcyBrbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgeyBQaXBlc0xvZ0xldmVsIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbmV4cG9ydCB7IFBpcGVzTG9nTGV2ZWwgfSBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogQHN1bW1hcnkgVGhlIHByb3BlcnRpZXMgZm9yIHRoZSBTbnNUb1NxcyBjbGFzcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMge1xuXG4gIC8vICoqKioqKioqKioqKioqKioqKipcbiAgLy8gUXVldWUgUHJvcHNcbiAgLy8gKioqKioqKioqKioqKioqKioqKlxuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCwgZXhpc3RpbmcgU1FTIHF1ZXVlIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBxdWV1ZS4gUHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgcXVldWVQcm9wcyB3aWxsIGNhdXNlIGFuIGVycm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdRdWV1ZU9iaj86IHNxcy5RdWV1ZSxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcGVydGllcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wZXJ0aWVzIGZvciB0aGUgU1FTIHF1ZXVlLlxuICAgKi9cbiAgcmVhZG9ubHkgcXVldWVQcm9wcz86IHNxcy5RdWV1ZVByb3BzLFxuICAvKipcbiAgICogV2hldGhlciB0byBlbmNyeXB0IHRoZSBRdWV1ZSB3aXRoIGEgY3VzdG9tZXIgbWFuYWdlZCBLTVMga2V5IChDTUspLiBUaGlzIGlzIHRoZSBkZWZhdWx0XG4gICAqIGJlaGF2aW9yLCBhbmQgdGhpcyBwcm9wZXJ0eSBkZWZhdWx0cyB0byB0cnVlIC0gaWYgaXQgaXMgZXhwbGljaXRseSBzZXQgdG8gZmFsc2UgdGhlbiB0aGUgUXVldWVcbiAgICogaXMgZW5jcnlwdGVkIHdpdGggYW4gQW1hem9uIG1hbmFnZWQgS01TIGtleS4gRm9yIGEgY29tcGxldGVseSB1bmVuY3J5cHRlZCBRdWV1ZSAobm90IHJlY29tbWVuZGVkKSxcbiAgICogY3JlYXRlIHRoZSBRdWV1ZSBzZXBhcmF0ZWx5IGZyb20gdGhlIGNvbnN0cnVjdCBhbmQgcGFzcyBpdCBpbiB1c2luZyB0aGUgZXhpc3RpbmdRdWV1ZU9iamVjdC4gU2luY2VcbiAgICogU05TIHN1YnNjcmlwdGlvbnMgZG8gbm90IGN1cnJlbnRseSBzdXBwb3J0IFNRUyBxdWV1ZXMgd2l0aCBBV1MgbWFuYWdlZCBlbmNyeXB0aW9uIGtleXMsIHNldHRpbmcgdGhpc1xuICAgKiB0byBmYWxzZSB3aWxsIGFsd2F5cyByZXN1bHQgaW4gYW4gZXJyb3IgZnJvbSB0aGUgdW5kZXJseWluZyBDREsgLSB3ZSBoYXZlIHN0aWxsIGluY2x1ZGVkIHRoaXMgcHJvcGVydHlcbiAgICogZm9yIGNvbnNpc3RlbmN5IHdpdGggdG9waWNzIGFuZCB0byBiZSByZWFkeSBpZiB0aGUgc2VydmljZXMgb25lIGRheSBzdXBwb3J0IHRoaXMgZnVuY3Rpb25hbGl0eS5cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRRdWV1ZVdpdGhDbWs/OiBib29sZWFuLFxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgc3Vic2V0IG9mIGtleSBwcm9wZXJ0aWVzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BlcnRpZXMgdXNlZCBieSBjb25zdHJ1Y3RzIChlbmFibGVLZXlSb3RhdGlvbjogdHJ1ZSkuXG4gICAqIFRoZXNlIHByb3BlcnRpZXMgd2lsbCBiZSB1c2VkIGluIGNvbnN0cnVjdGluZyB0aGUgQ01LIHVzZWQgdG8gZW5jcnlwdCB0aGUgU1FTIHF1ZXVlLlxuICAgKi9cbiAgcmVhZG9ubHkgcXVldWVFbmNyeXB0aW9uS2V5UHJvcHM/OiBrbXMuS2V5UHJvcHMsXG4gIC8qKlxuICAgKiBcdEFuIG9wdGlvbmFsIENNSyB0aGF0IHdpbGwgYmUgdXNlZCBieSB0aGUgY29uc3RydWN0IHRvIGVuY3J5cHQgdGhlIG5ldyBTUVMgcXVldWUuXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1F1ZXVlRW5jcnlwdGlvbktleT86IGttcy5LZXksXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNyZWF0ZSBhIHNlY29uZGFyeSBxdWV1ZSB0byBiZSB1c2VkIGFzIGEgZGVhZCBsZXR0ZXIgcXVldWUuXG4gICAqXG4gICAqIGRlZmF1bHQgPSB0cnVlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVwbG95RGVhZExldHRlclF1ZXVlPzogYm9vbGVhbixcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXItcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBkZWFkIGxldHRlciBTUVMgcXVldWUuXG4gICAqL1xuICByZWFkb25seSBkZWFkTGV0dGVyUXVldWVQcm9wcz86IHNxcy5RdWV1ZVByb3BzLFxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB0aW1lcyBhIG1lc3NhZ2UgY2FuIGJlIHVuc3VjY2Vzc2Z1bGx5IGRlcXVldWVkIGJlZm9yZSBiZWluZyBtb3ZlZCB0byB0aGUgZGVhZCBsZXR0ZXJcbiAgICogcXVldWUuIERlZmF1bHRzIHRvIDE1LlxuICAgKi9cbiAgcmVhZG9ubHkgbWF4UmVjZWl2ZUNvdW50PzogbnVtYmVyLFxuXG4gIC8vICoqKioqKioqKioqKioqKioqKipcbiAgLy8gU3RhdGUgTWFjaGluZSBQcm9wc1xuICAvLyAqKioqKioqKioqKioqKioqKioqXG5cbiAgLyoqXG4gICAqIFx0VXNlciBwcm92aWRlZCBwcm9wcyBmb3IgdGhlIHNmbi5TdGF0ZU1hY2hpbmUuXG4gICAqL1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVQcm9wczogc2ZuLlN0YXRlTWFjaGluZVByb3BzLFxuICAvKipcbiAgICogV2hldGhlciB0byBjcmVhdGUgcmVjb21tZW5kZWQgQ2xvdWRXYXRjaCBhbGFybXNcbiAgICpcbiAgICogZGVmYXVsdCA9IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUNsb3VkV2F0Y2hBbGFybXM/OiBib29sZWFuLFxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgZm9yIHRoZSBDbG91ZFdhdGNoTG9ncyBMb2dHcm91cC5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwUHJvcHM/OiBsb2dzLkxvZ0dyb3VwUHJvcHMsXG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKlxuICAvLyBQaXBlIFByb3BzXG4gIC8vICoqKioqKioqKioqKioqKioqKipcblxuICAvKipcbiAgICogT3B0aW9uYWwgY3VzdG9tZXIgcHJvdmlkZWQgc2V0dGluZ3MgZm9yIHRoZSBFdmVudEJyaWRnZSBwaXBlLiBzb3VyY2UsIHRhcmdldCBhbmRcbiAgICogcm9sZUFybiBhcmUgc2V0IGJ5IHRoZSBjb25zdHJ1Y3QgYW5kIGNhbm5vdCBiZSBvdmVycmlkZW4uIFRoZSBjb25zdHJ1Y3Qgd2lsbCBnZW5lcmF0ZVxuICAgKiBkZWZhdWx0IHNvdXJjZVBhcmFtZXRlcnMsIHRhcmdldFBhcmFtZXRlcnMgYW5kIGxvZ0NvbmZpZ3VyYXRpb24gdGhhdCBjYW4gYmVcbiAgICogb3ZlcnJpZGVuIGJ5IHBvcHVsYXRpbmcgdGhvc2UgdmFsdWVzIGluIHRoZXNlIHByb3BzLiBJZiB0aGUgY2xpZW50IHdhbnRzIHRvIGltcGxlbWVudFxuICAgKiBlbnJpY2htZW50IG9yIGEgZmlsdGVyLCB0aGlzIGlzIHdoZXJlIHRoYXQgaW5mb3JtYXRpb24gY2FuIGJlIHByb3ZpZGVkLiBBbnkgb3RoZXIgcHJvcHNcbiAgICogY2FuIGJlIGZyZWVseSBvdmVycmlkZGVuLlxuICAgKi9cbiAgcmVhZG9ubHkgcGlwZVByb3BzPzogcGlwZXMuQ2ZuUGlwZVByb3BzIHwgYW55LFxuICAvKipcbiAgICogRGVmYXVsdCBiZWhhdmlvciBpcyBmb3IgdGhlIHRoaXMgY29uc3RydWN0IHRvIGNyZWF0ZSBhIG5ldyBDbG91ZFdhdGNoIExvZ3MgbG9nIGdyb3VwIGZvciB0aGUgcGlwZS5cbiAgICogVGhlc2UgcHJvcHMgYXJlIHVzZWQgdG8gb3ZlcnJpZGUgZGVmYXVsdHMgc2V0IGJ5IEFXUyBvciB0aGlzIGNvbnN0cnVjdC4gSWYgdGhlcmUgYXJlIGNvbmNlcm5zIGFib3V0XG4gICAqIHRoZSBjb3N0IG9mIGxvZyBzdG9yYWdlLCB0aGlzIGlzIHdoZXJlIGEgY2xpZW50IGNhbiBzcGVjaWZ5IGEgc2hvcnRlciByZXRlbnRpb24gZHVyYXRpb24gKGluIGRheXMpXG4gICAqL1xuICByZWFkb25seSBwaXBlTG9nUHJvcHM/OiBsb2dzLkxvZ0dyb3VwUHJvcHMsXG4gIC8qKlxuICAgKiBUaHJlc2hvbGQgZm9yIHdoYXQgbWVzc2FnZXMgdGhlIG5ldyBwaXBlIHNlbmRzIHRvIHRoZSBsb2csIFBpcGVzTG9nTGV2ZWwuT0ZGLCBQaXBlc0xvZ0xldmVsLkVSUk9SLFxuICAgKiBQaXBlc0xvZ0xldmVsLklORk8sIFBpcGVzTG9nTGV2ZWwuVFJBQ0UuIFRoZSBkZWZhdWx0IGlzIElORk8uIFNldHRpbmcgdGhlIGxldmVsIHRvIE9GRiB3aWxsIHByZXZlbnRcbiAgICogYW55IGxvZyBncm91cCBmcm9tIGJlaW5nIGNyZWF0ZWQuIFByb3ZpZGluZyBwaXBlUHJvcHMubG9nQ29uZmlndXJhdGlvbiB3aWxsIGNvbnRyb2xzIGFsbCBhc3BlY3RzIG9mXG4gICAqIGxvZ2dpbmcgYW5kIGFueSBjb25zdHJ1Y3QgcHJvdmlkZWQgbG9nIGNvbmZpZ3VyYXRpb24gaXMgZGlzYWJsZWQuIElmIHBpcGVQcm9wcy5sb2dDb25maWd1cmF0aW9uIGlzXG4gICAqIHByb3ZpZGVkIHRoZW4gc3BlY2lmeWluZyB0aGlzIG9yIHBpcGVMb2dQcm9wcyBpcyBhbiBlcnJvci5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0xldmVsPzogUGlwZXNMb2dMZXZlbCxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIC0gTGFtYmRhIGZ1bmN0aW9uIHRoYXQgdGhlIGNvbnN0cnVjdCB3aWxsIGNvbmZpZ3VyZSB0byBiZSBjYWxsZWQgdG8gZW5yaWNoIHRoZSBtZXNzYWdlXG4gICAqIGJldHdlZW4gc291cmNlIGFuZCB0YXJnZXQuIFRoZSBjb25zdHJ1Y3Qgd2lsbCBjb25maWd1cmUgdGhlIHBpcGUgSUFNIHJvbGUgdG8gYWxsb3cgaW52b2tpbmcgdGhlXG4gICAqIGZ1bmN0aW9uIChidXQgd2lsbCBub3QgYWZmZWN0IHRoZSBJQXJvbGUgYXNzaWduZWQgdG8gdGhlIGZ1bmN0aW9uKS4gU3BlY2lmeWluZyBib3RoIHRoaXMgYW5kXG4gICAqIGVucmljaG1lbnRTdGF0ZU1hY2hpbmUgaXMgYW4gZXJyb3IuIERlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGVucmljaG1lbnRGdW5jdGlvbj86IGxhbWJkYS5GdW5jdGlvbixcbiAgLyoqXG4gICAqIE9wdGlvbmFsIC0gU3RlcCBGdW5jdGlvbnMgc3RhdGUgbWFjaGluZSB0aGF0IHRoZSBjb25zdHJ1Y3Qgd2lsbCBjb25maWd1cmUgdG8gYmUgY2FsbGVkIHRvIGVucmljaCB0aGUgbWVzc2FnZVxuICAgKiBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0LiBUaGUgY29uc3RydWN0IHdpbGwgY29uZmlndXJlIHRoZSBwaXBlIElBTSByb2xlIHRvIGFsbG93IGV4ZWN1dGluZyB0aGUgc3RhdGVcbiAgICogbWFjaGluZSAoYnV0IHdpbGwgbm90IGFmZmVjdCB0aGUgSUFNIHJvbGUgYXNzaWduZWQgdG8gdGhlIHN0YXRlIG1hY2hpbmUpLiBTcGVjaWZ5aW5nIGJvdGggdGhpcyBhbmRcbiAgICogZW5yaWNobWVudFN0YXRlTWFjaGluZSBpcyBhbiBlcnJvci4gRW5yaWNobWVudCBpcyBpbnZva2VkIHN5bmNocm9ub3VzbHksIHNvIHRoaXMgbXVzdCBiZSBhbiBFWFBSRVNTXG4gICAqIHN0YXRlIG1hY2hpbi4gRGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZW5yaWNobWVudFN0YXRlTWFjaGluZT86IHNmbi5TdGF0ZU1hY2hpbmUsXG5cbn1cblxuZXhwb3J0IGNsYXNzIFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGVNYWNoaW5lOiBzZm4uU3RhdGVNYWNoaW5lO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGVNYWNoaW5lTG9nR3JvdXA6IGxvZ3MuSUxvZ0dyb3VwO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvdWR3YXRjaEFsYXJtcz86IGNsb3Vkd2F0Y2guQWxhcm1bXTtcbiAgcHVibGljIHJlYWRvbmx5IHNxc1F1ZXVlOiBzcXMuUXVldWU7XG4gIHB1YmxpYyByZWFkb25seSBkZWFkTGV0dGVyUXVldWU/OiBzcXMuRGVhZExldHRlclF1ZXVlO1xuICBwdWJsaWMgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5O1xuICBwdWJsaWMgcmVhZG9ubHkgcGlwZTogcGlwZXMuQ2ZuUGlwZTtcbiAgcHVibGljIHJlYWRvbmx5IHBpcGVSb2xlOiBpYW0uUm9sZTtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMgY2xhc3MuXG4gICAqIEBwYXJhbSB7Y2RrLkFwcH0gc2NvcGUgLSByZXByZXNlbnRzIHRoZSBzY29wZSBmb3IgYWxsIHRoZSByZXNvdXJjZXMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIHRoaXMgaXMgYSBhIHNjb3BlLXVuaXF1ZSBpZC5cbiAgICogQHBhcmFtIHtTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHN9IHByb3BzIC0gdXNlciBwcm92aWRlZCBwcm9wcyBmb3IgdGhlIGNvbnN0cnVjdC5cbiAgICogQGFjY2VzcyBwdWJsaWNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgZGVmYXVsdHMuQ2hlY2tTdGF0ZU1hY2hpbmVQcm9wcyhwcm9wcyk7XG4gICAgZGVmYXVsdHMuQ2hlY2tTcXNQcm9wcyhwcm9wcyk7XG4gICAgZGVmYXVsdHMuQ2hlY2tQaXBlc1Byb3BzKHByb3BzKTtcblxuICAgIC8vIENyZWF0ZSB0aGUgUXVldWVcbiAgICAvLyBTZXR1cCB0aGUgcXVldWVcbiAgICBjb25zdCBidWlsZFF1ZXVlUmVzcG9uc2UgPSBkZWZhdWx0cy5idWlsZFF1ZXVlKHRoaXMsICdxdWV1ZScsIHtcbiAgICAgIGV4aXN0aW5nUXVldWVPYmo6IHByb3BzLmV4aXN0aW5nUXVldWVPYmosXG4gICAgICBxdWV1ZVByb3BzOiBwcm9wcy5xdWV1ZVByb3BzLFxuICAgICAgZGVwbG95RGVhZExldHRlclF1ZXVlOiBwcm9wcy5kZXBsb3lEZWFkTGV0dGVyUXVldWUsXG4gICAgICBkZWFkTGV0dGVyUXVldWVQcm9wczogcHJvcHMuZGVhZExldHRlclF1ZXVlUHJvcHMsXG4gICAgICBtYXhSZWNlaXZlQ291bnQ6IHByb3BzLm1heFJlY2VpdmVDb3VudCxcbiAgICAgIGVuYWJsZUVuY3J5cHRpb25XaXRoQ3VzdG9tZXJNYW5hZ2VkS2V5OiBwcm9wcy5lbmNyeXB0UXVldWVXaXRoQ21rLFxuICAgICAgZW5jcnlwdGlvbktleTogcHJvcHMuZXhpc3RpbmdRdWV1ZUVuY3J5cHRpb25LZXksXG4gICAgICBlbmNyeXB0aW9uS2V5UHJvcHM6IHByb3BzLnF1ZXVlRW5jcnlwdGlvbktleVByb3BzXG4gICAgfSk7XG4gICAgdGhpcy5zcXNRdWV1ZSA9IGJ1aWxkUXVldWVSZXNwb25zZS5xdWV1ZTtcbiAgICB0aGlzLmRlYWRMZXR0ZXJRdWV1ZSA9IGJ1aWxkUXVldWVSZXNwb25zZS5kbHE7XG5cbiAgICAvLyBDcmVhdGUgdGhlIFN0YXRlIE1hY2hpbmVcbiAgICBjb25zdCBidWlsZFN0YXRlTWFjaGluZVJlc3BvbnNlID0gZGVmYXVsdHMuYnVpbGRTdGF0ZU1hY2hpbmUodGhpcywgZGVmYXVsdHMuaWRQbGFjZWhvbGRlciwge1xuICAgICAgc3RhdGVNYWNoaW5lUHJvcHM6IHByb3BzLnN0YXRlTWFjaGluZVByb3BzLFxuICAgICAgbG9nR3JvdXBQcm9wczogcHJvcHMubG9nR3JvdXBQcm9wcyxcbiAgICAgIGNyZWF0ZUNsb3VkV2F0Y2hBbGFybXM6IHByb3BzLmNyZWF0ZUNsb3VkV2F0Y2hBbGFybXMsXG4gICAgfSk7XG4gICAgdGhpcy5zdGF0ZU1hY2hpbmUgPSBidWlsZFN0YXRlTWFjaGluZVJlc3BvbnNlLnN0YXRlTWFjaGluZTtcbiAgICB0aGlzLnN0YXRlTWFjaGluZUxvZ0dyb3VwID0gYnVpbGRTdGF0ZU1hY2hpbmVSZXNwb25zZS5sb2dHcm91cDtcbiAgICB0aGlzLmNsb3Vkd2F0Y2hBbGFybXMgPSBidWlsZFN0YXRlTWFjaGluZVJlc3BvbnNlLmNsb3VkV2F0Y2hBbGFybXM7XG5cbiAgICAvLyBDcmVhdGUgdGhlIHBpcGUgdG8gY29ubmVjdCB0aGUgcXVldWUgYW5kIHN0YXRlIG1hY2hpbmVcbiAgICBjb25zdCBidWlsZFBpcGVSZXNwb25zZSA9IGRlZmF1bHRzLkJ1aWxkUGlwZSh0aGlzLCBpZCwge1xuICAgICAgc291cmNlOiBkZWZhdWx0cy5DcmVhdGVTcXNTb3VyY2UodGhpcy5zcXNRdWV1ZSwgcHJvcHMucGlwZVByb3BzPy5zb3VyY2VQYXJhbWV0ZXJzKSxcbiAgICAgIHRhcmdldDogZGVmYXVsdHMuQ3JlYXRlU3RhdGVNYWNoaW5lVGFyZ2V0KHRoaXMuc3RhdGVNYWNoaW5lLCBwcm9wcy5waXBlUHJvcHM/LnRhcmdldFBhcmFtZXRlcnMpLFxuICAgICAgZW5yaWNobWVudEZ1bmN0aW9uOiBwcm9wcy5lbnJpY2htZW50RnVuY3Rpb24sXG4gICAgICBlbnJpY2htZW50U3RhdGVNYWNoaW5lOiBwcm9wcy5lbnJpY2htZW50U3RhdGVNYWNoaW5lLFxuICAgICAgY2xpZW50UHJvcHM6IHByb3BzLnBpcGVQcm9wcyxcbiAgICAgIGxvZ0xldmVsOiBwcm9wcy5sb2dMZXZlbCxcbiAgICAgIHBpcGVMb2dQcm9wczogcHJvcHMucGlwZUxvZ1Byb3BzXG4gICAgfSk7XG4gICAgdGhpcy5waXBlID0gYnVpbGRQaXBlUmVzcG9uc2UucGlwZTtcbiAgICB0aGlzLnBpcGVSb2xlID0gYnVpbGRQaXBlUmVzcG9uc2UucGlwZVJvbGU7XG4gICAgZGVmYXVsdHMuYWRkQ2ZuR3VhcmRTdXBwcmVzc1J1bGVzKHRoaXMucGlwZVJvbGUsIFtcIklBTV9OT19JTkxJTkVfUE9MSUNZX0NIRUNLXCJdKTtcbiAgfVxufVxuIl19
package/package.json ADDED
@@ -0,0 +1,96 @@
1
+ {
2
+ "name": "@aws-solutions-constructs/aws-sqs-pipes-stepfunctions",
3
+ "version": "2.73.0",
4
+ "description": "CDK Constructs for Amazon SQS to AWS Step Functions via Amazon EventBridge Pipes integration.",
5
+ "main": "lib/index.js",
6
+ "types": "lib/index.d.ts",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/awslabs/aws-solutions-constructs.git",
10
+ "directory": "source/patterns/@aws-solutions-constructs/aws-sqs-pipes-stepfunctions"
11
+ },
12
+ "author": {
13
+ "name": "Amazon Web Services",
14
+ "url": "https://aws.amazon.com",
15
+ "organization": true
16
+ },
17
+ "license": "Apache-2.0",
18
+ "scripts": {
19
+ "build": "tsc -b .",
20
+ "lint": "eslint -c ../eslintrc.yml --ext=.js,.ts . && tslint --project .",
21
+ "lint-fix": "eslint -c ../eslintrc.yml --ext=.js,.ts --fix .",
22
+ "test": "jest --coverage",
23
+ "clean": "tsc -b --clean",
24
+ "watch": "tsc -b -w",
25
+ "integ": "integ-runner --update-on-failed",
26
+ "integ-no-clean": "integ-runner --update-on-failed --no-clean",
27
+ "integ-assert": "integ-runner",
28
+ "jsii": "jsii",
29
+ "jsii-pacmak": "jsii-pacmak",
30
+ "build+lint+test": "npm run jsii && npm run lint && npm test && npm run integ-assert",
31
+ "snapshot-update": "npm run jsii && npm test -- -u && npm run integ-assert"
32
+ },
33
+ "jsii": {
34
+ "outdir": "dist",
35
+ "targets": {
36
+ "java": {
37
+ "package": "software.amazon.awsconstructs.services.sqspipesstepfunctions",
38
+ "maven": {
39
+ "groupId": "software.amazon.awsconstructs",
40
+ "artifactId": "sqspipesstepfunctions"
41
+ }
42
+ },
43
+ "dotnet": {
44
+ "namespace": "Amazon.SolutionsConstructs.AWS.SqsPipesStepfunctions",
45
+ "packageId": "Amazon.SolutionsConstructs.AWS.SqsPipesStepfunctions",
46
+ "signAssembly": true,
47
+ "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png"
48
+ },
49
+ "python": {
50
+ "distName": "aws-solutions-constructs.aws-sqs-pipes-stepfunctions",
51
+ "module": "aws_solutions_constructs.aws_sqs_pipes_stepfunctions"
52
+ }
53
+ }
54
+ },
55
+ "dependencies": {
56
+ "@aws-cdk/integ-tests-alpha": "2.161.0-alpha.0",
57
+ "@aws-solutions-constructs/core": "2.73.0",
58
+ "@aws-solutions-constructs/resources": "2.73.0",
59
+ "constructs": "^10.0.0"
60
+ },
61
+ "devDependencies": {
62
+ "@types/jest": "^27.4.0",
63
+ "@types/node": "^10.3.0",
64
+ "constructs": "^10.0.0",
65
+ "aws-cdk-lib": "2.161.0"
66
+ },
67
+ "jest": {
68
+ "moduleFileExtensions": [
69
+ "js"
70
+ ],
71
+ "coverageReporters": [
72
+ "text",
73
+ [
74
+ "lcov",
75
+ {
76
+ "projectRoot": "../../../../"
77
+ }
78
+ ]
79
+ ]
80
+ },
81
+ "peerDependencies": {
82
+ "@aws-solutions-constructs/core": "2.73.0",
83
+ "@aws-solutions-constructs/resources": "2.73.0",
84
+ "constructs": "^10.0.0",
85
+ "aws-cdk-lib": "^2.161.0"
86
+ },
87
+ "keywords": [
88
+ "aws",
89
+ "cdk",
90
+ "awscdk",
91
+ "AWS Solutions Constructs",
92
+ "Amazon SQS",
93
+ "AWS Step Functions",
94
+ "Amazon EventBridge Pipes"
95
+ ]
96
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
5
+ * with the License. A copy of the License is located at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
10
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
+ * and limitations under the License.
12
+ */
13
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
6
+ * with the License. A copy of the License is located at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
11
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
12
+ * and limitations under the License.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ /// !cdk-integ *
16
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
17
+ const lib_1 = require("../lib");
18
+ const core_1 = require("@aws-solutions-constructs/core");
19
+ const integ_tests_alpha_1 = require("@aws-cdk/integ-tests-alpha");
20
+ const defaults = require("@aws-solutions-constructs/core");
21
+ const app = new aws_cdk_lib_1.App();
22
+ const stack = new aws_cdk_lib_1.Stack(app, (0, core_1.generateIntegStackName)(__filename));
23
+ const props = {
24
+ stateMachineProps: {
25
+ definitionBody: defaults.CreateTestStateMachineDefinitionBody(stack, 's3stp-test')
26
+ },
27
+ logLevel: defaults.PipesLogLevel.TRACE
28
+ };
29
+ new lib_1.SqsToPipesToStepfunctions(stack, 'test-sqs-pipes-states-construct', props);
30
+ new integ_tests_alpha_1.IntegTest(stack, 'Integ', { testCases: [
31
+ stack
32
+ ] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuc3FzcHN0cC1jdXN0b20tbG9nLWxldmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWcuc3FzcHN0cC1jdXN0b20tbG9nLWxldmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxnQkFBZ0I7QUFDaEIsNkNBQXlDO0FBQ3pDLGdDQUFtRjtBQUNuRix5REFBd0U7QUFDeEUsa0VBQXVEO0FBQ3ZELDJEQUEyRDtBQUUzRCxNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLElBQUEsNkJBQXNCLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUVqRSxNQUFNLEtBQUssR0FBbUM7SUFDNUMsaUJBQWlCLEVBQUU7UUFDakIsY0FBYyxFQUFFLFFBQVEsQ0FBQyxvQ0FBb0MsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO0tBQ25GO0lBQ0QsUUFBUSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSztDQUN2QyxDQUFDO0FBRUYsSUFBSSwrQkFBeUIsQ0FBQyxLQUFLLEVBQUUsaUNBQWlDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFL0UsSUFBSSw2QkFBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUU7UUFDekMsS0FBSztLQUNOLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8vICFjZGstaW50ZWcgKlxuaW1wb3J0IHsgQXBwLCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucywgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZSB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5pbXBvcnQgeyBJbnRlZ1Rlc3QgfSBmcm9tICdAYXdzLWNkay9pbnRlZy10ZXN0cy1hbHBoYSc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoX19maWxlbmFtZSkpO1xuXG5jb25zdCBwcm9wczogU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzID0ge1xuICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgIGRlZmluaXRpb25Cb2R5OiBkZWZhdWx0cy5DcmVhdGVUZXN0U3RhdGVNYWNoaW5lRGVmaW5pdGlvbkJvZHkoc3RhY2ssICdzM3N0cC10ZXN0JylcbiAgfSxcbiAgbG9nTGV2ZWw6IGRlZmF1bHRzLlBpcGVzTG9nTGV2ZWwuVFJBQ0Vcbn07XG5cbm5ldyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zKHN0YWNrLCAndGVzdC1zcXMtcGlwZXMtc3RhdGVzLWNvbnN0cnVjdCcsIHByb3BzKTtcblxubmV3IEludGVnVGVzdChzdGFjaywgJ0ludGVnJywgeyB0ZXN0Q2FzZXM6IFtcbiAgc3RhY2tcbl0gfSk7XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":"38.0.1"}
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": "38.0.1",
3
+ "testCases": {
4
+ "sqspstp-custom-log-level/Integ/DefaultTest": {
5
+ "stacks": [
6
+ "sqspstp-custom-log-level"
7
+ ],
8
+ "assertionStack": "sqspstp-custom-log-level/Integ/DefaultTest/DeployAssert",
9
+ "assertionStackName": "sqspstpcustomloglevelIntegDefaultTestDeployAssertD542618D"
10
+ }
11
+ }
12
+ }