aws-cdk-lib 2.200.2__py3-none-any.whl → 2.224.0__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 +1349 -373
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +12 -2
- aws_cdk/aws_accessanalyzer/__init__.py +323 -6
- aws_cdk/aws_acmpca/__init__.py +53 -10
- aws_cdk/aws_aiops/__init__.py +1019 -0
- aws_cdk/aws_amazonmq/__init__.py +357 -313
- aws_cdk/aws_amplify/__init__.py +173 -17
- aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
- aws_cdk/aws_apigateway/__init__.py +1017 -155
- aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
- aws_cdk/aws_appconfig/__init__.py +298 -43
- aws_cdk/aws_appflow/__init__.py +151 -6
- aws_cdk/aws_appintegrations/__init__.py +546 -6
- aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
- aws_cdk/aws_applicationinsights/__init__.py +13 -2
- aws_cdk/aws_applicationsignals/__init__.py +374 -6
- aws_cdk/aws_appmesh/__init__.py +94 -26
- aws_cdk/aws_apprunner/__init__.py +66 -18
- aws_cdk/aws_appstream/__init__.py +309 -55
- aws_cdk/aws_appsync/__init__.py +227 -53
- aws_cdk/aws_apptest/__init__.py +71 -2
- aws_cdk/aws_aps/__init__.py +1875 -132
- aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
- aws_cdk/aws_arczonalshift/__init__.py +39 -12
- aws_cdk/aws_athena/__init__.py +365 -29
- aws_cdk/aws_auditmanager/__init__.py +71 -2
- aws_cdk/aws_autoscaling/__init__.py +135 -55
- aws_cdk/aws_autoscaling_common/__init__.py +3 -0
- aws_cdk/aws_autoscalingplans/__init__.py +13 -2
- aws_cdk/aws_b2bi/__init__.py +1819 -99
- aws_cdk/aws_backup/__init__.py +317 -28
- aws_cdk/aws_backupgateway/__init__.py +13 -2
- aws_cdk/aws_batch/__init__.py +1405 -178
- aws_cdk/aws_bcmdataexports/__init__.py +21 -2
- aws_cdk/aws_bedrock/__init__.py +6747 -627
- aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
- aws_cdk/aws_billingconductor/__init__.py +197 -11
- aws_cdk/aws_budgets/__init__.py +42 -4
- aws_cdk/aws_cassandra/__init__.py +247 -6
- aws_cdk/aws_ce/__init__.py +35 -6
- aws_cdk/aws_certificatemanager/__init__.py +237 -32
- aws_cdk/aws_chatbot/__init__.py +70 -6
- aws_cdk/aws_cleanrooms/__init__.py +709 -206
- aws_cdk/aws_cleanroomsml/__init__.py +13 -2
- aws_cdk/aws_cloud9/__init__.py +13 -2
- aws_cdk/aws_cloudformation/__init__.py +345 -166
- aws_cdk/aws_cloudfront/__init__.py +2101 -680
- aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
- aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
- aws_cdk/aws_cloudtrail/__init__.py +301 -17
- aws_cdk/aws_cloudwatch/__init__.py +1414 -153
- aws_cdk/aws_codeartifact/__init__.py +35 -6
- aws_cdk/aws_codebuild/__init__.py +1103 -118
- aws_cdk/aws_codecommit/__init__.py +23 -9
- aws_cdk/aws_codeconnections/__init__.py +13 -2
- aws_cdk/aws_codedeploy/__init__.py +67 -6
- aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
- aws_cdk/aws_codegurureviewer/__init__.py +13 -2
- aws_cdk/aws_codepipeline/__init__.py +127 -64
- aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
- aws_cdk/aws_codestar/__init__.py +13 -2
- aws_cdk/aws_codestarconnections/__init__.py +35 -6
- aws_cdk/aws_codestarnotifications/__init__.py +16 -2
- aws_cdk/aws_cognito/__init__.py +814 -80
- aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
- aws_cdk/aws_comprehend/__init__.py +24 -4
- aws_cdk/aws_config/__init__.py +191 -30
- aws_cdk/aws_connect/__init__.py +2736 -191
- aws_cdk/aws_connectcampaigns/__init__.py +13 -2
- aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
- aws_cdk/aws_controltower/__init__.py +35 -6
- aws_cdk/aws_cur/__init__.py +100 -4
- aws_cdk/aws_customerprofiles/__init__.py +617 -27
- aws_cdk/aws_databrew/__init__.py +68 -12
- aws_cdk/aws_datapipeline/__init__.py +42 -2
- aws_cdk/aws_datasync/__init__.py +723 -203
- aws_cdk/aws_datazone/__init__.py +4425 -608
- aws_cdk/aws_dax/__init__.py +83 -6
- aws_cdk/aws_deadline/__init__.py +321 -32
- aws_cdk/aws_detective/__init__.py +35 -6
- aws_cdk/aws_devicefarm/__init__.py +68 -12
- aws_cdk/aws_devopsguru/__init__.py +37 -6
- aws_cdk/aws_directoryservice/__init__.py +53 -4
- aws_cdk/aws_dlm/__init__.py +13 -2
- aws_cdk/aws_dms/__init__.py +184 -27
- aws_cdk/aws_docdb/__init__.py +323 -46
- aws_cdk/aws_docdbelastic/__init__.py +13 -2
- aws_cdk/aws_dsql/__init__.py +340 -12
- aws_cdk/aws_dynamodb/__init__.py +1463 -166
- aws_cdk/aws_ec2/__init__.py +9636 -1120
- aws_cdk/aws_ecr/__init__.py +631 -43
- aws_cdk/aws_ecr_assets/__init__.py +4 -0
- aws_cdk/aws_ecs/__init__.py +6524 -497
- aws_cdk/aws_ecs_patterns/__init__.py +2 -0
- aws_cdk/aws_efs/__init__.py +264 -24
- aws_cdk/aws_eks/__init__.py +1050 -218
- aws_cdk/aws_elasticache/__init__.py +373 -20
- aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
- aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
- aws_cdk/aws_elasticsearch/__init__.py +282 -9
- aws_cdk/aws_emr/__init__.py +187 -20
- aws_cdk/aws_emrcontainers/__init__.py +71 -2
- aws_cdk/aws_emrserverless/__init__.py +188 -3
- aws_cdk/aws_entityresolution/__init__.py +585 -58
- aws_cdk/aws_events/__init__.py +969 -124
- aws_cdk/aws_events_targets/__init__.py +310 -54
- aws_cdk/aws_eventschemas/__init__.py +46 -8
- aws_cdk/aws_evidently/__init__.py +57 -10
- aws_cdk/aws_evs/__init__.py +2244 -0
- aws_cdk/aws_finspace/__init__.py +71 -2
- aws_cdk/aws_fis/__init__.py +26 -4
- aws_cdk/aws_fms/__init__.py +35 -6
- aws_cdk/aws_forecast/__init__.py +24 -4
- aws_cdk/aws_frauddetector/__init__.py +79 -14
- aws_cdk/aws_fsx/__init__.py +1236 -142
- aws_cdk/aws_gamelift/__init__.py +653 -78
- aws_cdk/aws_gameliftstreams/__init__.py +38 -16
- aws_cdk/aws_globalaccelerator/__init__.py +55 -14
- aws_cdk/aws_glue/__init__.py +1368 -320
- aws_cdk/aws_grafana/__init__.py +13 -2
- aws_cdk/aws_greengrass/__init__.py +654 -32
- aws_cdk/aws_greengrassv2/__init__.py +53 -4
- aws_cdk/aws_groundstation/__init__.py +122 -6
- aws_cdk/aws_guardduty/__init__.py +1613 -123
- aws_cdk/aws_healthimaging/__init__.py +71 -2
- aws_cdk/aws_healthlake/__init__.py +42 -2
- aws_cdk/aws_iam/__init__.py +480 -140
- aws_cdk/aws_identitystore/__init__.py +24 -4
- aws_cdk/aws_imagebuilder/__init__.py +1433 -183
- aws_cdk/aws_inspector/__init__.py +38 -6
- aws_cdk/aws_inspectorv2/__init__.py +2285 -243
- aws_cdk/aws_internetmonitor/__init__.py +71 -2
- aws_cdk/aws_invoicing/__init__.py +13 -2
- aws_cdk/aws_iot/__init__.py +1730 -86
- aws_cdk/aws_iotanalytics/__init__.py +162 -8
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
- aws_cdk/aws_iotevents/__init__.py +122 -6
- aws_cdk/aws_iotfleethub/__init__.py +71 -2
- aws_cdk/aws_iotfleetwise/__init__.py +195 -14
- aws_cdk/aws_iotsitewise/__init__.py +1837 -89
- aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
- aws_cdk/aws_iottwinmaker/__init__.py +115 -10
- aws_cdk/aws_iotwireless/__init__.py +649 -22
- aws_cdk/aws_ivs/__init__.py +561 -57
- aws_cdk/aws_ivschat/__init__.py +24 -4
- aws_cdk/aws_kafkaconnect/__init__.py +35 -6
- aws_cdk/aws_kendra/__init__.py +120 -28
- aws_cdk/aws_kendraranking/__init__.py +13 -2
- aws_cdk/aws_kinesis/__init__.py +622 -22
- aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
- aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
- aws_cdk/aws_kinesisvideo/__init__.py +24 -4
- aws_cdk/aws_kms/__init__.py +188 -41
- aws_cdk/aws_lakeformation/__init__.py +80 -15
- aws_cdk/aws_lambda/__init__.py +2101 -252
- aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
- aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
- aws_cdk/aws_launchwizard/__init__.py +13 -2
- aws_cdk/aws_lex/__init__.py +871 -8
- aws_cdk/aws_licensemanager/__init__.py +24 -4
- aws_cdk/aws_lightsail/__init__.py +2159 -975
- aws_cdk/aws_location/__init__.py +618 -14
- aws_cdk/aws_logs/__init__.py +5904 -956
- aws_cdk/aws_lookoutequipment/__init__.py +13 -2
- aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
- aws_cdk/aws_lookoutvision/__init__.py +71 -2
- aws_cdk/aws_m2/__init__.py +94 -19
- aws_cdk/aws_macie/__init__.py +49 -11
- aws_cdk/aws_managedblockchain/__init__.py +180 -6
- aws_cdk/aws_mediaconnect/__init__.py +101 -18
- aws_cdk/aws_mediaconvert/__init__.py +35 -6
- aws_cdk/aws_medialive/__init__.py +1239 -35
- aws_cdk/aws_mediapackage/__init__.py +59 -12
- aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
- aws_cdk/aws_mediastore/__init__.py +13 -2
- aws_cdk/aws_mediatailor/__init__.py +583 -12
- aws_cdk/aws_memorydb/__init__.py +271 -12
- aws_cdk/aws_mpa/__init__.py +1495 -0
- aws_cdk/aws_msk/__init__.py +104 -18
- aws_cdk/aws_mwaa/__init__.py +121 -9
- aws_cdk/aws_neptune/__init__.py +290 -78
- aws_cdk/aws_neptunegraph/__init__.py +24 -4
- aws_cdk/aws_networkfirewall/__init__.py +1289 -273
- aws_cdk/aws_networkmanager/__init__.py +349 -33
- aws_cdk/aws_nimblestudio/__init__.py +75 -8
- aws_cdk/aws_notifications/__init__.py +317 -12
- aws_cdk/aws_notificationscontacts/__init__.py +13 -2
- aws_cdk/aws_oam/__init__.py +24 -4
- aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
- aws_cdk/aws_odb/__init__.py +5872 -0
- aws_cdk/aws_omics/__init__.py +2495 -529
- aws_cdk/aws_opensearchserverless/__init__.py +312 -37
- aws_cdk/aws_opensearchservice/__init__.py +495 -19
- aws_cdk/aws_opsworks/__init__.py +235 -139
- aws_cdk/aws_opsworkscm/__init__.py +16 -52
- aws_cdk/aws_organizations/__init__.py +70 -10
- aws_cdk/aws_osis/__init__.py +167 -2
- aws_cdk/aws_panorama/__init__.py +151 -6
- aws_cdk/aws_paymentcryptography/__init__.py +24 -4
- aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
- aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
- aws_cdk/aws_pcs/__init__.py +387 -68
- aws_cdk/aws_personalize/__init__.py +46 -8
- aws_cdk/aws_pinpoint/__init__.py +329 -38
- aws_cdk/aws_pinpointemail/__init__.py +48 -8
- aws_cdk/aws_pipes/__init__.py +12 -2
- aws_cdk/aws_proton/__init__.py +37 -6
- aws_cdk/aws_qbusiness/__init__.py +635 -34
- aws_cdk/aws_qldb/__init__.py +24 -4
- aws_cdk/aws_quicksight/__init__.py +7900 -1160
- aws_cdk/aws_ram/__init__.py +24 -4
- aws_cdk/aws_rbin/__init__.py +12 -2
- aws_cdk/aws_rds/__init__.py +3345 -512
- aws_cdk/aws_redshift/__init__.py +143 -20
- aws_cdk/aws_redshiftserverless/__init__.py +692 -4
- aws_cdk/aws_refactorspaces/__init__.py +64 -14
- aws_cdk/aws_rekognition/__init__.py +93 -6
- aws_cdk/aws_resiliencehub/__init__.py +24 -4
- aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
- aws_cdk/aws_resourcegroups/__init__.py +82 -4
- aws_cdk/aws_robomaker/__init__.py +72 -12
- aws_cdk/aws_rolesanywhere/__init__.py +180 -6
- aws_cdk/aws_route53/__init__.py +3273 -1442
- aws_cdk/aws_route53_targets/__init__.py +3 -0
- aws_cdk/aws_route53profiles/__init__.py +37 -6
- aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
- aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
- aws_cdk/aws_route53resolver/__init__.py +226 -36
- aws_cdk/aws_rtbfabric/__init__.py +3498 -0
- aws_cdk/aws_rum/__init__.py +13 -2
- aws_cdk/aws_s3/__init__.py +1291 -158
- aws_cdk/aws_s3_assets/__init__.py +11 -11
- aws_cdk/aws_s3_deployment/__init__.py +147 -11
- aws_cdk/aws_s3_notifications/__init__.py +7 -7
- aws_cdk/aws_s3express/__init__.py +266 -8
- aws_cdk/aws_s3objectlambda/__init__.py +68 -16
- aws_cdk/aws_s3outposts/__init__.py +46 -8
- aws_cdk/aws_s3tables/__init__.py +2000 -323
- aws_cdk/aws_s3vectors/__init__.py +1378 -0
- aws_cdk/aws_sagemaker/__init__.py +6617 -363
- aws_cdk/aws_sam/__init__.py +79 -14
- aws_cdk/aws_scheduler/__init__.py +237 -4
- aws_cdk/aws_sdb/__init__.py +12 -2
- aws_cdk/aws_secretsmanager/__init__.py +170 -14
- aws_cdk/aws_securityhub/__init__.py +3121 -176
- aws_cdk/aws_securitylake/__init__.py +46 -8
- aws_cdk/aws_servicecatalog/__init__.py +405 -246
- aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
- aws_cdk/aws_servicediscovery/__init__.py +140 -47
- aws_cdk/aws_ses/__init__.py +1231 -140
- aws_cdk/aws_shield/__init__.py +46 -8
- aws_cdk/aws_signer/__init__.py +27 -4
- aws_cdk/aws_simspaceweaver/__init__.py +42 -2
- aws_cdk/aws_smsvoice/__init__.py +4716 -0
- aws_cdk/aws_sns/__init__.py +245 -29
- aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
- aws_cdk/aws_sqs/__init__.py +211 -14
- aws_cdk/aws_ssm/__init__.py +401 -58
- aws_cdk/aws_ssmcontacts/__init__.py +46 -8
- aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
- aws_cdk/aws_ssmincidents/__init__.py +24 -4
- aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
- aws_cdk/aws_sso/__init__.py +70 -12
- aws_cdk/aws_stepfunctions/__init__.py +615 -70
- aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
- aws_cdk/aws_supportapp/__init__.py +39 -6
- aws_cdk/aws_synthetics/__init__.py +861 -75
- aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
- aws_cdk/aws_timestream/__init__.py +104 -8
- aws_cdk/aws_transfer/__init__.py +784 -87
- aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
- aws_cdk/aws_voiceid/__init__.py +41 -2
- aws_cdk/aws_vpclattice/__init__.py +376 -30
- aws_cdk/aws_waf/__init__.py +79 -14
- aws_cdk/aws_wafregional/__init__.py +123 -22
- aws_cdk/aws_wafv2/__init__.py +1179 -60
- aws_cdk/aws_wisdom/__init__.py +1401 -90
- aws_cdk/aws_workspaces/__init__.py +93 -6
- aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
- aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
- aws_cdk/aws_workspacesweb/__init__.py +1057 -141
- aws_cdk/aws_xray/__init__.py +48 -8
- aws_cdk/cloud_assembly_schema/__init__.py +231 -6
- aws_cdk/custom_resources/__init__.py +40 -12
- aws_cdk/cx_api/__init__.py +85 -14
- aws_cdk/interfaces/__init__.py +739 -0
- aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
- aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
- aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
- aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
- aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
- aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
- aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
- aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
- aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
- aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
- aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
- aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
- aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
- aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
- aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
- aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
- aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
- aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
- aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
- aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
- aws_cdk/interfaces/aws_aps/__init__.py +558 -0
- aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
- aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
- aws_cdk/interfaces/aws_athena/__init__.py +575 -0
- aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
- aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
- aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
- aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
- aws_cdk/interfaces/aws_backup/__init__.py +955 -0
- aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
- aws_cdk/interfaces/aws_batch/__init__.py +681 -0
- aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
- aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
- aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
- aws_cdk/interfaces/aws_billing/__init__.py +146 -0
- aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
- aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
- aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
- aws_cdk/interfaces/aws_ce/__init__.py +352 -0
- aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
- aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
- aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
- aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
- aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
- aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
- aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
- aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
- aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
- aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
- aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
- aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
- aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
- aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
- aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
- aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
- aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
- aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
- aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
- aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
- aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
- aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
- aws_cdk/interfaces/aws_config/__init__.py +1165 -0
- aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
- aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
- aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
- aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
- aws_cdk/interfaces/aws_cur/__init__.py +146 -0
- aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
- aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
- aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
- aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
- aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
- aws_cdk/interfaces/aws_dax/__init__.py +364 -0
- aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
- aws_cdk/interfaces/aws_detective/__init__.py +364 -0
- aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
- aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
- aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
- aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
- aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
- aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
- aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
- aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
- aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
- aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
- aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
- aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
- aws_cdk/interfaces/aws_efs/__init__.py +392 -0
- aws_cdk/interfaces/aws_eks/__init__.py +948 -0
- aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
- aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
- aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
- aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
- aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
- aws_cdk/interfaces/aws_emr/__init__.py +913 -0
- aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
- aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
- aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
- aws_cdk/interfaces/aws_events/__init__.py +872 -0
- aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
- aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
- aws_cdk/interfaces/aws_evs/__init__.py +166 -0
- aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
- aws_cdk/interfaces/aws_fis/__init__.py +271 -0
- aws_cdk/interfaces/aws_fms/__init__.py +364 -0
- aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
- aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
- aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
- aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
- aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
- aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
- aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
- aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
- aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
- aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
- aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
- aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
- aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
- aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
- aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
- aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
- aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
- aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
- aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
- aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
- aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
- aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
- aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
- aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
- aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
- aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
- aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
- aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
- aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
- aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
- aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
- aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
- aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
- aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
- aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
- aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
- aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
- aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
- aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
- aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
- aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
- aws_cdk/interfaces/aws_kms/__init__.py +376 -0
- aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
- aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
- aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
- aws_cdk/interfaces/aws_lex/__init__.py +513 -0
- aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
- aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
- aws_cdk/interfaces/aws_location/__init__.py +879 -0
- aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
- aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
- aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
- aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
- aws_cdk/interfaces/aws_m2/__init__.py +352 -0
- aws_cdk/interfaces/aws_macie/__init__.py +512 -0
- aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
- aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
- aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
- aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
- aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
- aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
- aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
- aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
- aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
- aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
- aws_cdk/interfaces/aws_msk/__init__.py +764 -0
- aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
- aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
- aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
- aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
- aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
- aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
- aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
- aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
- aws_cdk/interfaces/aws_oam/__init__.py +249 -0
- aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
- aws_cdk/interfaces/aws_odb/__init__.py +562 -0
- aws_cdk/interfaces/aws_omics/__init__.py +838 -0
- aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
- aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
- aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
- aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
- aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
- aws_cdk/interfaces/aws_osis/__init__.py +146 -0
- aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
- aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
- aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
- aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
- aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
- aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
- aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
- aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
- aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
- aws_cdk/interfaces/aws_proton/__init__.py +360 -0
- aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
- aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
- aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
- aws_cdk/interfaces/aws_ram/__init__.py +249 -0
- aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
- aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
- aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
- aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
- aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
- aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
- aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
- aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
- aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
- aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
- aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
- aws_cdk/interfaces/aws_route53/__init__.py +804 -0
- aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
- aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
- aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
- aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
- aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
- aws_cdk/interfaces/aws_rum/__init__.py +146 -0
- aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
- aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
- aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
- aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
- aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
- aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
- aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
- aws_cdk/interfaces/aws_sam/__init__.py +603 -0
- aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
- aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
- aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
- aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
- aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
- aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
- aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
- aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
- aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
- aws_cdk/interfaces/aws_shield/__init__.py +455 -0
- aws_cdk/interfaces/aws_signer/__init__.py +266 -0
- aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
- aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
- aws_cdk/interfaces/aws_sns/__init__.py +455 -0
- aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
- aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
- aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
- aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
- aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
- aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
- aws_cdk/interfaces/aws_sso/__init__.py +797 -0
- aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
- aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
- aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
- aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
- aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
- aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
- aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
- aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
- aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
- aws_cdk/interfaces/aws_waf/__init__.py +764 -0
- aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
- aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
- aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
- aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
- aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
- aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
- aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
- aws_cdk/interfaces/aws_xray/__init__.py +457 -0
- aws_cdk/pipelines/__init__.py +192 -42
- aws_cdk/region_info/__init__.py +3 -0
- aws_cdk/triggers/__init__.py +60 -18
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
- aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
- aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: aws-cdk-lib
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.224.0
|
|
4
4
|
Summary: Version 2 of the AWS Cloud Development Kit library
|
|
5
5
|
Home-page: https://github.com/aws/aws-cdk
|
|
6
6
|
Author: Amazon Web Services
|
|
@@ -20,13 +20,13 @@ Requires-Python: ~=3.9
|
|
|
20
20
|
Description-Content-Type: text/markdown
|
|
21
21
|
License-File: LICENSE
|
|
22
22
|
License-File: NOTICE
|
|
23
|
-
Requires-Dist: aws-cdk.asset-awscli-v1==2.2.
|
|
24
|
-
Requires-Dist: aws-cdk.asset-node-proxy-agent-v6<3.0.0,>=2.1.0
|
|
25
|
-
Requires-Dist: aws-cdk.cloud-assembly-schema<
|
|
26
|
-
Requires-Dist: constructs<11.0.0,>=10.0.0
|
|
27
|
-
Requires-Dist: jsii<2.0.0,>=1.
|
|
28
|
-
Requires-Dist: publication>=0.0.3
|
|
29
|
-
Requires-Dist: typeguard<4.3.0,>=2.13.3
|
|
23
|
+
Requires-Dist: aws-cdk.asset-awscli-v1 ==2.2.242
|
|
24
|
+
Requires-Dist: aws-cdk.asset-node-proxy-agent-v6 <3.0.0,>=2.1.0
|
|
25
|
+
Requires-Dist: aws-cdk.cloud-assembly-schema <49.0.0,>=48.6.0
|
|
26
|
+
Requires-Dist: constructs <11.0.0,>=10.0.0
|
|
27
|
+
Requires-Dist: jsii <2.0.0,>=1.119.0
|
|
28
|
+
Requires-Dist: publication >=0.0.3
|
|
29
|
+
Requires-Dist: typeguard <4.3.0,>=2.13.3
|
|
30
30
|
|
|
31
31
|
# AWS Cloud Development Kit Library
|
|
32
32
|
|
|
@@ -184,6 +184,76 @@ MyStack(app, "MyStack",
|
|
|
184
184
|
For more information on bootstrapping accounts and customizing synthesis,
|
|
185
185
|
see [Bootstrapping in the CDK Developer Guide](https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html).
|
|
186
186
|
|
|
187
|
+
### STS Role Options
|
|
188
|
+
|
|
189
|
+
You can configure STS options that instruct the CDK CLI on which configuration should it use when assuming
|
|
190
|
+
the various roles that are involved in a deployment operation.
|
|
191
|
+
|
|
192
|
+
Refer to [the bootstrapping guide](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping-env.html#bootstrapping-env-roles) for further context.
|
|
193
|
+
|
|
194
|
+
These options are available via the `DefaultStackSynthesizer` properties:
|
|
195
|
+
|
|
196
|
+
```python
|
|
197
|
+
class MyStack(Stack):
|
|
198
|
+
def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None, propertyInjectors=None):
|
|
199
|
+
super().__init__(scope, id,
|
|
200
|
+
(SpreadAssignment ...props
|
|
201
|
+
description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation, propertyInjectors=propertyInjectors),
|
|
202
|
+
synthesizer=DefaultStackSynthesizer(
|
|
203
|
+
deploy_role_external_id="",
|
|
204
|
+
deploy_role_additional_options={},
|
|
205
|
+
file_asset_publishing_external_id="",
|
|
206
|
+
file_asset_publishing_role_additional_options={},
|
|
207
|
+
image_asset_publishing_external_id="",
|
|
208
|
+
image_asset_publishing_role_additional_options={},
|
|
209
|
+
lookup_role_external_id="",
|
|
210
|
+
lookup_role_additional_options={}
|
|
211
|
+
)
|
|
212
|
+
)
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
> Note that the `*additionalOptions` property does not allow passing `ExternalId` or `RoleArn`, as these options
|
|
216
|
+
> have dedicated properties that configure them.
|
|
217
|
+
|
|
218
|
+
#### Session Tags
|
|
219
|
+
|
|
220
|
+
STS session tags are used to implement [Attribute-Based Access Control](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) (ABAC).
|
|
221
|
+
|
|
222
|
+
See [IAM tutorial: Define permissions to access AWS resources based on tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html).
|
|
223
|
+
|
|
224
|
+
You can pass session tags for each [role created during bootstrap](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping-env.html#bootstrapping-env-roles) via the `*additionalOptions` property:
|
|
225
|
+
|
|
226
|
+
```python
|
|
227
|
+
class MyStack(Stack):
|
|
228
|
+
def __init__(self, parent, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None, propertyInjectors=None):
|
|
229
|
+
super().__init__(parent, id,
|
|
230
|
+
(SpreadAssignment ...props
|
|
231
|
+
description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation, propertyInjectors=propertyInjectors),
|
|
232
|
+
synthesizer=DefaultStackSynthesizer(
|
|
233
|
+
deploy_role_additional_options={
|
|
234
|
+
"Tags": [{"Key": "Department", "Value": "Engineering"}]
|
|
235
|
+
},
|
|
236
|
+
file_asset_publishing_role_additional_options={
|
|
237
|
+
"Tags": [{"Key": "Department", "Value": "Engineering"}]
|
|
238
|
+
},
|
|
239
|
+
image_asset_publishing_role_additional_options={
|
|
240
|
+
"Tags": [{"Key": "Department", "Value": "Engineering"}]
|
|
241
|
+
},
|
|
242
|
+
lookup_role_additional_options={
|
|
243
|
+
"Tags": [{"Key": "Department", "Value": "Engineering"}]
|
|
244
|
+
}
|
|
245
|
+
)
|
|
246
|
+
)
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
This will cause the CDK CLI to include session tags when assuming each of these roles during deployment.
|
|
250
|
+
Note that the trust policy of the role must contain permissions for the `sts:TagSession` action.
|
|
251
|
+
|
|
252
|
+
Refer to the [IAM user guide on session tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_permissions-required).
|
|
253
|
+
|
|
254
|
+
* If you are using a custom bootstrap template, make sure the template includes these permissions.
|
|
255
|
+
* If you are using the default bootstrap template from a CDK version lower than XXXX, you will need to rebootstrap your enviroment (once).
|
|
256
|
+
|
|
187
257
|
## Nested Stacks
|
|
188
258
|
|
|
189
259
|
[Nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) are stacks created as part of other stacks. You create a nested stack within another stack by using the `NestedStack` construct.
|
|
@@ -426,6 +496,8 @@ CloudFormation to re-read the secret.
|
|
|
426
496
|
`SecretValue.ssmSecure()` is only supported for a limited set of resources.
|
|
427
497
|
[Click here for a list of supported resources and properties](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#template-parameters-dynamic-patterns-resources).
|
|
428
498
|
|
|
499
|
+
`SecretValue.cfnDynamicReferenceKey` takes the same parameters as `SecretValue.secretsManager` and returns a key which can be used within a [dynamic reference](#dynamic-references) to dynamically load a secret from AWS Secrets Manager.
|
|
500
|
+
|
|
429
501
|
## ARN manipulation
|
|
430
502
|
|
|
431
503
|
Sometimes you will need to put together or pick apart Amazon Resource Names
|
|
@@ -550,6 +622,8 @@ CustomResource(self, "MyMagicalResource",
|
|
|
550
622
|
resource_type="Custom::MyCustomResource", # must start with 'Custom::'
|
|
551
623
|
|
|
552
624
|
# the resource properties
|
|
625
|
+
# properties like serviceToken or serviceTimeout are ported into properties automatically
|
|
626
|
+
# try not to use key names similar to these or there will be a risk of overwriting those values
|
|
553
627
|
properties={
|
|
554
628
|
"Property1": "foo",
|
|
555
629
|
"Property2": "bar"
|
|
@@ -558,7 +632,10 @@ CustomResource(self, "MyMagicalResource",
|
|
|
558
632
|
# the ARN of the provider (SNS/Lambda) which handles
|
|
559
633
|
# CREATE, UPDATE or DELETE events for this resource type
|
|
560
634
|
# see next section for details
|
|
561
|
-
service_token="ARN"
|
|
635
|
+
service_token="ARN",
|
|
636
|
+
|
|
637
|
+
# the maximum time, in seconds, that can elapse before a custom resource operation times out.
|
|
638
|
+
service_timeout=Duration.seconds(60)
|
|
562
639
|
)
|
|
563
640
|
```
|
|
564
641
|
|
|
@@ -588,7 +665,7 @@ Legend:
|
|
|
588
665
|
* **Language**: which programming languages can be used to implement handlers.
|
|
589
666
|
* **Footprint**: how many resources are used by the provider framework itself.
|
|
590
667
|
|
|
591
|
-
|
|
668
|
+
#### A note about singletons
|
|
592
669
|
|
|
593
670
|
When defining resources for a custom resource provider, you will likely want to
|
|
594
671
|
define them as a *stack singleton* so that only a single instance of the
|
|
@@ -853,6 +930,18 @@ CfnOutput(self, "OutputName",
|
|
|
853
930
|
)
|
|
854
931
|
```
|
|
855
932
|
|
|
933
|
+
You can also use the `exportValue` method to export values as stack outputs:
|
|
934
|
+
|
|
935
|
+
```python
|
|
936
|
+
# stack: Stack
|
|
937
|
+
|
|
938
|
+
|
|
939
|
+
stack.export_value(my_bucket.bucket_name,
|
|
940
|
+
name="TheAwesomeBucket",
|
|
941
|
+
description="The name of an S3 bucket"
|
|
942
|
+
)
|
|
943
|
+
```
|
|
944
|
+
|
|
856
945
|
### Parameters
|
|
857
946
|
|
|
858
947
|
CloudFormation templates support the use of [Parameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) to
|
|
@@ -964,7 +1053,7 @@ The properties passed to the level 2 constructs `AutoScalingGroup` and `Instance
|
|
|
964
1053
|
`aws-ec2` module abstract what is passed into the `CfnOption` properties `resourceSignal` and
|
|
965
1054
|
`autoScalingCreationPolicy`, but when using level 1 constructs you can specify these yourself.
|
|
966
1055
|
|
|
967
|
-
The CfnWaitCondition resource from the `aws-cloudformation` module
|
|
1056
|
+
The CfnWaitCondition resource from the `aws-cloudformation` module supports the `resourceSignal`.
|
|
968
1057
|
The format of the timeout is `PT#H#M#S`. In the example below AWS Cloudformation will wait for
|
|
969
1058
|
3 success signals to occur within 15 minutes before the status of the resource will be set to
|
|
970
1059
|
`CREATE_COMPLETE`.
|
|
@@ -1134,6 +1223,74 @@ references is done using the `CfnDynamicReference` class:
|
|
|
1134
1223
|
CfnDynamicReference(CfnDynamicReferenceService.SECRETS_MANAGER, "secret-id:secret-string:json-key:version-stage:version-id")
|
|
1135
1224
|
```
|
|
1136
1225
|
|
|
1226
|
+
## RemovalPolicies
|
|
1227
|
+
|
|
1228
|
+
The `RemovalPolicies` class provides a convenient way to manage removal policies for AWS CDK resources within a construct scope. It allows you to apply removal policies to multiple resources at once, with options to include or exclude specific resource types.
|
|
1229
|
+
|
|
1230
|
+
```python
|
|
1231
|
+
# scope: Construct
|
|
1232
|
+
# parent: Construct
|
|
1233
|
+
# bucket: s3.CfnBucket
|
|
1234
|
+
|
|
1235
|
+
|
|
1236
|
+
# Apply DESTROY policy to all resources in a scope
|
|
1237
|
+
RemovalPolicies.of(scope).destroy()
|
|
1238
|
+
|
|
1239
|
+
# Apply RETAIN policy to all resources in a scope
|
|
1240
|
+
RemovalPolicies.of(scope).retain()
|
|
1241
|
+
|
|
1242
|
+
# Apply SNAPSHOT policy to all resources in a scope
|
|
1243
|
+
RemovalPolicies.of(scope).snapshot()
|
|
1244
|
+
|
|
1245
|
+
# Apply RETAIN_ON_UPDATE_OR_DELETE policy to all resources in a scope
|
|
1246
|
+
RemovalPolicies.of(scope).retain_on_update_or_delete()
|
|
1247
|
+
|
|
1248
|
+
# Apply RETAIN policy only to specific resource types
|
|
1249
|
+
RemovalPolicies.of(parent).retain(
|
|
1250
|
+
apply_to_resource_types=["AWS::DynamoDB::Table", bucket.cfn_resource_type, rds.CfnDBInstance.CFN_RESOURCE_TYPE_NAME
|
|
1251
|
+
]
|
|
1252
|
+
)
|
|
1253
|
+
|
|
1254
|
+
# Apply SNAPSHOT policy excluding specific resource types
|
|
1255
|
+
RemovalPolicies.of(scope).snapshot(
|
|
1256
|
+
exclude_resource_types=["AWS::Test::Resource"]
|
|
1257
|
+
)
|
|
1258
|
+
```
|
|
1259
|
+
|
|
1260
|
+
### RemovalPolicies vs MissingRemovalPolicies
|
|
1261
|
+
|
|
1262
|
+
CDK provides two different classes for managing removal policies:
|
|
1263
|
+
|
|
1264
|
+
* RemovalPolicies: Always applies the specified removal policy, overriding any existing policies.
|
|
1265
|
+
* MissingRemovalPolicies: Applies the removal policy only to resources that don't already have a policy set.
|
|
1266
|
+
|
|
1267
|
+
```python
|
|
1268
|
+
# Override any existing policies
|
|
1269
|
+
RemovalPolicies.of(scope).retain()
|
|
1270
|
+
|
|
1271
|
+
# Only apply to resources without existing policies
|
|
1272
|
+
MissingRemovalPolicies.of(scope).retain()
|
|
1273
|
+
```
|
|
1274
|
+
|
|
1275
|
+
### Aspect Priority
|
|
1276
|
+
|
|
1277
|
+
Both RemovalPolicies and MissingRemovalPolicies are implemented as [Aspects](#aspects). You can control the order in which they're applied using the priority parameter:
|
|
1278
|
+
|
|
1279
|
+
```python
|
|
1280
|
+
# stack: Stack
|
|
1281
|
+
|
|
1282
|
+
|
|
1283
|
+
# Apply in a specific order based on priority
|
|
1284
|
+
RemovalPolicies.of(stack).retain(priority=100)
|
|
1285
|
+
RemovalPolicies.of(stack).destroy(priority=200)
|
|
1286
|
+
```
|
|
1287
|
+
|
|
1288
|
+
For RemovalPolicies, the policies are applied in order of aspect execution, with the last applied policy overriding previous ones. The priority only affects the order in which aspects are applied during synthesis.
|
|
1289
|
+
|
|
1290
|
+
#### Note
|
|
1291
|
+
|
|
1292
|
+
When using MissingRemovalPolicies with priority, a warning will be issued as this can lead to unexpected behavior. This is because MissingRemovalPolicies only applies to resources without existing policies, making priority less relevant.
|
|
1293
|
+
|
|
1137
1294
|
### Template Options & Transform
|
|
1138
1295
|
|
|
1139
1296
|
CloudFormation templates support a number of options, including which Macros or
|
|
@@ -1223,6 +1380,27 @@ stack = Stack(app, "StackName",
|
|
|
1223
1380
|
)
|
|
1224
1381
|
```
|
|
1225
1382
|
|
|
1383
|
+
### Receiving CloudFormation Stack Events
|
|
1384
|
+
|
|
1385
|
+
You can add one or more SNS Topic ARNs to any Stack:
|
|
1386
|
+
|
|
1387
|
+
```python
|
|
1388
|
+
stack = Stack(app, "StackName",
|
|
1389
|
+
notification_arns=["arn:aws:sns:us-east-1:123456789012:Topic"]
|
|
1390
|
+
)
|
|
1391
|
+
```
|
|
1392
|
+
|
|
1393
|
+
Stack events will be sent to any SNS Topics in this list. These ARNs are added to those specified using
|
|
1394
|
+
the `--notification-arns` command line option.
|
|
1395
|
+
|
|
1396
|
+
Note that in order to do delete notification ARNs entirely, you must pass an empty array ([]) instead of omitting it.
|
|
1397
|
+
If you omit the property, no action on existing ARNs will take place.
|
|
1398
|
+
|
|
1399
|
+
> [!NOTE]
|
|
1400
|
+
> Adding the `notificationArns` property (or using the `--notification-arns` CLI options) will **override**
|
|
1401
|
+
> any existing ARNs configured on the stack. If you have an external system managing notification ARNs,
|
|
1402
|
+
> either migrate to use this mechanism, or avoid specfying notification ARNs with the CDK.
|
|
1403
|
+
|
|
1226
1404
|
### CfnJson
|
|
1227
1405
|
|
|
1228
1406
|
`CfnJson` allows you to postpone the resolution of a JSON blob from
|
|
@@ -1325,7 +1503,7 @@ App(
|
|
|
1325
1503
|
cdk synth --context @aws-cdk/core:newStyleStackSynthesis=true
|
|
1326
1504
|
```
|
|
1327
1505
|
|
|
1328
|
-
|
|
1506
|
+
#### `cdk.json`
|
|
1329
1507
|
|
|
1330
1508
|
```json
|
|
1331
1509
|
{
|
|
@@ -1335,7 +1513,7 @@ cdk synth --context @aws-cdk/core:newStyleStackSynthesis=true
|
|
|
1335
1513
|
}
|
|
1336
1514
|
```
|
|
1337
1515
|
|
|
1338
|
-
|
|
1516
|
+
#### `cdk.context.json`
|
|
1339
1517
|
|
|
1340
1518
|
```json
|
|
1341
1519
|
{
|
|
@@ -1343,7 +1521,7 @@ cdk synth --context @aws-cdk/core:newStyleStackSynthesis=true
|
|
|
1343
1521
|
}
|
|
1344
1522
|
```
|
|
1345
1523
|
|
|
1346
|
-
|
|
1524
|
+
#### `~/.cdk.json`
|
|
1347
1525
|
|
|
1348
1526
|
```json
|
|
1349
1527
|
{
|
|
@@ -1382,7 +1560,7 @@ generated CloudFormation templates against your policies immediately after
|
|
|
1382
1560
|
synthesis. If there are any violations, the synthesis will fail and a report
|
|
1383
1561
|
will be printed to the console or to a file (see below).
|
|
1384
1562
|
|
|
1385
|
-
>
|
|
1563
|
+
> [!NOTE]
|
|
1386
1564
|
> This feature is considered experimental, and both the plugin API and the
|
|
1387
1565
|
> format of the validation report are subject to change in the future.
|
|
1388
1566
|
|
|
@@ -1420,7 +1598,7 @@ validation.
|
|
|
1420
1598
|
> etc. It's your responsibility as the consumer of a plugin to verify that it is
|
|
1421
1599
|
> secure to use.
|
|
1422
1600
|
|
|
1423
|
-
By default, the report will be printed in a human
|
|
1601
|
+
By default, the report will be printed in a human-readable format. If you want a
|
|
1424
1602
|
report in JSON format, enable it using the `@aws-cdk/core:validationReportJson`
|
|
1425
1603
|
context passing it directly to the application:
|
|
1426
1604
|
|
|
@@ -1434,6 +1612,18 @@ Alternatively, you can set this context key-value pair using the `cdk.json` or
|
|
|
1434
1612
|
`cdk.context.json` files in your project directory (see
|
|
1435
1613
|
[Runtime context](https://docs.aws.amazon.com/cdk/v2/guide/context.html)).
|
|
1436
1614
|
|
|
1615
|
+
It is also possible to enable both JSON and human-readable formats by setting
|
|
1616
|
+
`@aws-cdk/core:validationReportPrettyPrint` context key explicitly:
|
|
1617
|
+
|
|
1618
|
+
```python
|
|
1619
|
+
app = App(
|
|
1620
|
+
context={
|
|
1621
|
+
"@aws-cdk/core:validationReportJson": True,
|
|
1622
|
+
"@aws-cdk/core:validationReportPrettyPrint": True
|
|
1623
|
+
}
|
|
1624
|
+
)
|
|
1625
|
+
```
|
|
1626
|
+
|
|
1437
1627
|
If you choose the JSON format, the CDK will print the policy validation report
|
|
1438
1628
|
to a file called `policy-validation-report.json` in the cloud assembly
|
|
1439
1629
|
directory. For the default, human-readable format, the report will be printed to
|
|
@@ -1528,6 +1718,138 @@ warning by the `id`.
|
|
|
1528
1718
|
Annotations.of(self).acknowledge_warning("IAM:Group:MaxPoliciesExceeded", "Account has quota increased to 20")
|
|
1529
1719
|
```
|
|
1530
1720
|
|
|
1721
|
+
### Acknowledging Infos
|
|
1722
|
+
|
|
1723
|
+
Informational messages can also be emitted and acknowledged. Use `addInfoV2()`
|
|
1724
|
+
to add an info message that can later be suppressed with `acknowledgeInfo()`.
|
|
1725
|
+
Unlike warnings, info messages are not affected by the `--strict` mode and will never cause synthesis to fail.
|
|
1726
|
+
|
|
1727
|
+
```python
|
|
1728
|
+
Annotations.of(self).add_info_v2("my-lib:Construct.someInfo", "Some message explaining the info")
|
|
1729
|
+
Annotations.of(self).acknowledge_info("my-lib:Construct.someInfo", "This info can be ignored")
|
|
1730
|
+
```
|
|
1731
|
+
|
|
1732
|
+
## Aspects
|
|
1733
|
+
|
|
1734
|
+
[Aspects](https://docs.aws.amazon.com/cdk/v2/guide/aspects.html) is a feature in CDK that allows you to apply operations or transformations across all
|
|
1735
|
+
constructs in a construct tree. Common use cases include tagging resources, enforcing encryption on S3 Buckets, or applying specific security or
|
|
1736
|
+
compliance rules to all resources in a stack.
|
|
1737
|
+
|
|
1738
|
+
Conceptually, there are two types of Aspects:
|
|
1739
|
+
|
|
1740
|
+
* **Read-only aspects** scan the construct tree but do not make changes to the tree. Common use cases of read-only aspects include performing validations
|
|
1741
|
+
(for example, enforcing that all S3 Buckets have versioning enabled) and logging (for example, collecting information about all deployed resources for
|
|
1742
|
+
audits or compliance).
|
|
1743
|
+
* **Mutating aspects** either (1.) add new nodes or (2.) mutate existing nodes of the tree in-place. One commonly used mutating Aspect is adding Tags to
|
|
1744
|
+
resources. An example of an Aspect that adds a node is one that automatically adds a security group to every EC2 instance in the construct tree if
|
|
1745
|
+
no default is specified.
|
|
1746
|
+
|
|
1747
|
+
Here is a simple example of creating and applying an Aspect on a Stack to enable versioning on all S3 Buckets:
|
|
1748
|
+
|
|
1749
|
+
```python
|
|
1750
|
+
@jsii.implements(IAspect)
|
|
1751
|
+
class EnableBucketVersioning:
|
|
1752
|
+
def visit(self, node):
|
|
1753
|
+
if node instanceof s3.CfnBucket:
|
|
1754
|
+
node.versioning_configuration = s3.CfnBucket.VersioningConfigurationProperty(
|
|
1755
|
+
status="Enabled"
|
|
1756
|
+
)
|
|
1757
|
+
|
|
1758
|
+
app = App()
|
|
1759
|
+
stack = MyStack(app, "MyStack")
|
|
1760
|
+
|
|
1761
|
+
# Apply the aspect to enable versioning on all S3 Buckets
|
|
1762
|
+
Aspects.of(stack).add(EnableBucketVersioning())
|
|
1763
|
+
```
|
|
1764
|
+
|
|
1765
|
+
### Aspect Stabilization
|
|
1766
|
+
|
|
1767
|
+
The modern behavior is that Aspects automatically run on newly added nodes to the construct tree. This is controlled by the
|
|
1768
|
+
flag `@aws-cdk/core:aspectStabilization`, which is default for new projects (since version 2.172.0).
|
|
1769
|
+
|
|
1770
|
+
The old behavior of Aspects (without stabilization) was that Aspect invocation runs once on the entire construct
|
|
1771
|
+
tree. This meant that nested Aspects (Aspects that create new Aspects) are not invoked and nodes created by Aspects at a higher level of the construct tree are not visited.
|
|
1772
|
+
|
|
1773
|
+
To enable the stabilization behavior for older versions, use this feature by putting the following into your `cdk.context.json`:
|
|
1774
|
+
|
|
1775
|
+
```json
|
|
1776
|
+
{
|
|
1777
|
+
"@aws-cdk/core:aspectStabilization": true
|
|
1778
|
+
}
|
|
1779
|
+
```
|
|
1780
|
+
|
|
1781
|
+
### Aspect Priorities
|
|
1782
|
+
|
|
1783
|
+
Users can specify the order in which Aspects are applied on a construct by using the optional priority parameter when applying an Aspect. Priority
|
|
1784
|
+
values must be non-negative integers, where a higher number means the Aspect will be applied later, and a lower number means it will be applied sooner.
|
|
1785
|
+
|
|
1786
|
+
By default, newly created nodes always inherit aspects. Priorities are mainly for ordering between mutating aspects on the construct tree.
|
|
1787
|
+
|
|
1788
|
+
CDK provides standard priority values for mutating and readonly aspects to help ensure consistency across different construct libraries.
|
|
1789
|
+
Note that Aspects that have same priority value are not guaranteed to be executed
|
|
1790
|
+
in a consistent order.
|
|
1791
|
+
|
|
1792
|
+
```python
|
|
1793
|
+
#
|
|
1794
|
+
# Default Priority values for Aspects.
|
|
1795
|
+
#
|
|
1796
|
+
class AspectPriority:
|
|
1797
|
+
```
|
|
1798
|
+
|
|
1799
|
+
If no priority is provided, the default value will be 500. This ensures that aspects without a specified priority run after mutating aspects but before
|
|
1800
|
+
any readonly aspects.
|
|
1801
|
+
|
|
1802
|
+
Correctly applying Aspects with priority values ensures that mutating aspects (such as adding tags or resources) run before validation aspects. This allows users to avoid misconfigurations and ensure that the final
|
|
1803
|
+
construct tree is fully validated before being synthesized.
|
|
1804
|
+
|
|
1805
|
+
### Applying Aspects with Priority
|
|
1806
|
+
|
|
1807
|
+
```python
|
|
1808
|
+
@jsii.implements(IAspect)
|
|
1809
|
+
class MutatingAspect:
|
|
1810
|
+
def visit(self, node):
|
|
1811
|
+
pass
|
|
1812
|
+
|
|
1813
|
+
@jsii.implements(IAspect)
|
|
1814
|
+
class ValidationAspect:
|
|
1815
|
+
def visit(self, node):
|
|
1816
|
+
pass
|
|
1817
|
+
|
|
1818
|
+
stack = Stack()
|
|
1819
|
+
|
|
1820
|
+
Aspects.of(stack).add(MutatingAspect(), priority=AspectPriority.MUTATING) # Run first (mutating aspects)
|
|
1821
|
+
Aspects.of(stack).add(ValidationAspect(), priority=AspectPriority.READONLY)
|
|
1822
|
+
```
|
|
1823
|
+
|
|
1824
|
+
### Inspecting applied aspects and changing priorities
|
|
1825
|
+
|
|
1826
|
+
We also give customers the ability to view all of their applied aspects and override the priority on these aspects.
|
|
1827
|
+
The `AspectApplication` class represents an Aspect that is applied to a node of the construct tree with a priority.
|
|
1828
|
+
|
|
1829
|
+
Users can access AspectApplications on a node by calling `applied` from the Aspects class as follows:
|
|
1830
|
+
|
|
1831
|
+
```python
|
|
1832
|
+
# root: Construct
|
|
1833
|
+
|
|
1834
|
+
app = App()
|
|
1835
|
+
stack = MyStack(app, "MyStack")
|
|
1836
|
+
|
|
1837
|
+
Aspects.of(stack).add(MyAspect())
|
|
1838
|
+
|
|
1839
|
+
aspect_applications = Aspects.of(root).applied
|
|
1840
|
+
|
|
1841
|
+
for aspect_application in aspect_applications:
|
|
1842
|
+
# The aspect we are applying
|
|
1843
|
+
print(aspect_application.aspect)
|
|
1844
|
+
# The construct we are applying the aspect to
|
|
1845
|
+
print(aspect_application.construct)
|
|
1846
|
+
# The priority it was applied with
|
|
1847
|
+
print(aspect_application.priority)
|
|
1848
|
+
|
|
1849
|
+
# Change the priority
|
|
1850
|
+
aspect_application.priority = 700
|
|
1851
|
+
```
|
|
1852
|
+
|
|
1531
1853
|
## Blueprint Property Injection
|
|
1532
1854
|
|
|
1533
1855
|
The goal of Blueprint Property Injection is to provide builders an automatic way to set default property values.
|