aws-cdk.app-staging-synthesizer-alpha 2.127.0a0__tar.gz → 2.128.0a0__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.

Potentially problematic release.


This version of aws-cdk.app-staging-synthesizer-alpha might be problematic. Click here for more details.

Files changed (18) hide show
  1. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0/src/aws_cdk.app_staging_synthesizer_alpha.egg-info → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/PKG-INFO +52 -14
  2. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/README.md +51 -13
  3. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/setup.py +3 -3
  4. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/src/aws_cdk/app_staging_synthesizer_alpha/__init__.py +169 -86
  5. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/src/aws_cdk/app_staging_synthesizer_alpha/_jsii/__init__.py +2 -2
  6. aws-cdk.app-staging-synthesizer-alpha-2.128.0a0/src/aws_cdk/app_staging_synthesizer_alpha/_jsii/app-staging-synthesizer-alpha@2.128.0-alpha.0.jsii.tgz +0 -0
  7. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0/src/aws_cdk.app_staging_synthesizer_alpha.egg-info}/PKG-INFO +52 -14
  8. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/src/aws_cdk.app_staging_synthesizer_alpha.egg-info/SOURCES.txt +1 -1
  9. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/src/aws_cdk.app_staging_synthesizer_alpha.egg-info/requires.txt +1 -1
  10. aws-cdk.app-staging-synthesizer-alpha-2.127.0a0/src/aws_cdk/app_staging_synthesizer_alpha/_jsii/app-staging-synthesizer-alpha@2.127.0-alpha.0.jsii.tgz +0 -0
  11. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/LICENSE +0 -0
  12. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/MANIFEST.in +0 -0
  13. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/NOTICE +0 -0
  14. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/pyproject.toml +0 -0
  15. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/setup.cfg +0 -0
  16. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/src/aws_cdk/app_staging_synthesizer_alpha/py.typed +0 -0
  17. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/src/aws_cdk.app_staging_synthesizer_alpha.egg-info/dependency_links.txt +0 -0
  18. {aws-cdk.app-staging-synthesizer-alpha-2.127.0a0 → aws-cdk.app-staging-synthesizer-alpha-2.128.0a0}/src/aws_cdk.app_staging_synthesizer_alpha.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws-cdk.app-staging-synthesizer-alpha
3
- Version: 2.127.0a0
3
+ Version: 2.128.0a0
4
4
  Summary: Cdk synthesizer for with app-scoped staging stack
5
5
  Home-page: https://github.com/aws/aws-cdk
6
6
  Author: Amazon Web Services
@@ -57,9 +57,13 @@ are as follows:
57
57
  To get started, update your CDK App with a new `defaultStackSynthesizer`:
58
58
 
59
59
  ```python
60
+ from aws_cdk.aws_s3 import BucketEncryption
61
+
62
+
60
63
  app = App(
61
64
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
62
- app_id="my-app-id"
65
+ app_id="my-app-id", # put a unique id here
66
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED
63
67
  )
64
68
  )
65
69
  ```
@@ -119,9 +123,13 @@ synthesizer will create a new Staging Stack in each environment the CDK App is d
119
123
  its staging resources. To use this kind of synthesizer, use `AppStagingSynthesizer.defaultResources()`.
120
124
 
121
125
  ```python
126
+ from aws_cdk.aws_s3 import BucketEncryption
127
+
128
+
122
129
  app = App(
123
130
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
124
131
  app_id="my-app-id",
132
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
125
133
 
126
134
  # The following line is optional. By default it is assumed you have bootstrapped in the same
127
135
  # region(s) as the stack(s) you are deploying.
@@ -142,8 +150,14 @@ source code. As part of the `DefaultStagingStack`, an S3 bucket and IAM role wil
142
150
  used to upload the asset to S3.
143
151
 
144
152
  ```python
153
+ from aws_cdk.aws_s3 import BucketEncryption
154
+
155
+
145
156
  app = App(
146
- default_stack_synthesizer=AppStagingSynthesizer.default_resources(app_id="my-app-id")
157
+ default_stack_synthesizer=AppStagingSynthesizer.default_resources(
158
+ app_id="my-app-id",
159
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED
160
+ )
147
161
  )
148
162
 
149
163
  stack = Stack(app, "my-stack")
@@ -163,9 +177,13 @@ You can customize some or all of the roles you'd like to use in the synthesizer
163
177
  if all you need is to supply custom roles (and not change anything else in the `DefaultStagingStack`):
164
178
 
165
179
  ```python
180
+ from aws_cdk.aws_s3 import BucketEncryption
181
+
182
+
166
183
  app = App(
167
184
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
168
185
  app_id="my-app-id",
186
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
169
187
  deployment_identities=DeploymentIdentities.specify_roles(
170
188
  cloud_formation_execution_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/Execute"),
171
189
  deployment_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/Deploy"),
@@ -183,9 +201,13 @@ and `CloudFormationExecutionRole` in the
183
201
  [bootstrap template](https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk/lib/api/bootstrap/bootstrap-template.yaml).
184
202
 
185
203
  ```python
204
+ from aws_cdk.aws_s3 import BucketEncryption
205
+
206
+
186
207
  app = App(
187
208
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
188
209
  app_id="my-app-id",
210
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
189
211
  deployment_identities=DeploymentIdentities.cli_credentials()
190
212
  )
191
213
  )
@@ -196,9 +218,13 @@ assumable by the deployment role. You can also specify an existing IAM role for
196
218
  `fileAssetPublishingRole` or `imageAssetPublishingRole`:
197
219
 
198
220
  ```python
221
+ from aws_cdk.aws_s3 import BucketEncryption
222
+
223
+
199
224
  app = App(
200
225
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
201
226
  app_id="my-app-id",
227
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
202
228
  file_asset_publishing_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/S3Access"),
203
229
  image_asset_publishing_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/ECRAccess")
204
230
  )
@@ -250,9 +276,13 @@ to a previous version of an application just by doing a CloudFormation deploymen
250
276
  template, without rebuilding and republishing assets.
251
277
 
252
278
  ```python
279
+ from aws_cdk.aws_s3 import BucketEncryption
280
+
281
+
253
282
  app = App(
254
283
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
255
284
  app_id="my-app-id",
285
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
256
286
  deploy_time_file_asset_lifetime=Duration.days(100)
257
287
  )
258
288
  )
@@ -268,9 +298,13 @@ purged.
268
298
  To change the number of revisions stored, use `imageAssetVersionCount`:
269
299
 
270
300
  ```python
301
+ from aws_cdk.aws_s3 import BucketEncryption
302
+
303
+
271
304
  app = App(
272
305
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
273
306
  app_id="my-app-id",
307
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
274
308
  image_asset_version_count=10
275
309
  )
276
310
  )
@@ -284,9 +318,13 @@ or `emptyOnDelete` turned on. This creates custom resources under the hood to fa
284
318
  cleanup. To turn this off, specify `autoDeleteStagingAssets: false`.
285
319
 
286
320
  ```python
321
+ from aws_cdk.aws_s3 import BucketEncryption
322
+
323
+
287
324
  app = App(
288
325
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
289
326
  app_id="my-app-id",
327
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
290
328
  auto_delete_staging_assets=False
291
329
  )
292
330
  )
@@ -294,20 +332,20 @@ app = App(
294
332
 
295
333
  ### Staging Bucket Encryption
296
334
 
297
- By default, the staging resources will be stored in an S3 Bucket with KMS encryption. To use
298
- SSE-S3, set `stagingBucketEncryption` to `BucketEncryption.S3_MANAGED`.
335
+ You must explicitly specify the encryption type for the staging bucket via the `stagingBucketEncryption` property. In
336
+ future versions of this package, the default will be `BucketEncryption.S3_MANAGED`.
299
337
 
300
- ```python
301
- from aws_cdk.aws_s3 import BucketEncryption
338
+ In previous versions of this package, the default was to use KMS encryption for the staging bucket. KMS keys cost
339
+ $1/month, which could result in unexpected costs for users who are not aware of this. As we stabilize this module
340
+ we intend to make the default S3-managed encryption, which is free. However, the migration path from KMS to S3
341
+ managed encryption for existing buckets is not straightforward. Therefore, for now, this property is required.
302
342
 
343
+ If you have an existing staging bucket encrypted with a KMS key, you will likely want to set this property to
344
+ `BucketEncryption.KMS`. If you are creating a new staging bucket, you can set this property to
345
+ `BucketEncryption.S3_MANAGED` to avoid the cost of a KMS key.
303
346
 
304
- app = App(
305
- default_stack_synthesizer=AppStagingSynthesizer.default_resources(
306
- app_id="my-app-id",
307
- staging_bucket_encryption=BucketEncryption.S3_MANAGED
308
- )
309
- )
310
- ```
347
+ You can learn more about choosing a bucket encryption type in the
348
+ [S3 documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html).
311
349
 
312
350
  ## Using a Custom Staging Stack per Environment
313
351
 
@@ -31,9 +31,13 @@ are as follows:
31
31
  To get started, update your CDK App with a new `defaultStackSynthesizer`:
32
32
 
33
33
  ```python
34
+ from aws_cdk.aws_s3 import BucketEncryption
35
+
36
+
34
37
  app = App(
35
38
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
36
- app_id="my-app-id"
39
+ app_id="my-app-id", # put a unique id here
40
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED
37
41
  )
38
42
  )
39
43
  ```
@@ -93,9 +97,13 @@ synthesizer will create a new Staging Stack in each environment the CDK App is d
93
97
  its staging resources. To use this kind of synthesizer, use `AppStagingSynthesizer.defaultResources()`.
94
98
 
95
99
  ```python
100
+ from aws_cdk.aws_s3 import BucketEncryption
101
+
102
+
96
103
  app = App(
97
104
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
98
105
  app_id="my-app-id",
106
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
99
107
 
100
108
  # The following line is optional. By default it is assumed you have bootstrapped in the same
101
109
  # region(s) as the stack(s) you are deploying.
@@ -116,8 +124,14 @@ source code. As part of the `DefaultStagingStack`, an S3 bucket and IAM role wil
116
124
  used to upload the asset to S3.
117
125
 
118
126
  ```python
127
+ from aws_cdk.aws_s3 import BucketEncryption
128
+
129
+
119
130
  app = App(
120
- default_stack_synthesizer=AppStagingSynthesizer.default_resources(app_id="my-app-id")
131
+ default_stack_synthesizer=AppStagingSynthesizer.default_resources(
132
+ app_id="my-app-id",
133
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED
134
+ )
121
135
  )
122
136
 
123
137
  stack = Stack(app, "my-stack")
@@ -137,9 +151,13 @@ You can customize some or all of the roles you'd like to use in the synthesizer
137
151
  if all you need is to supply custom roles (and not change anything else in the `DefaultStagingStack`):
138
152
 
139
153
  ```python
154
+ from aws_cdk.aws_s3 import BucketEncryption
155
+
156
+
140
157
  app = App(
141
158
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
142
159
  app_id="my-app-id",
160
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
143
161
  deployment_identities=DeploymentIdentities.specify_roles(
144
162
  cloud_formation_execution_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/Execute"),
145
163
  deployment_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/Deploy"),
@@ -157,9 +175,13 @@ and `CloudFormationExecutionRole` in the
157
175
  [bootstrap template](https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk/lib/api/bootstrap/bootstrap-template.yaml).
158
176
 
159
177
  ```python
178
+ from aws_cdk.aws_s3 import BucketEncryption
179
+
180
+
160
181
  app = App(
161
182
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
162
183
  app_id="my-app-id",
184
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
163
185
  deployment_identities=DeploymentIdentities.cli_credentials()
164
186
  )
165
187
  )
@@ -170,9 +192,13 @@ assumable by the deployment role. You can also specify an existing IAM role for
170
192
  `fileAssetPublishingRole` or `imageAssetPublishingRole`:
171
193
 
172
194
  ```python
195
+ from aws_cdk.aws_s3 import BucketEncryption
196
+
197
+
173
198
  app = App(
174
199
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
175
200
  app_id="my-app-id",
201
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
176
202
  file_asset_publishing_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/S3Access"),
177
203
  image_asset_publishing_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/ECRAccess")
178
204
  )
@@ -224,9 +250,13 @@ to a previous version of an application just by doing a CloudFormation deploymen
224
250
  template, without rebuilding and republishing assets.
225
251
 
226
252
  ```python
253
+ from aws_cdk.aws_s3 import BucketEncryption
254
+
255
+
227
256
  app = App(
228
257
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
229
258
  app_id="my-app-id",
259
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
230
260
  deploy_time_file_asset_lifetime=Duration.days(100)
231
261
  )
232
262
  )
@@ -242,9 +272,13 @@ purged.
242
272
  To change the number of revisions stored, use `imageAssetVersionCount`:
243
273
 
244
274
  ```python
275
+ from aws_cdk.aws_s3 import BucketEncryption
276
+
277
+
245
278
  app = App(
246
279
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
247
280
  app_id="my-app-id",
281
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
248
282
  image_asset_version_count=10
249
283
  )
250
284
  )
@@ -258,9 +292,13 @@ or `emptyOnDelete` turned on. This creates custom resources under the hood to fa
258
292
  cleanup. To turn this off, specify `autoDeleteStagingAssets: false`.
259
293
 
260
294
  ```python
295
+ from aws_cdk.aws_s3 import BucketEncryption
296
+
297
+
261
298
  app = App(
262
299
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
263
300
  app_id="my-app-id",
301
+ staging_bucket_encryption=BucketEncryption.S3_MANAGED,
264
302
  auto_delete_staging_assets=False
265
303
  )
266
304
  )
@@ -268,20 +306,20 @@ app = App(
268
306
 
269
307
  ### Staging Bucket Encryption
270
308
 
271
- By default, the staging resources will be stored in an S3 Bucket with KMS encryption. To use
272
- SSE-S3, set `stagingBucketEncryption` to `BucketEncryption.S3_MANAGED`.
309
+ You must explicitly specify the encryption type for the staging bucket via the `stagingBucketEncryption` property. In
310
+ future versions of this package, the default will be `BucketEncryption.S3_MANAGED`.
273
311
 
274
- ```python
275
- from aws_cdk.aws_s3 import BucketEncryption
312
+ In previous versions of this package, the default was to use KMS encryption for the staging bucket. KMS keys cost
313
+ $1/month, which could result in unexpected costs for users who are not aware of this. As we stabilize this module
314
+ we intend to make the default S3-managed encryption, which is free. However, the migration path from KMS to S3
315
+ managed encryption for existing buckets is not straightforward. Therefore, for now, this property is required.
276
316
 
317
+ If you have an existing staging bucket encrypted with a KMS key, you will likely want to set this property to
318
+ `BucketEncryption.KMS`. If you are creating a new staging bucket, you can set this property to
319
+ `BucketEncryption.S3_MANAGED` to avoid the cost of a KMS key.
277
320
 
278
- app = App(
279
- default_stack_synthesizer=AppStagingSynthesizer.default_resources(
280
- app_id="my-app-id",
281
- staging_bucket_encryption=BucketEncryption.S3_MANAGED
282
- )
283
- )
284
- ```
321
+ You can learn more about choosing a bucket encryption type in the
322
+ [S3 documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html).
285
323
 
286
324
  ## Using a Custom Staging Stack per Environment
287
325
 
@@ -5,7 +5,7 @@ kwargs = json.loads(
5
5
  """
6
6
  {
7
7
  "name": "aws-cdk.app-staging-synthesizer-alpha",
8
- "version": "2.127.0.a0",
8
+ "version": "2.128.0.a0",
9
9
  "description": "Cdk synthesizer for with app-scoped staging stack",
10
10
  "license": "Apache-2.0",
11
11
  "url": "https://github.com/aws/aws-cdk",
@@ -26,7 +26,7 @@ kwargs = json.loads(
26
26
  ],
27
27
  "package_data": {
28
28
  "aws_cdk.app_staging_synthesizer_alpha._jsii": [
29
- "app-staging-synthesizer-alpha@2.127.0-alpha.0.jsii.tgz"
29
+ "app-staging-synthesizer-alpha@2.128.0-alpha.0.jsii.tgz"
30
30
  ],
31
31
  "aws_cdk.app_staging_synthesizer_alpha": [
32
32
  "py.typed"
@@ -34,7 +34,7 @@ kwargs = json.loads(
34
34
  },
35
35
  "python_requires": "~=3.8",
36
36
  "install_requires": [
37
- "aws-cdk-lib>=2.127.0, <3.0.0",
37
+ "aws-cdk-lib>=2.128.0, <3.0.0",
38
38
  "constructs>=10.0.0, <11.0.0",
39
39
  "jsii>=1.94.0, <2.0.0",
40
40
  "publication>=0.0.3",