cloudsnorkel.cdk-rds-sanitized-snapshots 0.0.3__tar.gz → 0.1.1__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 cloudsnorkel.cdk-rds-sanitized-snapshots might be problematic. Click here for more details.

Files changed (19) hide show
  1. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3/src/cloudsnorkel.cdk_rds_sanitized_snapshots.egg-info → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/PKG-INFO +3 -6
  2. cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1/pyproject.toml +9 -0
  3. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/setup.py +8 -7
  4. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/src/cloudsnorkel/cdk_rds_sanitized_snapshots/__init__.py +115 -73
  5. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/src/cloudsnorkel/cdk_rds_sanitized_snapshots/_jsii/__init__.py +7 -2
  6. cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1/src/cloudsnorkel/cdk_rds_sanitized_snapshots/_jsii/cdk-rds-sanitized-snapshots@0.1.1.jsii.tgz +0 -0
  7. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1/src/cloudsnorkel.cdk_rds_sanitized_snapshots.egg-info}/PKG-INFO +3 -6
  8. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/src/cloudsnorkel.cdk_rds_sanitized_snapshots.egg-info/SOURCES.txt +1 -1
  9. cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1/src/cloudsnorkel.cdk_rds_sanitized_snapshots.egg-info/requires.txt +5 -0
  10. cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3/pyproject.toml +0 -3
  11. cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3/src/cloudsnorkel/cdk_rds_sanitized_snapshots/_jsii/cdk-rds-sanitized-snapshots@0.0.3.jsii.tgz +0 -0
  12. cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3/src/cloudsnorkel.cdk_rds_sanitized_snapshots.egg-info/requires.txt +0 -4
  13. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/LICENSE +0 -0
  14. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/MANIFEST.in +0 -0
  15. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/README.md +0 -0
  16. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/setup.cfg +0 -0
  17. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/src/cloudsnorkel/cdk_rds_sanitized_snapshots/py.typed +0 -0
  18. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/src/cloudsnorkel.cdk_rds_sanitized_snapshots.egg-info/dependency_links.txt +0 -0
  19. {cloudsnorkel.cdk-rds-sanitized-snapshots-0.0.3 → cloudsnorkel.cdk-rds-sanitized-snapshots-0.1.1}/src/cloudsnorkel.cdk_rds_sanitized_snapshots.egg-info/top_level.txt +0 -0
@@ -1,24 +1,23 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudsnorkel.cdk-rds-sanitized-snapshots
3
- Version: 0.0.3
3
+ Version: 0.1.1
4
4
  Summary: CDK construct to periodically take snapshots of RDS databases, sanitize them, and share with selected accounts.
5
5
  Home-page: https://github.com/CloudSnorkel/cdk-rds-sanitized-snapshots.git
6
6
  Author: Amir Szekely<amir@cloudsnorkel.com>
7
7
  License: Apache-2.0
8
8
  Project-URL: Source, https://github.com/CloudSnorkel/cdk-rds-sanitized-snapshots.git
9
- Platform: UNKNOWN
10
9
  Classifier: Intended Audience :: Developers
11
10
  Classifier: Operating System :: OS Independent
12
11
  Classifier: Programming Language :: JavaScript
13
12
  Classifier: Programming Language :: Python :: 3 :: Only
14
- Classifier: Programming Language :: Python :: 3.7
15
13
  Classifier: Programming Language :: Python :: 3.8
16
14
  Classifier: Programming Language :: Python :: 3.9
17
15
  Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Typing :: Typed
19
18
  Classifier: Development Status :: 4 - Beta
20
19
  Classifier: License :: OSI Approved
21
- Requires-Python: ~=3.7
20
+ Requires-Python: ~=3.8
22
21
  Description-Content-Type: text/markdown
23
22
  License-File: LICENSE
24
23
 
@@ -131,5 +130,3 @@ on giving other accounts access to the key.
131
130
  ```
132
131
  npm run bundle && npm run integ:default:deploy
133
132
  ```
134
-
135
-
@@ -0,0 +1,9 @@
1
+ [build-system]
2
+ requires = ["setuptools~=67.3.2", "wheel~=0.42"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [tool.pyright]
6
+ defineConstant = { DEBUG = true }
7
+ pythonVersion = "3.8"
8
+ pythonPlatform = "All"
9
+ reportSelfClsParameterName = false
@@ -5,7 +5,7 @@ kwargs = json.loads(
5
5
  """
6
6
  {
7
7
  "name": "cloudsnorkel.cdk-rds-sanitized-snapshots",
8
- "version": "0.0.3",
8
+ "version": "0.1.1",
9
9
  "description": "CDK construct to periodically take snapshots of RDS databases, sanitize them, and share with selected accounts.",
10
10
  "license": "Apache-2.0",
11
11
  "url": "https://github.com/CloudSnorkel/cdk-rds-sanitized-snapshots.git",
@@ -26,28 +26,29 @@ kwargs = json.loads(
26
26
  ],
27
27
  "package_data": {
28
28
  "cloudsnorkel.cdk_rds_sanitized_snapshots._jsii": [
29
- "cdk-rds-sanitized-snapshots@0.0.3.jsii.tgz"
29
+ "cdk-rds-sanitized-snapshots@0.1.1.jsii.tgz"
30
30
  ],
31
31
  "cloudsnorkel.cdk_rds_sanitized_snapshots": [
32
32
  "py.typed"
33
33
  ]
34
34
  },
35
- "python_requires": "~=3.7",
35
+ "python_requires": "~=3.8",
36
36
  "install_requires": [
37
- "aws-cdk-lib>=2.0.0, <3.0.0",
37
+ "aws-cdk-lib>=2.85.0, <3.0.0",
38
38
  "constructs>=10.0.5, <11.0.0",
39
- "jsii>=1.62.0, <2.0.0",
40
- "publication>=0.0.3"
39
+ "jsii>=1.97.0, <2.0.0",
40
+ "publication>=0.0.3",
41
+ "typeguard~=2.13.3"
41
42
  ],
42
43
  "classifiers": [
43
44
  "Intended Audience :: Developers",
44
45
  "Operating System :: OS Independent",
45
46
  "Programming Language :: JavaScript",
46
47
  "Programming Language :: Python :: 3 :: Only",
47
- "Programming Language :: Python :: 3.7",
48
48
  "Programming Language :: Python :: 3.8",
49
49
  "Programming Language :: Python :: 3.9",
50
50
  "Programming Language :: Python :: 3.10",
51
+ "Programming Language :: Python :: 3.11",
51
52
  "Typing :: Typed",
52
53
  "Development Status :: 4 - Beta",
53
54
  "License :: OSI Approved"
@@ -109,6 +109,9 @@ on giving other accounts access to the key.
109
109
  npm run bundle && npm run integ:default:deploy
110
110
  ```
111
111
  '''
112
+ from pkgutil import extend_path
113
+ __path__ = extend_path(__path__, __name__)
114
+
112
115
  import abc
113
116
  import builtins
114
117
  import datetime
@@ -119,15 +122,17 @@ import jsii
119
122
  import publication
120
123
  import typing_extensions
121
124
 
125
+ from typeguard import check_type
126
+
122
127
  from ._jsii import *
123
128
 
124
- import aws_cdk.aws_ec2
125
- import aws_cdk.aws_ecs
126
- import aws_cdk.aws_events
127
- import aws_cdk.aws_kms
128
- import aws_cdk.aws_rds
129
- import aws_cdk.aws_stepfunctions
130
- import constructs
129
+ import aws_cdk.aws_ec2 as _aws_cdk_aws_ec2_ceddda9d
130
+ import aws_cdk.aws_ecs as _aws_cdk_aws_ecs_ceddda9d
131
+ import aws_cdk.aws_events as _aws_cdk_aws_events_ceddda9d
132
+ import aws_cdk.aws_kms as _aws_cdk_aws_kms_ceddda9d
133
+ import aws_cdk.aws_rds as _aws_cdk_aws_rds_ceddda9d
134
+ import aws_cdk.aws_stepfunctions as _aws_cdk_aws_stepfunctions_ceddda9d
135
+ import constructs as _constructs_77d1e7e8
131
136
 
132
137
 
133
138
  @jsii.interface(
@@ -138,7 +143,7 @@ class IRdsSanitizedSnapshotter(typing_extensions.Protocol):
138
143
  :stability: experimental
139
144
  '''
140
145
 
141
- @builtins.property # type: ignore[misc]
146
+ @builtins.property
142
147
  @jsii.member(jsii_name="script")
143
148
  def script(self) -> builtins.str:
144
149
  '''(experimental) SQL script used to sanitize the database. It will be executed against the temporary database.
@@ -149,18 +154,20 @@ class IRdsSanitizedSnapshotter(typing_extensions.Protocol):
149
154
  '''
150
155
  ...
151
156
 
152
- @builtins.property # type: ignore[misc]
157
+ @builtins.property
153
158
  @jsii.member(jsii_name="vpc")
154
- def vpc(self) -> aws_cdk.aws_ec2.IVpc:
159
+ def vpc(self) -> _aws_cdk_aws_ec2_ceddda9d.IVpc:
155
160
  '''(experimental) VPC where temporary database and sanitizing task will be created.
156
161
 
157
162
  :stability: experimental
158
163
  '''
159
164
  ...
160
165
 
161
- @builtins.property # type: ignore[misc]
166
+ @builtins.property
162
167
  @jsii.member(jsii_name="databaseCluster")
163
- def database_cluster(self) -> typing.Optional[aws_cdk.aws_rds.IDatabaseCluster]:
168
+ def database_cluster(
169
+ self,
170
+ ) -> typing.Optional[_aws_cdk_aws_rds_ceddda9d.IDatabaseCluster]:
164
171
  '''(experimental) Database cluster to snapshot and sanitize.
165
172
 
166
173
  Only one of ``databaseCluster`` and ``databaseInstance`` can be specified.
@@ -169,9 +176,11 @@ class IRdsSanitizedSnapshotter(typing_extensions.Protocol):
169
176
  '''
170
177
  ...
171
178
 
172
- @builtins.property # type: ignore[misc]
179
+ @builtins.property
173
180
  @jsii.member(jsii_name="databaseInstance")
174
- def database_instance(self) -> typing.Optional[aws_cdk.aws_rds.IDatabaseInstance]:
181
+ def database_instance(
182
+ self,
183
+ ) -> typing.Optional[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance]:
175
184
  '''(experimental) Database instance to snapshot and sanitize.
176
185
 
177
186
  Only one of ``databaseCluster`` and ``databaseInstance`` can be specified.
@@ -180,16 +189,16 @@ class IRdsSanitizedSnapshotter(typing_extensions.Protocol):
180
189
  '''
181
190
  ...
182
191
 
183
- @builtins.property # type: ignore[misc]
192
+ @builtins.property
184
193
  @jsii.member(jsii_name="databaseKey")
185
- def database_key(self) -> typing.Optional[aws_cdk.aws_kms.IKey]:
194
+ def database_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
186
195
  '''(experimental) KMS key used to encrypt original database, if any.
187
196
 
188
197
  :stability: experimental
189
198
  '''
190
199
  ...
191
200
 
192
- @builtins.property # type: ignore[misc]
201
+ @builtins.property
193
202
  @jsii.member(jsii_name="databaseName")
194
203
  def database_name(self) -> typing.Optional[builtins.str]:
195
204
  '''(experimental) Name of database to connect to inside the RDS cluster or instance.
@@ -202,9 +211,9 @@ class IRdsSanitizedSnapshotter(typing_extensions.Protocol):
202
211
  '''
203
212
  ...
204
213
 
205
- @builtins.property # type: ignore[misc]
214
+ @builtins.property
206
215
  @jsii.member(jsii_name="dbSubnets")
207
- def db_subnets(self) -> typing.Optional[aws_cdk.aws_ec2.SubnetSelection]:
216
+ def db_subnets(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
208
217
  '''(experimental) VPC subnets to use for temporary databases.
209
218
 
210
219
  :default: ec2.SubnetType.PRIVATE_ISOLATED
@@ -213,9 +222,9 @@ class IRdsSanitizedSnapshotter(typing_extensions.Protocol):
213
222
  '''
214
223
  ...
215
224
 
216
- @builtins.property # type: ignore[misc]
225
+ @builtins.property
217
226
  @jsii.member(jsii_name="fargateCluster")
218
- def fargate_cluster(self) -> typing.Optional[aws_cdk.aws_ecs.ICluster]:
227
+ def fargate_cluster(self) -> typing.Optional[_aws_cdk_aws_ecs_ceddda9d.ICluster]:
219
228
  '''(experimental) Cluster where sanitization task will be executed.
220
229
 
221
230
  :default: a new cluster running on given VPC
@@ -224,27 +233,29 @@ class IRdsSanitizedSnapshotter(typing_extensions.Protocol):
224
233
  '''
225
234
  ...
226
235
 
227
- @builtins.property # type: ignore[misc]
236
+ @builtins.property
228
237
  @jsii.member(jsii_name="sanitizeSubnets")
229
- def sanitize_subnets(self) -> typing.Optional[aws_cdk.aws_ec2.SubnetSelection]:
238
+ def sanitize_subnets(
239
+ self,
240
+ ) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
230
241
  '''(experimental) VPC subnets to use for sanitization task.
231
242
 
232
- :default: ec2.SubnetType.PRIVATE_WITH_NAT
243
+ :default: ec2.SubnetType.PRIVATE_WITH_EGRESS
233
244
 
234
245
  :stability: experimental
235
246
  '''
236
247
  ...
237
248
 
238
- @builtins.property # type: ignore[misc]
249
+ @builtins.property
239
250
  @jsii.member(jsii_name="schedule")
240
- def schedule(self) -> typing.Optional[aws_cdk.aws_events.Schedule]:
251
+ def schedule(self) -> typing.Optional[_aws_cdk_aws_events_ceddda9d.Schedule]:
241
252
  '''(experimental) The schedule or rate (frequency) that determines when the sanitized snapshot runs automatically.
242
253
 
243
254
  :stability: experimental
244
255
  '''
245
256
  ...
246
257
 
247
- @builtins.property # type: ignore[misc]
258
+ @builtins.property
248
259
  @jsii.member(jsii_name="shareAccounts")
249
260
  def share_accounts(self) -> typing.Optional[typing.List[builtins.str]]:
250
261
  '''(experimental) List of accounts the sanitized snapshot should be shared with.
@@ -253,7 +264,7 @@ class IRdsSanitizedSnapshotter(typing_extensions.Protocol):
253
264
  '''
254
265
  ...
255
266
 
256
- @builtins.property # type: ignore[misc]
267
+ @builtins.property
257
268
  @jsii.member(jsii_name="snapshotHistoryLimit")
258
269
  def snapshot_history_limit(self) -> typing.Optional[jsii.Number]:
259
270
  '''(experimental) Limit the number of snapshot history.
@@ -264,16 +275,16 @@ class IRdsSanitizedSnapshotter(typing_extensions.Protocol):
264
275
  '''
265
276
  ...
266
277
 
267
- @builtins.property # type: ignore[misc]
278
+ @builtins.property
268
279
  @jsii.member(jsii_name="snapshotKey")
269
- def snapshot_key(self) -> typing.Optional[aws_cdk.aws_kms.IKey]:
280
+ def snapshot_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
270
281
  '''(experimental) Optional KMS key to encrypt target snapshot.
271
282
 
272
283
  :stability: experimental
273
284
  '''
274
285
  ...
275
286
 
276
- @builtins.property # type: ignore[misc]
287
+ @builtins.property
277
288
  @jsii.member(jsii_name="snapshotPrefix")
278
289
  def snapshot_prefix(self) -> typing.Optional[builtins.str]:
279
290
  '''(experimental) Prefix for sanitized snapshot name.
@@ -286,7 +297,7 @@ class IRdsSanitizedSnapshotter(typing_extensions.Protocol):
286
297
  '''
287
298
  ...
288
299
 
289
- @builtins.property # type: ignore[misc]
300
+ @builtins.property
290
301
  @jsii.member(jsii_name="tempPrefix")
291
302
  def temp_prefix(self) -> typing.Optional[builtins.str]:
292
303
  '''(experimental) Prefix for all temporary snapshots and databases.
@@ -307,7 +318,7 @@ class _IRdsSanitizedSnapshotterProxy:
307
318
 
308
319
  __jsii_type__: typing.ClassVar[str] = "@cloudsnorkel/cdk-rds-sanitized-snapshots.IRdsSanitizedSnapshotter"
309
320
 
310
- @builtins.property # type: ignore[misc]
321
+ @builtins.property
311
322
  @jsii.member(jsii_name="script")
312
323
  def script(self) -> builtins.str:
313
324
  '''(experimental) SQL script used to sanitize the database. It will be executed against the temporary database.
@@ -318,47 +329,51 @@ class _IRdsSanitizedSnapshotterProxy:
318
329
  '''
319
330
  return typing.cast(builtins.str, jsii.get(self, "script"))
320
331
 
321
- @builtins.property # type: ignore[misc]
332
+ @builtins.property
322
333
  @jsii.member(jsii_name="vpc")
323
- def vpc(self) -> aws_cdk.aws_ec2.IVpc:
334
+ def vpc(self) -> _aws_cdk_aws_ec2_ceddda9d.IVpc:
324
335
  '''(experimental) VPC where temporary database and sanitizing task will be created.
325
336
 
326
337
  :stability: experimental
327
338
  '''
328
- return typing.cast(aws_cdk.aws_ec2.IVpc, jsii.get(self, "vpc"))
339
+ return typing.cast(_aws_cdk_aws_ec2_ceddda9d.IVpc, jsii.get(self, "vpc"))
329
340
 
330
- @builtins.property # type: ignore[misc]
341
+ @builtins.property
331
342
  @jsii.member(jsii_name="databaseCluster")
332
- def database_cluster(self) -> typing.Optional[aws_cdk.aws_rds.IDatabaseCluster]:
343
+ def database_cluster(
344
+ self,
345
+ ) -> typing.Optional[_aws_cdk_aws_rds_ceddda9d.IDatabaseCluster]:
333
346
  '''(experimental) Database cluster to snapshot and sanitize.
334
347
 
335
348
  Only one of ``databaseCluster`` and ``databaseInstance`` can be specified.
336
349
 
337
350
  :stability: experimental
338
351
  '''
339
- return typing.cast(typing.Optional[aws_cdk.aws_rds.IDatabaseCluster], jsii.get(self, "databaseCluster"))
352
+ return typing.cast(typing.Optional[_aws_cdk_aws_rds_ceddda9d.IDatabaseCluster], jsii.get(self, "databaseCluster"))
340
353
 
341
- @builtins.property # type: ignore[misc]
354
+ @builtins.property
342
355
  @jsii.member(jsii_name="databaseInstance")
343
- def database_instance(self) -> typing.Optional[aws_cdk.aws_rds.IDatabaseInstance]:
356
+ def database_instance(
357
+ self,
358
+ ) -> typing.Optional[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance]:
344
359
  '''(experimental) Database instance to snapshot and sanitize.
345
360
 
346
361
  Only one of ``databaseCluster`` and ``databaseInstance`` can be specified.
347
362
 
348
363
  :stability: experimental
349
364
  '''
350
- return typing.cast(typing.Optional[aws_cdk.aws_rds.IDatabaseInstance], jsii.get(self, "databaseInstance"))
365
+ return typing.cast(typing.Optional[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance], jsii.get(self, "databaseInstance"))
351
366
 
352
- @builtins.property # type: ignore[misc]
367
+ @builtins.property
353
368
  @jsii.member(jsii_name="databaseKey")
354
- def database_key(self) -> typing.Optional[aws_cdk.aws_kms.IKey]:
369
+ def database_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
355
370
  '''(experimental) KMS key used to encrypt original database, if any.
356
371
 
357
372
  :stability: experimental
358
373
  '''
359
- return typing.cast(typing.Optional[aws_cdk.aws_kms.IKey], jsii.get(self, "databaseKey"))
374
+ return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], jsii.get(self, "databaseKey"))
360
375
 
361
- @builtins.property # type: ignore[misc]
376
+ @builtins.property
362
377
  @jsii.member(jsii_name="databaseName")
363
378
  def database_name(self) -> typing.Optional[builtins.str]:
364
379
  '''(experimental) Name of database to connect to inside the RDS cluster or instance.
@@ -371,49 +386,51 @@ class _IRdsSanitizedSnapshotterProxy:
371
386
  '''
372
387
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "databaseName"))
373
388
 
374
- @builtins.property # type: ignore[misc]
389
+ @builtins.property
375
390
  @jsii.member(jsii_name="dbSubnets")
376
- def db_subnets(self) -> typing.Optional[aws_cdk.aws_ec2.SubnetSelection]:
391
+ def db_subnets(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
377
392
  '''(experimental) VPC subnets to use for temporary databases.
378
393
 
379
394
  :default: ec2.SubnetType.PRIVATE_ISOLATED
380
395
 
381
396
  :stability: experimental
382
397
  '''
383
- return typing.cast(typing.Optional[aws_cdk.aws_ec2.SubnetSelection], jsii.get(self, "dbSubnets"))
398
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], jsii.get(self, "dbSubnets"))
384
399
 
385
- @builtins.property # type: ignore[misc]
400
+ @builtins.property
386
401
  @jsii.member(jsii_name="fargateCluster")
387
- def fargate_cluster(self) -> typing.Optional[aws_cdk.aws_ecs.ICluster]:
402
+ def fargate_cluster(self) -> typing.Optional[_aws_cdk_aws_ecs_ceddda9d.ICluster]:
388
403
  '''(experimental) Cluster where sanitization task will be executed.
389
404
 
390
405
  :default: a new cluster running on given VPC
391
406
 
392
407
  :stability: experimental
393
408
  '''
394
- return typing.cast(typing.Optional[aws_cdk.aws_ecs.ICluster], jsii.get(self, "fargateCluster"))
409
+ return typing.cast(typing.Optional[_aws_cdk_aws_ecs_ceddda9d.ICluster], jsii.get(self, "fargateCluster"))
395
410
 
396
- @builtins.property # type: ignore[misc]
411
+ @builtins.property
397
412
  @jsii.member(jsii_name="sanitizeSubnets")
398
- def sanitize_subnets(self) -> typing.Optional[aws_cdk.aws_ec2.SubnetSelection]:
413
+ def sanitize_subnets(
414
+ self,
415
+ ) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
399
416
  '''(experimental) VPC subnets to use for sanitization task.
400
417
 
401
- :default: ec2.SubnetType.PRIVATE_WITH_NAT
418
+ :default: ec2.SubnetType.PRIVATE_WITH_EGRESS
402
419
 
403
420
  :stability: experimental
404
421
  '''
405
- return typing.cast(typing.Optional[aws_cdk.aws_ec2.SubnetSelection], jsii.get(self, "sanitizeSubnets"))
422
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], jsii.get(self, "sanitizeSubnets"))
406
423
 
407
- @builtins.property # type: ignore[misc]
424
+ @builtins.property
408
425
  @jsii.member(jsii_name="schedule")
409
- def schedule(self) -> typing.Optional[aws_cdk.aws_events.Schedule]:
426
+ def schedule(self) -> typing.Optional[_aws_cdk_aws_events_ceddda9d.Schedule]:
410
427
  '''(experimental) The schedule or rate (frequency) that determines when the sanitized snapshot runs automatically.
411
428
 
412
429
  :stability: experimental
413
430
  '''
414
- return typing.cast(typing.Optional[aws_cdk.aws_events.Schedule], jsii.get(self, "schedule"))
431
+ return typing.cast(typing.Optional[_aws_cdk_aws_events_ceddda9d.Schedule], jsii.get(self, "schedule"))
415
432
 
416
- @builtins.property # type: ignore[misc]
433
+ @builtins.property
417
434
  @jsii.member(jsii_name="shareAccounts")
418
435
  def share_accounts(self) -> typing.Optional[typing.List[builtins.str]]:
419
436
  '''(experimental) List of accounts the sanitized snapshot should be shared with.
@@ -422,7 +439,7 @@ class _IRdsSanitizedSnapshotterProxy:
422
439
  '''
423
440
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "shareAccounts"))
424
441
 
425
- @builtins.property # type: ignore[misc]
442
+ @builtins.property
426
443
  @jsii.member(jsii_name="snapshotHistoryLimit")
427
444
  def snapshot_history_limit(self) -> typing.Optional[jsii.Number]:
428
445
  '''(experimental) Limit the number of snapshot history.
@@ -433,16 +450,16 @@ class _IRdsSanitizedSnapshotterProxy:
433
450
  '''
434
451
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "snapshotHistoryLimit"))
435
452
 
436
- @builtins.property # type: ignore[misc]
453
+ @builtins.property
437
454
  @jsii.member(jsii_name="snapshotKey")
438
- def snapshot_key(self) -> typing.Optional[aws_cdk.aws_kms.IKey]:
455
+ def snapshot_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
439
456
  '''(experimental) Optional KMS key to encrypt target snapshot.
440
457
 
441
458
  :stability: experimental
442
459
  '''
443
- return typing.cast(typing.Optional[aws_cdk.aws_kms.IKey], jsii.get(self, "snapshotKey"))
460
+ return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], jsii.get(self, "snapshotKey"))
444
461
 
445
- @builtins.property # type: ignore[misc]
462
+ @builtins.property
446
463
  @jsii.member(jsii_name="snapshotPrefix")
447
464
  def snapshot_prefix(self) -> typing.Optional[builtins.str]:
448
465
  '''(experimental) Prefix for sanitized snapshot name.
@@ -455,7 +472,7 @@ class _IRdsSanitizedSnapshotterProxy:
455
472
  '''
456
473
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "snapshotPrefix"))
457
474
 
458
- @builtins.property # type: ignore[misc]
475
+ @builtins.property
459
476
  @jsii.member(jsii_name="tempPrefix")
460
477
  def temp_prefix(self) -> typing.Optional[builtins.str]:
461
478
  '''(experimental) Prefix for all temporary snapshots and databases.
@@ -473,7 +490,7 @@ typing.cast(typing.Any, IRdsSanitizedSnapshotter).__jsii_proxy_class__ = lambda
473
490
 
474
491
 
475
492
  class RdsSanitizedSnapshotter(
476
- constructs.Construct,
493
+ _constructs_77d1e7e8.Construct,
477
494
  metaclass=jsii.JSIIMeta,
478
495
  jsii_type="@cloudsnorkel/cdk-rds-sanitized-snapshots.RdsSanitizedSnapshotter",
479
496
  ):
@@ -493,7 +510,7 @@ class RdsSanitizedSnapshotter(
493
510
 
494
511
  def __init__(
495
512
  self,
496
- scope: constructs.Construct,
513
+ scope: _constructs_77d1e7e8.Construct,
497
514
  id: builtins.str,
498
515
  props: IRdsSanitizedSnapshotter,
499
516
  ) -> None:
@@ -504,9 +521,14 @@ class RdsSanitizedSnapshotter(
504
521
 
505
522
  :stability: experimental
506
523
  '''
524
+ if __debug__:
525
+ type_hints = typing.get_type_hints(_typecheckingstub__1e15c41233acb14f8259c09345be1563a5d61c80585cf7e3c29c90b00f3e5879)
526
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
527
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
528
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
507
529
  jsii.create(self.__class__, self, [scope, id, props])
508
530
 
509
- @builtins.property # type: ignore[misc]
531
+ @builtins.property
510
532
  @jsii.member(jsii_name="props")
511
533
  def props(self) -> IRdsSanitizedSnapshotter:
512
534
  '''
@@ -514,19 +536,25 @@ class RdsSanitizedSnapshotter(
514
536
  '''
515
537
  return typing.cast(IRdsSanitizedSnapshotter, jsii.get(self, "props"))
516
538
 
517
- @builtins.property # type: ignore[misc]
539
+ @builtins.property
518
540
  @jsii.member(jsii_name="snapshotter")
519
- def snapshotter(self) -> aws_cdk.aws_stepfunctions.StateMachine:
541
+ def snapshotter(self) -> _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine:
520
542
  '''(experimental) Step function in charge of the entire process including snapshotting, sanitizing, and cleanup.
521
543
 
522
544
  Trigger this step function to get a new snapshot.
523
545
 
524
546
  :stability: experimental
525
547
  '''
526
- return typing.cast(aws_cdk.aws_stepfunctions.StateMachine, jsii.get(self, "snapshotter"))
548
+ return typing.cast(_aws_cdk_aws_stepfunctions_ceddda9d.StateMachine, jsii.get(self, "snapshotter"))
527
549
 
528
550
  @snapshotter.setter
529
- def snapshotter(self, value: aws_cdk.aws_stepfunctions.StateMachine) -> None:
551
+ def snapshotter(
552
+ self,
553
+ value: _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine,
554
+ ) -> None:
555
+ if __debug__:
556
+ type_hints = typing.get_type_hints(_typecheckingstub__df51411713b297623720935bb6779afc65503804a74afed6b48f5754baba7f14)
557
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
530
558
  jsii.set(self, "snapshotter", value)
531
559
 
532
560
 
@@ -536,3 +564,17 @@ __all__ = [
536
564
  ]
537
565
 
538
566
  publication.publish()
567
+
568
+ def _typecheckingstub__1e15c41233acb14f8259c09345be1563a5d61c80585cf7e3c29c90b00f3e5879(
569
+ scope: _constructs_77d1e7e8.Construct,
570
+ id: builtins.str,
571
+ props: IRdsSanitizedSnapshotter,
572
+ ) -> None:
573
+ """Type checking stubs"""
574
+ pass
575
+
576
+ def _typecheckingstub__df51411713b297623720935bb6779afc65503804a74afed6b48f5754baba7f14(
577
+ value: _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine,
578
+ ) -> None:
579
+ """Type checking stubs"""
580
+ pass
@@ -1,3 +1,6 @@
1
+ from pkgutil import extend_path
2
+ __path__ = extend_path(__path__, __name__)
3
+
1
4
  import abc
2
5
  import builtins
3
6
  import datetime
@@ -8,14 +11,16 @@ import jsii
8
11
  import publication
9
12
  import typing_extensions
10
13
 
14
+ from typeguard import check_type
15
+
11
16
  import aws_cdk._jsii
12
17
  import constructs._jsii
13
18
 
14
19
  __jsii_assembly__ = jsii.JSIIAssembly.load(
15
20
  "@cloudsnorkel/cdk-rds-sanitized-snapshots",
16
- "0.0.3",
21
+ "0.1.1",
17
22
  __name__[0:-6],
18
- "cdk-rds-sanitized-snapshots@0.0.3.jsii.tgz",
23
+ "cdk-rds-sanitized-snapshots@0.1.1.jsii.tgz",
19
24
  )
20
25
 
21
26
  __all__ = [
@@ -1,24 +1,23 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudsnorkel.cdk-rds-sanitized-snapshots
3
- Version: 0.0.3
3
+ Version: 0.1.1
4
4
  Summary: CDK construct to periodically take snapshots of RDS databases, sanitize them, and share with selected accounts.
5
5
  Home-page: https://github.com/CloudSnorkel/cdk-rds-sanitized-snapshots.git
6
6
  Author: Amir Szekely<amir@cloudsnorkel.com>
7
7
  License: Apache-2.0
8
8
  Project-URL: Source, https://github.com/CloudSnorkel/cdk-rds-sanitized-snapshots.git
9
- Platform: UNKNOWN
10
9
  Classifier: Intended Audience :: Developers
11
10
  Classifier: Operating System :: OS Independent
12
11
  Classifier: Programming Language :: JavaScript
13
12
  Classifier: Programming Language :: Python :: 3 :: Only
14
- Classifier: Programming Language :: Python :: 3.7
15
13
  Classifier: Programming Language :: Python :: 3.8
16
14
  Classifier: Programming Language :: Python :: 3.9
17
15
  Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Typing :: Typed
19
18
  Classifier: Development Status :: 4 - Beta
20
19
  Classifier: License :: OSI Approved
21
- Requires-Python: ~=3.7
20
+ Requires-Python: ~=3.8
22
21
  Description-Content-Type: text/markdown
23
22
  License-File: LICENSE
24
23
 
@@ -131,5 +130,3 @@ on giving other accounts access to the key.
131
130
  ```
132
131
  npm run bundle && npm run integ:default:deploy
133
132
  ```
134
-
135
-
@@ -11,4 +11,4 @@ src/cloudsnorkel.cdk_rds_sanitized_snapshots.egg-info/top_level.txt
11
11
  src/cloudsnorkel/cdk_rds_sanitized_snapshots/__init__.py
12
12
  src/cloudsnorkel/cdk_rds_sanitized_snapshots/py.typed
13
13
  src/cloudsnorkel/cdk_rds_sanitized_snapshots/_jsii/__init__.py
14
- src/cloudsnorkel/cdk_rds_sanitized_snapshots/_jsii/cdk-rds-sanitized-snapshots@0.0.3.jsii.tgz
14
+ src/cloudsnorkel/cdk_rds_sanitized_snapshots/_jsii/cdk-rds-sanitized-snapshots@0.1.1.jsii.tgz
@@ -0,0 +1,5 @@
1
+ aws-cdk-lib<3.0.0,>=2.85.0
2
+ constructs<11.0.0,>=10.0.5
3
+ jsii<2.0.0,>=1.97.0
4
+ publication>=0.0.3
5
+ typeguard~=2.13.3
@@ -1,3 +0,0 @@
1
- [build-system]
2
- requires = ["setuptools~=62.1.0", "wheel~=0.37.1"]
3
- build-backend = "setuptools.build_meta"
@@ -1,4 +0,0 @@
1
- aws-cdk-lib<3.0.0,>=2.0.0
2
- constructs<11.0.0,>=10.0.5
3
- jsii<2.0.0,>=1.62.0
4
- publication>=0.0.3