aws-cdk-lib 2.153.0__py3-none-any.whl → 2.154.1__py3-none-any.whl
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-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +157 -215
- aws_cdk/_jsii/__init__.py +2 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.153.0.jsii.tgz → aws-cdk-lib@2.154.1.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +3 -3
- aws_cdk/aws_accessanalyzer/__init__.py +5 -5
- aws_cdk/aws_acmpca/__init__.py +79 -24
- aws_cdk/aws_amazonmq/__init__.py +161 -161
- aws_cdk/aws_amplify/__init__.py +36 -36
- aws_cdk/aws_amplifyuibuilder/__init__.py +32 -32
- aws_cdk/aws_apigateway/__init__.py +122 -122
- aws_cdk/aws_apigatewayv2/__init__.py +143 -130
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +12 -12
- aws_cdk/aws_appconfig/__init__.py +59 -59
- aws_cdk/aws_appflow/__init__.py +20 -20
- aws_cdk/aws_appintegrations/__init__.py +19 -19
- aws_cdk/aws_applicationautoscaling/__init__.py +31 -16
- aws_cdk/aws_applicationinsights/__init__.py +11 -11
- aws_cdk/aws_applicationsignals/__init__.py +5 -5
- aws_cdk/aws_appmesh/__init__.py +35 -35
- aws_cdk/aws_apprunner/__init__.py +25 -25
- aws_cdk/aws_appstream/__init__.py +105 -105
- aws_cdk/aws_appsync/__init__.py +89 -89
- aws_cdk/aws_apptest/__init__.py +25 -25
- aws_cdk/aws_aps/__init__.py +14 -14
- aws_cdk/aws_arczonalshift/__init__.py +200 -3
- aws_cdk/aws_athena/__init__.py +25 -25
- aws_cdk/aws_auditmanager/__init__.py +15 -15
- aws_cdk/aws_autoscaling/__init__.py +84 -84
- aws_cdk/aws_autoscalingplans/__init__.py +2 -2
- aws_cdk/aws_b2bi/__init__.py +24 -24
- aws_cdk/aws_backup/__init__.py +33 -33
- aws_cdk/aws_backupgateway/__init__.py +7 -7
- aws_cdk/aws_batch/__init__.py +289 -35
- aws_cdk/aws_bcmdataexports/__init__.py +2 -2
- aws_cdk/aws_bedrock/__init__.py +15766 -3438
- aws_cdk/aws_billingconductor/__init__.py +28 -28
- aws_cdk/aws_budgets/__init__.py +12 -12
- aws_cdk/aws_cassandra/__init__.py +16 -16
- aws_cdk/aws_ce/__init__.py +17 -17
- aws_cdk/aws_certificatemanager/__init__.py +9 -9
- aws_cdk/aws_chatbot/__init__.py +22 -22
- aws_cdk/aws_cleanrooms/__init__.py +2470 -307
- aws_cdk/aws_cleanroomsml/__init__.py +5 -5
- aws_cdk/aws_cloud9/__init__.py +10 -10
- aws_cdk/aws_cloudformation/__init__.py +94 -69
- aws_cdk/aws_cloudfront/__init__.py +47 -33
- aws_cdk/aws_cloudtrail/__init__.py +46 -44
- aws_cdk/aws_cloudwatch/__init__.py +61 -69
- aws_cdk/aws_codeartifact/__init__.py +19 -19
- aws_cdk/aws_codebuild/__init__.py +99 -68
- aws_cdk/aws_codecommit/__init__.py +10 -6
- aws_cdk/aws_codeconnections/__init__.py +5 -5
- aws_cdk/aws_codedeploy/__init__.py +28 -28
- aws_cdk/aws_codeguruprofiler/__init__.py +5 -5
- aws_cdk/aws_codegurureviewer/__init__.py +6 -6
- aws_cdk/aws_codepipeline/__init__.py +849 -52
- aws_cdk/aws_codepipeline_actions/__init__.py +1 -1
- aws_cdk/aws_codestar/__init__.py +8 -8
- aws_cdk/aws_codestarconnections/__init__.py +17 -17
- aws_cdk/aws_codestarnotifications/__init__.py +10 -10
- aws_cdk/aws_cognito/__init__.py +465 -133
- aws_cdk/aws_comprehend/__init__.py +20 -20
- aws_cdk/aws_config/__init__.py +67 -67
- aws_cdk/aws_connect/__init__.py +139 -137
- aws_cdk/aws_connectcampaigns/__init__.py +5 -5
- aws_cdk/aws_controltower/__init__.py +12 -12
- aws_cdk/aws_cur/__init__.py +12 -12
- aws_cdk/aws_customerprofiles/__init__.py +36 -36
- aws_cdk/aws_databrew/__init__.py +45 -45
- aws_cdk/aws_datapipeline/__init__.py +12 -8
- aws_cdk/aws_datasync/__init__.py +119 -117
- aws_cdk/aws_datazone/__init__.py +63 -63
- aws_cdk/aws_dax/__init__.py +20 -20
- aws_cdk/aws_deadline/__init__.py +221 -292
- aws_cdk/aws_detective/__init__.py +8 -8
- aws_cdk/aws_devicefarm/__init__.py +37 -37
- aws_cdk/aws_devopsguru/__init__.py +2 -2
- aws_cdk/aws_directoryservice/__init__.py +15 -15
- aws_cdk/aws_dlm/__init__.py +12 -12
- aws_cdk/aws_dms/__init__.py +300 -298
- aws_cdk/aws_docdb/__init__.py +49 -49
- aws_cdk/aws_docdbelastic/__init__.py +14 -14
- aws_cdk/aws_dynamodb/__init__.py +371 -37
- aws_cdk/aws_ec2/__init__.py +914 -612
- aws_cdk/aws_ecr/__init__.py +117 -77
- aws_cdk/aws_ecr_assets/__init__.py +4 -4
- aws_cdk/aws_ecs/__init__.py +192 -191
- aws_cdk/aws_ecs_patterns/__init__.py +2 -2
- aws_cdk/aws_efs/__init__.py +22 -22
- aws_cdk/aws_eks/__init__.py +177 -61
- aws_cdk/aws_elasticache/__init__.py +218 -226
- aws_cdk/aws_elasticbeanstalk/__init__.py +25 -25
- aws_cdk/aws_elasticloadbalancing/__init__.py +16 -16
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +1066 -102
- aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +86 -4
- aws_cdk/aws_elasticsearch/__init__.py +16 -16
- aws_cdk/aws_emr/__init__.py +74 -74
- aws_cdk/aws_emrcontainers/__init__.py +3 -3
- aws_cdk/aws_emrserverless/__init__.py +157 -14
- aws_cdk/aws_entityresolution/__init__.py +613 -35
- aws_cdk/aws_events/__init__.py +42 -42
- aws_cdk/aws_eventschemas/__init__.py +16 -16
- aws_cdk/aws_evidently/__init__.py +38 -38
- aws_cdk/aws_finspace/__init__.py +8 -8
- aws_cdk/aws_fis/__init__.py +12 -12
- aws_cdk/aws_fms/__init__.py +21 -21
- aws_cdk/aws_forecast/__init__.py +18 -11
- aws_cdk/aws_frauddetector/__init__.py +35 -35
- aws_cdk/aws_fsx/__init__.py +35 -35
- aws_cdk/aws_gamelift/__init__.py +155 -143
- aws_cdk/aws_globalaccelerator/__init__.py +46 -24
- aws_cdk/aws_glue/__init__.py +187 -143
- aws_cdk/aws_grafana/__init__.py +17 -17
- aws_cdk/aws_greengrass/__init__.py +48 -48
- aws_cdk/aws_greengrassv2/__init__.py +10 -10
- aws_cdk/aws_groundstation/__init__.py +16 -16
- aws_cdk/aws_guardduty/__init__.py +40 -38
- aws_cdk/aws_healthimaging/__init__.py +3 -3
- aws_cdk/aws_healthlake/__init__.py +6 -6
- aws_cdk/aws_iam/__init__.py +120 -122
- aws_cdk/aws_identitystore/__init__.py +6 -6
- aws_cdk/aws_imagebuilder/__init__.py +98 -98
- aws_cdk/aws_inspector/__init__.py +8 -8
- aws_cdk/aws_inspectorv2/__init__.py +102 -97
- aws_cdk/aws_internetmonitor/__init__.py +12 -12
- aws_cdk/aws_iot/__init__.py +141 -141
- aws_cdk/aws_iot1click/__init__.py +9 -9
- aws_cdk/aws_iotanalytics/__init__.py +21 -21
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +2 -2
- aws_cdk/aws_iotevents/__init__.py +20 -20
- aws_cdk/aws_iotfleethub/__init__.py +4 -4
- aws_cdk/aws_iotfleetwise/__init__.py +45 -45
- aws_cdk/aws_iotsitewise/__init__.py +40 -40
- aws_cdk/aws_iotthingsgraph/__init__.py +2 -2
- aws_cdk/aws_iottwinmaker/__init__.py +34 -34
- aws_cdk/aws_iotwireless/__init__.py +66 -66
- aws_cdk/aws_ivs/__init__.py +490 -34
- aws_cdk/aws_ivschat/__init__.py +9 -9
- aws_cdk/aws_kafkaconnect/__init__.py +22 -22
- aws_cdk/aws_kendra/__init__.py +28 -28
- aws_cdk/aws_kendraranking/__init__.py +4 -4
- aws_cdk/aws_kinesis/__init__.py +8 -8
- aws_cdk/aws_kinesisanalytics/__init__.py +23 -23
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +15 -15
- aws_cdk/aws_kinesisfirehose/__init__.py +677 -18
- aws_cdk/aws_kinesisvideo/__init__.py +10 -10
- aws_cdk/aws_kms/__init__.py +20 -20
- aws_cdk/aws_lakeformation/__init__.py +36 -36
- aws_cdk/aws_lambda/__init__.py +174 -118
- aws_cdk/aws_launchwizard/__init__.py +508 -0
- aws_cdk/aws_lex/__init__.py +24 -24
- aws_cdk/aws_licensemanager/__init__.py +17 -17
- aws_cdk/aws_lightsail/__init__.py +90 -90
- aws_cdk/aws_location/__init__.py +41 -41
- aws_cdk/aws_logs/__init__.py +50 -50
- aws_cdk/aws_lookoutequipment/__init__.py +9 -9
- aws_cdk/aws_lookoutmetrics/__init__.py +10 -10
- aws_cdk/aws_lookoutvision/__init__.py +1 -1
- aws_cdk/aws_m2/__init__.py +20 -20
- aws_cdk/aws_macie/__init__.py +19 -19
- aws_cdk/aws_managedblockchain/__init__.py +10 -10
- aws_cdk/aws_mediaconnect/__init__.py +114 -77
- aws_cdk/aws_mediaconvert/__init__.py +20 -20
- aws_cdk/aws_medialive/__init__.py +49 -40
- aws_cdk/aws_mediapackage/__init__.py +38 -38
- aws_cdk/aws_mediapackagev2/__init__.py +178 -25
- aws_cdk/aws_mediastore/__init__.py +7 -7
- aws_cdk/aws_mediatailor/__init__.py +40 -40
- aws_cdk/aws_memorydb/__init__.py +41 -41
- aws_cdk/aws_msk/__init__.py +127 -39
- aws_cdk/aws_mwaa/__init__.py +25 -25
- aws_cdk/aws_neptune/__init__.py +55 -55
- aws_cdk/aws_neptunegraph/__init__.py +11 -11
- aws_cdk/aws_networkfirewall/__init__.py +36 -30
- aws_cdk/aws_networkmanager/__init__.py +1062 -91
- aws_cdk/aws_nimblestudio/__init__.py +31 -31
- aws_cdk/aws_oam/__init__.py +8 -8
- aws_cdk/aws_omics/__init__.py +36 -36
- aws_cdk/aws_opensearchserverless/__init__.py +25 -25
- aws_cdk/aws_opensearchservice/__init__.py +20 -20
- aws_cdk/aws_opsworks/__init__.py +87 -87
- aws_cdk/aws_opsworkscm/__init__.py +21 -21
- aws_cdk/aws_organizations/__init__.py +17 -17
- aws_cdk/aws_osis/__init__.py +122 -9
- aws_cdk/aws_panorama/__init__.py +27 -22
- aws_cdk/aws_paymentcryptography/__init__.py +7 -7
- aws_cdk/aws_pcaconnectorad/__init__.py +17 -17
- aws_cdk/aws_personalize/__init__.py +19 -19
- aws_cdk/aws_pinpoint/__init__.py +122 -122
- aws_cdk/aws_pinpointemail/__init__.py +16 -16
- aws_cdk/aws_pipes/__init__.py +14 -16
- aws_cdk/aws_proton/__init__.py +19 -19
- aws_cdk/aws_qbusiness/__init__.py +160 -45
- aws_cdk/aws_qldb/__init__.py +12 -12
- aws_cdk/aws_quicksight/__init__.py +91 -91
- aws_cdk/aws_ram/__init__.py +11 -11
- aws_cdk/aws_rds/__init__.py +365 -259
- aws_cdk/aws_redshift/__init__.py +136 -91
- aws_cdk/aws_redshiftserverless/__init__.py +27 -27
- aws_cdk/aws_refactorspaces/__init__.py +26 -26
- aws_cdk/aws_rekognition/__init__.py +16 -16
- aws_cdk/aws_resiliencehub/__init__.py +15 -15
- aws_cdk/aws_resourceexplorer2/__init__.py +8 -8
- aws_cdk/aws_resourcegroups/__init__.py +6 -6
- aws_cdk/aws_robomaker/__init__.py +25 -25
- aws_cdk/aws_rolesanywhere/__init__.py +67 -19
- aws_cdk/aws_route53/__init__.py +36 -36
- aws_cdk/aws_route53profiles/__init__.py +11 -11
- aws_cdk/aws_route53recoverycontrol/__init__.py +14 -14
- aws_cdk/aws_route53recoveryreadiness/__init__.py +13 -13
- aws_cdk/aws_route53resolver/__init__.py +123 -82
- aws_cdk/aws_rum/__init__.py +6 -6
- aws_cdk/aws_s3/__init__.py +136 -80
- aws_cdk/aws_s3_deployment/__init__.py +30 -24
- aws_cdk/aws_s3_notifications/__init__.py +3 -4
- aws_cdk/aws_s3express/__init__.py +5 -5
- aws_cdk/aws_s3objectlambda/__init__.py +6 -6
- aws_cdk/aws_s3outposts/__init__.py +16 -16
- aws_cdk/aws_sagemaker/__init__.py +2414 -282
- aws_cdk/aws_sam/__init__.py +101 -101
- aws_cdk/aws_scheduler/__init__.py +13 -13
- aws_cdk/aws_sdb/__init__.py +1 -1
- aws_cdk/aws_secretsmanager/__init__.py +20 -19
- aws_cdk/aws_securityhub/__init__.py +70 -57
- aws_cdk/aws_securitylake/__init__.py +341 -16
- aws_cdk/aws_servicecatalog/__init__.py +87 -87
- aws_cdk/aws_servicecatalogappregistry/__init__.py +12 -12
- aws_cdk/aws_servicediscovery/__init__.py +23 -23
- aws_cdk/aws_ses/__init__.py +12038 -5604
- aws_cdk/aws_shield/__init__.py +15 -15
- aws_cdk/aws_signer/__init__.py +9 -9
- aws_cdk/aws_simspaceweaver/__init__.py +5 -5
- aws_cdk/aws_sns/__init__.py +28 -28
- aws_cdk/aws_sqs/__init__.py +20 -20
- aws_cdk/aws_ssm/__init__.py +176 -105
- aws_cdk/aws_ssmcontacts/__init__.py +18 -18
- aws_cdk/aws_ssmincidents/__init__.py +11 -11
- aws_cdk/aws_sso/__init__.py +31 -31
- aws_cdk/aws_stepfunctions/__init__.py +370 -28
- aws_cdk/aws_supportapp/__init__.py +11 -11
- aws_cdk/aws_synthetics/__init__.py +18 -18
- aws_cdk/aws_systemsmanagersap/__init__.py +48 -7
- aws_cdk/aws_timestream/__init__.py +34 -34
- aws_cdk/aws_transfer/__init__.py +57 -57
- aws_cdk/aws_verifiedpermissions/__init__.py +11 -11
- aws_cdk/aws_voiceid/__init__.py +4 -4
- aws_cdk/aws_vpclattice/__init__.py +42 -42
- aws_cdk/aws_waf/__init__.py +17 -17
- aws_cdk/aws_wafregional/__init__.py +28 -28
- aws_cdk/aws_wafv2/__init__.py +39 -39
- aws_cdk/aws_wisdom/__init__.py +16 -16
- aws_cdk/aws_workspaces/__init__.py +18 -18
- aws_cdk/aws_workspacesthinclient/__init__.py +63 -9
- aws_cdk/aws_workspacesweb/__init__.py +87 -46
- aws_cdk/aws_xray/__init__.py +12 -12
- aws_cdk/cloud_assembly_schema/__init__.py +348 -239
- aws_cdk/custom_resources/__init__.py +289 -0
- aws_cdk/cx_api/__init__.py +15 -15
- aws_cdk/pipelines/__init__.py +172 -237
- {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.1.dist-info}/METADATA +3 -2
- aws_cdk_lib-2.154.1.dist-info/RECORD +292 -0
- aws_cdk_lib-2.153.0.dist-info/RECORD +0 -291
- {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.1.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.1.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.1.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.1.dist-info}/top_level.txt +0 -0
|
@@ -831,6 +831,111 @@ cr.AwsCustomResource(self, "CrossAccount",
|
|
|
831
831
|
})])
|
|
832
832
|
)
|
|
833
833
|
```
|
|
834
|
+
|
|
835
|
+
#### Custom Resource Config
|
|
836
|
+
|
|
837
|
+
**This feature is currently experimental**
|
|
838
|
+
|
|
839
|
+
You can configure every CDK-vended custom resource in a given scope with `CustomResourceConfig`.
|
|
840
|
+
|
|
841
|
+
Note that `CustomResourceConfig` uses Aspects to modify your constructs. There is no guarantee in the order in which Aspects modify the construct tree, which means that adding the same Aspect more than once to a given scope produces undefined behavior. This example guarantees that every affected resource will have a log retention of ten years or one day, but you cannot know which:
|
|
842
|
+
CustomResourceConfig.of(App).addLogRetentionLifetime(logs.RetentionDays.TEN_YEARS);
|
|
843
|
+
CustomResourceConfig.of(App).addLogRetentionLifetime(logs.RetentionDays.ONE_DAY);
|
|
844
|
+
|
|
845
|
+
The following example configures every custom resource in this CDK app to retain its logs for ten years:
|
|
846
|
+
|
|
847
|
+
```python
|
|
848
|
+
import aws_cdk as cdk
|
|
849
|
+
from aws_cdk.custom_resources import CustomResourceConfig
|
|
850
|
+
import aws_cdk.aws_s3_deployment as s3deploy
|
|
851
|
+
|
|
852
|
+
|
|
853
|
+
app = cdk.App()
|
|
854
|
+
CustomResourceConfig.of(app).add_log_retention_lifetime(logs.RetentionDays.TEN_YEARS)
|
|
855
|
+
stack = cdk.Stack(app, "Stack")
|
|
856
|
+
|
|
857
|
+
website_bucket = s3.Bucket(stack, "WebsiteBucket")
|
|
858
|
+
s3deploy.BucketDeployment(stack, "s3deploy",
|
|
859
|
+
sources=[s3deploy.Source.json_data("file.json", {"a": "b"})],
|
|
860
|
+
destination_bucket=website_bucket
|
|
861
|
+
)
|
|
862
|
+
```
|
|
863
|
+
|
|
864
|
+
The following example configures every custom resource in two top-level stacks to retain its log for ten years:
|
|
865
|
+
|
|
866
|
+
```python
|
|
867
|
+
import aws_cdk as cdk
|
|
868
|
+
from aws_cdk.custom_resources import CustomResourceConfig
|
|
869
|
+
import aws_cdk.aws_s3_deployment as s3deploy
|
|
870
|
+
|
|
871
|
+
|
|
872
|
+
app = cdk.App()
|
|
873
|
+
CustomResourceConfig.of(app).add_log_retention_lifetime(logs.RetentionDays.TEN_YEARS)
|
|
874
|
+
|
|
875
|
+
stack_a = cdk.Stack(app, "stackA")
|
|
876
|
+
website_bucket_a = s3.Bucket(stack_a, "WebsiteBucketA")
|
|
877
|
+
s3deploy.BucketDeployment(stack_a, "s3deployA",
|
|
878
|
+
sources=[s3deploy.Source.json_data("file.json", {"a": "b"})],
|
|
879
|
+
destination_bucket=website_bucket_a,
|
|
880
|
+
log_retention=logs.RetentionDays.ONE_DAY
|
|
881
|
+
)
|
|
882
|
+
|
|
883
|
+
stack_b = cdk.Stack(app, "stackB")
|
|
884
|
+
website_bucket_b = s3.Bucket(stack_b, "WebsiteBucketB")
|
|
885
|
+
s3deploy.BucketDeployment(stack_b, "s3deployB",
|
|
886
|
+
sources=[s3deploy.Source.json_data("file.json", {"a": "b"})],
|
|
887
|
+
destination_bucket=website_bucket_b,
|
|
888
|
+
log_retention=logs.RetentionDays.ONE_DAY
|
|
889
|
+
)
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
This also applies to nested stacks:
|
|
893
|
+
|
|
894
|
+
```python
|
|
895
|
+
import aws_cdk as cdk
|
|
896
|
+
from aws_cdk.custom_resources import CustomResourceConfig
|
|
897
|
+
import aws_cdk.aws_s3_deployment as s3deploy
|
|
898
|
+
|
|
899
|
+
|
|
900
|
+
app = cdk.App()
|
|
901
|
+
stack = cdk.Stack(app, "Stack")
|
|
902
|
+
CustomResourceConfig.of(app).add_log_retention_lifetime(logs.RetentionDays.TEN_YEARS)
|
|
903
|
+
|
|
904
|
+
nested_stack_a = cdk.NestedStack(stack, "NestedStackA")
|
|
905
|
+
website_bucket_a = s3.Bucket(nested_stack_a, "WebsiteBucketA")
|
|
906
|
+
s3deploy.BucketDeployment(nested_stack_a, "s3deployA",
|
|
907
|
+
sources=[s3deploy.Source.json_data("file.json", {"a": "b"})],
|
|
908
|
+
destination_bucket=website_bucket_a,
|
|
909
|
+
log_retention=logs.RetentionDays.ONE_DAY
|
|
910
|
+
)
|
|
911
|
+
|
|
912
|
+
nested_stack_b = cdk.NestedStack(stack, "NestedStackB")
|
|
913
|
+
website_bucket_b = s3.Bucket(nested_stack_b, "WebsiteBucketB")
|
|
914
|
+
s3deploy.BucketDeployment(nested_stack_b, "s3deployB",
|
|
915
|
+
sources=[s3deploy.Source.json_data("file.json", {"a": "b"})],
|
|
916
|
+
destination_bucket=website_bucket_b,
|
|
917
|
+
log_retention=logs.RetentionDays.ONE_DAY
|
|
918
|
+
)
|
|
919
|
+
```
|
|
920
|
+
|
|
921
|
+
The `addLogRetentionLifetime` method of `CustomResourceConfig` will associate a log group with a AWS-vended custom resource lambda.
|
|
922
|
+
The `addRemovalPolicy` method will configure the custom resource lambda log group removal policy to `DESTROY`.
|
|
923
|
+
|
|
924
|
+
```python
|
|
925
|
+
import aws_cdk as cdk
|
|
926
|
+
import aws_cdk.aws_ses as ses
|
|
927
|
+
from aws_cdk.custom_resources import CustomResourceConfig
|
|
928
|
+
|
|
929
|
+
|
|
930
|
+
app = cdk.App()
|
|
931
|
+
stack = cdk.Stack(app, "Stack")
|
|
932
|
+
CustomResourceConfig.of(app).add_log_retention_lifetime(logs.RetentionDays.TEN_YEARS)
|
|
933
|
+
CustomResourceConfig.of(app).add_removal_policy(cdk.RemovalPolicy.DESTROY)
|
|
934
|
+
|
|
935
|
+
ses.ReceiptRuleSet(app, "RuleSet",
|
|
936
|
+
drop_spam=True
|
|
937
|
+
)
|
|
938
|
+
```
|
|
834
939
|
'''
|
|
835
940
|
from pkgutil import extend_path
|
|
836
941
|
__path__ = extend_path(__path__, __name__)
|
|
@@ -852,6 +957,7 @@ from .._jsii import *
|
|
|
852
957
|
import constructs as _constructs_77d1e7e8
|
|
853
958
|
from .. import (
|
|
854
959
|
Duration as _Duration_4839e8c3,
|
|
960
|
+
IAspect as _IAspect_118c810a,
|
|
855
961
|
IResolvable as _IResolvable_da3f097b,
|
|
856
962
|
IResolveContext as _IResolveContext_b2df1921,
|
|
857
963
|
Reference as _Reference_6ab8bd04,
|
|
@@ -1687,6 +1793,144 @@ class AwsSdkCall:
|
|
|
1687
1793
|
)
|
|
1688
1794
|
|
|
1689
1795
|
|
|
1796
|
+
class CustomResourceConfig(
|
|
1797
|
+
metaclass=jsii.JSIIMeta,
|
|
1798
|
+
jsii_type="aws-cdk-lib.custom_resources.CustomResourceConfig",
|
|
1799
|
+
):
|
|
1800
|
+
'''Manages AWS-vended Custom Resources.
|
|
1801
|
+
|
|
1802
|
+
This feature is currently experimental.
|
|
1803
|
+
|
|
1804
|
+
:exampleMetadata: fixture=_generated
|
|
1805
|
+
|
|
1806
|
+
Example::
|
|
1807
|
+
|
|
1808
|
+
# The code below shows an example of how to instantiate this type.
|
|
1809
|
+
# The values are placeholders you should change.
|
|
1810
|
+
from aws_cdk import custom_resources
|
|
1811
|
+
|
|
1812
|
+
custom_resource_config = custom_resources.CustomResourceConfig.of(self)
|
|
1813
|
+
'''
|
|
1814
|
+
|
|
1815
|
+
@jsii.member(jsii_name="of")
|
|
1816
|
+
@builtins.classmethod
|
|
1817
|
+
def of(cls, scope: _constructs_77d1e7e8.IConstruct) -> "CustomResourceConfig":
|
|
1818
|
+
'''Returns the CustomResourceConfig for this scope.
|
|
1819
|
+
|
|
1820
|
+
:param scope: -
|
|
1821
|
+
'''
|
|
1822
|
+
if __debug__:
|
|
1823
|
+
type_hints = typing.get_type_hints(_typecheckingstub__71c1178bbfb24d2c3974ce93648bb5eea2ec04e86060e04ce5e125d8284b38db)
|
|
1824
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
1825
|
+
return typing.cast("CustomResourceConfig", jsii.sinvoke(cls, "of", [scope]))
|
|
1826
|
+
|
|
1827
|
+
@jsii.member(jsii_name="addLogRetentionLifetime")
|
|
1828
|
+
def add_log_retention_lifetime(self, rentention: _RetentionDays_070f99f0) -> None:
|
|
1829
|
+
'''Set the log retention of AWS-vended custom resource lambdas.
|
|
1830
|
+
|
|
1831
|
+
:param rentention: -
|
|
1832
|
+
'''
|
|
1833
|
+
if __debug__:
|
|
1834
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b24e4182dd0a87c24dfd3d5c1bc10b91914571416d15e209d3fbd01cdcca86c3)
|
|
1835
|
+
check_type(argname="argument rentention", value=rentention, expected_type=type_hints["rentention"])
|
|
1836
|
+
return typing.cast(None, jsii.invoke(self, "addLogRetentionLifetime", [rentention]))
|
|
1837
|
+
|
|
1838
|
+
@jsii.member(jsii_name="addRemovalPolicy")
|
|
1839
|
+
def add_removal_policy(self, removal_policy: _RemovalPolicy_9f93c814) -> None:
|
|
1840
|
+
'''Set the removal policy of AWS-vended custom resource logGroup.
|
|
1841
|
+
|
|
1842
|
+
:param removal_policy: -
|
|
1843
|
+
'''
|
|
1844
|
+
if __debug__:
|
|
1845
|
+
type_hints = typing.get_type_hints(_typecheckingstub__40b6d12e0fa498dd2bcee3634487a6647d3a4e2c1241e542a57e63d03bc0ce11)
|
|
1846
|
+
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
1847
|
+
return typing.cast(None, jsii.invoke(self, "addRemovalPolicy", [removal_policy]))
|
|
1848
|
+
|
|
1849
|
+
|
|
1850
|
+
@jsii.implements(_IAspect_118c810a)
|
|
1851
|
+
class CustomResourceLogRetention(
|
|
1852
|
+
metaclass=jsii.JSIIMeta,
|
|
1853
|
+
jsii_type="aws-cdk-lib.custom_resources.CustomResourceLogRetention",
|
|
1854
|
+
):
|
|
1855
|
+
'''Manages log retention for AWS-vended custom resources.
|
|
1856
|
+
|
|
1857
|
+
This feature is currently experimental.
|
|
1858
|
+
|
|
1859
|
+
:exampleMetadata: fixture=_generated
|
|
1860
|
+
|
|
1861
|
+
Example::
|
|
1862
|
+
|
|
1863
|
+
# The code below shows an example of how to instantiate this type.
|
|
1864
|
+
# The values are placeholders you should change.
|
|
1865
|
+
from aws_cdk import aws_logs as logs
|
|
1866
|
+
from aws_cdk import custom_resources
|
|
1867
|
+
|
|
1868
|
+
custom_resource_log_retention = custom_resources.CustomResourceLogRetention(logs.RetentionDays.ONE_DAY)
|
|
1869
|
+
'''
|
|
1870
|
+
|
|
1871
|
+
def __init__(self, set_log_retention: _RetentionDays_070f99f0) -> None:
|
|
1872
|
+
'''
|
|
1873
|
+
:param set_log_retention: -
|
|
1874
|
+
'''
|
|
1875
|
+
if __debug__:
|
|
1876
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d9817c2e505de7a66bfdd5dae2d9307acfd8d0c9c65dd6bd79ef0eb799e16ac3)
|
|
1877
|
+
check_type(argname="argument set_log_retention", value=set_log_retention, expected_type=type_hints["set_log_retention"])
|
|
1878
|
+
jsii.create(self.__class__, self, [set_log_retention])
|
|
1879
|
+
|
|
1880
|
+
@jsii.member(jsii_name="visit")
|
|
1881
|
+
def visit(self, node: _constructs_77d1e7e8.IConstruct) -> None:
|
|
1882
|
+
'''All aspects can visit an IConstruct.
|
|
1883
|
+
|
|
1884
|
+
:param node: -
|
|
1885
|
+
'''
|
|
1886
|
+
if __debug__:
|
|
1887
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6d349c2bda31cd5521973775eaf8b22424069faf01c9de9d2f03e06fcd2a0da4)
|
|
1888
|
+
check_type(argname="argument node", value=node, expected_type=type_hints["node"])
|
|
1889
|
+
return typing.cast(None, jsii.invoke(self, "visit", [node]))
|
|
1890
|
+
|
|
1891
|
+
|
|
1892
|
+
@jsii.implements(_IAspect_118c810a)
|
|
1893
|
+
class CustomResourceRemovalPolicy(
|
|
1894
|
+
metaclass=jsii.JSIIMeta,
|
|
1895
|
+
jsii_type="aws-cdk-lib.custom_resources.CustomResourceRemovalPolicy",
|
|
1896
|
+
):
|
|
1897
|
+
'''Manages removal policy for AWS-vended custom resources.
|
|
1898
|
+
|
|
1899
|
+
This feature is currently experimental.
|
|
1900
|
+
|
|
1901
|
+
:exampleMetadata: fixture=_generated
|
|
1902
|
+
|
|
1903
|
+
Example::
|
|
1904
|
+
|
|
1905
|
+
# The code below shows an example of how to instantiate this type.
|
|
1906
|
+
# The values are placeholders you should change.
|
|
1907
|
+
import aws_cdk as cdk
|
|
1908
|
+
from aws_cdk import custom_resources
|
|
1909
|
+
|
|
1910
|
+
custom_resource_removal_policy = custom_resources.CustomResourceRemovalPolicy(cdk.RemovalPolicy.DESTROY)
|
|
1911
|
+
'''
|
|
1912
|
+
|
|
1913
|
+
def __init__(self, removal_policy: _RemovalPolicy_9f93c814) -> None:
|
|
1914
|
+
'''
|
|
1915
|
+
:param removal_policy: -
|
|
1916
|
+
'''
|
|
1917
|
+
if __debug__:
|
|
1918
|
+
type_hints = typing.get_type_hints(_typecheckingstub__eafa318fd018f6de7fbf4e835b5b4b8dd33509979ae54cebbe4417fa8b87e17b)
|
|
1919
|
+
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
1920
|
+
jsii.create(self.__class__, self, [removal_policy])
|
|
1921
|
+
|
|
1922
|
+
@jsii.member(jsii_name="visit")
|
|
1923
|
+
def visit(self, node: _constructs_77d1e7e8.IConstruct) -> None:
|
|
1924
|
+
'''All aspects can visit an IConstruct.
|
|
1925
|
+
|
|
1926
|
+
:param node: -
|
|
1927
|
+
'''
|
|
1928
|
+
if __debug__:
|
|
1929
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b25638ab024a9c20a9f0e648bced71eb09bda8705a26cd9e81b3c76115521efb)
|
|
1930
|
+
check_type(argname="argument node", value=node, expected_type=type_hints["node"])
|
|
1931
|
+
return typing.cast(None, jsii.invoke(self, "visit", [node]))
|
|
1932
|
+
|
|
1933
|
+
|
|
1690
1934
|
@jsii.data_type(
|
|
1691
1935
|
jsii_type="aws-cdk-lib.custom_resources.LogOptions",
|
|
1692
1936
|
jsii_struct_bases=[],
|
|
@@ -2804,6 +3048,9 @@ __all__ = [
|
|
|
2804
3048
|
"AwsCustomResourcePolicy",
|
|
2805
3049
|
"AwsCustomResourceProps",
|
|
2806
3050
|
"AwsSdkCall",
|
|
3051
|
+
"CustomResourceConfig",
|
|
3052
|
+
"CustomResourceLogRetention",
|
|
3053
|
+
"CustomResourceRemovalPolicy",
|
|
2807
3054
|
"LogOptions",
|
|
2808
3055
|
"Logging",
|
|
2809
3056
|
"LoggingProps",
|
|
@@ -2896,6 +3143,48 @@ def _typecheckingstub__af7bb124668b93c6ce7d641df2daeabfe424e271742385a76e7e56ec9
|
|
|
2896
3143
|
"""Type checking stubs"""
|
|
2897
3144
|
pass
|
|
2898
3145
|
|
|
3146
|
+
def _typecheckingstub__71c1178bbfb24d2c3974ce93648bb5eea2ec04e86060e04ce5e125d8284b38db(
|
|
3147
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
3148
|
+
) -> None:
|
|
3149
|
+
"""Type checking stubs"""
|
|
3150
|
+
pass
|
|
3151
|
+
|
|
3152
|
+
def _typecheckingstub__b24e4182dd0a87c24dfd3d5c1bc10b91914571416d15e209d3fbd01cdcca86c3(
|
|
3153
|
+
rentention: _RetentionDays_070f99f0,
|
|
3154
|
+
) -> None:
|
|
3155
|
+
"""Type checking stubs"""
|
|
3156
|
+
pass
|
|
3157
|
+
|
|
3158
|
+
def _typecheckingstub__40b6d12e0fa498dd2bcee3634487a6647d3a4e2c1241e542a57e63d03bc0ce11(
|
|
3159
|
+
removal_policy: _RemovalPolicy_9f93c814,
|
|
3160
|
+
) -> None:
|
|
3161
|
+
"""Type checking stubs"""
|
|
3162
|
+
pass
|
|
3163
|
+
|
|
3164
|
+
def _typecheckingstub__d9817c2e505de7a66bfdd5dae2d9307acfd8d0c9c65dd6bd79ef0eb799e16ac3(
|
|
3165
|
+
set_log_retention: _RetentionDays_070f99f0,
|
|
3166
|
+
) -> None:
|
|
3167
|
+
"""Type checking stubs"""
|
|
3168
|
+
pass
|
|
3169
|
+
|
|
3170
|
+
def _typecheckingstub__6d349c2bda31cd5521973775eaf8b22424069faf01c9de9d2f03e06fcd2a0da4(
|
|
3171
|
+
node: _constructs_77d1e7e8.IConstruct,
|
|
3172
|
+
) -> None:
|
|
3173
|
+
"""Type checking stubs"""
|
|
3174
|
+
pass
|
|
3175
|
+
|
|
3176
|
+
def _typecheckingstub__eafa318fd018f6de7fbf4e835b5b4b8dd33509979ae54cebbe4417fa8b87e17b(
|
|
3177
|
+
removal_policy: _RemovalPolicy_9f93c814,
|
|
3178
|
+
) -> None:
|
|
3179
|
+
"""Type checking stubs"""
|
|
3180
|
+
pass
|
|
3181
|
+
|
|
3182
|
+
def _typecheckingstub__b25638ab024a9c20a9f0e648bced71eb09bda8705a26cd9e81b3c76115521efb(
|
|
3183
|
+
node: _constructs_77d1e7e8.IConstruct,
|
|
3184
|
+
) -> None:
|
|
3185
|
+
"""Type checking stubs"""
|
|
3186
|
+
pass
|
|
3187
|
+
|
|
2899
3188
|
def _typecheckingstub__2622296f61199d2b10825c21d976c0578e9488ad1b2b7635565f604c598734b7(
|
|
2900
3189
|
*,
|
|
2901
3190
|
destination: typing.Optional[_ILogGroup_3c4fa718] = None,
|
aws_cdk/cx_api/__init__.py
CHANGED
|
@@ -588,7 +588,7 @@ class CloudArtifact(
|
|
|
588
588
|
display_name="displayName",
|
|
589
589
|
environment="environment",
|
|
590
590
|
metadata={
|
|
591
|
-
"metadata_key": [
|
|
591
|
+
"metadata_key": [MetadataEntry(
|
|
592
592
|
type="type",
|
|
593
593
|
|
|
594
594
|
# the properties below are optional
|
|
@@ -596,7 +596,7 @@ class CloudArtifact(
|
|
|
596
596
|
trace=["trace"]
|
|
597
597
|
)]
|
|
598
598
|
},
|
|
599
|
-
properties=
|
|
599
|
+
properties=AwsCloudFormationStackProperties(
|
|
600
600
|
template_file="templateFile",
|
|
601
601
|
|
|
602
602
|
# the properties below are optional
|
|
@@ -604,7 +604,7 @@ class CloudArtifact(
|
|
|
604
604
|
assume_role_external_id="assumeRoleExternalId",
|
|
605
605
|
bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
|
|
606
606
|
cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
|
|
607
|
-
lookup_role=
|
|
607
|
+
lookup_role=BootstrapRole(
|
|
608
608
|
arn="arn",
|
|
609
609
|
|
|
610
610
|
# the properties below are optional
|
|
@@ -1184,7 +1184,7 @@ class CloudFormationStackArtifact(
|
|
|
1184
1184
|
display_name="displayName",
|
|
1185
1185
|
environment="environment",
|
|
1186
1186
|
metadata={
|
|
1187
|
-
"metadata_key": [
|
|
1187
|
+
"metadata_key": [MetadataEntry(
|
|
1188
1188
|
type="type",
|
|
1189
1189
|
|
|
1190
1190
|
# the properties below are optional
|
|
@@ -1192,7 +1192,7 @@ class CloudFormationStackArtifact(
|
|
|
1192
1192
|
trace=["trace"]
|
|
1193
1193
|
)]
|
|
1194
1194
|
},
|
|
1195
|
-
properties=
|
|
1195
|
+
properties=AwsCloudFormationStackProperties(
|
|
1196
1196
|
template_file="templateFile",
|
|
1197
1197
|
|
|
1198
1198
|
# the properties below are optional
|
|
@@ -1200,7 +1200,7 @@ class CloudFormationStackArtifact(
|
|
|
1200
1200
|
assume_role_external_id="assumeRoleExternalId",
|
|
1201
1201
|
bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
|
|
1202
1202
|
cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
|
|
1203
|
-
lookup_role=
|
|
1203
|
+
lookup_role=BootstrapRole(
|
|
1204
1204
|
arn="arn",
|
|
1205
1205
|
|
|
1206
1206
|
# the properties below are optional
|
|
@@ -2247,7 +2247,7 @@ class NestedCloudAssemblyArtifact(
|
|
|
2247
2247
|
display_name="displayName",
|
|
2248
2248
|
environment="environment",
|
|
2249
2249
|
metadata={
|
|
2250
|
-
"metadata_key": [
|
|
2250
|
+
"metadata_key": [MetadataEntry(
|
|
2251
2251
|
type="type",
|
|
2252
2252
|
|
|
2253
2253
|
# the properties below are optional
|
|
@@ -2255,7 +2255,7 @@ class NestedCloudAssemblyArtifact(
|
|
|
2255
2255
|
trace=["trace"]
|
|
2256
2256
|
)]
|
|
2257
2257
|
},
|
|
2258
|
-
properties=
|
|
2258
|
+
properties=AwsCloudFormationStackProperties(
|
|
2259
2259
|
template_file="templateFile",
|
|
2260
2260
|
|
|
2261
2261
|
# the properties below are optional
|
|
@@ -2263,7 +2263,7 @@ class NestedCloudAssemblyArtifact(
|
|
|
2263
2263
|
assume_role_external_id="assumeRoleExternalId",
|
|
2264
2264
|
bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
|
|
2265
2265
|
cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
|
|
2266
|
-
lookup_role=
|
|
2266
|
+
lookup_role=BootstrapRole(
|
|
2267
2267
|
arn="arn",
|
|
2268
2268
|
|
|
2269
2269
|
# the properties below are optional
|
|
@@ -2560,7 +2560,7 @@ class TreeCloudArtifact(
|
|
|
2560
2560
|
display_name="displayName",
|
|
2561
2561
|
environment="environment",
|
|
2562
2562
|
metadata={
|
|
2563
|
-
"metadata_key": [
|
|
2563
|
+
"metadata_key": [MetadataEntry(
|
|
2564
2564
|
type="type",
|
|
2565
2565
|
|
|
2566
2566
|
# the properties below are optional
|
|
@@ -2568,7 +2568,7 @@ class TreeCloudArtifact(
|
|
|
2568
2568
|
trace=["trace"]
|
|
2569
2569
|
)]
|
|
2570
2570
|
},
|
|
2571
|
-
properties=
|
|
2571
|
+
properties=AwsCloudFormationStackProperties(
|
|
2572
2572
|
template_file="templateFile",
|
|
2573
2573
|
|
|
2574
2574
|
# the properties below are optional
|
|
@@ -2576,7 +2576,7 @@ class TreeCloudArtifact(
|
|
|
2576
2576
|
assume_role_external_id="assumeRoleExternalId",
|
|
2577
2577
|
bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
|
|
2578
2578
|
cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
|
|
2579
|
-
lookup_role=
|
|
2579
|
+
lookup_role=BootstrapRole(
|
|
2580
2580
|
arn="arn",
|
|
2581
2581
|
|
|
2582
2582
|
# the properties below are optional
|
|
@@ -3212,7 +3212,7 @@ class AssetManifestArtifact(
|
|
|
3212
3212
|
display_name="displayName",
|
|
3213
3213
|
environment="environment",
|
|
3214
3214
|
metadata={
|
|
3215
|
-
"metadata_key": [
|
|
3215
|
+
"metadata_key": [MetadataEntry(
|
|
3216
3216
|
type="type",
|
|
3217
3217
|
|
|
3218
3218
|
# the properties below are optional
|
|
@@ -3220,7 +3220,7 @@ class AssetManifestArtifact(
|
|
|
3220
3220
|
trace=["trace"]
|
|
3221
3221
|
)]
|
|
3222
3222
|
},
|
|
3223
|
-
properties=
|
|
3223
|
+
properties=AwsCloudFormationStackProperties(
|
|
3224
3224
|
template_file="templateFile",
|
|
3225
3225
|
|
|
3226
3226
|
# the properties below are optional
|
|
@@ -3228,7 +3228,7 @@ class AssetManifestArtifact(
|
|
|
3228
3228
|
assume_role_external_id="assumeRoleExternalId",
|
|
3229
3229
|
bootstrap_stack_version_ssm_parameter="bootstrapStackVersionSsmParameter",
|
|
3230
3230
|
cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
|
|
3231
|
-
lookup_role=
|
|
3231
|
+
lookup_role=BootstrapRole(
|
|
3232
3232
|
arn="arn",
|
|
3233
3233
|
|
|
3234
3234
|
# the properties below are optional
|