aws-solutions-constructs.aws-iot-s3 2.85.2__tar.gz → 2.85.4__tar.gz

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 (20) hide show
  1. aws_solutions_constructs_aws_iot_s3-2.85.4/PKG-INFO +28 -0
  2. aws_solutions_constructs_aws_iot_s3-2.85.4/README.md +1 -0
  3. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/setup.py +3 -3
  4. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/src/aws_solutions_constructs/aws_iot_s3/__init__.py +1 -147
  5. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/src/aws_solutions_constructs/aws_iot_s3/_jsii/__init__.py +2 -2
  6. aws_solutions_constructs_aws_iot_s3-2.85.4/src/aws_solutions_constructs/aws_iot_s3/_jsii/aws-iot-s3@2.85.4.jsii.tgz +0 -0
  7. aws_solutions_constructs_aws_iot_s3-2.85.4/src/aws_solutions_constructs.aws_iot_s3.egg-info/PKG-INFO +28 -0
  8. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/src/aws_solutions_constructs.aws_iot_s3.egg-info/SOURCES.txt +1 -1
  9. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/src/aws_solutions_constructs.aws_iot_s3.egg-info/requires.txt +1 -1
  10. aws_solutions_constructs_aws_iot_s3-2.85.2/PKG-INFO +0 -174
  11. aws_solutions_constructs_aws_iot_s3-2.85.2/README.md +0 -147
  12. aws_solutions_constructs_aws_iot_s3-2.85.2/src/aws_solutions_constructs/aws_iot_s3/_jsii/aws-iot-s3@2.85.2.jsii.tgz +0 -0
  13. aws_solutions_constructs_aws_iot_s3-2.85.2/src/aws_solutions_constructs.aws_iot_s3.egg-info/PKG-INFO +0 -174
  14. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/LICENSE +0 -0
  15. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/MANIFEST.in +0 -0
  16. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/pyproject.toml +0 -0
  17. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/setup.cfg +0 -0
  18. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/src/aws_solutions_constructs/aws_iot_s3/py.typed +0 -0
  19. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/src/aws_solutions_constructs.aws_iot_s3.egg-info/dependency_links.txt +0 -0
  20. {aws_solutions_constructs_aws_iot_s3-2.85.2 → aws_solutions_constructs_aws_iot_s3-2.85.4}/src/aws_solutions_constructs.aws_iot_s3.egg-info/top_level.txt +0 -0
@@ -0,0 +1,28 @@
1
+ Metadata-Version: 2.1
2
+ Name: aws-solutions-constructs.aws-iot-s3
3
+ Version: 2.85.4
4
+ Summary: CDK Constructs for AWS IoT to AWS S3 integration
5
+ Home-page: https://github.com/awslabs/aws-solutions-constructs.git
6
+ Author: Amazon Web Services
7
+ License: Apache-2.0
8
+ Project-URL: Source, https://github.com/awslabs/aws-solutions-constructs.git
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Programming Language :: JavaScript
12
+ Classifier: Programming Language :: Python :: 3 :: Only
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Typing :: Typed
17
+ Classifier: License :: OSI Approved
18
+ Requires-Python: ~=3.9
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: aws-cdk-lib<3.0.0,>=2.193.0
22
+ Requires-Dist: aws-solutions-constructs.core==2.85.4
23
+ Requires-Dist: constructs<11.0.0,>=10.0.0
24
+ Requires-Dist: jsii<2.0.0,>=1.111.0
25
+ Requires-Dist: publication>=0.0.3
26
+ Requires-Dist: typeguard<4.3.0,>=2.13.3
27
+
28
+ Documentation for this pattern can be found [here](https://github.com/awslabs/aws-solutions-constructs/blob/main/source/patterns/%40aws-solutions-constructs/aws-iot-s3/README.adoc)
@@ -0,0 +1 @@
1
+ Documentation for this pattern can be found [here](https://github.com/awslabs/aws-solutions-constructs/blob/main/source/patterns/%40aws-solutions-constructs/aws-iot-s3/README.adoc)
@@ -5,7 +5,7 @@ kwargs = json.loads(
5
5
  """
6
6
  {
7
7
  "name": "aws-solutions-constructs.aws-iot-s3",
8
- "version": "2.85.2",
8
+ "version": "2.85.4",
9
9
  "description": "CDK Constructs for AWS IoT to AWS S3 integration",
10
10
  "license": "Apache-2.0",
11
11
  "url": "https://github.com/awslabs/aws-solutions-constructs.git",
@@ -26,7 +26,7 @@ kwargs = json.loads(
26
26
  ],
27
27
  "package_data": {
28
28
  "aws_solutions_constructs.aws_iot_s3._jsii": [
29
- "aws-iot-s3@2.85.2.jsii.tgz"
29
+ "aws-iot-s3@2.85.4.jsii.tgz"
30
30
  ],
31
31
  "aws_solutions_constructs.aws_iot_s3": [
32
32
  "py.typed"
@@ -35,7 +35,7 @@ kwargs = json.loads(
35
35
  "python_requires": "~=3.9",
36
36
  "install_requires": [
37
37
  "aws-cdk-lib>=2.193.0, <3.0.0",
38
- "aws-solutions-constructs.core==2.85.2",
38
+ "aws-solutions-constructs.core==2.85.4",
39
39
  "constructs>=10.0.0, <11.0.0",
40
40
  "jsii>=1.111.0, <2.0.0",
41
41
  "publication>=0.0.3",
@@ -1,151 +1,5 @@
1
1
  r'''
2
- # aws-iot-s3 module
3
-
4
- <!--BEGIN STABILITY BANNER-->
5
-
6
- ![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge)
7
-
8
- > All classes are under active development and subject to non-backward compatible changes or removal in any
9
- > future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.
10
- > 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.
11
-
12
- <!--END STABILITY BANNER-->
13
-
14
- | **Reference Documentation**:| <span style="font-weight: normal">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|
15
- |:-------------|:-------------|
16
-
17
- <div style="height:8px"></div>
18
-
19
- | **Language** | **Package** |
20
- |:-------------|-----------------|
21
- |![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws_iot_s3`|
22
- |![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-iot-s3`|
23
- |![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.iots3`|
24
-
25
- ## Overview
26
-
27
- This AWS Solutions Construct implements an AWS IoT MQTT topic rule and an Amazon S3 Bucket pattern.
28
-
29
- Here is a minimal deployable pattern definition:
30
-
31
- Typescript
32
-
33
- ```python
34
- import { Construct } from 'constructs';
35
- import { Stack, StackProps } from 'aws-cdk-lib';
36
- import { IotToS3Props, IotToS3 } from '@aws-solutions-constructs/aws-iot-s3';
37
-
38
- const constructProps: IotToS3Props = {
39
- iotTopicRuleProps: {
40
- topicRulePayload: {
41
- ruleDisabled: false,
42
- description: "Testing the IotToS3 Pattern",
43
- sql: "SELECT * FROM 'solutions/constructs'",
44
- actions: []
45
- }
46
- }
47
- };
48
-
49
- new IotToS3(this, 'test-iot-s3-integration', constructProps);
50
- ```
51
-
52
- Python
53
-
54
- ```python
55
- from aws_solutions_constructs.aws_iot_s3 import IotToS3Props, IotToS3
56
- from aws_cdk import (
57
- aws_iot as iot,
58
- Stack
59
- )
60
- from constructs import Construct
61
-
62
-
63
- IotToS3(self, 'test_iot_s3',
64
- iot_topic_rule_props=iot.CfnTopicRuleProps(
65
- topic_rule_payload=iot.CfnTopicRule.TopicRulePayloadProperty(
66
- rule_disabled=False,
67
- description="Testing the IotToS3 Pattern",
68
- sql="SELECT * FROM 'solutions/constructs'",
69
- actions=[]
70
- )
71
- ))
72
- ```
73
-
74
- Java
75
-
76
- ```java
77
- import software.constructs.Construct;
78
- import java.util.List;
79
-
80
- import software.amazon.awscdk.Stack;
81
- import software.amazon.awscdk.StackProps;
82
- import software.amazon.awscdk.services.iot.*;
83
- import software.amazon.awscdk.services.iot.CfnTopicRule.TopicRulePayloadProperty;
84
- import software.amazon.awsconstructs.services.iots3.*;
85
-
86
- new IotToS3(this, "test_iot_s3", new IotToS3Props.Builder()
87
- .iotTopicRuleProps(new CfnTopicRuleProps.Builder()
88
- .topicRulePayload(new TopicRulePayloadProperty.Builder()
89
- .ruleDisabled(false)
90
- .description("Testing the IotToS3 Pattern")
91
- .sql("SELECT * FROM 'solutions/constructs'")
92
- .actions(List.of())
93
- .build())
94
- .build())
95
- .build());
96
- ```
97
-
98
- ## Pattern Construct Props
99
-
100
- | **Name** | **Type** | **Description** |
101
- |:-------------|:----------------|-----------------|
102
- |existingBucketInterface?|[`s3.IBucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html)|Existing S3 Bucket interface. Providing this property and `bucketProps` results in an error.|
103
- |bucketProps?|[`s3.BucketProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html)|Optional user provided props to override the default props for the S3 Bucket. Providing this and `existingBucketObj` reults in an error.|
104
- |loggingBucketProps?|[`s3.BucketProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html)|Optional user provided props to override the default props for the S3 Logging Bucket.|
105
- |iotTopicRuleProps?|[`iot.CfnTopicRuleProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRuleProps.html)|User provided CfnTopicRuleProps to override the defaults.|
106
- |s3Key|`string`|User provided s3Key to override the default (`${topic()}/${timestamp()}`) object key. Used to store messages matched by the IoT Rule.|
107
- |logS3AccessLogs?|`boolean`|Whether to turn on Access Logging for the S3 bucket. Creates an S3 bucket with associated storage costs for the logs. Enabling Access Logging is a best practice. default - true|
108
-
109
- ## Pattern Properties
110
-
111
- | **Name** | **Type** | **Description** |
112
- |:-------------|:----------------|-----------------|
113
- |s3Bucket?|[`s3.Bucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html)|Returns an instance of the S3 bucket created by the pattern. If an existingBucketInterface is provided in IotToS3Props, then this value will be undefined|
114
- |s3BucketInterface?|[`s3.IBucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html)|Returns S3 Bucket interface created or used by the pattern. If an existingBucketInterface is provided in IotToS3Props, then only this value will be set and s3Bucket will be undefined. If the construct creates the bucket, then both properties will be set.|
115
- |s3LoggingBucket?|[`s3.Bucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html)|Returns an instance of `s3.Bucket` created by the construct as the logging bucket for the primary bucket.|
116
- |iotActionsRole|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html)|Returns an instance of `iam.Role` created by the construct, which allows IoT to publish messages to the S3 bucket.|
117
- |iotTopicRule|[`iot.CfnTopicRule`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.html)|Returns an instance of `iot.CfnTopicRule` created by the construct|
118
-
119
- ## Default settings
120
-
121
- Out of the box implementation of the Construct without any override will set the following defaults:
122
-
123
- ### Amazon IoT Rule
124
-
125
- * Configure an IoT Rule to send messages to the S3 Bucket
126
-
127
- ### Amazon IAM Role
128
-
129
- * Configure least privilege access IAM role for Amazon IoT to be able to publish messages to the S3 Bucket
130
-
131
- ### Amazon S3 Bucket
132
-
133
- * Configure Access logging for S3 Bucket
134
- * Enable server-side encryption for S3 Bucket using AWS managed KMS Key
135
- * Enforce encryption of data in transit
136
- * Turn on the versioning for S3 Bucket
137
- * Don't allow public access for S3 Bucket
138
- * Retain the S3 Bucket when deleting the CloudFormation stack
139
- * Applies Lifecycle rule to move noncurrent object versions to Glacier storage after 90 days
140
-
141
- ## Architecture
142
-
143
- ![Architecture Diagram](architecture.png)
144
-
145
- ---
146
-
147
-
148
- © Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ Documentation for this pattern can be found [here](https://github.com/awslabs/aws-solutions-constructs/blob/main/source/patterns/%40aws-solutions-constructs/aws-iot-s3/README.adoc)
149
3
  '''
150
4
  from pkgutil import extend_path
151
5
  __path__ = extend_path(__path__, __name__)
@@ -34,9 +34,9 @@ import constructs._jsii
34
34
 
35
35
  __jsii_assembly__ = jsii.JSIIAssembly.load(
36
36
  "@aws-solutions-constructs/aws-iot-s3",
37
- "2.85.2",
37
+ "2.85.4",
38
38
  __name__[0:-6],
39
- "aws-iot-s3@2.85.2.jsii.tgz",
39
+ "aws-iot-s3@2.85.4.jsii.tgz",
40
40
  )
41
41
 
42
42
  __all__ = [
@@ -0,0 +1,28 @@
1
+ Metadata-Version: 2.1
2
+ Name: aws-solutions-constructs.aws-iot-s3
3
+ Version: 2.85.4
4
+ Summary: CDK Constructs for AWS IoT to AWS S3 integration
5
+ Home-page: https://github.com/awslabs/aws-solutions-constructs.git
6
+ Author: Amazon Web Services
7
+ License: Apache-2.0
8
+ Project-URL: Source, https://github.com/awslabs/aws-solutions-constructs.git
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Programming Language :: JavaScript
12
+ Classifier: Programming Language :: Python :: 3 :: Only
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Typing :: Typed
17
+ Classifier: License :: OSI Approved
18
+ Requires-Python: ~=3.9
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: aws-cdk-lib<3.0.0,>=2.193.0
22
+ Requires-Dist: aws-solutions-constructs.core==2.85.4
23
+ Requires-Dist: constructs<11.0.0,>=10.0.0
24
+ Requires-Dist: jsii<2.0.0,>=1.111.0
25
+ Requires-Dist: publication>=0.0.3
26
+ Requires-Dist: typeguard<4.3.0,>=2.13.3
27
+
28
+ Documentation for this pattern can be found [here](https://github.com/awslabs/aws-solutions-constructs/blob/main/source/patterns/%40aws-solutions-constructs/aws-iot-s3/README.adoc)
@@ -11,4 +11,4 @@ src/aws_solutions_constructs.aws_iot_s3.egg-info/top_level.txt
11
11
  src/aws_solutions_constructs/aws_iot_s3/__init__.py
12
12
  src/aws_solutions_constructs/aws_iot_s3/py.typed
13
13
  src/aws_solutions_constructs/aws_iot_s3/_jsii/__init__.py
14
- src/aws_solutions_constructs/aws_iot_s3/_jsii/aws-iot-s3@2.85.2.jsii.tgz
14
+ src/aws_solutions_constructs/aws_iot_s3/_jsii/aws-iot-s3@2.85.4.jsii.tgz
@@ -1,5 +1,5 @@
1
1
  aws-cdk-lib<3.0.0,>=2.193.0
2
- aws-solutions-constructs.core==2.85.2
2
+ aws-solutions-constructs.core==2.85.4
3
3
  constructs<11.0.0,>=10.0.0
4
4
  jsii<2.0.0,>=1.111.0
5
5
  publication>=0.0.3
@@ -1,174 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: aws-solutions-constructs.aws-iot-s3
3
- Version: 2.85.2
4
- Summary: CDK Constructs for AWS IoT to AWS S3 integration
5
- Home-page: https://github.com/awslabs/aws-solutions-constructs.git
6
- Author: Amazon Web Services
7
- License: Apache-2.0
8
- Project-URL: Source, https://github.com/awslabs/aws-solutions-constructs.git
9
- Classifier: Intended Audience :: Developers
10
- Classifier: Operating System :: OS Independent
11
- Classifier: Programming Language :: JavaScript
12
- Classifier: Programming Language :: Python :: 3 :: Only
13
- Classifier: Programming Language :: Python :: 3.9
14
- Classifier: Programming Language :: Python :: 3.10
15
- Classifier: Programming Language :: Python :: 3.11
16
- Classifier: Typing :: Typed
17
- Classifier: License :: OSI Approved
18
- Requires-Python: ~=3.9
19
- Description-Content-Type: text/markdown
20
- License-File: LICENSE
21
- Requires-Dist: aws-cdk-lib<3.0.0,>=2.193.0
22
- Requires-Dist: aws-solutions-constructs.core==2.85.2
23
- Requires-Dist: constructs<11.0.0,>=10.0.0
24
- Requires-Dist: jsii<2.0.0,>=1.111.0
25
- Requires-Dist: publication>=0.0.3
26
- Requires-Dist: typeguard<4.3.0,>=2.13.3
27
-
28
- # aws-iot-s3 module
29
-
30
- <!--BEGIN STABILITY BANNER-->
31
-
32
- ![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge)
33
-
34
- > All classes are under active development and subject to non-backward compatible changes or removal in any
35
- > future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.
36
- > 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.
37
-
38
- <!--END STABILITY BANNER-->
39
-
40
- | **Reference Documentation**:| <span style="font-weight: normal">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|
41
- |:-------------|:-------------|
42
-
43
- <div style="height:8px"></div>
44
-
45
- | **Language** | **Package** |
46
- |:-------------|-----------------|
47
- |![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws_iot_s3`|
48
- |![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-iot-s3`|
49
- |![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.iots3`|
50
-
51
- ## Overview
52
-
53
- This AWS Solutions Construct implements an AWS IoT MQTT topic rule and an Amazon S3 Bucket pattern.
54
-
55
- Here is a minimal deployable pattern definition:
56
-
57
- Typescript
58
-
59
- ```python
60
- import { Construct } from 'constructs';
61
- import { Stack, StackProps } from 'aws-cdk-lib';
62
- import { IotToS3Props, IotToS3 } from '@aws-solutions-constructs/aws-iot-s3';
63
-
64
- const constructProps: IotToS3Props = {
65
- iotTopicRuleProps: {
66
- topicRulePayload: {
67
- ruleDisabled: false,
68
- description: "Testing the IotToS3 Pattern",
69
- sql: "SELECT * FROM 'solutions/constructs'",
70
- actions: []
71
- }
72
- }
73
- };
74
-
75
- new IotToS3(this, 'test-iot-s3-integration', constructProps);
76
- ```
77
-
78
- Python
79
-
80
- ```python
81
- from aws_solutions_constructs.aws_iot_s3 import IotToS3Props, IotToS3
82
- from aws_cdk import (
83
- aws_iot as iot,
84
- Stack
85
- )
86
- from constructs import Construct
87
-
88
-
89
- IotToS3(self, 'test_iot_s3',
90
- iot_topic_rule_props=iot.CfnTopicRuleProps(
91
- topic_rule_payload=iot.CfnTopicRule.TopicRulePayloadProperty(
92
- rule_disabled=False,
93
- description="Testing the IotToS3 Pattern",
94
- sql="SELECT * FROM 'solutions/constructs'",
95
- actions=[]
96
- )
97
- ))
98
- ```
99
-
100
- Java
101
-
102
- ```java
103
- import software.constructs.Construct;
104
- import java.util.List;
105
-
106
- import software.amazon.awscdk.Stack;
107
- import software.amazon.awscdk.StackProps;
108
- import software.amazon.awscdk.services.iot.*;
109
- import software.amazon.awscdk.services.iot.CfnTopicRule.TopicRulePayloadProperty;
110
- import software.amazon.awsconstructs.services.iots3.*;
111
-
112
- new IotToS3(this, "test_iot_s3", new IotToS3Props.Builder()
113
- .iotTopicRuleProps(new CfnTopicRuleProps.Builder()
114
- .topicRulePayload(new TopicRulePayloadProperty.Builder()
115
- .ruleDisabled(false)
116
- .description("Testing the IotToS3 Pattern")
117
- .sql("SELECT * FROM 'solutions/constructs'")
118
- .actions(List.of())
119
- .build())
120
- .build())
121
- .build());
122
- ```
123
-
124
- ## Pattern Construct Props
125
-
126
- | **Name** | **Type** | **Description** |
127
- |:-------------|:----------------|-----------------|
128
- |existingBucketInterface?|[`s3.IBucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html)|Existing S3 Bucket interface. Providing this property and `bucketProps` results in an error.|
129
- |bucketProps?|[`s3.BucketProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html)|Optional user provided props to override the default props for the S3 Bucket. Providing this and `existingBucketObj` reults in an error.|
130
- |loggingBucketProps?|[`s3.BucketProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html)|Optional user provided props to override the default props for the S3 Logging Bucket.|
131
- |iotTopicRuleProps?|[`iot.CfnTopicRuleProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRuleProps.html)|User provided CfnTopicRuleProps to override the defaults.|
132
- |s3Key|`string`|User provided s3Key to override the default (`${topic()}/${timestamp()}`) object key. Used to store messages matched by the IoT Rule.|
133
- |logS3AccessLogs?|`boolean`|Whether to turn on Access Logging for the S3 bucket. Creates an S3 bucket with associated storage costs for the logs. Enabling Access Logging is a best practice. default - true|
134
-
135
- ## Pattern Properties
136
-
137
- | **Name** | **Type** | **Description** |
138
- |:-------------|:----------------|-----------------|
139
- |s3Bucket?|[`s3.Bucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html)|Returns an instance of the S3 bucket created by the pattern. If an existingBucketInterface is provided in IotToS3Props, then this value will be undefined|
140
- |s3BucketInterface?|[`s3.IBucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html)|Returns S3 Bucket interface created or used by the pattern. If an existingBucketInterface is provided in IotToS3Props, then only this value will be set and s3Bucket will be undefined. If the construct creates the bucket, then both properties will be set.|
141
- |s3LoggingBucket?|[`s3.Bucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html)|Returns an instance of `s3.Bucket` created by the construct as the logging bucket for the primary bucket.|
142
- |iotActionsRole|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html)|Returns an instance of `iam.Role` created by the construct, which allows IoT to publish messages to the S3 bucket.|
143
- |iotTopicRule|[`iot.CfnTopicRule`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.html)|Returns an instance of `iot.CfnTopicRule` created by the construct|
144
-
145
- ## Default settings
146
-
147
- Out of the box implementation of the Construct without any override will set the following defaults:
148
-
149
- ### Amazon IoT Rule
150
-
151
- * Configure an IoT Rule to send messages to the S3 Bucket
152
-
153
- ### Amazon IAM Role
154
-
155
- * Configure least privilege access IAM role for Amazon IoT to be able to publish messages to the S3 Bucket
156
-
157
- ### Amazon S3 Bucket
158
-
159
- * Configure Access logging for S3 Bucket
160
- * Enable server-side encryption for S3 Bucket using AWS managed KMS Key
161
- * Enforce encryption of data in transit
162
- * Turn on the versioning for S3 Bucket
163
- * Don't allow public access for S3 Bucket
164
- * Retain the S3 Bucket when deleting the CloudFormation stack
165
- * Applies Lifecycle rule to move noncurrent object versions to Glacier storage after 90 days
166
-
167
- ## Architecture
168
-
169
- ![Architecture Diagram](architecture.png)
170
-
171
- ---
172
-
173
-
174
- © Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
@@ -1,147 +0,0 @@
1
- # aws-iot-s3 module
2
-
3
- <!--BEGIN STABILITY BANNER-->
4
-
5
- ![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge)
6
-
7
- > All classes are under active development and subject to non-backward compatible changes or removal in any
8
- > future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.
9
- > 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.
10
-
11
- <!--END STABILITY BANNER-->
12
-
13
- | **Reference Documentation**:| <span style="font-weight: normal">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|
14
- |:-------------|:-------------|
15
-
16
- <div style="height:8px"></div>
17
-
18
- | **Language** | **Package** |
19
- |:-------------|-----------------|
20
- |![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws_iot_s3`|
21
- |![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-iot-s3`|
22
- |![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.iots3`|
23
-
24
- ## Overview
25
-
26
- This AWS Solutions Construct implements an AWS IoT MQTT topic rule and an Amazon S3 Bucket pattern.
27
-
28
- Here is a minimal deployable pattern definition:
29
-
30
- Typescript
31
-
32
- ```python
33
- import { Construct } from 'constructs';
34
- import { Stack, StackProps } from 'aws-cdk-lib';
35
- import { IotToS3Props, IotToS3 } from '@aws-solutions-constructs/aws-iot-s3';
36
-
37
- const constructProps: IotToS3Props = {
38
- iotTopicRuleProps: {
39
- topicRulePayload: {
40
- ruleDisabled: false,
41
- description: "Testing the IotToS3 Pattern",
42
- sql: "SELECT * FROM 'solutions/constructs'",
43
- actions: []
44
- }
45
- }
46
- };
47
-
48
- new IotToS3(this, 'test-iot-s3-integration', constructProps);
49
- ```
50
-
51
- Python
52
-
53
- ```python
54
- from aws_solutions_constructs.aws_iot_s3 import IotToS3Props, IotToS3
55
- from aws_cdk import (
56
- aws_iot as iot,
57
- Stack
58
- )
59
- from constructs import Construct
60
-
61
-
62
- IotToS3(self, 'test_iot_s3',
63
- iot_topic_rule_props=iot.CfnTopicRuleProps(
64
- topic_rule_payload=iot.CfnTopicRule.TopicRulePayloadProperty(
65
- rule_disabled=False,
66
- description="Testing the IotToS3 Pattern",
67
- sql="SELECT * FROM 'solutions/constructs'",
68
- actions=[]
69
- )
70
- ))
71
- ```
72
-
73
- Java
74
-
75
- ```java
76
- import software.constructs.Construct;
77
- import java.util.List;
78
-
79
- import software.amazon.awscdk.Stack;
80
- import software.amazon.awscdk.StackProps;
81
- import software.amazon.awscdk.services.iot.*;
82
- import software.amazon.awscdk.services.iot.CfnTopicRule.TopicRulePayloadProperty;
83
- import software.amazon.awsconstructs.services.iots3.*;
84
-
85
- new IotToS3(this, "test_iot_s3", new IotToS3Props.Builder()
86
- .iotTopicRuleProps(new CfnTopicRuleProps.Builder()
87
- .topicRulePayload(new TopicRulePayloadProperty.Builder()
88
- .ruleDisabled(false)
89
- .description("Testing the IotToS3 Pattern")
90
- .sql("SELECT * FROM 'solutions/constructs'")
91
- .actions(List.of())
92
- .build())
93
- .build())
94
- .build());
95
- ```
96
-
97
- ## Pattern Construct Props
98
-
99
- | **Name** | **Type** | **Description** |
100
- |:-------------|:----------------|-----------------|
101
- |existingBucketInterface?|[`s3.IBucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html)|Existing S3 Bucket interface. Providing this property and `bucketProps` results in an error.|
102
- |bucketProps?|[`s3.BucketProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html)|Optional user provided props to override the default props for the S3 Bucket. Providing this and `existingBucketObj` reults in an error.|
103
- |loggingBucketProps?|[`s3.BucketProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html)|Optional user provided props to override the default props for the S3 Logging Bucket.|
104
- |iotTopicRuleProps?|[`iot.CfnTopicRuleProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRuleProps.html)|User provided CfnTopicRuleProps to override the defaults.|
105
- |s3Key|`string`|User provided s3Key to override the default (`${topic()}/${timestamp()}`) object key. Used to store messages matched by the IoT Rule.|
106
- |logS3AccessLogs?|`boolean`|Whether to turn on Access Logging for the S3 bucket. Creates an S3 bucket with associated storage costs for the logs. Enabling Access Logging is a best practice. default - true|
107
-
108
- ## Pattern Properties
109
-
110
- | **Name** | **Type** | **Description** |
111
- |:-------------|:----------------|-----------------|
112
- |s3Bucket?|[`s3.Bucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html)|Returns an instance of the S3 bucket created by the pattern. If an existingBucketInterface is provided in IotToS3Props, then this value will be undefined|
113
- |s3BucketInterface?|[`s3.IBucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html)|Returns S3 Bucket interface created or used by the pattern. If an existingBucketInterface is provided in IotToS3Props, then only this value will be set and s3Bucket will be undefined. If the construct creates the bucket, then both properties will be set.|
114
- |s3LoggingBucket?|[`s3.Bucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html)|Returns an instance of `s3.Bucket` created by the construct as the logging bucket for the primary bucket.|
115
- |iotActionsRole|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html)|Returns an instance of `iam.Role` created by the construct, which allows IoT to publish messages to the S3 bucket.|
116
- |iotTopicRule|[`iot.CfnTopicRule`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.html)|Returns an instance of `iot.CfnTopicRule` created by the construct|
117
-
118
- ## Default settings
119
-
120
- Out of the box implementation of the Construct without any override will set the following defaults:
121
-
122
- ### Amazon IoT Rule
123
-
124
- * Configure an IoT Rule to send messages to the S3 Bucket
125
-
126
- ### Amazon IAM Role
127
-
128
- * Configure least privilege access IAM role for Amazon IoT to be able to publish messages to the S3 Bucket
129
-
130
- ### Amazon S3 Bucket
131
-
132
- * Configure Access logging for S3 Bucket
133
- * Enable server-side encryption for S3 Bucket using AWS managed KMS Key
134
- * Enforce encryption of data in transit
135
- * Turn on the versioning for S3 Bucket
136
- * Don't allow public access for S3 Bucket
137
- * Retain the S3 Bucket when deleting the CloudFormation stack
138
- * Applies Lifecycle rule to move noncurrent object versions to Glacier storage after 90 days
139
-
140
- ## Architecture
141
-
142
- ![Architecture Diagram](architecture.png)
143
-
144
- ---
145
-
146
-
147
- © Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
@@ -1,174 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: aws-solutions-constructs.aws-iot-s3
3
- Version: 2.85.2
4
- Summary: CDK Constructs for AWS IoT to AWS S3 integration
5
- Home-page: https://github.com/awslabs/aws-solutions-constructs.git
6
- Author: Amazon Web Services
7
- License: Apache-2.0
8
- Project-URL: Source, https://github.com/awslabs/aws-solutions-constructs.git
9
- Classifier: Intended Audience :: Developers
10
- Classifier: Operating System :: OS Independent
11
- Classifier: Programming Language :: JavaScript
12
- Classifier: Programming Language :: Python :: 3 :: Only
13
- Classifier: Programming Language :: Python :: 3.9
14
- Classifier: Programming Language :: Python :: 3.10
15
- Classifier: Programming Language :: Python :: 3.11
16
- Classifier: Typing :: Typed
17
- Classifier: License :: OSI Approved
18
- Requires-Python: ~=3.9
19
- Description-Content-Type: text/markdown
20
- License-File: LICENSE
21
- Requires-Dist: aws-cdk-lib<3.0.0,>=2.193.0
22
- Requires-Dist: aws-solutions-constructs.core==2.85.2
23
- Requires-Dist: constructs<11.0.0,>=10.0.0
24
- Requires-Dist: jsii<2.0.0,>=1.111.0
25
- Requires-Dist: publication>=0.0.3
26
- Requires-Dist: typeguard<4.3.0,>=2.13.3
27
-
28
- # aws-iot-s3 module
29
-
30
- <!--BEGIN STABILITY BANNER-->
31
-
32
- ![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge)
33
-
34
- > All classes are under active development and subject to non-backward compatible changes or removal in any
35
- > future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.
36
- > 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.
37
-
38
- <!--END STABILITY BANNER-->
39
-
40
- | **Reference Documentation**:| <span style="font-weight: normal">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|
41
- |:-------------|:-------------|
42
-
43
- <div style="height:8px"></div>
44
-
45
- | **Language** | **Package** |
46
- |:-------------|-----------------|
47
- |![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws_iot_s3`|
48
- |![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-iot-s3`|
49
- |![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.iots3`|
50
-
51
- ## Overview
52
-
53
- This AWS Solutions Construct implements an AWS IoT MQTT topic rule and an Amazon S3 Bucket pattern.
54
-
55
- Here is a minimal deployable pattern definition:
56
-
57
- Typescript
58
-
59
- ```python
60
- import { Construct } from 'constructs';
61
- import { Stack, StackProps } from 'aws-cdk-lib';
62
- import { IotToS3Props, IotToS3 } from '@aws-solutions-constructs/aws-iot-s3';
63
-
64
- const constructProps: IotToS3Props = {
65
- iotTopicRuleProps: {
66
- topicRulePayload: {
67
- ruleDisabled: false,
68
- description: "Testing the IotToS3 Pattern",
69
- sql: "SELECT * FROM 'solutions/constructs'",
70
- actions: []
71
- }
72
- }
73
- };
74
-
75
- new IotToS3(this, 'test-iot-s3-integration', constructProps);
76
- ```
77
-
78
- Python
79
-
80
- ```python
81
- from aws_solutions_constructs.aws_iot_s3 import IotToS3Props, IotToS3
82
- from aws_cdk import (
83
- aws_iot as iot,
84
- Stack
85
- )
86
- from constructs import Construct
87
-
88
-
89
- IotToS3(self, 'test_iot_s3',
90
- iot_topic_rule_props=iot.CfnTopicRuleProps(
91
- topic_rule_payload=iot.CfnTopicRule.TopicRulePayloadProperty(
92
- rule_disabled=False,
93
- description="Testing the IotToS3 Pattern",
94
- sql="SELECT * FROM 'solutions/constructs'",
95
- actions=[]
96
- )
97
- ))
98
- ```
99
-
100
- Java
101
-
102
- ```java
103
- import software.constructs.Construct;
104
- import java.util.List;
105
-
106
- import software.amazon.awscdk.Stack;
107
- import software.amazon.awscdk.StackProps;
108
- import software.amazon.awscdk.services.iot.*;
109
- import software.amazon.awscdk.services.iot.CfnTopicRule.TopicRulePayloadProperty;
110
- import software.amazon.awsconstructs.services.iots3.*;
111
-
112
- new IotToS3(this, "test_iot_s3", new IotToS3Props.Builder()
113
- .iotTopicRuleProps(new CfnTopicRuleProps.Builder()
114
- .topicRulePayload(new TopicRulePayloadProperty.Builder()
115
- .ruleDisabled(false)
116
- .description("Testing the IotToS3 Pattern")
117
- .sql("SELECT * FROM 'solutions/constructs'")
118
- .actions(List.of())
119
- .build())
120
- .build())
121
- .build());
122
- ```
123
-
124
- ## Pattern Construct Props
125
-
126
- | **Name** | **Type** | **Description** |
127
- |:-------------|:----------------|-----------------|
128
- |existingBucketInterface?|[`s3.IBucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html)|Existing S3 Bucket interface. Providing this property and `bucketProps` results in an error.|
129
- |bucketProps?|[`s3.BucketProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html)|Optional user provided props to override the default props for the S3 Bucket. Providing this and `existingBucketObj` reults in an error.|
130
- |loggingBucketProps?|[`s3.BucketProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html)|Optional user provided props to override the default props for the S3 Logging Bucket.|
131
- |iotTopicRuleProps?|[`iot.CfnTopicRuleProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRuleProps.html)|User provided CfnTopicRuleProps to override the defaults.|
132
- |s3Key|`string`|User provided s3Key to override the default (`${topic()}/${timestamp()}`) object key. Used to store messages matched by the IoT Rule.|
133
- |logS3AccessLogs?|`boolean`|Whether to turn on Access Logging for the S3 bucket. Creates an S3 bucket with associated storage costs for the logs. Enabling Access Logging is a best practice. default - true|
134
-
135
- ## Pattern Properties
136
-
137
- | **Name** | **Type** | **Description** |
138
- |:-------------|:----------------|-----------------|
139
- |s3Bucket?|[`s3.Bucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html)|Returns an instance of the S3 bucket created by the pattern. If an existingBucketInterface is provided in IotToS3Props, then this value will be undefined|
140
- |s3BucketInterface?|[`s3.IBucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html)|Returns S3 Bucket interface created or used by the pattern. If an existingBucketInterface is provided in IotToS3Props, then only this value will be set and s3Bucket will be undefined. If the construct creates the bucket, then both properties will be set.|
141
- |s3LoggingBucket?|[`s3.Bucket`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html)|Returns an instance of `s3.Bucket` created by the construct as the logging bucket for the primary bucket.|
142
- |iotActionsRole|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html)|Returns an instance of `iam.Role` created by the construct, which allows IoT to publish messages to the S3 bucket.|
143
- |iotTopicRule|[`iot.CfnTopicRule`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.html)|Returns an instance of `iot.CfnTopicRule` created by the construct|
144
-
145
- ## Default settings
146
-
147
- Out of the box implementation of the Construct without any override will set the following defaults:
148
-
149
- ### Amazon IoT Rule
150
-
151
- * Configure an IoT Rule to send messages to the S3 Bucket
152
-
153
- ### Amazon IAM Role
154
-
155
- * Configure least privilege access IAM role for Amazon IoT to be able to publish messages to the S3 Bucket
156
-
157
- ### Amazon S3 Bucket
158
-
159
- * Configure Access logging for S3 Bucket
160
- * Enable server-side encryption for S3 Bucket using AWS managed KMS Key
161
- * Enforce encryption of data in transit
162
- * Turn on the versioning for S3 Bucket
163
- * Don't allow public access for S3 Bucket
164
- * Retain the S3 Bucket when deleting the CloudFormation stack
165
- * Applies Lifecycle rule to move noncurrent object versions to Glacier storage after 90 days
166
-
167
- ## Architecture
168
-
169
- ![Architecture Diagram](architecture.png)
170
-
171
- ---
172
-
173
-
174
- © Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.