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
aws_cdk/aws_s3/__init__.py
CHANGED
|
@@ -152,6 +152,22 @@ bucket.grant_read_write(my_lambda)
|
|
|
152
152
|
Will give the Lambda's execution role permissions to read and write
|
|
153
153
|
from the bucket.
|
|
154
154
|
|
|
155
|
+
### Understanding "grant" Methods
|
|
156
|
+
|
|
157
|
+
The S3 construct library provides several grant methods for the `Bucket` resource, but two of them have a special behavior. This two accept an `objectsKeyPattern` parameter to restrict granted permissions to specific resources:
|
|
158
|
+
|
|
159
|
+
* `grantRead`
|
|
160
|
+
* `grantReadWrite`
|
|
161
|
+
|
|
162
|
+
When examining the synthesized policy, you'll notice it includes both your specified object key patterns and the bucket itself.
|
|
163
|
+
This is by design. Some permissions (like `s3:ListBucket`) apply at the bucket level, while others (like `s3:GetObject`) apply to specific objects.
|
|
164
|
+
|
|
165
|
+
Specifically, the [`s3:ListBucket` action operates on bucket resources](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-bucket)
|
|
166
|
+
and requires the bucket ARN to work properly. This might be seen as a bug, giving the impression that more permissions were granted than the ones you intended, but the reality is that the policy does not ignore your `objectsKeyPattern` - object-specific actions like `s3:GetObject`
|
|
167
|
+
will still be limited to the resources defined in your pattern.
|
|
168
|
+
|
|
169
|
+
If you need to restrict the `s3:ListBucket` action to specific paths, you can add a `Condition` to your policy that limits the `objectsKeyPattern` to specific folders. For more details and examples, see the [AWS documentation on bucket policies](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-folders).
|
|
170
|
+
|
|
155
171
|
## AWS Foundational Security Best Practices
|
|
156
172
|
|
|
157
173
|
### Enforcing SSL
|
|
@@ -1075,6 +1091,28 @@ from ..aws_iam import (
|
|
|
1075
1091
|
PolicyStatement as _PolicyStatement_0fe33853,
|
|
1076
1092
|
)
|
|
1077
1093
|
from ..aws_kms import IKey as _IKey_5f11635f
|
|
1094
|
+
from ..interfaces.aws_s3 import (
|
|
1095
|
+
AccessGrantReference as _AccessGrantReference_4b0925c1,
|
|
1096
|
+
AccessGrantsInstanceReference as _AccessGrantsInstanceReference_18c061b7,
|
|
1097
|
+
AccessGrantsLocationReference as _AccessGrantsLocationReference_6163b002,
|
|
1098
|
+
AccessPointReference as _AccessPointReference_b9bf9d61,
|
|
1099
|
+
BucketPolicyReference as _BucketPolicyReference_3414f1e3,
|
|
1100
|
+
BucketReference as _BucketReference_502fb39f,
|
|
1101
|
+
IAccessGrantRef as _IAccessGrantRef_0e7c5209,
|
|
1102
|
+
IAccessGrantsInstanceRef as _IAccessGrantsInstanceRef_94e5b823,
|
|
1103
|
+
IAccessGrantsLocationRef as _IAccessGrantsLocationRef_5ae01054,
|
|
1104
|
+
IAccessPointRef as _IAccessPointRef_02282fed,
|
|
1105
|
+
IBucketPolicyRef as _IBucketPolicyRef_8ee2499d,
|
|
1106
|
+
IBucketRef as _IBucketRef_3debe44e,
|
|
1107
|
+
IMultiRegionAccessPointPolicyRef as _IMultiRegionAccessPointPolicyRef_2e4f5aa6,
|
|
1108
|
+
IMultiRegionAccessPointRef as _IMultiRegionAccessPointRef_b814832f,
|
|
1109
|
+
IStorageLensGroupRef as _IStorageLensGroupRef_aa787427,
|
|
1110
|
+
IStorageLensRef as _IStorageLensRef_a99bd868,
|
|
1111
|
+
MultiRegionAccessPointPolicyReference as _MultiRegionAccessPointPolicyReference_f5654e86,
|
|
1112
|
+
MultiRegionAccessPointReference as _MultiRegionAccessPointReference_590848b5,
|
|
1113
|
+
StorageLensGroupReference as _StorageLensGroupReference_c117a5a4,
|
|
1114
|
+
StorageLensReference as _StorageLensReference_cc81afb5,
|
|
1115
|
+
)
|
|
1078
1116
|
|
|
1079
1117
|
|
|
1080
1118
|
class BlockPublicAccess(
|
|
@@ -1086,8 +1124,15 @@ class BlockPublicAccess(
|
|
|
1086
1124
|
|
|
1087
1125
|
Example::
|
|
1088
1126
|
|
|
1089
|
-
|
|
1090
|
-
|
|
1127
|
+
from aws_cdk import RemovalPolicy
|
|
1128
|
+
|
|
1129
|
+
|
|
1130
|
+
s3.Bucket(scope, "Bucket",
|
|
1131
|
+
block_public_access=s3.BlockPublicAccess.BLOCK_ALL,
|
|
1132
|
+
encryption=s3.BucketEncryption.S3_MANAGED,
|
|
1133
|
+
enforce_sSL=True,
|
|
1134
|
+
versioned=True,
|
|
1135
|
+
removal_policy=RemovalPolicy.RETAIN
|
|
1091
1136
|
)
|
|
1092
1137
|
'''
|
|
1093
1138
|
|
|
@@ -1607,16 +1652,17 @@ class BucketEncryption(enum.Enum):
|
|
|
1607
1652
|
|
|
1608
1653
|
Example::
|
|
1609
1654
|
|
|
1610
|
-
|
|
1655
|
+
# application: appconfig.Application
|
|
1611
1656
|
|
|
1612
1657
|
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1658
|
+
bucket = s3.Bucket(self, "MyBucket",
|
|
1659
|
+
versioned=True,
|
|
1660
|
+
encryption=s3.BucketEncryption.KMS
|
|
1661
|
+
)
|
|
1662
|
+
|
|
1663
|
+
appconfig.SourcedConfiguration(self, "MySourcedConfiguration",
|
|
1664
|
+
application=application,
|
|
1665
|
+
location=appconfig.ConfigurationSource.from_bucket(bucket, "path/to/file.json")
|
|
1620
1666
|
)
|
|
1621
1667
|
'''
|
|
1622
1668
|
|
|
@@ -1830,6 +1876,7 @@ class BucketNotificationDestinationType(enum.Enum):
|
|
|
1830
1876
|
TOPIC = "TOPIC"
|
|
1831
1877
|
|
|
1832
1878
|
|
|
1879
|
+
@jsii.implements(_IBucketPolicyRef_8ee2499d)
|
|
1833
1880
|
class BucketPolicy(
|
|
1834
1881
|
_Resource_45bc6135,
|
|
1835
1882
|
metaclass=jsii.JSIIMeta,
|
|
@@ -1904,19 +1951,23 @@ class BucketPolicy(
|
|
|
1904
1951
|
id: builtins.str,
|
|
1905
1952
|
*,
|
|
1906
1953
|
bucket: "IBucket",
|
|
1954
|
+
document: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
1907
1955
|
removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
|
|
1908
1956
|
) -> None:
|
|
1909
1957
|
'''
|
|
1910
1958
|
:param scope: -
|
|
1911
1959
|
:param id: -
|
|
1912
1960
|
:param bucket: The Amazon S3 bucket that the policy applies to.
|
|
1961
|
+
:param document: Policy document to apply to the bucket. Default: - A new empty PolicyDocument will be created.
|
|
1913
1962
|
:param removal_policy: Policy to apply when the policy is removed from this stack. Default: - RemovalPolicy.DESTROY.
|
|
1914
1963
|
'''
|
|
1915
1964
|
if __debug__:
|
|
1916
1965
|
type_hints = typing.get_type_hints(_typecheckingstub__910b3df1208e67cb52dad0b0b8c5feb43c7bddb0ced50eaf6c953477298a840e)
|
|
1917
1966
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
1918
1967
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
1919
|
-
props = BucketPolicyProps(
|
|
1968
|
+
props = BucketPolicyProps(
|
|
1969
|
+
bucket=bucket, document=document, removal_policy=removal_policy
|
|
1970
|
+
)
|
|
1920
1971
|
|
|
1921
1972
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
1922
1973
|
|
|
@@ -1958,6 +2009,12 @@ class BucketPolicy(
|
|
|
1958
2009
|
'''The Bucket this Policy applies to.'''
|
|
1959
2010
|
return typing.cast("IBucket", jsii.get(self, "bucket"))
|
|
1960
2011
|
|
|
2012
|
+
@builtins.property
|
|
2013
|
+
@jsii.member(jsii_name="bucketPolicyRef")
|
|
2014
|
+
def bucket_policy_ref(self) -> _BucketPolicyReference_3414f1e3:
|
|
2015
|
+
'''A reference to a BucketPolicy resource.'''
|
|
2016
|
+
return typing.cast(_BucketPolicyReference_3414f1e3, jsii.get(self, "bucketPolicyRef"))
|
|
2017
|
+
|
|
1961
2018
|
@builtins.property
|
|
1962
2019
|
@jsii.member(jsii_name="document")
|
|
1963
2020
|
def document(self) -> _PolicyDocument_3ac34393:
|
|
@@ -1972,17 +2029,23 @@ class BucketPolicy(
|
|
|
1972
2029
|
@jsii.data_type(
|
|
1973
2030
|
jsii_type="aws-cdk-lib.aws_s3.BucketPolicyProps",
|
|
1974
2031
|
jsii_struct_bases=[],
|
|
1975
|
-
name_mapping={
|
|
2032
|
+
name_mapping={
|
|
2033
|
+
"bucket": "bucket",
|
|
2034
|
+
"document": "document",
|
|
2035
|
+
"removal_policy": "removalPolicy",
|
|
2036
|
+
},
|
|
1976
2037
|
)
|
|
1977
2038
|
class BucketPolicyProps:
|
|
1978
2039
|
def __init__(
|
|
1979
2040
|
self,
|
|
1980
2041
|
*,
|
|
1981
2042
|
bucket: "IBucket",
|
|
2043
|
+
document: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
1982
2044
|
removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
|
|
1983
2045
|
) -> None:
|
|
1984
2046
|
'''
|
|
1985
2047
|
:param bucket: The Amazon S3 bucket that the policy applies to.
|
|
2048
|
+
:param document: Policy document to apply to the bucket. Default: - A new empty PolicyDocument will be created.
|
|
1986
2049
|
:param removal_policy: Policy to apply when the policy is removed from this stack. Default: - RemovalPolicy.DESTROY.
|
|
1987
2050
|
|
|
1988
2051
|
:exampleMetadata: fixture=_generated
|
|
@@ -1992,24 +2055,30 @@ class BucketPolicyProps:
|
|
|
1992
2055
|
# The code below shows an example of how to instantiate this type.
|
|
1993
2056
|
# The values are placeholders you should change.
|
|
1994
2057
|
import aws_cdk as cdk
|
|
2058
|
+
from aws_cdk import aws_iam as iam
|
|
1995
2059
|
from aws_cdk import aws_s3 as s3
|
|
1996
2060
|
|
|
1997
2061
|
# bucket: s3.Bucket
|
|
2062
|
+
# policy_document: iam.PolicyDocument
|
|
1998
2063
|
|
|
1999
2064
|
bucket_policy_props = s3.BucketPolicyProps(
|
|
2000
2065
|
bucket=bucket,
|
|
2001
2066
|
|
|
2002
2067
|
# the properties below are optional
|
|
2068
|
+
document=policy_document,
|
|
2003
2069
|
removal_policy=cdk.RemovalPolicy.DESTROY
|
|
2004
2070
|
)
|
|
2005
2071
|
'''
|
|
2006
2072
|
if __debug__:
|
|
2007
2073
|
type_hints = typing.get_type_hints(_typecheckingstub__4d7b9233434273933326211f004f27c2982fedd89ad904dc86d84c54f0f50ac6)
|
|
2008
2074
|
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
2075
|
+
check_type(argname="argument document", value=document, expected_type=type_hints["document"])
|
|
2009
2076
|
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
2010
2077
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2011
2078
|
"bucket": bucket,
|
|
2012
2079
|
}
|
|
2080
|
+
if document is not None:
|
|
2081
|
+
self._values["document"] = document
|
|
2013
2082
|
if removal_policy is not None:
|
|
2014
2083
|
self._values["removal_policy"] = removal_policy
|
|
2015
2084
|
|
|
@@ -2020,6 +2089,15 @@ class BucketPolicyProps:
|
|
|
2020
2089
|
assert result is not None, "Required property 'bucket' is missing"
|
|
2021
2090
|
return typing.cast("IBucket", result)
|
|
2022
2091
|
|
|
2092
|
+
@builtins.property
|
|
2093
|
+
def document(self) -> typing.Optional[_PolicyDocument_3ac34393]:
|
|
2094
|
+
'''Policy document to apply to the bucket.
|
|
2095
|
+
|
|
2096
|
+
:default: - A new empty PolicyDocument will be created.
|
|
2097
|
+
'''
|
|
2098
|
+
result = self._values.get("document")
|
|
2099
|
+
return typing.cast(typing.Optional[_PolicyDocument_3ac34393], result)
|
|
2100
|
+
|
|
2023
2101
|
@builtins.property
|
|
2024
2102
|
def removal_policy(self) -> typing.Optional[_RemovalPolicy_9f93c814]:
|
|
2025
2103
|
'''Policy to apply when the policy is removed from this stack.
|
|
@@ -2685,7 +2763,7 @@ class BucketProps:
|
|
|
2685
2763
|
)
|
|
2686
2764
|
|
|
2687
2765
|
|
|
2688
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
2766
|
+
@jsii.implements(_IInspectable_c2943556, _IAccessGrantRef_0e7c5209, _ITaggableV2_4e6798f8)
|
|
2689
2767
|
class CfnAccessGrant(
|
|
2690
2768
|
_CfnResource_9df397a6,
|
|
2691
2769
|
metaclass=jsii.JSIIMeta,
|
|
@@ -2746,7 +2824,8 @@ class CfnAccessGrant(
|
|
|
2746
2824
|
s3_prefix_type: typing.Optional[builtins.str] = None,
|
|
2747
2825
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2748
2826
|
) -> None:
|
|
2749
|
-
'''
|
|
2827
|
+
'''Create a new ``AWS::S3::AccessGrant``.
|
|
2828
|
+
|
|
2750
2829
|
:param scope: Scope in which this resource is defined.
|
|
2751
2830
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2752
2831
|
:param access_grants_location_id: The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID ``default`` to the default location ``s3://`` and assigns an auto-generated ID to other locations that you register.
|
|
@@ -2803,6 +2882,12 @@ class CfnAccessGrant(
|
|
|
2803
2882
|
'''The CloudFormation resource type name for this resource class.'''
|
|
2804
2883
|
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
2805
2884
|
|
|
2885
|
+
@builtins.property
|
|
2886
|
+
@jsii.member(jsii_name="accessGrantRef")
|
|
2887
|
+
def access_grant_ref(self) -> _AccessGrantReference_4b0925c1:
|
|
2888
|
+
'''A reference to a AccessGrant resource.'''
|
|
2889
|
+
return typing.cast(_AccessGrantReference_4b0925c1, jsii.get(self, "accessGrantRef"))
|
|
2890
|
+
|
|
2806
2891
|
@builtins.property
|
|
2807
2892
|
@jsii.member(jsii_name="attrAccessGrantArn")
|
|
2808
2893
|
def attr_access_grant_arn(self) -> builtins.str:
|
|
@@ -3271,7 +3356,7 @@ class CfnAccessGrantProps:
|
|
|
3271
3356
|
)
|
|
3272
3357
|
|
|
3273
3358
|
|
|
3274
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
3359
|
+
@jsii.implements(_IInspectable_c2943556, _IAccessGrantsInstanceRef_94e5b823, _ITaggableV2_4e6798f8)
|
|
3275
3360
|
class CfnAccessGrantsInstance(
|
|
3276
3361
|
_CfnResource_9df397a6,
|
|
3277
3362
|
metaclass=jsii.JSIIMeta,
|
|
@@ -3311,7 +3396,8 @@ class CfnAccessGrantsInstance(
|
|
|
3311
3396
|
identity_center_arn: typing.Optional[builtins.str] = None,
|
|
3312
3397
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3313
3398
|
) -> None:
|
|
3314
|
-
'''
|
|
3399
|
+
'''Create a new ``AWS::S3::AccessGrantsInstance``.
|
|
3400
|
+
|
|
3315
3401
|
:param scope: Scope in which this resource is defined.
|
|
3316
3402
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
3317
3403
|
:param identity_center_arn: If you would like to associate your S3 Access Grants instance with an AWS IAM Identity Center instance, use this field to pass the Amazon Resource Name (ARN) of the AWS IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center.
|
|
@@ -3357,6 +3443,12 @@ class CfnAccessGrantsInstance(
|
|
|
3357
3443
|
'''The CloudFormation resource type name for this resource class.'''
|
|
3358
3444
|
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
3359
3445
|
|
|
3446
|
+
@builtins.property
|
|
3447
|
+
@jsii.member(jsii_name="accessGrantsInstanceRef")
|
|
3448
|
+
def access_grants_instance_ref(self) -> _AccessGrantsInstanceReference_18c061b7:
|
|
3449
|
+
'''A reference to a AccessGrantsInstance resource.'''
|
|
3450
|
+
return typing.cast(_AccessGrantsInstanceReference_18c061b7, jsii.get(self, "accessGrantsInstanceRef"))
|
|
3451
|
+
|
|
3360
3452
|
@builtins.property
|
|
3361
3453
|
@jsii.member(jsii_name="attrAccessGrantsInstanceArn")
|
|
3362
3454
|
def attr_access_grants_instance_arn(self) -> builtins.str:
|
|
@@ -3493,7 +3585,7 @@ class CfnAccessGrantsInstanceProps:
|
|
|
3493
3585
|
)
|
|
3494
3586
|
|
|
3495
3587
|
|
|
3496
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
3588
|
+
@jsii.implements(_IInspectable_c2943556, _IAccessGrantsLocationRef_5ae01054, _ITaggableV2_4e6798f8)
|
|
3497
3589
|
class CfnAccessGrantsLocation(
|
|
3498
3590
|
_CfnResource_9df397a6,
|
|
3499
3591
|
metaclass=jsii.JSIIMeta,
|
|
@@ -3525,6 +3617,8 @@ class CfnAccessGrantsLocation(
|
|
|
3525
3617
|
cfn_access_grants_location = s3.CfnAccessGrantsLocation(self, "MyCfnAccessGrantsLocation",
|
|
3526
3618
|
iam_role_arn="iamRoleArn",
|
|
3527
3619
|
location_scope="locationScope",
|
|
3620
|
+
|
|
3621
|
+
# the properties below are optional
|
|
3528
3622
|
tags=[CfnTag(
|
|
3529
3623
|
key="key",
|
|
3530
3624
|
value="value"
|
|
@@ -3537,11 +3631,12 @@ class CfnAccessGrantsLocation(
|
|
|
3537
3631
|
scope: _constructs_77d1e7e8.Construct,
|
|
3538
3632
|
id: builtins.str,
|
|
3539
3633
|
*,
|
|
3540
|
-
iam_role_arn:
|
|
3541
|
-
location_scope:
|
|
3634
|
+
iam_role_arn: builtins.str,
|
|
3635
|
+
location_scope: builtins.str,
|
|
3542
3636
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3543
3637
|
) -> None:
|
|
3544
|
-
'''
|
|
3638
|
+
'''Create a new ``AWS::S3::AccessGrantsLocation``.
|
|
3639
|
+
|
|
3545
3640
|
:param scope: Scope in which this resource is defined.
|
|
3546
3641
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
3547
3642
|
:param iam_role_arn: The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.
|
|
@@ -3588,6 +3683,12 @@ class CfnAccessGrantsLocation(
|
|
|
3588
3683
|
'''The CloudFormation resource type name for this resource class.'''
|
|
3589
3684
|
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
3590
3685
|
|
|
3686
|
+
@builtins.property
|
|
3687
|
+
@jsii.member(jsii_name="accessGrantsLocationRef")
|
|
3688
|
+
def access_grants_location_ref(self) -> _AccessGrantsLocationReference_6163b002:
|
|
3689
|
+
'''A reference to a AccessGrantsLocation resource.'''
|
|
3690
|
+
return typing.cast(_AccessGrantsLocationReference_6163b002, jsii.get(self, "accessGrantsLocationRef"))
|
|
3691
|
+
|
|
3591
3692
|
@builtins.property
|
|
3592
3693
|
@jsii.member(jsii_name="attrAccessGrantsLocationArn")
|
|
3593
3694
|
def attr_access_grants_location_arn(self) -> builtins.str:
|
|
@@ -3621,12 +3722,12 @@ class CfnAccessGrantsLocation(
|
|
|
3621
3722
|
|
|
3622
3723
|
@builtins.property
|
|
3623
3724
|
@jsii.member(jsii_name="iamRoleArn")
|
|
3624
|
-
def iam_role_arn(self) ->
|
|
3725
|
+
def iam_role_arn(self) -> builtins.str:
|
|
3625
3726
|
'''The Amazon Resource Name (ARN) of the IAM role for the registered location.'''
|
|
3626
|
-
return typing.cast(
|
|
3727
|
+
return typing.cast(builtins.str, jsii.get(self, "iamRoleArn"))
|
|
3627
3728
|
|
|
3628
3729
|
@iam_role_arn.setter
|
|
3629
|
-
def iam_role_arn(self, value:
|
|
3730
|
+
def iam_role_arn(self, value: builtins.str) -> None:
|
|
3630
3731
|
if __debug__:
|
|
3631
3732
|
type_hints = typing.get_type_hints(_typecheckingstub__c6ad3ea630d95d457364fa227ccc4159df9b2fe48cab3fd14afc7301612ddce6)
|
|
3632
3733
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
@@ -3634,12 +3735,12 @@ class CfnAccessGrantsLocation(
|
|
|
3634
3735
|
|
|
3635
3736
|
@builtins.property
|
|
3636
3737
|
@jsii.member(jsii_name="locationScope")
|
|
3637
|
-
def location_scope(self) ->
|
|
3738
|
+
def location_scope(self) -> builtins.str:
|
|
3638
3739
|
'''The S3 URI path to the location that you are registering.'''
|
|
3639
|
-
return typing.cast(
|
|
3740
|
+
return typing.cast(builtins.str, jsii.get(self, "locationScope"))
|
|
3640
3741
|
|
|
3641
3742
|
@location_scope.setter
|
|
3642
|
-
def location_scope(self, value:
|
|
3743
|
+
def location_scope(self, value: builtins.str) -> None:
|
|
3643
3744
|
if __debug__:
|
|
3644
3745
|
type_hints = typing.get_type_hints(_typecheckingstub__80f4ecc1c277ca36e62d80157ee09c7e5856bf9bc1e1542588d3449f958c3302)
|
|
3645
3746
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
@@ -3672,8 +3773,8 @@ class CfnAccessGrantsLocationProps:
|
|
|
3672
3773
|
def __init__(
|
|
3673
3774
|
self,
|
|
3674
3775
|
*,
|
|
3675
|
-
iam_role_arn:
|
|
3676
|
-
location_scope:
|
|
3776
|
+
iam_role_arn: builtins.str,
|
|
3777
|
+
location_scope: builtins.str,
|
|
3677
3778
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3678
3779
|
) -> None:
|
|
3679
3780
|
'''Properties for defining a ``CfnAccessGrantsLocation``.
|
|
@@ -3694,6 +3795,8 @@ class CfnAccessGrantsLocationProps:
|
|
|
3694
3795
|
cfn_access_grants_location_props = s3.CfnAccessGrantsLocationProps(
|
|
3695
3796
|
iam_role_arn="iamRoleArn",
|
|
3696
3797
|
location_scope="locationScope",
|
|
3798
|
+
|
|
3799
|
+
# the properties below are optional
|
|
3697
3800
|
tags=[CfnTag(
|
|
3698
3801
|
key="key",
|
|
3699
3802
|
value="value"
|
|
@@ -3705,16 +3808,15 @@ class CfnAccessGrantsLocationProps:
|
|
|
3705
3808
|
check_type(argname="argument iam_role_arn", value=iam_role_arn, expected_type=type_hints["iam_role_arn"])
|
|
3706
3809
|
check_type(argname="argument location_scope", value=location_scope, expected_type=type_hints["location_scope"])
|
|
3707
3810
|
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
3708
|
-
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
self._values["location_scope"] = location_scope
|
|
3811
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3812
|
+
"iam_role_arn": iam_role_arn,
|
|
3813
|
+
"location_scope": location_scope,
|
|
3814
|
+
}
|
|
3713
3815
|
if tags is not None:
|
|
3714
3816
|
self._values["tags"] = tags
|
|
3715
3817
|
|
|
3716
3818
|
@builtins.property
|
|
3717
|
-
def iam_role_arn(self) ->
|
|
3819
|
+
def iam_role_arn(self) -> builtins.str:
|
|
3718
3820
|
'''The Amazon Resource Name (ARN) of the IAM role for the registered location.
|
|
3719
3821
|
|
|
3720
3822
|
S3 Access Grants assumes this role to manage access to the registered location.
|
|
@@ -3722,10 +3824,11 @@ class CfnAccessGrantsLocationProps:
|
|
|
3722
3824
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html#cfn-s3-accessgrantslocation-iamrolearn
|
|
3723
3825
|
'''
|
|
3724
3826
|
result = self._values.get("iam_role_arn")
|
|
3725
|
-
|
|
3827
|
+
assert result is not None, "Required property 'iam_role_arn' is missing"
|
|
3828
|
+
return typing.cast(builtins.str, result)
|
|
3726
3829
|
|
|
3727
3830
|
@builtins.property
|
|
3728
|
-
def location_scope(self) ->
|
|
3831
|
+
def location_scope(self) -> builtins.str:
|
|
3729
3832
|
'''The S3 URI path to the location that you are registering.
|
|
3730
3833
|
|
|
3731
3834
|
The location scope can be the default S3 location ``s3://`` , the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the ``engineering/`` prefix or object key names that start with the ``marketing/campaigns/`` prefix.
|
|
@@ -3733,7 +3836,8 @@ class CfnAccessGrantsLocationProps:
|
|
|
3733
3836
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html#cfn-s3-accessgrantslocation-locationscope
|
|
3734
3837
|
'''
|
|
3735
3838
|
result = self._values.get("location_scope")
|
|
3736
|
-
|
|
3839
|
+
assert result is not None, "Required property 'location_scope' is missing"
|
|
3840
|
+
return typing.cast(builtins.str, result)
|
|
3737
3841
|
|
|
3738
3842
|
@builtins.property
|
|
3739
3843
|
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
@@ -3758,7 +3862,7 @@ class CfnAccessGrantsLocationProps:
|
|
|
3758
3862
|
)
|
|
3759
3863
|
|
|
3760
3864
|
|
|
3761
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
3865
|
+
@jsii.implements(_IInspectable_c2943556, _IAccessPointRef_02282fed, _ITaggableV2_4e6798f8)
|
|
3762
3866
|
class CfnAccessPoint(
|
|
3763
3867
|
_CfnResource_9df397a6,
|
|
3764
3868
|
metaclass=jsii.JSIIMeta,
|
|
@@ -3791,6 +3895,10 @@ class CfnAccessPoint(
|
|
|
3791
3895
|
ignore_public_acls=False,
|
|
3792
3896
|
restrict_public_buckets=False
|
|
3793
3897
|
),
|
|
3898
|
+
tags=[CfnTag(
|
|
3899
|
+
key="key",
|
|
3900
|
+
value="value"
|
|
3901
|
+
)],
|
|
3794
3902
|
vpc_configuration=s3.CfnAccessPoint.VpcConfigurationProperty(
|
|
3795
3903
|
vpc_id="vpcId"
|
|
3796
3904
|
)
|
|
@@ -3807,9 +3915,11 @@ class CfnAccessPoint(
|
|
|
3807
3915
|
name: typing.Optional[builtins.str] = None,
|
|
3808
3916
|
policy: typing.Any = None,
|
|
3809
3917
|
public_access_block_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccessPoint.PublicAccessBlockConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3918
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3810
3919
|
vpc_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccessPoint.VpcConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3811
3920
|
) -> None:
|
|
3812
|
-
'''
|
|
3921
|
+
'''Create a new ``AWS::S3::AccessPoint``.
|
|
3922
|
+
|
|
3813
3923
|
:param scope: Scope in which this resource is defined.
|
|
3814
3924
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
3815
3925
|
:param bucket: The name of the bucket associated with this access point.
|
|
@@ -3817,6 +3927,7 @@ class CfnAccessPoint(
|
|
|
3817
3927
|
:param name: The name of this access point. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.
|
|
3818
3928
|
:param policy: The access point policy associated with this access point.
|
|
3819
3929
|
:param public_access_block_configuration: The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see `The Meaning of "Public" <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status>`_ in the *Amazon S3 User Guide* .
|
|
3930
|
+
:param tags: An array of tags that you can apply to access points. Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see `Using tags for attribute-based access control (ABAC) <https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac>`_ .
|
|
3820
3931
|
:param vpc_configuration: The Virtual Private Cloud (VPC) configuration for this access point, if one exists.
|
|
3821
3932
|
'''
|
|
3822
3933
|
if __debug__:
|
|
@@ -3829,11 +3940,54 @@ class CfnAccessPoint(
|
|
|
3829
3940
|
name=name,
|
|
3830
3941
|
policy=policy,
|
|
3831
3942
|
public_access_block_configuration=public_access_block_configuration,
|
|
3943
|
+
tags=tags,
|
|
3832
3944
|
vpc_configuration=vpc_configuration,
|
|
3833
3945
|
)
|
|
3834
3946
|
|
|
3835
3947
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
3836
3948
|
|
|
3949
|
+
@jsii.member(jsii_name="fromAccessPointArn")
|
|
3950
|
+
@builtins.classmethod
|
|
3951
|
+
def from_access_point_arn(
|
|
3952
|
+
cls,
|
|
3953
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3954
|
+
id: builtins.str,
|
|
3955
|
+
arn: builtins.str,
|
|
3956
|
+
) -> _IAccessPointRef_02282fed:
|
|
3957
|
+
'''Creates a new IAccessPointRef from an ARN.
|
|
3958
|
+
|
|
3959
|
+
:param scope: -
|
|
3960
|
+
:param id: -
|
|
3961
|
+
:param arn: -
|
|
3962
|
+
'''
|
|
3963
|
+
if __debug__:
|
|
3964
|
+
type_hints = typing.get_type_hints(_typecheckingstub__27c1fdb406b539ade70eea36bce09782bba11b354442fee5c5d43c938bfd0aee)
|
|
3965
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3966
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
3967
|
+
check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
|
|
3968
|
+
return typing.cast(_IAccessPointRef_02282fed, jsii.sinvoke(cls, "fromAccessPointArn", [scope, id, arn]))
|
|
3969
|
+
|
|
3970
|
+
@jsii.member(jsii_name="fromAccessPointName")
|
|
3971
|
+
@builtins.classmethod
|
|
3972
|
+
def from_access_point_name(
|
|
3973
|
+
cls,
|
|
3974
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3975
|
+
id: builtins.str,
|
|
3976
|
+
access_point_name: builtins.str,
|
|
3977
|
+
) -> _IAccessPointRef_02282fed:
|
|
3978
|
+
'''Creates a new IAccessPointRef from a accessPointName.
|
|
3979
|
+
|
|
3980
|
+
:param scope: -
|
|
3981
|
+
:param id: -
|
|
3982
|
+
:param access_point_name: -
|
|
3983
|
+
'''
|
|
3984
|
+
if __debug__:
|
|
3985
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9af2790fec8caeab2621c276234587e70ab62b4d6d6f7a82947b3b7326f42deb)
|
|
3986
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3987
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
3988
|
+
check_type(argname="argument access_point_name", value=access_point_name, expected_type=type_hints["access_point_name"])
|
|
3989
|
+
return typing.cast(_IAccessPointRef_02282fed, jsii.sinvoke(cls, "fromAccessPointName", [scope, id, access_point_name]))
|
|
3990
|
+
|
|
3837
3991
|
@jsii.member(jsii_name="inspect")
|
|
3838
3992
|
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
3839
3993
|
'''Examines the CloudFormation resource and discloses attributes.
|
|
@@ -3864,6 +4018,12 @@ class CfnAccessPoint(
|
|
|
3864
4018
|
'''The CloudFormation resource type name for this resource class.'''
|
|
3865
4019
|
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
3866
4020
|
|
|
4021
|
+
@builtins.property
|
|
4022
|
+
@jsii.member(jsii_name="accessPointRef")
|
|
4023
|
+
def access_point_ref(self) -> _AccessPointReference_b9bf9d61:
|
|
4024
|
+
'''A reference to a AccessPoint resource.'''
|
|
4025
|
+
return typing.cast(_AccessPointReference_b9bf9d61, jsii.get(self, "accessPointRef"))
|
|
4026
|
+
|
|
3867
4027
|
@builtins.property
|
|
3868
4028
|
@jsii.member(jsii_name="attrAlias")
|
|
3869
4029
|
def attr_alias(self) -> builtins.str:
|
|
@@ -3904,6 +4064,12 @@ class CfnAccessPoint(
|
|
|
3904
4064
|
'''
|
|
3905
4065
|
return typing.cast(builtins.str, jsii.get(self, "attrNetworkOrigin"))
|
|
3906
4066
|
|
|
4067
|
+
@builtins.property
|
|
4068
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
4069
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
4070
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
4071
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
4072
|
+
|
|
3907
4073
|
@builtins.property
|
|
3908
4074
|
@jsii.member(jsii_name="cfnProperties")
|
|
3909
4075
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
@@ -3979,6 +4145,19 @@ class CfnAccessPoint(
|
|
|
3979
4145
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3980
4146
|
jsii.set(self, "publicAccessBlockConfiguration", value) # pyright: ignore[reportArgumentType]
|
|
3981
4147
|
|
|
4148
|
+
@builtins.property
|
|
4149
|
+
@jsii.member(jsii_name="tags")
|
|
4150
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
4151
|
+
'''An array of tags that you can apply to access points.'''
|
|
4152
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
|
|
4153
|
+
|
|
4154
|
+
@tags.setter
|
|
4155
|
+
def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
|
|
4156
|
+
if __debug__:
|
|
4157
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d6c41b842366f80d771c24147e6f4bdb868bf8899c3f03b128339e380a158e19)
|
|
4158
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4159
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
4160
|
+
|
|
3982
4161
|
@builtins.property
|
|
3983
4162
|
@jsii.member(jsii_name="vpcConfiguration")
|
|
3984
4163
|
def vpc_configuration(
|
|
@@ -4193,6 +4372,7 @@ class CfnAccessPoint(
|
|
|
4193
4372
|
"name": "name",
|
|
4194
4373
|
"policy": "policy",
|
|
4195
4374
|
"public_access_block_configuration": "publicAccessBlockConfiguration",
|
|
4375
|
+
"tags": "tags",
|
|
4196
4376
|
"vpc_configuration": "vpcConfiguration",
|
|
4197
4377
|
},
|
|
4198
4378
|
)
|
|
@@ -4205,6 +4385,7 @@ class CfnAccessPointProps:
|
|
|
4205
4385
|
name: typing.Optional[builtins.str] = None,
|
|
4206
4386
|
policy: typing.Any = None,
|
|
4207
4387
|
public_access_block_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.PublicAccessBlockConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4388
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4208
4389
|
vpc_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.VpcConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4209
4390
|
) -> None:
|
|
4210
4391
|
'''Properties for defining a ``CfnAccessPoint``.
|
|
@@ -4214,6 +4395,7 @@ class CfnAccessPointProps:
|
|
|
4214
4395
|
:param name: The name of this access point. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.
|
|
4215
4396
|
:param policy: The access point policy associated with this access point.
|
|
4216
4397
|
:param public_access_block_configuration: The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see `The Meaning of "Public" <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status>`_ in the *Amazon S3 User Guide* .
|
|
4398
|
+
:param tags: An array of tags that you can apply to access points. Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see `Using tags for attribute-based access control (ABAC) <https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac>`_ .
|
|
4217
4399
|
:param vpc_configuration: The Virtual Private Cloud (VPC) configuration for this access point, if one exists.
|
|
4218
4400
|
|
|
4219
4401
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html
|
|
@@ -4240,6 +4422,10 @@ class CfnAccessPointProps:
|
|
|
4240
4422
|
ignore_public_acls=False,
|
|
4241
4423
|
restrict_public_buckets=False
|
|
4242
4424
|
),
|
|
4425
|
+
tags=[CfnTag(
|
|
4426
|
+
key="key",
|
|
4427
|
+
value="value"
|
|
4428
|
+
)],
|
|
4243
4429
|
vpc_configuration=s3.CfnAccessPoint.VpcConfigurationProperty(
|
|
4244
4430
|
vpc_id="vpcId"
|
|
4245
4431
|
)
|
|
@@ -4252,6 +4438,7 @@ class CfnAccessPointProps:
|
|
|
4252
4438
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
4253
4439
|
check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
|
|
4254
4440
|
check_type(argname="argument public_access_block_configuration", value=public_access_block_configuration, expected_type=type_hints["public_access_block_configuration"])
|
|
4441
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
4255
4442
|
check_type(argname="argument vpc_configuration", value=vpc_configuration, expected_type=type_hints["vpc_configuration"])
|
|
4256
4443
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4257
4444
|
"bucket": bucket,
|
|
@@ -4264,6 +4451,8 @@ class CfnAccessPointProps:
|
|
|
4264
4451
|
self._values["policy"] = policy
|
|
4265
4452
|
if public_access_block_configuration is not None:
|
|
4266
4453
|
self._values["public_access_block_configuration"] = public_access_block_configuration
|
|
4454
|
+
if tags is not None:
|
|
4455
|
+
self._values["tags"] = tags
|
|
4267
4456
|
if vpc_configuration is not None:
|
|
4268
4457
|
self._values["vpc_configuration"] = vpc_configuration
|
|
4269
4458
|
|
|
@@ -4319,6 +4508,17 @@ class CfnAccessPointProps:
|
|
|
4319
4508
|
result = self._values.get("public_access_block_configuration")
|
|
4320
4509
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAccessPoint.PublicAccessBlockConfigurationProperty]], result)
|
|
4321
4510
|
|
|
4511
|
+
@builtins.property
|
|
4512
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
4513
|
+
'''An array of tags that you can apply to access points.
|
|
4514
|
+
|
|
4515
|
+
Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see `Using tags for attribute-based access control (ABAC) <https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac>`_ .
|
|
4516
|
+
|
|
4517
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-tags
|
|
4518
|
+
'''
|
|
4519
|
+
result = self._values.get("tags")
|
|
4520
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
|
|
4521
|
+
|
|
4322
4522
|
@builtins.property
|
|
4323
4523
|
def vpc_configuration(
|
|
4324
4524
|
self,
|
|
@@ -4342,7 +4542,7 @@ class CfnAccessPointProps:
|
|
|
4342
4542
|
)
|
|
4343
4543
|
|
|
4344
4544
|
|
|
4345
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
4545
|
+
@jsii.implements(_IInspectable_c2943556, _IBucketRef_3debe44e, _ITaggable_36806126)
|
|
4346
4546
|
class CfnBucket(
|
|
4347
4547
|
_CfnResource_9df397a6,
|
|
4348
4548
|
metaclass=jsii.JSIIMeta,
|
|
@@ -4389,6 +4589,7 @@ class CfnBucket(
|
|
|
4389
4589
|
inventory_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.InventoryConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4390
4590
|
lifecycle_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.LifecycleConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4391
4591
|
logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.LoggingConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4592
|
+
metadata_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.MetadataConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4392
4593
|
metadata_table_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.MetadataTableConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4393
4594
|
metrics_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.MetricsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4394
4595
|
notification_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.NotificationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -4401,7 +4602,8 @@ class CfnBucket(
|
|
|
4401
4602
|
versioning_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.VersioningConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4402
4603
|
website_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.WebsiteConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4403
4604
|
) -> None:
|
|
4404
|
-
'''
|
|
4605
|
+
'''Create a new ``AWS::S3::Bucket``.
|
|
4606
|
+
|
|
4405
4607
|
:param scope: Scope in which this resource is defined.
|
|
4406
4608
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
4407
4609
|
:param accelerate_configuration: Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see `Amazon S3 Transfer Acceleration <https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html>`_ in the *Amazon S3 User Guide* .
|
|
@@ -4411,13 +4613,14 @@ class CfnBucket(
|
|
|
4411
4613
|
:param bucket_name: A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow `Amazon S3 bucket restrictions and limitations <https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html>`_ . For more information, see `Rules for naming Amazon S3 buckets <https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html>`_ in the *Amazon S3 User Guide* . .. epigraph:: If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
|
|
4412
4614
|
:param cors_configuration: Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see `Enabling Cross-Origin Resource Sharing <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html>`_ in the *Amazon S3 User Guide* .
|
|
4413
4615
|
:param intelligent_tiering_configurations: Defines how Amazon S3 handles Intelligent-Tiering storage.
|
|
4414
|
-
:param inventory_configurations: Specifies the
|
|
4616
|
+
:param inventory_configurations: Specifies the S3 Inventory configuration for an Amazon S3 bucket. For more information, see `GET Bucket inventory <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html>`_ in the *Amazon S3 API Reference* .
|
|
4415
4617
|
:param lifecycle_configuration: Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see `Object Lifecycle Management <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html>`_ in the *Amazon S3 User Guide* .
|
|
4416
4618
|
:param logging_configuration: Settings that define where logs are stored.
|
|
4619
|
+
:param metadata_configuration: The S3 Metadata configuration for a general purpose bucket.
|
|
4417
4620
|
:param metadata_table_configuration: The metadata table configuration of an Amazon S3 general purpose bucket.
|
|
4418
4621
|
:param metrics_configurations: Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see `PutBucketMetricsConfiguration <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html>`_ .
|
|
4419
4622
|
:param notification_configuration: Configuration that defines how Amazon S3 handles bucket notifications.
|
|
4420
|
-
:param object_lock_configuration: .. epigraph:: This operation is not supported for directory buckets. Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see `Locking Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html>`_ . .. epigraph:: - The ``DefaultRetention`` settings require both a mode and a period. - The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time. - You can enable Object Lock for new or existing buckets. For more information, see `Configuring Object Lock <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html>`_ .
|
|
4623
|
+
:param object_lock_configuration: .. epigraph:: This operation is not supported for directory buckets. Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see `Locking Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html>`_ . .. epigraph:: - The ``DefaultRetention`` settings require both a mode and a period. - The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time. - You can enable Object Lock for new or existing buckets. For more information, see `Configuring Object Lock <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html>`_ . > You must URL encode any signed header values that contain spaces. For example, if your header value is ``my file.txt`` , containing two spaces after ``my`` , you must URL encode this value to ``my%20%20file.txt`` .
|
|
4421
4624
|
:param object_lock_enabled: Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.
|
|
4422
4625
|
:param ownership_controls: Configuration that defines how Amazon S3 handles Object Ownership rules.
|
|
4423
4626
|
:param public_access_block_configuration: Configuration that defines how Amazon S3 handles public access.
|
|
@@ -4441,6 +4644,7 @@ class CfnBucket(
|
|
|
4441
4644
|
inventory_configurations=inventory_configurations,
|
|
4442
4645
|
lifecycle_configuration=lifecycle_configuration,
|
|
4443
4646
|
logging_configuration=logging_configuration,
|
|
4647
|
+
metadata_configuration=metadata_configuration,
|
|
4444
4648
|
metadata_table_configuration=metadata_table_configuration,
|
|
4445
4649
|
metrics_configurations=metrics_configurations,
|
|
4446
4650
|
notification_configuration=notification_configuration,
|
|
@@ -4456,6 +4660,48 @@ class CfnBucket(
|
|
|
4456
4660
|
|
|
4457
4661
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
4458
4662
|
|
|
4663
|
+
@jsii.member(jsii_name="fromBucketArn")
|
|
4664
|
+
@builtins.classmethod
|
|
4665
|
+
def from_bucket_arn(
|
|
4666
|
+
cls,
|
|
4667
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
4668
|
+
id: builtins.str,
|
|
4669
|
+
arn: builtins.str,
|
|
4670
|
+
) -> _IBucketRef_3debe44e:
|
|
4671
|
+
'''Creates a new IBucketRef from an ARN.
|
|
4672
|
+
|
|
4673
|
+
:param scope: -
|
|
4674
|
+
:param id: -
|
|
4675
|
+
:param arn: -
|
|
4676
|
+
'''
|
|
4677
|
+
if __debug__:
|
|
4678
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f218931ccffe0d6407edcfc452f39d64609d0cceec6ea04313fa364cf5a4f3df)
|
|
4679
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
4680
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
4681
|
+
check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
|
|
4682
|
+
return typing.cast(_IBucketRef_3debe44e, jsii.sinvoke(cls, "fromBucketArn", [scope, id, arn]))
|
|
4683
|
+
|
|
4684
|
+
@jsii.member(jsii_name="fromBucketName")
|
|
4685
|
+
@builtins.classmethod
|
|
4686
|
+
def from_bucket_name(
|
|
4687
|
+
cls,
|
|
4688
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
4689
|
+
id: builtins.str,
|
|
4690
|
+
bucket_name: builtins.str,
|
|
4691
|
+
) -> _IBucketRef_3debe44e:
|
|
4692
|
+
'''Creates a new IBucketRef from a bucketName.
|
|
4693
|
+
|
|
4694
|
+
:param scope: -
|
|
4695
|
+
:param id: -
|
|
4696
|
+
:param bucket_name: -
|
|
4697
|
+
'''
|
|
4698
|
+
if __debug__:
|
|
4699
|
+
type_hints = typing.get_type_hints(_typecheckingstub__08ccc75711c8ec0fedd9747e674f732b2653120a392c01413875cc0df08e91fa)
|
|
4700
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
4701
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
4702
|
+
check_type(argname="argument bucket_name", value=bucket_name, expected_type=type_hints["bucket_name"])
|
|
4703
|
+
return typing.cast(_IBucketRef_3debe44e, jsii.sinvoke(cls, "fromBucketName", [scope, id, bucket_name]))
|
|
4704
|
+
|
|
4459
4705
|
@jsii.member(jsii_name="inspect")
|
|
4460
4706
|
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
4461
4707
|
'''Examines the CloudFormation resource and discloses attributes.
|
|
@@ -4521,6 +4767,59 @@ class CfnBucket(
|
|
|
4521
4767
|
'''
|
|
4522
4768
|
return typing.cast(builtins.str, jsii.get(self, "attrDualStackDomainName"))
|
|
4523
4769
|
|
|
4770
|
+
@builtins.property
|
|
4771
|
+
@jsii.member(jsii_name="attrMetadataConfigurationDestination")
|
|
4772
|
+
def attr_metadata_configuration_destination(self) -> _IResolvable_da3f097b:
|
|
4773
|
+
'''The destination information for the S3 Metadata configuration.
|
|
4774
|
+
|
|
4775
|
+
:cloudformationAttribute: MetadataConfiguration.Destination
|
|
4776
|
+
'''
|
|
4777
|
+
return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrMetadataConfigurationDestination"))
|
|
4778
|
+
|
|
4779
|
+
@builtins.property
|
|
4780
|
+
@jsii.member(jsii_name="attrMetadataConfigurationInventoryTableConfigurationTableArn")
|
|
4781
|
+
def attr_metadata_configuration_inventory_table_configuration_table_arn(
|
|
4782
|
+
self,
|
|
4783
|
+
) -> builtins.str:
|
|
4784
|
+
'''The Amazon Resource Name (ARN) for the inventory table.
|
|
4785
|
+
|
|
4786
|
+
:cloudformationAttribute: MetadataConfiguration.InventoryTableConfiguration.TableArn
|
|
4787
|
+
'''
|
|
4788
|
+
return typing.cast(builtins.str, jsii.get(self, "attrMetadataConfigurationInventoryTableConfigurationTableArn"))
|
|
4789
|
+
|
|
4790
|
+
@builtins.property
|
|
4791
|
+
@jsii.member(jsii_name="attrMetadataConfigurationInventoryTableConfigurationTableName")
|
|
4792
|
+
def attr_metadata_configuration_inventory_table_configuration_table_name(
|
|
4793
|
+
self,
|
|
4794
|
+
) -> builtins.str:
|
|
4795
|
+
'''The name of the inventory table.
|
|
4796
|
+
|
|
4797
|
+
:cloudformationAttribute: MetadataConfiguration.InventoryTableConfiguration.TableName
|
|
4798
|
+
'''
|
|
4799
|
+
return typing.cast(builtins.str, jsii.get(self, "attrMetadataConfigurationInventoryTableConfigurationTableName"))
|
|
4800
|
+
|
|
4801
|
+
@builtins.property
|
|
4802
|
+
@jsii.member(jsii_name="attrMetadataConfigurationJournalTableConfigurationTableArn")
|
|
4803
|
+
def attr_metadata_configuration_journal_table_configuration_table_arn(
|
|
4804
|
+
self,
|
|
4805
|
+
) -> builtins.str:
|
|
4806
|
+
'''The Amazon Resource Name (ARN) for the journal table.
|
|
4807
|
+
|
|
4808
|
+
:cloudformationAttribute: MetadataConfiguration.JournalTableConfiguration.TableArn
|
|
4809
|
+
'''
|
|
4810
|
+
return typing.cast(builtins.str, jsii.get(self, "attrMetadataConfigurationJournalTableConfigurationTableArn"))
|
|
4811
|
+
|
|
4812
|
+
@builtins.property
|
|
4813
|
+
@jsii.member(jsii_name="attrMetadataConfigurationJournalTableConfigurationTableName")
|
|
4814
|
+
def attr_metadata_configuration_journal_table_configuration_table_name(
|
|
4815
|
+
self,
|
|
4816
|
+
) -> builtins.str:
|
|
4817
|
+
'''The name of the journal table.
|
|
4818
|
+
|
|
4819
|
+
:cloudformationAttribute: MetadataConfiguration.JournalTableConfiguration.TableName
|
|
4820
|
+
'''
|
|
4821
|
+
return typing.cast(builtins.str, jsii.get(self, "attrMetadataConfigurationJournalTableConfigurationTableName"))
|
|
4822
|
+
|
|
4524
4823
|
@builtins.property
|
|
4525
4824
|
@jsii.member(jsii_name="attrMetadataTableConfigurationS3TablesDestinationTableArn")
|
|
4526
4825
|
def attr_metadata_table_configuration_s3_tables_destination_table_arn(
|
|
@@ -4571,6 +4870,12 @@ class CfnBucket(
|
|
|
4571
4870
|
'''
|
|
4572
4871
|
return typing.cast(builtins.str, jsii.get(self, "attrWebsiteUrl"))
|
|
4573
4872
|
|
|
4873
|
+
@builtins.property
|
|
4874
|
+
@jsii.member(jsii_name="bucketRef")
|
|
4875
|
+
def bucket_ref(self) -> _BucketReference_502fb39f:
|
|
4876
|
+
'''A reference to a Bucket resource.'''
|
|
4877
|
+
return typing.cast(_BucketReference_502fb39f, jsii.get(self, "bucketRef"))
|
|
4878
|
+
|
|
4574
4879
|
@builtins.property
|
|
4575
4880
|
@jsii.member(jsii_name="cfnProperties")
|
|
4576
4881
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
@@ -4705,7 +5010,7 @@ class CfnBucket(
|
|
|
4705
5010
|
def inventory_configurations(
|
|
4706
5011
|
self,
|
|
4707
5012
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnBucket.InventoryConfigurationProperty"]]]]:
|
|
4708
|
-
'''Specifies the
|
|
5013
|
+
'''Specifies the S3 Inventory configuration for an Amazon S3 bucket.'''
|
|
4709
5014
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnBucket.InventoryConfigurationProperty"]]]], jsii.get(self, "inventoryConfigurations"))
|
|
4710
5015
|
|
|
4711
5016
|
@inventory_configurations.setter
|
|
@@ -4754,6 +5059,24 @@ class CfnBucket(
|
|
|
4754
5059
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4755
5060
|
jsii.set(self, "loggingConfiguration", value) # pyright: ignore[reportArgumentType]
|
|
4756
5061
|
|
|
5062
|
+
@builtins.property
|
|
5063
|
+
@jsii.member(jsii_name="metadataConfiguration")
|
|
5064
|
+
def metadata_configuration(
|
|
5065
|
+
self,
|
|
5066
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.MetadataConfigurationProperty"]]:
|
|
5067
|
+
'''The S3 Metadata configuration for a general purpose bucket.'''
|
|
5068
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.MetadataConfigurationProperty"]], jsii.get(self, "metadataConfiguration"))
|
|
5069
|
+
|
|
5070
|
+
@metadata_configuration.setter
|
|
5071
|
+
def metadata_configuration(
|
|
5072
|
+
self,
|
|
5073
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.MetadataConfigurationProperty"]],
|
|
5074
|
+
) -> None:
|
|
5075
|
+
if __debug__:
|
|
5076
|
+
type_hints = typing.get_type_hints(_typecheckingstub__13b4697762f20bd91e57f93bf2922758e68d9cbc3f74472e7da7f9ce2f7dcdca)
|
|
5077
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
5078
|
+
jsii.set(self, "metadataConfiguration", value) # pyright: ignore[reportArgumentType]
|
|
5079
|
+
|
|
4757
5080
|
@builtins.property
|
|
4758
5081
|
@jsii.member(jsii_name="metadataTableConfiguration")
|
|
4759
5082
|
def metadata_table_configuration(
|
|
@@ -5726,7 +6049,7 @@ class CfnBucket(
|
|
|
5726
6049
|
|
|
5727
6050
|
If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see `Backward Compatibility <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations>`_ .
|
|
5728
6051
|
|
|
5729
|
-
:param status: Indicates whether to replicate delete markers.
|
|
6052
|
+
:param status: Indicates whether to replicate delete markers.
|
|
5730
6053
|
|
|
5731
6054
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-deletemarkerreplication.html
|
|
5732
6055
|
:exampleMetadata: fixture=_generated
|
|
@@ -5752,8 +6075,6 @@ class CfnBucket(
|
|
|
5752
6075
|
def status(self) -> typing.Optional[builtins.str]:
|
|
5753
6076
|
'''Indicates whether to replicate delete markers.
|
|
5754
6077
|
|
|
5755
|
-
Disabled by default.
|
|
5756
|
-
|
|
5757
6078
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-deletemarkerreplication.html#cfn-s3-bucket-deletemarkerreplication-status
|
|
5758
6079
|
'''
|
|
5759
6080
|
result = self._values.get("status")
|
|
@@ -6241,7 +6562,7 @@ class CfnBucket(
|
|
|
6241
6562
|
optional_fields: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
6242
6563
|
prefix: typing.Optional[builtins.str] = None,
|
|
6243
6564
|
) -> None:
|
|
6244
|
-
'''Specifies the
|
|
6565
|
+
'''Specifies the S3 Inventory configuration for an Amazon S3 bucket.
|
|
6245
6566
|
|
|
6246
6567
|
For more information, see `GET Bucket inventory <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html>`_ in the *Amazon S3 API Reference* .
|
|
6247
6568
|
|
|
@@ -6388,25 +6709,32 @@ class CfnBucket(
|
|
|
6388
6709
|
)
|
|
6389
6710
|
|
|
6390
6711
|
@jsii.data_type(
|
|
6391
|
-
jsii_type="aws-cdk-lib.aws_s3.CfnBucket.
|
|
6712
|
+
jsii_type="aws-cdk-lib.aws_s3.CfnBucket.InventoryTableConfigurationProperty",
|
|
6392
6713
|
jsii_struct_bases=[],
|
|
6393
|
-
name_mapping={
|
|
6714
|
+
name_mapping={
|
|
6715
|
+
"configuration_state": "configurationState",
|
|
6716
|
+
"encryption_configuration": "encryptionConfiguration",
|
|
6717
|
+
"table_arn": "tableArn",
|
|
6718
|
+
"table_name": "tableName",
|
|
6719
|
+
},
|
|
6394
6720
|
)
|
|
6395
|
-
class
|
|
6721
|
+
class InventoryTableConfigurationProperty:
|
|
6396
6722
|
def __init__(
|
|
6397
6723
|
self,
|
|
6398
6724
|
*,
|
|
6399
|
-
|
|
6400
|
-
|
|
6401
|
-
|
|
6725
|
+
configuration_state: builtins.str,
|
|
6726
|
+
encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.MetadataTableEncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6727
|
+
table_arn: typing.Optional[builtins.str] = None,
|
|
6728
|
+
table_name: typing.Optional[builtins.str] = None,
|
|
6402
6729
|
) -> None:
|
|
6403
|
-
'''
|
|
6730
|
+
'''The inventory table configuration for an S3 Metadata configuration.
|
|
6404
6731
|
|
|
6405
|
-
:param
|
|
6406
|
-
:param
|
|
6407
|
-
:param
|
|
6732
|
+
:param configuration_state: The configuration state of the inventory table, indicating whether the inventory table is enabled or disabled.
|
|
6733
|
+
:param encryption_configuration: The encryption configuration for the inventory table.
|
|
6734
|
+
:param table_arn: The Amazon Resource Name (ARN) for the inventory table.
|
|
6735
|
+
:param table_name: The name of the inventory table.
|
|
6408
6736
|
|
|
6409
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-
|
|
6737
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventorytableconfiguration.html
|
|
6410
6738
|
:exampleMetadata: fixture=_generated
|
|
6411
6739
|
|
|
6412
6740
|
Example::
|
|
@@ -6415,48 +6743,278 @@ class CfnBucket(
|
|
|
6415
6743
|
# The values are placeholders you should change.
|
|
6416
6744
|
from aws_cdk import aws_s3 as s3
|
|
6417
6745
|
|
|
6418
|
-
|
|
6419
|
-
|
|
6420
|
-
function="function",
|
|
6746
|
+
inventory_table_configuration_property = s3.CfnBucket.InventoryTableConfigurationProperty(
|
|
6747
|
+
configuration_state="configurationState",
|
|
6421
6748
|
|
|
6422
6749
|
# the properties below are optional
|
|
6423
|
-
|
|
6424
|
-
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
|
|
6429
|
-
|
|
6430
|
-
|
|
6750
|
+
encryption_configuration=s3.CfnBucket.MetadataTableEncryptionConfigurationProperty(
|
|
6751
|
+
sse_algorithm="sseAlgorithm",
|
|
6752
|
+
|
|
6753
|
+
# the properties below are optional
|
|
6754
|
+
kms_key_arn="kmsKeyArn"
|
|
6755
|
+
),
|
|
6756
|
+
table_arn="tableArn",
|
|
6757
|
+
table_name="tableName"
|
|
6431
6758
|
)
|
|
6432
6759
|
'''
|
|
6433
6760
|
if __debug__:
|
|
6434
|
-
type_hints = typing.get_type_hints(
|
|
6435
|
-
check_type(argname="argument
|
|
6436
|
-
check_type(argname="argument
|
|
6437
|
-
check_type(argname="argument
|
|
6761
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e3f0960f8776684cd6b2c423b1320b1ffcb2a6165dba0f275451667884000458)
|
|
6762
|
+
check_type(argname="argument configuration_state", value=configuration_state, expected_type=type_hints["configuration_state"])
|
|
6763
|
+
check_type(argname="argument encryption_configuration", value=encryption_configuration, expected_type=type_hints["encryption_configuration"])
|
|
6764
|
+
check_type(argname="argument table_arn", value=table_arn, expected_type=type_hints["table_arn"])
|
|
6765
|
+
check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
|
|
6438
6766
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
6439
|
-
"
|
|
6440
|
-
"function": function,
|
|
6767
|
+
"configuration_state": configuration_state,
|
|
6441
6768
|
}
|
|
6442
|
-
if
|
|
6443
|
-
self._values["
|
|
6769
|
+
if encryption_configuration is not None:
|
|
6770
|
+
self._values["encryption_configuration"] = encryption_configuration
|
|
6771
|
+
if table_arn is not None:
|
|
6772
|
+
self._values["table_arn"] = table_arn
|
|
6773
|
+
if table_name is not None:
|
|
6774
|
+
self._values["table_name"] = table_name
|
|
6444
6775
|
|
|
6445
6776
|
@builtins.property
|
|
6446
|
-
def
|
|
6447
|
-
'''The
|
|
6448
|
-
|
|
6449
|
-
For more information, see `Supported Event Types <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html>`_ in the *Amazon S3 User Guide* .
|
|
6777
|
+
def configuration_state(self) -> builtins.str:
|
|
6778
|
+
'''The configuration state of the inventory table, indicating whether the inventory table is enabled or disabled.
|
|
6450
6779
|
|
|
6451
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-
|
|
6780
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventorytableconfiguration.html#cfn-s3-bucket-inventorytableconfiguration-configurationstate
|
|
6452
6781
|
'''
|
|
6453
|
-
result = self._values.get("
|
|
6454
|
-
assert result is not None, "Required property '
|
|
6782
|
+
result = self._values.get("configuration_state")
|
|
6783
|
+
assert result is not None, "Required property 'configuration_state' is missing"
|
|
6455
6784
|
return typing.cast(builtins.str, result)
|
|
6456
6785
|
|
|
6457
6786
|
@builtins.property
|
|
6458
|
-
def
|
|
6459
|
-
|
|
6787
|
+
def encryption_configuration(
|
|
6788
|
+
self,
|
|
6789
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.MetadataTableEncryptionConfigurationProperty"]]:
|
|
6790
|
+
'''The encryption configuration for the inventory table.
|
|
6791
|
+
|
|
6792
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventorytableconfiguration.html#cfn-s3-bucket-inventorytableconfiguration-encryptionconfiguration
|
|
6793
|
+
'''
|
|
6794
|
+
result = self._values.get("encryption_configuration")
|
|
6795
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.MetadataTableEncryptionConfigurationProperty"]], result)
|
|
6796
|
+
|
|
6797
|
+
@builtins.property
|
|
6798
|
+
def table_arn(self) -> typing.Optional[builtins.str]:
|
|
6799
|
+
'''The Amazon Resource Name (ARN) for the inventory table.
|
|
6800
|
+
|
|
6801
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventorytableconfiguration.html#cfn-s3-bucket-inventorytableconfiguration-tablearn
|
|
6802
|
+
'''
|
|
6803
|
+
result = self._values.get("table_arn")
|
|
6804
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6805
|
+
|
|
6806
|
+
@builtins.property
|
|
6807
|
+
def table_name(self) -> typing.Optional[builtins.str]:
|
|
6808
|
+
'''The name of the inventory table.
|
|
6809
|
+
|
|
6810
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventorytableconfiguration.html#cfn-s3-bucket-inventorytableconfiguration-tablename
|
|
6811
|
+
'''
|
|
6812
|
+
result = self._values.get("table_name")
|
|
6813
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6814
|
+
|
|
6815
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
6816
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
6817
|
+
|
|
6818
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
6819
|
+
return not (rhs == self)
|
|
6820
|
+
|
|
6821
|
+
def __repr__(self) -> str:
|
|
6822
|
+
return "InventoryTableConfigurationProperty(%s)" % ", ".join(
|
|
6823
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
6824
|
+
)
|
|
6825
|
+
|
|
6826
|
+
@jsii.data_type(
|
|
6827
|
+
jsii_type="aws-cdk-lib.aws_s3.CfnBucket.JournalTableConfigurationProperty",
|
|
6828
|
+
jsii_struct_bases=[],
|
|
6829
|
+
name_mapping={
|
|
6830
|
+
"record_expiration": "recordExpiration",
|
|
6831
|
+
"encryption_configuration": "encryptionConfiguration",
|
|
6832
|
+
"table_arn": "tableArn",
|
|
6833
|
+
"table_name": "tableName",
|
|
6834
|
+
},
|
|
6835
|
+
)
|
|
6836
|
+
class JournalTableConfigurationProperty:
|
|
6837
|
+
def __init__(
|
|
6838
|
+
self,
|
|
6839
|
+
*,
|
|
6840
|
+
record_expiration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.RecordExpirationProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
6841
|
+
encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.MetadataTableEncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6842
|
+
table_arn: typing.Optional[builtins.str] = None,
|
|
6843
|
+
table_name: typing.Optional[builtins.str] = None,
|
|
6844
|
+
) -> None:
|
|
6845
|
+
'''The journal table configuration for an S3 Metadata configuration.
|
|
6846
|
+
|
|
6847
|
+
:param record_expiration: The journal table record expiration settings for the journal table.
|
|
6848
|
+
:param encryption_configuration: The encryption configuration for the journal table.
|
|
6849
|
+
:param table_arn: The Amazon Resource Name (ARN) for the journal table.
|
|
6850
|
+
:param table_name: The name of the journal table.
|
|
6851
|
+
|
|
6852
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-journaltableconfiguration.html
|
|
6853
|
+
:exampleMetadata: fixture=_generated
|
|
6854
|
+
|
|
6855
|
+
Example::
|
|
6856
|
+
|
|
6857
|
+
# The code below shows an example of how to instantiate this type.
|
|
6858
|
+
# The values are placeholders you should change.
|
|
6859
|
+
from aws_cdk import aws_s3 as s3
|
|
6860
|
+
|
|
6861
|
+
journal_table_configuration_property = s3.CfnBucket.JournalTableConfigurationProperty(
|
|
6862
|
+
record_expiration=s3.CfnBucket.RecordExpirationProperty(
|
|
6863
|
+
expiration="expiration",
|
|
6864
|
+
|
|
6865
|
+
# the properties below are optional
|
|
6866
|
+
days=123
|
|
6867
|
+
),
|
|
6868
|
+
|
|
6869
|
+
# the properties below are optional
|
|
6870
|
+
encryption_configuration=s3.CfnBucket.MetadataTableEncryptionConfigurationProperty(
|
|
6871
|
+
sse_algorithm="sseAlgorithm",
|
|
6872
|
+
|
|
6873
|
+
# the properties below are optional
|
|
6874
|
+
kms_key_arn="kmsKeyArn"
|
|
6875
|
+
),
|
|
6876
|
+
table_arn="tableArn",
|
|
6877
|
+
table_name="tableName"
|
|
6878
|
+
)
|
|
6879
|
+
'''
|
|
6880
|
+
if __debug__:
|
|
6881
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4831e8bf78dc983eaf9b010780417c4e6b808ef19beac1729f89ba7bab53d4d9)
|
|
6882
|
+
check_type(argname="argument record_expiration", value=record_expiration, expected_type=type_hints["record_expiration"])
|
|
6883
|
+
check_type(argname="argument encryption_configuration", value=encryption_configuration, expected_type=type_hints["encryption_configuration"])
|
|
6884
|
+
check_type(argname="argument table_arn", value=table_arn, expected_type=type_hints["table_arn"])
|
|
6885
|
+
check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
|
|
6886
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
6887
|
+
"record_expiration": record_expiration,
|
|
6888
|
+
}
|
|
6889
|
+
if encryption_configuration is not None:
|
|
6890
|
+
self._values["encryption_configuration"] = encryption_configuration
|
|
6891
|
+
if table_arn is not None:
|
|
6892
|
+
self._values["table_arn"] = table_arn
|
|
6893
|
+
if table_name is not None:
|
|
6894
|
+
self._values["table_name"] = table_name
|
|
6895
|
+
|
|
6896
|
+
@builtins.property
|
|
6897
|
+
def record_expiration(
|
|
6898
|
+
self,
|
|
6899
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnBucket.RecordExpirationProperty"]:
|
|
6900
|
+
'''The journal table record expiration settings for the journal table.
|
|
6901
|
+
|
|
6902
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-journaltableconfiguration.html#cfn-s3-bucket-journaltableconfiguration-recordexpiration
|
|
6903
|
+
'''
|
|
6904
|
+
result = self._values.get("record_expiration")
|
|
6905
|
+
assert result is not None, "Required property 'record_expiration' is missing"
|
|
6906
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnBucket.RecordExpirationProperty"], result)
|
|
6907
|
+
|
|
6908
|
+
@builtins.property
|
|
6909
|
+
def encryption_configuration(
|
|
6910
|
+
self,
|
|
6911
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.MetadataTableEncryptionConfigurationProperty"]]:
|
|
6912
|
+
'''The encryption configuration for the journal table.
|
|
6913
|
+
|
|
6914
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-journaltableconfiguration.html#cfn-s3-bucket-journaltableconfiguration-encryptionconfiguration
|
|
6915
|
+
'''
|
|
6916
|
+
result = self._values.get("encryption_configuration")
|
|
6917
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.MetadataTableEncryptionConfigurationProperty"]], result)
|
|
6918
|
+
|
|
6919
|
+
@builtins.property
|
|
6920
|
+
def table_arn(self) -> typing.Optional[builtins.str]:
|
|
6921
|
+
'''The Amazon Resource Name (ARN) for the journal table.
|
|
6922
|
+
|
|
6923
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-journaltableconfiguration.html#cfn-s3-bucket-journaltableconfiguration-tablearn
|
|
6924
|
+
'''
|
|
6925
|
+
result = self._values.get("table_arn")
|
|
6926
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6927
|
+
|
|
6928
|
+
@builtins.property
|
|
6929
|
+
def table_name(self) -> typing.Optional[builtins.str]:
|
|
6930
|
+
'''The name of the journal table.
|
|
6931
|
+
|
|
6932
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-journaltableconfiguration.html#cfn-s3-bucket-journaltableconfiguration-tablename
|
|
6933
|
+
'''
|
|
6934
|
+
result = self._values.get("table_name")
|
|
6935
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6936
|
+
|
|
6937
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
6938
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
6939
|
+
|
|
6940
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
6941
|
+
return not (rhs == self)
|
|
6942
|
+
|
|
6943
|
+
def __repr__(self) -> str:
|
|
6944
|
+
return "JournalTableConfigurationProperty(%s)" % ", ".join(
|
|
6945
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
6946
|
+
)
|
|
6947
|
+
|
|
6948
|
+
@jsii.data_type(
|
|
6949
|
+
jsii_type="aws-cdk-lib.aws_s3.CfnBucket.LambdaConfigurationProperty",
|
|
6950
|
+
jsii_struct_bases=[],
|
|
6951
|
+
name_mapping={"event": "event", "function": "function", "filter": "filter"},
|
|
6952
|
+
)
|
|
6953
|
+
class LambdaConfigurationProperty:
|
|
6954
|
+
def __init__(
|
|
6955
|
+
self,
|
|
6956
|
+
*,
|
|
6957
|
+
event: builtins.str,
|
|
6958
|
+
function: builtins.str,
|
|
6959
|
+
filter: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.NotificationFilterProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6960
|
+
) -> None:
|
|
6961
|
+
'''Describes the AWS Lambda functions to invoke and the events for which to invoke them.
|
|
6962
|
+
|
|
6963
|
+
:param event: The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information, see `Supported Event Types <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html>`_ in the *Amazon S3 User Guide* .
|
|
6964
|
+
:param function: The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.
|
|
6965
|
+
:param filter: The filtering rules that determine which objects invoke the AWS Lambda function. For example, you can create a filter so that only image files with a ``.jpg`` extension invoke the function when they are added to the Amazon S3 bucket.
|
|
6966
|
+
|
|
6967
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lambdaconfiguration.html
|
|
6968
|
+
:exampleMetadata: fixture=_generated
|
|
6969
|
+
|
|
6970
|
+
Example::
|
|
6971
|
+
|
|
6972
|
+
# The code below shows an example of how to instantiate this type.
|
|
6973
|
+
# The values are placeholders you should change.
|
|
6974
|
+
from aws_cdk import aws_s3 as s3
|
|
6975
|
+
|
|
6976
|
+
lambda_configuration_property = s3.CfnBucket.LambdaConfigurationProperty(
|
|
6977
|
+
event="event",
|
|
6978
|
+
function="function",
|
|
6979
|
+
|
|
6980
|
+
# the properties below are optional
|
|
6981
|
+
filter=s3.CfnBucket.NotificationFilterProperty(
|
|
6982
|
+
s3_key=s3.CfnBucket.S3KeyFilterProperty(
|
|
6983
|
+
rules=[s3.CfnBucket.FilterRuleProperty(
|
|
6984
|
+
name="name",
|
|
6985
|
+
value="value"
|
|
6986
|
+
)]
|
|
6987
|
+
)
|
|
6988
|
+
)
|
|
6989
|
+
)
|
|
6990
|
+
'''
|
|
6991
|
+
if __debug__:
|
|
6992
|
+
type_hints = typing.get_type_hints(_typecheckingstub__599ef02853407bceb720424e9874eda7b5e2324f3be8a787939e9d5f9a7d5765)
|
|
6993
|
+
check_type(argname="argument event", value=event, expected_type=type_hints["event"])
|
|
6994
|
+
check_type(argname="argument function", value=function, expected_type=type_hints["function"])
|
|
6995
|
+
check_type(argname="argument filter", value=filter, expected_type=type_hints["filter"])
|
|
6996
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
6997
|
+
"event": event,
|
|
6998
|
+
"function": function,
|
|
6999
|
+
}
|
|
7000
|
+
if filter is not None:
|
|
7001
|
+
self._values["filter"] = filter
|
|
7002
|
+
|
|
7003
|
+
@builtins.property
|
|
7004
|
+
def event(self) -> builtins.str:
|
|
7005
|
+
'''The Amazon S3 bucket event for which to invoke the AWS Lambda function.
|
|
7006
|
+
|
|
7007
|
+
For more information, see `Supported Event Types <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html>`_ in the *Amazon S3 User Guide* .
|
|
7008
|
+
|
|
7009
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lambdaconfiguration.html#cfn-s3-bucket-lambdaconfiguration-event
|
|
7010
|
+
'''
|
|
7011
|
+
result = self._values.get("event")
|
|
7012
|
+
assert result is not None, "Required property 'event' is missing"
|
|
7013
|
+
return typing.cast(builtins.str, result)
|
|
7014
|
+
|
|
7015
|
+
@builtins.property
|
|
7016
|
+
def function(self) -> builtins.str:
|
|
7017
|
+
'''The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.
|
|
6460
7018
|
|
|
6461
7019
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lambdaconfiguration.html#cfn-s3-bucket-lambdaconfiguration-function
|
|
6462
7020
|
'''
|
|
@@ -6699,36 +7257,265 @@ class CfnBucket(
|
|
|
6699
7257
|
def destination_bucket_name(self) -> typing.Optional[builtins.str]:
|
|
6700
7258
|
'''The name of the bucket where Amazon S3 should store server access log files.
|
|
6701
7259
|
|
|
6702
|
-
You can store log files in any bucket that you own. By default, logs are stored in the bucket where the ``LoggingConfiguration`` property is defined.
|
|
7260
|
+
You can store log files in any bucket that you own. By default, logs are stored in the bucket where the ``LoggingConfiguration`` property is defined.
|
|
7261
|
+
|
|
7262
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfiguration.html#cfn-s3-bucket-loggingconfiguration-destinationbucketname
|
|
7263
|
+
'''
|
|
7264
|
+
result = self._values.get("destination_bucket_name")
|
|
7265
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
7266
|
+
|
|
7267
|
+
@builtins.property
|
|
7268
|
+
def log_file_prefix(self) -> typing.Optional[builtins.str]:
|
|
7269
|
+
'''A prefix for all log object keys.
|
|
7270
|
+
|
|
7271
|
+
If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.
|
|
7272
|
+
|
|
7273
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfiguration.html#cfn-s3-bucket-loggingconfiguration-logfileprefix
|
|
7274
|
+
'''
|
|
7275
|
+
result = self._values.get("log_file_prefix")
|
|
7276
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
7277
|
+
|
|
7278
|
+
@builtins.property
|
|
7279
|
+
def target_object_key_format(
|
|
7280
|
+
self,
|
|
7281
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.TargetObjectKeyFormatProperty"]]:
|
|
7282
|
+
'''Amazon S3 key format for log objects.
|
|
7283
|
+
|
|
7284
|
+
Only one format, either PartitionedPrefix or SimplePrefix, is allowed.
|
|
7285
|
+
|
|
7286
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfiguration.html#cfn-s3-bucket-loggingconfiguration-targetobjectkeyformat
|
|
7287
|
+
'''
|
|
7288
|
+
result = self._values.get("target_object_key_format")
|
|
7289
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.TargetObjectKeyFormatProperty"]], result)
|
|
7290
|
+
|
|
7291
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
7292
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
7293
|
+
|
|
7294
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
7295
|
+
return not (rhs == self)
|
|
7296
|
+
|
|
7297
|
+
def __repr__(self) -> str:
|
|
7298
|
+
return "LoggingConfigurationProperty(%s)" % ", ".join(
|
|
7299
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
7300
|
+
)
|
|
7301
|
+
|
|
7302
|
+
@jsii.data_type(
|
|
7303
|
+
jsii_type="aws-cdk-lib.aws_s3.CfnBucket.MetadataConfigurationProperty",
|
|
7304
|
+
jsii_struct_bases=[],
|
|
7305
|
+
name_mapping={
|
|
7306
|
+
"journal_table_configuration": "journalTableConfiguration",
|
|
7307
|
+
"destination": "destination",
|
|
7308
|
+
"inventory_table_configuration": "inventoryTableConfiguration",
|
|
7309
|
+
},
|
|
7310
|
+
)
|
|
7311
|
+
class MetadataConfigurationProperty:
|
|
7312
|
+
def __init__(
|
|
7313
|
+
self,
|
|
7314
|
+
*,
|
|
7315
|
+
journal_table_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.JournalTableConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
7316
|
+
destination: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.MetadataDestinationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7317
|
+
inventory_table_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.InventoryTableConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7318
|
+
) -> None:
|
|
7319
|
+
'''Creates a V2 Amazon S3 Metadata configuration of a general purpose bucket.
|
|
7320
|
+
|
|
7321
|
+
For more information, see `Accelerating data discovery with S3 Metadata <https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html>`_ in the *Amazon S3 User Guide* .
|
|
7322
|
+
|
|
7323
|
+
:param journal_table_configuration: The journal table configuration for a metadata configuration.
|
|
7324
|
+
:param destination: The destination information for the S3 Metadata configuration.
|
|
7325
|
+
:param inventory_table_configuration: The inventory table configuration for a metadata configuration.
|
|
7326
|
+
|
|
7327
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadataconfiguration.html
|
|
7328
|
+
:exampleMetadata: fixture=_generated
|
|
7329
|
+
|
|
7330
|
+
Example::
|
|
7331
|
+
|
|
7332
|
+
# The code below shows an example of how to instantiate this type.
|
|
7333
|
+
# The values are placeholders you should change.
|
|
7334
|
+
from aws_cdk import aws_s3 as s3
|
|
7335
|
+
|
|
7336
|
+
metadata_configuration_property = s3.CfnBucket.MetadataConfigurationProperty(
|
|
7337
|
+
journal_table_configuration=s3.CfnBucket.JournalTableConfigurationProperty(
|
|
7338
|
+
record_expiration=s3.CfnBucket.RecordExpirationProperty(
|
|
7339
|
+
expiration="expiration",
|
|
7340
|
+
|
|
7341
|
+
# the properties below are optional
|
|
7342
|
+
days=123
|
|
7343
|
+
),
|
|
7344
|
+
|
|
7345
|
+
# the properties below are optional
|
|
7346
|
+
encryption_configuration=s3.CfnBucket.MetadataTableEncryptionConfigurationProperty(
|
|
7347
|
+
sse_algorithm="sseAlgorithm",
|
|
7348
|
+
|
|
7349
|
+
# the properties below are optional
|
|
7350
|
+
kms_key_arn="kmsKeyArn"
|
|
7351
|
+
),
|
|
7352
|
+
table_arn="tableArn",
|
|
7353
|
+
table_name="tableName"
|
|
7354
|
+
),
|
|
7355
|
+
|
|
7356
|
+
# the properties below are optional
|
|
7357
|
+
destination=s3.CfnBucket.MetadataDestinationProperty(
|
|
7358
|
+
table_bucket_type="tableBucketType",
|
|
7359
|
+
|
|
7360
|
+
# the properties below are optional
|
|
7361
|
+
table_bucket_arn="tableBucketArn",
|
|
7362
|
+
table_namespace="tableNamespace"
|
|
7363
|
+
),
|
|
7364
|
+
inventory_table_configuration=s3.CfnBucket.InventoryTableConfigurationProperty(
|
|
7365
|
+
configuration_state="configurationState",
|
|
7366
|
+
|
|
7367
|
+
# the properties below are optional
|
|
7368
|
+
encryption_configuration=s3.CfnBucket.MetadataTableEncryptionConfigurationProperty(
|
|
7369
|
+
sse_algorithm="sseAlgorithm",
|
|
7370
|
+
|
|
7371
|
+
# the properties below are optional
|
|
7372
|
+
kms_key_arn="kmsKeyArn"
|
|
7373
|
+
),
|
|
7374
|
+
table_arn="tableArn",
|
|
7375
|
+
table_name="tableName"
|
|
7376
|
+
)
|
|
7377
|
+
)
|
|
7378
|
+
'''
|
|
7379
|
+
if __debug__:
|
|
7380
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5ba4e02b348fb368852d2eaf89da64d6c5432c39d5f771482cd73c5e29aea1d2)
|
|
7381
|
+
check_type(argname="argument journal_table_configuration", value=journal_table_configuration, expected_type=type_hints["journal_table_configuration"])
|
|
7382
|
+
check_type(argname="argument destination", value=destination, expected_type=type_hints["destination"])
|
|
7383
|
+
check_type(argname="argument inventory_table_configuration", value=inventory_table_configuration, expected_type=type_hints["inventory_table_configuration"])
|
|
7384
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
7385
|
+
"journal_table_configuration": journal_table_configuration,
|
|
7386
|
+
}
|
|
7387
|
+
if destination is not None:
|
|
7388
|
+
self._values["destination"] = destination
|
|
7389
|
+
if inventory_table_configuration is not None:
|
|
7390
|
+
self._values["inventory_table_configuration"] = inventory_table_configuration
|
|
7391
|
+
|
|
7392
|
+
@builtins.property
|
|
7393
|
+
def journal_table_configuration(
|
|
7394
|
+
self,
|
|
7395
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnBucket.JournalTableConfigurationProperty"]:
|
|
7396
|
+
'''The journal table configuration for a metadata configuration.
|
|
7397
|
+
|
|
7398
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadataconfiguration.html#cfn-s3-bucket-metadataconfiguration-journaltableconfiguration
|
|
7399
|
+
'''
|
|
7400
|
+
result = self._values.get("journal_table_configuration")
|
|
7401
|
+
assert result is not None, "Required property 'journal_table_configuration' is missing"
|
|
7402
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnBucket.JournalTableConfigurationProperty"], result)
|
|
7403
|
+
|
|
7404
|
+
@builtins.property
|
|
7405
|
+
def destination(
|
|
7406
|
+
self,
|
|
7407
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.MetadataDestinationProperty"]]:
|
|
7408
|
+
'''The destination information for the S3 Metadata configuration.
|
|
7409
|
+
|
|
7410
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadataconfiguration.html#cfn-s3-bucket-metadataconfiguration-destination
|
|
7411
|
+
'''
|
|
7412
|
+
result = self._values.get("destination")
|
|
7413
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.MetadataDestinationProperty"]], result)
|
|
7414
|
+
|
|
7415
|
+
@builtins.property
|
|
7416
|
+
def inventory_table_configuration(
|
|
7417
|
+
self,
|
|
7418
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.InventoryTableConfigurationProperty"]]:
|
|
7419
|
+
'''The inventory table configuration for a metadata configuration.
|
|
7420
|
+
|
|
7421
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadataconfiguration.html#cfn-s3-bucket-metadataconfiguration-inventorytableconfiguration
|
|
7422
|
+
'''
|
|
7423
|
+
result = self._values.get("inventory_table_configuration")
|
|
7424
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.InventoryTableConfigurationProperty"]], result)
|
|
7425
|
+
|
|
7426
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
7427
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
7428
|
+
|
|
7429
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
7430
|
+
return not (rhs == self)
|
|
7431
|
+
|
|
7432
|
+
def __repr__(self) -> str:
|
|
7433
|
+
return "MetadataConfigurationProperty(%s)" % ", ".join(
|
|
7434
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
7435
|
+
)
|
|
7436
|
+
|
|
7437
|
+
@jsii.data_type(
|
|
7438
|
+
jsii_type="aws-cdk-lib.aws_s3.CfnBucket.MetadataDestinationProperty",
|
|
7439
|
+
jsii_struct_bases=[],
|
|
7440
|
+
name_mapping={
|
|
7441
|
+
"table_bucket_type": "tableBucketType",
|
|
7442
|
+
"table_bucket_arn": "tableBucketArn",
|
|
7443
|
+
"table_namespace": "tableNamespace",
|
|
7444
|
+
},
|
|
7445
|
+
)
|
|
7446
|
+
class MetadataDestinationProperty:
|
|
7447
|
+
def __init__(
|
|
7448
|
+
self,
|
|
7449
|
+
*,
|
|
7450
|
+
table_bucket_type: builtins.str,
|
|
7451
|
+
table_bucket_arn: typing.Optional[builtins.str] = None,
|
|
7452
|
+
table_namespace: typing.Optional[builtins.str] = None,
|
|
7453
|
+
) -> None:
|
|
7454
|
+
'''The destination information for the S3 Metadata configuration.
|
|
7455
|
+
|
|
7456
|
+
:param table_bucket_type: The type of the table bucket where the metadata configuration is stored. The ``aws`` value indicates an AWS managed table bucket, and the ``customer`` value indicates a customer-managed table bucket. V2 metadata configurations are stored in AWS managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.
|
|
7457
|
+
:param table_bucket_arn: The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.
|
|
7458
|
+
:param table_namespace: The namespace in the table bucket where the metadata tables for a metadata configuration are stored.
|
|
7459
|
+
|
|
7460
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatadestination.html
|
|
7461
|
+
:exampleMetadata: fixture=_generated
|
|
7462
|
+
|
|
7463
|
+
Example::
|
|
7464
|
+
|
|
7465
|
+
# The code below shows an example of how to instantiate this type.
|
|
7466
|
+
# The values are placeholders you should change.
|
|
7467
|
+
from aws_cdk import aws_s3 as s3
|
|
7468
|
+
|
|
7469
|
+
metadata_destination_property = s3.CfnBucket.MetadataDestinationProperty(
|
|
7470
|
+
table_bucket_type="tableBucketType",
|
|
7471
|
+
|
|
7472
|
+
# the properties below are optional
|
|
7473
|
+
table_bucket_arn="tableBucketArn",
|
|
7474
|
+
table_namespace="tableNamespace"
|
|
7475
|
+
)
|
|
7476
|
+
'''
|
|
7477
|
+
if __debug__:
|
|
7478
|
+
type_hints = typing.get_type_hints(_typecheckingstub__22a357b76c39088e89c9805c6e3fd369bf83472fbcec37ad505b7803d1960e7e)
|
|
7479
|
+
check_type(argname="argument table_bucket_type", value=table_bucket_type, expected_type=type_hints["table_bucket_type"])
|
|
7480
|
+
check_type(argname="argument table_bucket_arn", value=table_bucket_arn, expected_type=type_hints["table_bucket_arn"])
|
|
7481
|
+
check_type(argname="argument table_namespace", value=table_namespace, expected_type=type_hints["table_namespace"])
|
|
7482
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
7483
|
+
"table_bucket_type": table_bucket_type,
|
|
7484
|
+
}
|
|
7485
|
+
if table_bucket_arn is not None:
|
|
7486
|
+
self._values["table_bucket_arn"] = table_bucket_arn
|
|
7487
|
+
if table_namespace is not None:
|
|
7488
|
+
self._values["table_namespace"] = table_namespace
|
|
7489
|
+
|
|
7490
|
+
@builtins.property
|
|
7491
|
+
def table_bucket_type(self) -> builtins.str:
|
|
7492
|
+
'''The type of the table bucket where the metadata configuration is stored.
|
|
7493
|
+
|
|
7494
|
+
The ``aws`` value indicates an AWS managed table bucket, and the ``customer`` value indicates a customer-managed table bucket. V2 metadata configurations are stored in AWS managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.
|
|
6703
7495
|
|
|
6704
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-
|
|
7496
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatadestination.html#cfn-s3-bucket-metadatadestination-tablebuckettype
|
|
6705
7497
|
'''
|
|
6706
|
-
result = self._values.get("
|
|
6707
|
-
|
|
7498
|
+
result = self._values.get("table_bucket_type")
|
|
7499
|
+
assert result is not None, "Required property 'table_bucket_type' is missing"
|
|
7500
|
+
return typing.cast(builtins.str, result)
|
|
6708
7501
|
|
|
6709
7502
|
@builtins.property
|
|
6710
|
-
def
|
|
6711
|
-
'''
|
|
6712
|
-
|
|
6713
|
-
If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.
|
|
7503
|
+
def table_bucket_arn(self) -> typing.Optional[builtins.str]:
|
|
7504
|
+
'''The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.
|
|
6714
7505
|
|
|
6715
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-
|
|
7506
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatadestination.html#cfn-s3-bucket-metadatadestination-tablebucketarn
|
|
6716
7507
|
'''
|
|
6717
|
-
result = self._values.get("
|
|
7508
|
+
result = self._values.get("table_bucket_arn")
|
|
6718
7509
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
6719
7510
|
|
|
6720
7511
|
@builtins.property
|
|
6721
|
-
def
|
|
6722
|
-
|
|
6723
|
-
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.TargetObjectKeyFormatProperty"]]:
|
|
6724
|
-
'''Amazon S3 key format for log objects.
|
|
6725
|
-
|
|
6726
|
-
Only one format, either PartitionedPrefix or SimplePrefix, is allowed.
|
|
7512
|
+
def table_namespace(self) -> typing.Optional[builtins.str]:
|
|
7513
|
+
'''The namespace in the table bucket where the metadata tables for a metadata configuration are stored.
|
|
6727
7514
|
|
|
6728
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-
|
|
7515
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatadestination.html#cfn-s3-bucket-metadatadestination-tablenamespace
|
|
6729
7516
|
'''
|
|
6730
|
-
result = self._values.get("
|
|
6731
|
-
return typing.cast(typing.Optional[
|
|
7517
|
+
result = self._values.get("table_namespace")
|
|
7518
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6732
7519
|
|
|
6733
7520
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
6734
7521
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -6737,7 +7524,7 @@ class CfnBucket(
|
|
|
6737
7524
|
return not (rhs == self)
|
|
6738
7525
|
|
|
6739
7526
|
def __repr__(self) -> str:
|
|
6740
|
-
return "
|
|
7527
|
+
return "MetadataDestinationProperty(%s)" % ", ".join(
|
|
6741
7528
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
6742
7529
|
)
|
|
6743
7530
|
|
|
@@ -6752,9 +7539,11 @@ class CfnBucket(
|
|
|
6752
7539
|
*,
|
|
6753
7540
|
s3_tables_destination: typing.Union[_IResolvable_da3f097b, typing.Union["CfnBucket.S3TablesDestinationProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
6754
7541
|
) -> None:
|
|
6755
|
-
'''
|
|
7542
|
+
'''.. epigraph::
|
|
7543
|
+
|
|
7544
|
+
We recommend that you create your S3 Metadata configurations by using the V2 `MetadataConfiguration <https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-s3-bucket-metadataconfiguration.html>`_ resource type. We no longer recommend using the V1 ``MetadataTableConfiguration`` resource type. > > If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete and re-create your configuration by using the `MetadataConfiguration <https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-s3-bucket-metadataconfiguration.html>`_ resource type so that you can expire journal table records and create a live inventory table.
|
|
6756
7545
|
|
|
6757
|
-
For more information, see `Accelerating data discovery with S3 Metadata <https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html>`_
|
|
7546
|
+
Creates a V1 S3 Metadata configuration for a general purpose bucket. For more information, see `Accelerating data discovery with S3 Metadata <https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html>`_ in the *Amazon S3 User Guide* .
|
|
6758
7547
|
|
|
6759
7548
|
:param s3_tables_destination: The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.
|
|
6760
7549
|
|
|
@@ -6810,6 +7599,83 @@ class CfnBucket(
|
|
|
6810
7599
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
6811
7600
|
)
|
|
6812
7601
|
|
|
7602
|
+
@jsii.data_type(
|
|
7603
|
+
jsii_type="aws-cdk-lib.aws_s3.CfnBucket.MetadataTableEncryptionConfigurationProperty",
|
|
7604
|
+
jsii_struct_bases=[],
|
|
7605
|
+
name_mapping={"sse_algorithm": "sseAlgorithm", "kms_key_arn": "kmsKeyArn"},
|
|
7606
|
+
)
|
|
7607
|
+
class MetadataTableEncryptionConfigurationProperty:
|
|
7608
|
+
def __init__(
|
|
7609
|
+
self,
|
|
7610
|
+
*,
|
|
7611
|
+
sse_algorithm: builtins.str,
|
|
7612
|
+
kms_key_arn: typing.Optional[builtins.str] = None,
|
|
7613
|
+
) -> None:
|
|
7614
|
+
'''The encryption settings for an S3 Metadata journal table or inventory table configuration.
|
|
7615
|
+
|
|
7616
|
+
:param sse_algorithm: The encryption type specified for a metadata table. To specify server-side encryption with AWS Key Management Service ( AWS KMS ) keys (SSE-KMS), use the ``aws:kms`` value. To specify server-side encryption with Amazon S3 managed keys (SSE-S3), use the ``AES256`` value.
|
|
7617
|
+
:param kms_key_arn: If server-side encryption with AWS Key Management Service ( AWS KMS ) keys (SSE-KMS) is specified, you must also specify the KMS key Amazon Resource Name (ARN). You must specify a customer-managed KMS key that's located in the same Region as the general purpose bucket that corresponds to the metadata table configuration.
|
|
7618
|
+
|
|
7619
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatatableencryptionconfiguration.html
|
|
7620
|
+
:exampleMetadata: fixture=_generated
|
|
7621
|
+
|
|
7622
|
+
Example::
|
|
7623
|
+
|
|
7624
|
+
# The code below shows an example of how to instantiate this type.
|
|
7625
|
+
# The values are placeholders you should change.
|
|
7626
|
+
from aws_cdk import aws_s3 as s3
|
|
7627
|
+
|
|
7628
|
+
metadata_table_encryption_configuration_property = s3.CfnBucket.MetadataTableEncryptionConfigurationProperty(
|
|
7629
|
+
sse_algorithm="sseAlgorithm",
|
|
7630
|
+
|
|
7631
|
+
# the properties below are optional
|
|
7632
|
+
kms_key_arn="kmsKeyArn"
|
|
7633
|
+
)
|
|
7634
|
+
'''
|
|
7635
|
+
if __debug__:
|
|
7636
|
+
type_hints = typing.get_type_hints(_typecheckingstub__638725ba5e16c7545010085fee3839279059f8036e3a36e81a6da12f68c3c96d)
|
|
7637
|
+
check_type(argname="argument sse_algorithm", value=sse_algorithm, expected_type=type_hints["sse_algorithm"])
|
|
7638
|
+
check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
|
|
7639
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
7640
|
+
"sse_algorithm": sse_algorithm,
|
|
7641
|
+
}
|
|
7642
|
+
if kms_key_arn is not None:
|
|
7643
|
+
self._values["kms_key_arn"] = kms_key_arn
|
|
7644
|
+
|
|
7645
|
+
@builtins.property
|
|
7646
|
+
def sse_algorithm(self) -> builtins.str:
|
|
7647
|
+
'''The encryption type specified for a metadata table.
|
|
7648
|
+
|
|
7649
|
+
To specify server-side encryption with AWS Key Management Service ( AWS KMS ) keys (SSE-KMS), use the ``aws:kms`` value. To specify server-side encryption with Amazon S3 managed keys (SSE-S3), use the ``AES256`` value.
|
|
7650
|
+
|
|
7651
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatatableencryptionconfiguration.html#cfn-s3-bucket-metadatatableencryptionconfiguration-ssealgorithm
|
|
7652
|
+
'''
|
|
7653
|
+
result = self._values.get("sse_algorithm")
|
|
7654
|
+
assert result is not None, "Required property 'sse_algorithm' is missing"
|
|
7655
|
+
return typing.cast(builtins.str, result)
|
|
7656
|
+
|
|
7657
|
+
@builtins.property
|
|
7658
|
+
def kms_key_arn(self) -> typing.Optional[builtins.str]:
|
|
7659
|
+
'''If server-side encryption with AWS Key Management Service ( AWS KMS ) keys (SSE-KMS) is specified, you must also specify the KMS key Amazon Resource Name (ARN).
|
|
7660
|
+
|
|
7661
|
+
You must specify a customer-managed KMS key that's located in the same Region as the general purpose bucket that corresponds to the metadata table configuration.
|
|
7662
|
+
|
|
7663
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatatableencryptionconfiguration.html#cfn-s3-bucket-metadatatableencryptionconfiguration-kmskeyarn
|
|
7664
|
+
'''
|
|
7665
|
+
result = self._values.get("kms_key_arn")
|
|
7666
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
7667
|
+
|
|
7668
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
7669
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
7670
|
+
|
|
7671
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
7672
|
+
return not (rhs == self)
|
|
7673
|
+
|
|
7674
|
+
def __repr__(self) -> str:
|
|
7675
|
+
return "MetadataTableEncryptionConfigurationProperty(%s)" % ", ".join(
|
|
7676
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
7677
|
+
)
|
|
7678
|
+
|
|
6813
7679
|
@jsii.data_type(
|
|
6814
7680
|
jsii_type="aws-cdk-lib.aws_s3.CfnBucket.MetricsConfigurationProperty",
|
|
6815
7681
|
jsii_struct_bases=[],
|
|
@@ -7986,6 +8852,81 @@ class CfnBucket(
|
|
|
7986
8852
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
7987
8853
|
)
|
|
7988
8854
|
|
|
8855
|
+
@jsii.data_type(
|
|
8856
|
+
jsii_type="aws-cdk-lib.aws_s3.CfnBucket.RecordExpirationProperty",
|
|
8857
|
+
jsii_struct_bases=[],
|
|
8858
|
+
name_mapping={"expiration": "expiration", "days": "days"},
|
|
8859
|
+
)
|
|
8860
|
+
class RecordExpirationProperty:
|
|
8861
|
+
def __init__(
|
|
8862
|
+
self,
|
|
8863
|
+
*,
|
|
8864
|
+
expiration: builtins.str,
|
|
8865
|
+
days: typing.Optional[jsii.Number] = None,
|
|
8866
|
+
) -> None:
|
|
8867
|
+
'''The journal table record expiration settings for a journal table in an S3 Metadata configuration.
|
|
8868
|
+
|
|
8869
|
+
:param expiration: Specifies whether journal table record expiration is enabled or disabled.
|
|
8870
|
+
:param days: If you enable journal table record expiration, you can set the number of days to retain your journal table records. Journal table records must be retained for a minimum of 7 days. To set this value, specify any whole number from ``7`` to ``2147483647`` . For example, to retain your journal table records for one year, set this value to ``365`` .
|
|
8871
|
+
|
|
8872
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-recordexpiration.html
|
|
8873
|
+
:exampleMetadata: fixture=_generated
|
|
8874
|
+
|
|
8875
|
+
Example::
|
|
8876
|
+
|
|
8877
|
+
# The code below shows an example of how to instantiate this type.
|
|
8878
|
+
# The values are placeholders you should change.
|
|
8879
|
+
from aws_cdk import aws_s3 as s3
|
|
8880
|
+
|
|
8881
|
+
record_expiration_property = s3.CfnBucket.RecordExpirationProperty(
|
|
8882
|
+
expiration="expiration",
|
|
8883
|
+
|
|
8884
|
+
# the properties below are optional
|
|
8885
|
+
days=123
|
|
8886
|
+
)
|
|
8887
|
+
'''
|
|
8888
|
+
if __debug__:
|
|
8889
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ced4e05e0d07a000e813825522beab4af447ff67164c61600ff7eb3b0afab28c)
|
|
8890
|
+
check_type(argname="argument expiration", value=expiration, expected_type=type_hints["expiration"])
|
|
8891
|
+
check_type(argname="argument days", value=days, expected_type=type_hints["days"])
|
|
8892
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
8893
|
+
"expiration": expiration,
|
|
8894
|
+
}
|
|
8895
|
+
if days is not None:
|
|
8896
|
+
self._values["days"] = days
|
|
8897
|
+
|
|
8898
|
+
@builtins.property
|
|
8899
|
+
def expiration(self) -> builtins.str:
|
|
8900
|
+
'''Specifies whether journal table record expiration is enabled or disabled.
|
|
8901
|
+
|
|
8902
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-recordexpiration.html#cfn-s3-bucket-recordexpiration-expiration
|
|
8903
|
+
'''
|
|
8904
|
+
result = self._values.get("expiration")
|
|
8905
|
+
assert result is not None, "Required property 'expiration' is missing"
|
|
8906
|
+
return typing.cast(builtins.str, result)
|
|
8907
|
+
|
|
8908
|
+
@builtins.property
|
|
8909
|
+
def days(self) -> typing.Optional[jsii.Number]:
|
|
8910
|
+
'''If you enable journal table record expiration, you can set the number of days to retain your journal table records.
|
|
8911
|
+
|
|
8912
|
+
Journal table records must be retained for a minimum of 7 days. To set this value, specify any whole number from ``7`` to ``2147483647`` . For example, to retain your journal table records for one year, set this value to ``365`` .
|
|
8913
|
+
|
|
8914
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-recordexpiration.html#cfn-s3-bucket-recordexpiration-days
|
|
8915
|
+
'''
|
|
8916
|
+
result = self._values.get("days")
|
|
8917
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
8918
|
+
|
|
8919
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
8920
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
8921
|
+
|
|
8922
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
8923
|
+
return not (rhs == self)
|
|
8924
|
+
|
|
8925
|
+
def __repr__(self) -> str:
|
|
8926
|
+
return "RecordExpirationProperty(%s)" % ", ".join(
|
|
8927
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
8928
|
+
)
|
|
8929
|
+
|
|
7989
8930
|
@jsii.data_type(
|
|
7990
8931
|
jsii_type="aws-cdk-lib.aws_s3.CfnBucket.RedirectAllRequestsToProperty",
|
|
7991
8932
|
jsii_struct_bases=[],
|
|
@@ -8423,7 +9364,7 @@ class CfnBucket(
|
|
|
8423
9364
|
:param encryption_configuration: Specifies encryption-related information.
|
|
8424
9365
|
:param metrics: A container specifying replication metrics-related settings enabling replication metrics and events.
|
|
8425
9366
|
:param replication_time: A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.
|
|
8426
|
-
:param storage_class: The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. For valid values, see the ``StorageClass`` element of the `PUT Bucket replication <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html>`_ action in the *Amazon S3 API Reference* .
|
|
9367
|
+
:param storage_class: The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. For valid values, see the ``StorageClass`` element of the `PUT Bucket replication <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html>`_ action in the *Amazon S3 API Reference* . ``FSX_OPENZFS`` is not an accepted value when replicating objects.
|
|
8427
9368
|
|
|
8428
9369
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationdestination.html
|
|
8429
9370
|
:exampleMetadata: fixture=_generated
|
|
@@ -8566,6 +9507,8 @@ class CfnBucket(
|
|
|
8566
9507
|
|
|
8567
9508
|
For valid values, see the ``StorageClass`` element of the `PUT Bucket replication <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html>`_ action in the *Amazon S3 API Reference* .
|
|
8568
9509
|
|
|
9510
|
+
``FSX_OPENZFS`` is not an accepted value when replicating objects.
|
|
9511
|
+
|
|
8569
9512
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationdestination.html#cfn-s3-bucket-replicationdestination-storageclass
|
|
8570
9513
|
'''
|
|
8571
9514
|
result = self._values.get("storage_class")
|
|
@@ -9179,7 +10122,7 @@ class CfnBucket(
|
|
|
9179
10122
|
For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.
|
|
9180
10123
|
|
|
9181
10124
|
:param http_error_code_returned_equals: The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element ``Condition`` is specified and sibling ``KeyPrefixEquals`` is not specified. If both are specified, then both must be true for the redirect to be applied.
|
|
9182
|
-
:param key_prefix_equals: The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html`` , the key prefix will be ``ExamplePage.html`` . To redirect request for all pages with the prefix ``docs/`` , the key prefix will be
|
|
10125
|
+
:param key_prefix_equals: The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html`` , the key prefix will be ``ExamplePage.html`` . To redirect request for all pages with the prefix ``docs/`` , the key prefix will be ``docs/`` , which identifies all objects in the docs/ folder. Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.
|
|
9183
10126
|
|
|
9184
10127
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-routingrulecondition.html
|
|
9185
10128
|
:exampleMetadata: fixture=_generated
|
|
@@ -9222,7 +10165,7 @@ class CfnBucket(
|
|
|
9222
10165
|
def key_prefix_equals(self) -> typing.Optional[builtins.str]:
|
|
9223
10166
|
'''The object key name prefix when the redirect is applied.
|
|
9224
10167
|
|
|
9225
|
-
For example, to redirect requests for ``ExamplePage.html`` , the key prefix will be ``ExamplePage.html`` . To redirect request for all pages with the prefix ``docs/`` , the key prefix will be
|
|
10168
|
+
For example, to redirect requests for ``ExamplePage.html`` , the key prefix will be ``ExamplePage.html`` . To redirect request for all pages with the prefix ``docs/`` , the key prefix will be ``docs/`` , which identifies all objects in the docs/ folder.
|
|
9226
10169
|
|
|
9227
10170
|
Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.
|
|
9228
10171
|
|
|
@@ -9802,7 +10745,7 @@ class CfnBucket(
|
|
|
9802
10745
|
table_arn: typing.Optional[builtins.str] = None,
|
|
9803
10746
|
table_namespace: typing.Optional[builtins.str] = None,
|
|
9804
10747
|
) -> None:
|
|
9805
|
-
'''The destination information for
|
|
10748
|
+
'''The destination information for a V1 S3 Metadata configuration.
|
|
9806
10749
|
|
|
9807
10750
|
The destination table bucket must be in the same Region and AWS account as the general purpose bucket. The specified metadata table name must be unique within the ``aws_s3_metadata`` namespace in the destination table bucket.
|
|
9808
10751
|
|
|
@@ -10732,9 +11675,12 @@ class CfnBucket(
|
|
|
10732
11675
|
'''Describes the versioning state of an Amazon S3 bucket.
|
|
10733
11676
|
|
|
10734
11677
|
For more information, see `PUT Bucket versioning <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html>`_ in the *Amazon S3 API Reference* .
|
|
10735
|
-
.. epigraph::
|
|
10736
11678
|
|
|
10737
|
-
|
|
11679
|
+
Keep the following timing in mind when enabling, suspending, or transitioning between versioning states:
|
|
11680
|
+
|
|
11681
|
+
- *Enabling versioning* - Changes may take up to 15 minutes to propagate across all AWS regions for full consistency.
|
|
11682
|
+
- *Suspending versioning* - Takes effect immediately with no propagation delay.
|
|
11683
|
+
- *Transitioning between states* - Any change from Suspended to Enabled has a 15-minute delay.
|
|
10738
11684
|
|
|
10739
11685
|
:param status: The versioning state of the bucket. Default: - "Suspended"
|
|
10740
11686
|
|
|
@@ -10914,7 +11860,7 @@ class CfnBucket(
|
|
|
10914
11860
|
)
|
|
10915
11861
|
|
|
10916
11862
|
|
|
10917
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
11863
|
+
@jsii.implements(_IInspectable_c2943556, _IBucketPolicyRef_8ee2499d)
|
|
10918
11864
|
class CfnBucketPolicy(
|
|
10919
11865
|
_CfnResource_9df397a6,
|
|
10920
11866
|
metaclass=jsii.JSIIMeta,
|
|
@@ -10929,7 +11875,7 @@ class CfnBucketPolicy(
|
|
|
10929
11875
|
|
|
10930
11876
|
As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.
|
|
10931
11877
|
|
|
10932
|
-
When using the ``AWS::S3::BucketPolicy`` resource, you can create, update, and delete bucket policies for S3 buckets located in
|
|
11878
|
+
When using the ``AWS::S3::BucketPolicy`` resource, you can create, update, and delete bucket policies for S3 buckets located in Regions that are different from the stack's Region. However, the CloudFormation stacks should be deployed in the US East (N. Virginia) or ``us-east-1`` Region. This cross-region bucket policy modification functionality is supported for backward compatibility with existing workflows.
|
|
10933
11879
|
.. epigraph::
|
|
10934
11880
|
|
|
10935
11881
|
If the `DeletionPolicy attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html>`_ is not specified or set to ``Delete`` , the bucket policy will be removed when the stack is deleted. If set to ``Retain`` , the bucket policy will be preserved even after the stack is deleted.
|
|
@@ -10989,7 +11935,8 @@ class CfnBucketPolicy(
|
|
|
10989
11935
|
bucket: builtins.str,
|
|
10990
11936
|
policy_document: typing.Any,
|
|
10991
11937
|
) -> None:
|
|
10992
|
-
'''
|
|
11938
|
+
'''Create a new ``AWS::S3::BucketPolicy``.
|
|
11939
|
+
|
|
10993
11940
|
:param scope: Scope in which this resource is defined.
|
|
10994
11941
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
10995
11942
|
:param bucket: The name of the Amazon S3 bucket to which the policy applies.
|
|
@@ -11033,6 +11980,12 @@ class CfnBucketPolicy(
|
|
|
11033
11980
|
'''The CloudFormation resource type name for this resource class.'''
|
|
11034
11981
|
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
11035
11982
|
|
|
11983
|
+
@builtins.property
|
|
11984
|
+
@jsii.member(jsii_name="bucketPolicyRef")
|
|
11985
|
+
def bucket_policy_ref(self) -> _BucketPolicyReference_3414f1e3:
|
|
11986
|
+
'''A reference to a BucketPolicy resource.'''
|
|
11987
|
+
return typing.cast(_BucketPolicyReference_3414f1e3, jsii.get(self, "bucketPolicyRef"))
|
|
11988
|
+
|
|
11036
11989
|
@builtins.property
|
|
11037
11990
|
@jsii.member(jsii_name="cfnProperties")
|
|
11038
11991
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
@@ -11170,6 +12123,7 @@ class CfnBucketPolicyProps:
|
|
|
11170
12123
|
"inventory_configurations": "inventoryConfigurations",
|
|
11171
12124
|
"lifecycle_configuration": "lifecycleConfiguration",
|
|
11172
12125
|
"logging_configuration": "loggingConfiguration",
|
|
12126
|
+
"metadata_configuration": "metadataConfiguration",
|
|
11173
12127
|
"metadata_table_configuration": "metadataTableConfiguration",
|
|
11174
12128
|
"metrics_configurations": "metricsConfigurations",
|
|
11175
12129
|
"notification_configuration": "notificationConfiguration",
|
|
@@ -11197,6 +12151,7 @@ class CfnBucketProps:
|
|
|
11197
12151
|
inventory_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.InventoryConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
11198
12152
|
lifecycle_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.LifecycleConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11199
12153
|
logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.LoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
12154
|
+
metadata_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetadataConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11200
12155
|
metadata_table_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetadataTableConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11201
12156
|
metrics_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetricsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
11202
12157
|
notification_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.NotificationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -11218,13 +12173,14 @@ class CfnBucketProps:
|
|
|
11218
12173
|
:param bucket_name: A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow `Amazon S3 bucket restrictions and limitations <https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html>`_ . For more information, see `Rules for naming Amazon S3 buckets <https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html>`_ in the *Amazon S3 User Guide* . .. epigraph:: If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
|
|
11219
12174
|
:param cors_configuration: Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see `Enabling Cross-Origin Resource Sharing <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html>`_ in the *Amazon S3 User Guide* .
|
|
11220
12175
|
:param intelligent_tiering_configurations: Defines how Amazon S3 handles Intelligent-Tiering storage.
|
|
11221
|
-
:param inventory_configurations: Specifies the
|
|
12176
|
+
:param inventory_configurations: Specifies the S3 Inventory configuration for an Amazon S3 bucket. For more information, see `GET Bucket inventory <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html>`_ in the *Amazon S3 API Reference* .
|
|
11222
12177
|
:param lifecycle_configuration: Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see `Object Lifecycle Management <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html>`_ in the *Amazon S3 User Guide* .
|
|
11223
12178
|
:param logging_configuration: Settings that define where logs are stored.
|
|
12179
|
+
:param metadata_configuration: The S3 Metadata configuration for a general purpose bucket.
|
|
11224
12180
|
:param metadata_table_configuration: The metadata table configuration of an Amazon S3 general purpose bucket.
|
|
11225
12181
|
:param metrics_configurations: Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see `PutBucketMetricsConfiguration <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html>`_ .
|
|
11226
12182
|
:param notification_configuration: Configuration that defines how Amazon S3 handles bucket notifications.
|
|
11227
|
-
:param object_lock_configuration: .. epigraph:: This operation is not supported for directory buckets. Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see `Locking Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html>`_ . .. epigraph:: - The ``DefaultRetention`` settings require both a mode and a period. - The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time. - You can enable Object Lock for new or existing buckets. For more information, see `Configuring Object Lock <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html>`_ .
|
|
12183
|
+
:param object_lock_configuration: .. epigraph:: This operation is not supported for directory buckets. Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see `Locking Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html>`_ . .. epigraph:: - The ``DefaultRetention`` settings require both a mode and a period. - The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time. - You can enable Object Lock for new or existing buckets. For more information, see `Configuring Object Lock <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html>`_ . > You must URL encode any signed header values that contain spaces. For example, if your header value is ``my file.txt`` , containing two spaces after ``my`` , you must URL encode this value to ``my%20%20file.txt`` .
|
|
11228
12184
|
:param object_lock_enabled: Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.
|
|
11229
12185
|
:param ownership_controls: Configuration that defines how Amazon S3 handles Object Ownership rules.
|
|
11230
12186
|
:param public_access_block_configuration: Configuration that defines how Amazon S3 handles public access.
|
|
@@ -11260,6 +12216,7 @@ class CfnBucketProps:
|
|
|
11260
12216
|
check_type(argname="argument inventory_configurations", value=inventory_configurations, expected_type=type_hints["inventory_configurations"])
|
|
11261
12217
|
check_type(argname="argument lifecycle_configuration", value=lifecycle_configuration, expected_type=type_hints["lifecycle_configuration"])
|
|
11262
12218
|
check_type(argname="argument logging_configuration", value=logging_configuration, expected_type=type_hints["logging_configuration"])
|
|
12219
|
+
check_type(argname="argument metadata_configuration", value=metadata_configuration, expected_type=type_hints["metadata_configuration"])
|
|
11263
12220
|
check_type(argname="argument metadata_table_configuration", value=metadata_table_configuration, expected_type=type_hints["metadata_table_configuration"])
|
|
11264
12221
|
check_type(argname="argument metrics_configurations", value=metrics_configurations, expected_type=type_hints["metrics_configurations"])
|
|
11265
12222
|
check_type(argname="argument notification_configuration", value=notification_configuration, expected_type=type_hints["notification_configuration"])
|
|
@@ -11292,6 +12249,8 @@ class CfnBucketProps:
|
|
|
11292
12249
|
self._values["lifecycle_configuration"] = lifecycle_configuration
|
|
11293
12250
|
if logging_configuration is not None:
|
|
11294
12251
|
self._values["logging_configuration"] = logging_configuration
|
|
12252
|
+
if metadata_configuration is not None:
|
|
12253
|
+
self._values["metadata_configuration"] = metadata_configuration
|
|
11295
12254
|
if metadata_table_configuration is not None:
|
|
11296
12255
|
self._values["metadata_table_configuration"] = metadata_table_configuration
|
|
11297
12256
|
if metrics_configurations is not None:
|
|
@@ -11413,7 +12372,7 @@ class CfnBucketProps:
|
|
|
11413
12372
|
def inventory_configurations(
|
|
11414
12373
|
self,
|
|
11415
12374
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnBucket.InventoryConfigurationProperty]]]]:
|
|
11416
|
-
'''Specifies the
|
|
12375
|
+
'''Specifies the S3 Inventory configuration for an Amazon S3 bucket.
|
|
11417
12376
|
|
|
11418
12377
|
For more information, see `GET Bucket inventory <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html>`_ in the *Amazon S3 API Reference* .
|
|
11419
12378
|
|
|
@@ -11446,6 +12405,17 @@ class CfnBucketProps:
|
|
|
11446
12405
|
result = self._values.get("logging_configuration")
|
|
11447
12406
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnBucket.LoggingConfigurationProperty]], result)
|
|
11448
12407
|
|
|
12408
|
+
@builtins.property
|
|
12409
|
+
def metadata_configuration(
|
|
12410
|
+
self,
|
|
12411
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnBucket.MetadataConfigurationProperty]]:
|
|
12412
|
+
'''The S3 Metadata configuration for a general purpose bucket.
|
|
12413
|
+
|
|
12414
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html#cfn-s3-bucket-metadataconfiguration
|
|
12415
|
+
'''
|
|
12416
|
+
result = self._values.get("metadata_configuration")
|
|
12417
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnBucket.MetadataConfigurationProperty]], result)
|
|
12418
|
+
|
|
11449
12419
|
@builtins.property
|
|
11450
12420
|
def metadata_table_configuration(
|
|
11451
12421
|
self,
|
|
@@ -11494,7 +12464,7 @@ class CfnBucketProps:
|
|
|
11494
12464
|
|
|
11495
12465
|
- The ``DefaultRetention`` settings require both a mode and a period.
|
|
11496
12466
|
- The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.
|
|
11497
|
-
- You can enable Object Lock for new or existing buckets. For more information, see `Configuring Object Lock <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html>`_ .
|
|
12467
|
+
- You can enable Object Lock for new or existing buckets. For more information, see `Configuring Object Lock <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html>`_ . > You must URL encode any signed header values that contain spaces. For example, if your header value is ``my file.txt`` , containing two spaces after ``my`` , you must URL encode this value to ``my%20%20file.txt`` .
|
|
11498
12468
|
|
|
11499
12469
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html#cfn-s3-bucket-objectlockconfiguration
|
|
11500
12470
|
'''
|
|
@@ -11601,7 +12571,7 @@ class CfnBucketProps:
|
|
|
11601
12571
|
)
|
|
11602
12572
|
|
|
11603
12573
|
|
|
11604
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
12574
|
+
@jsii.implements(_IInspectable_c2943556, _IMultiRegionAccessPointRef_b814832f)
|
|
11605
12575
|
class CfnMultiRegionAccessPoint(
|
|
11606
12576
|
_CfnResource_9df397a6,
|
|
11607
12577
|
metaclass=jsii.JSIIMeta,
|
|
@@ -11649,7 +12619,8 @@ class CfnMultiRegionAccessPoint(
|
|
|
11649
12619
|
name: typing.Optional[builtins.str] = None,
|
|
11650
12620
|
public_access_block_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMultiRegionAccessPoint.PublicAccessBlockConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11651
12621
|
) -> None:
|
|
11652
|
-
'''
|
|
12622
|
+
'''Create a new ``AWS::S3::MultiRegionAccessPoint``.
|
|
12623
|
+
|
|
11653
12624
|
:param scope: Scope in which this resource is defined.
|
|
11654
12625
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
11655
12626
|
:param regions: A collection of the Regions and buckets associated with the Multi-Region Access Point.
|
|
@@ -11723,6 +12694,14 @@ class CfnMultiRegionAccessPoint(
|
|
|
11723
12694
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
11724
12695
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
11725
12696
|
|
|
12697
|
+
@builtins.property
|
|
12698
|
+
@jsii.member(jsii_name="multiRegionAccessPointRef")
|
|
12699
|
+
def multi_region_access_point_ref(
|
|
12700
|
+
self,
|
|
12701
|
+
) -> _MultiRegionAccessPointReference_590848b5:
|
|
12702
|
+
'''A reference to a MultiRegionAccessPoint resource.'''
|
|
12703
|
+
return typing.cast(_MultiRegionAccessPointReference_590848b5, jsii.get(self, "multiRegionAccessPointRef"))
|
|
12704
|
+
|
|
11726
12705
|
@builtins.property
|
|
11727
12706
|
@jsii.member(jsii_name="regions")
|
|
11728
12707
|
def regions(
|
|
@@ -11981,7 +12960,7 @@ class CfnMultiRegionAccessPoint(
|
|
|
11981
12960
|
)
|
|
11982
12961
|
|
|
11983
12962
|
|
|
11984
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
12963
|
+
@jsii.implements(_IInspectable_c2943556, _IMultiRegionAccessPointPolicyRef_2e4f5aa6)
|
|
11985
12964
|
class CfnMultiRegionAccessPointPolicy(
|
|
11986
12965
|
_CfnResource_9df397a6,
|
|
11987
12966
|
metaclass=jsii.JSIIMeta,
|
|
@@ -12017,7 +12996,8 @@ class CfnMultiRegionAccessPointPolicy(
|
|
|
12017
12996
|
mrap_name: builtins.str,
|
|
12018
12997
|
policy: typing.Any,
|
|
12019
12998
|
) -> None:
|
|
12020
|
-
'''
|
|
12999
|
+
'''Create a new ``AWS::S3::MultiRegionAccessPointPolicy``.
|
|
13000
|
+
|
|
12021
13001
|
:param scope: Scope in which this resource is defined.
|
|
12022
13002
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
12023
13003
|
:param mrap_name: The name of the Multi-Region Access Point.
|
|
@@ -12086,6 +13066,14 @@ class CfnMultiRegionAccessPointPolicy(
|
|
|
12086
13066
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
12087
13067
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
12088
13068
|
|
|
13069
|
+
@builtins.property
|
|
13070
|
+
@jsii.member(jsii_name="multiRegionAccessPointPolicyRef")
|
|
13071
|
+
def multi_region_access_point_policy_ref(
|
|
13072
|
+
self,
|
|
13073
|
+
) -> _MultiRegionAccessPointPolicyReference_f5654e86:
|
|
13074
|
+
'''A reference to a MultiRegionAccessPointPolicy resource.'''
|
|
13075
|
+
return typing.cast(_MultiRegionAccessPointPolicyReference_f5654e86, jsii.get(self, "multiRegionAccessPointPolicyRef"))
|
|
13076
|
+
|
|
12089
13077
|
@builtins.property
|
|
12090
13078
|
@jsii.member(jsii_name="mrapName")
|
|
12091
13079
|
def mrap_name(self) -> builtins.str:
|
|
@@ -12345,7 +13333,7 @@ class CfnMultiRegionAccessPointProps:
|
|
|
12345
13333
|
)
|
|
12346
13334
|
|
|
12347
13335
|
|
|
12348
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
13336
|
+
@jsii.implements(_IInspectable_c2943556, _IStorageLensRef_a99bd868, _ITaggable_36806126)
|
|
12349
13337
|
class CfnStorageLens(
|
|
12350
13338
|
_CfnResource_9df397a6,
|
|
12351
13339
|
metaclass=jsii.JSIIMeta,
|
|
@@ -12467,7 +13455,8 @@ class CfnStorageLens(
|
|
|
12467
13455
|
storage_lens_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnStorageLens.StorageLensConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
12468
13456
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
12469
13457
|
) -> None:
|
|
12470
|
-
'''
|
|
13458
|
+
'''Create a new ``AWS::S3::StorageLens``.
|
|
13459
|
+
|
|
12471
13460
|
:param scope: Scope in which this resource is defined.
|
|
12472
13461
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
12473
13462
|
:param storage_lens_configuration: This resource contains the details Amazon S3 Storage Lens configuration.
|
|
@@ -12529,6 +13518,12 @@ class CfnStorageLens(
|
|
|
12529
13518
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
12530
13519
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
12531
13520
|
|
|
13521
|
+
@builtins.property
|
|
13522
|
+
@jsii.member(jsii_name="storageLensRef")
|
|
13523
|
+
def storage_lens_ref(self) -> _StorageLensReference_cc81afb5:
|
|
13524
|
+
'''A reference to a StorageLens resource.'''
|
|
13525
|
+
return typing.cast(_StorageLensReference_cc81afb5, jsii.get(self, "storageLensRef"))
|
|
13526
|
+
|
|
12532
13527
|
@builtins.property
|
|
12533
13528
|
@jsii.member(jsii_name="tags")
|
|
12534
13529
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -14336,7 +15331,7 @@ class CfnStorageLens(
|
|
|
14336
15331
|
)
|
|
14337
15332
|
|
|
14338
15333
|
|
|
14339
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
15334
|
+
@jsii.implements(_IInspectable_c2943556, _IStorageLensGroupRef_aa787427, _ITaggableV2_4e6798f8)
|
|
14340
15335
|
class CfnStorageLensGroup(
|
|
14341
15336
|
_CfnResource_9df397a6,
|
|
14342
15337
|
metaclass=jsii.JSIIMeta,
|
|
@@ -14424,7 +15419,8 @@ class CfnStorageLensGroup(
|
|
|
14424
15419
|
name: builtins.str,
|
|
14425
15420
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14426
15421
|
) -> None:
|
|
14427
|
-
'''
|
|
15422
|
+
'''Create a new ``AWS::S3::StorageLensGroup``.
|
|
15423
|
+
|
|
14428
15424
|
:param scope: Scope in which this resource is defined.
|
|
14429
15425
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
14430
15426
|
:param filter: This property contains the criteria for the Storage Lens group data that is displayed.
|
|
@@ -14489,6 +15485,12 @@ class CfnStorageLensGroup(
|
|
|
14489
15485
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
14490
15486
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
14491
15487
|
|
|
15488
|
+
@builtins.property
|
|
15489
|
+
@jsii.member(jsii_name="storageLensGroupRef")
|
|
15490
|
+
def storage_lens_group_ref(self) -> _StorageLensGroupReference_c117a5a4:
|
|
15491
|
+
'''A reference to a StorageLensGroup resource.'''
|
|
15492
|
+
return typing.cast(_StorageLensGroupReference_c117a5a4, jsii.get(self, "storageLensGroupRef"))
|
|
15493
|
+
|
|
14492
15494
|
@builtins.property
|
|
14493
15495
|
@jsii.member(jsii_name="filter")
|
|
14494
15496
|
def filter(
|
|
@@ -16163,7 +17165,7 @@ class HttpMethods(enum.Enum):
|
|
|
16163
17165
|
|
|
16164
17166
|
|
|
16165
17167
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_s3.IBucket")
|
|
16166
|
-
class IBucket(_IResource_c80c4260, typing_extensions.Protocol):
|
|
17168
|
+
class IBucket(_IResource_c80c4260, _IBucketRef_3debe44e, typing_extensions.Protocol):
|
|
16167
17169
|
@builtins.property
|
|
16168
17170
|
@jsii.member(jsii_name="bucketArn")
|
|
16169
17171
|
def bucket_arn(self) -> builtins.str:
|
|
@@ -16723,6 +17725,7 @@ class IBucket(_IResource_c80c4260, typing_extensions.Protocol):
|
|
|
16723
17725
|
|
|
16724
17726
|
class _IBucketProxy(
|
|
16725
17727
|
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
17728
|
+
jsii.proxy_for(_IBucketRef_3debe44e), # type: ignore[misc]
|
|
16726
17729
|
):
|
|
16727
17730
|
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_s3.IBucket"
|
|
16728
17731
|
|
|
@@ -17412,7 +18415,7 @@ class IBucketNotificationDestination(typing_extensions.Protocol):
|
|
|
17412
18415
|
def bind(
|
|
17413
18416
|
self,
|
|
17414
18417
|
scope: _constructs_77d1e7e8.Construct,
|
|
17415
|
-
bucket:
|
|
18418
|
+
bucket: _IBucketRef_3debe44e,
|
|
17416
18419
|
) -> BucketNotificationDestinationConfig:
|
|
17417
18420
|
'''Registers this resource to receive notifications for the specified bucket.
|
|
17418
18421
|
|
|
@@ -17435,7 +18438,7 @@ class _IBucketNotificationDestinationProxy:
|
|
|
17435
18438
|
def bind(
|
|
17436
18439
|
self,
|
|
17437
18440
|
scope: _constructs_77d1e7e8.Construct,
|
|
17438
|
-
bucket:
|
|
18441
|
+
bucket: _IBucketRef_3debe44e,
|
|
17439
18442
|
) -> BucketNotificationDestinationConfig:
|
|
17440
18443
|
'''Registers this resource to receive notifications for the specified bucket.
|
|
17441
18444
|
|
|
@@ -17994,7 +18997,7 @@ class LifecycleRule:
|
|
|
17994
18997
|
:param id: A unique identifier for this rule. The value cannot be more than 255 characters.
|
|
17995
18998
|
:param noncurrent_version_expiration: Time between when a new version of the object is uploaded to the bucket and when old versions of the object expire. For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time. The underlying configuration is expressed in whole numbers of days. Providing a Duration that does not represent a whole number of days will result in a runtime or deployment error. Default: - No noncurrent version expiration
|
|
17996
18999
|
:param noncurrent_versions_to_retain: Indicates a maximum number of noncurrent versions to retain. If there are this many more noncurrent versions, Amazon S3 permanently deletes them. Default: - No noncurrent versions to retain
|
|
17997
|
-
:param noncurrent_version_transitions: One or more transition rules that specify when non-current objects transition to a specified storage class. Only for
|
|
19000
|
+
:param noncurrent_version_transitions: One or more transition rules that specify when non-current objects transition to a specified storage class. Only for buckets with versioning enabled (or suspended). If you specify a transition and expiration time, the expiration time must be later than the transition time.
|
|
17998
19001
|
:param object_size_greater_than: Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. Default: - No rule
|
|
17999
19002
|
:param object_size_less_than: Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. Default: - No rule
|
|
18000
19003
|
:param prefix: Object key prefix that identifies one or more objects to which this rule applies. Default: - Rule applies to all objects
|
|
@@ -18206,7 +19209,7 @@ class LifecycleRule:
|
|
|
18206
19209
|
) -> typing.Optional[typing.List["NoncurrentVersionTransition"]]:
|
|
18207
19210
|
'''One or more transition rules that specify when non-current objects transition to a specified storage class.
|
|
18208
19211
|
|
|
18209
|
-
Only for
|
|
19212
|
+
Only for buckets with versioning enabled (or suspended).
|
|
18210
19213
|
|
|
18211
19214
|
If you specify a transition and expiration time, the expiration time
|
|
18212
19215
|
must be later than the transition time.
|
|
@@ -18302,26 +19305,43 @@ class Location:
|
|
|
18302
19305
|
:param object_key: The path inside the Bucket where the object is located at.
|
|
18303
19306
|
:param object_version: The S3 object version.
|
|
18304
19307
|
|
|
18305
|
-
:exampleMetadata: infused
|
|
19308
|
+
:exampleMetadata: fixture=default infused
|
|
18306
19309
|
|
|
18307
19310
|
Example::
|
|
18308
19311
|
|
|
18309
|
-
|
|
18310
|
-
|
|
18311
|
-
|
|
18312
|
-
|
|
18313
|
-
|
|
18314
|
-
|
|
18315
|
-
|
|
18316
|
-
|
|
18317
|
-
|
|
18318
|
-
|
|
18319
|
-
|
|
18320
|
-
|
|
19312
|
+
bucket = s3.Bucket(self, "memoryBucket",
|
|
19313
|
+
bucket_name="test-memory",
|
|
19314
|
+
removal_policy=cdk.RemovalPolicy.DESTROY,
|
|
19315
|
+
auto_delete_objects=True
|
|
19316
|
+
)
|
|
19317
|
+
|
|
19318
|
+
topic = sns.Topic(self, "topic")
|
|
19319
|
+
|
|
19320
|
+
# Create a custom semantic memory strategy
|
|
19321
|
+
self_managed_strategy = agentcore.MemoryStrategy.using_self_managed(
|
|
19322
|
+
name="selfManagedStrategy",
|
|
19323
|
+
description="self managed memory strategy",
|
|
19324
|
+
historical_context_window_size=5,
|
|
19325
|
+
invocation_configuration=agentcore.InvocationConfiguration(
|
|
19326
|
+
topic=topic,
|
|
19327
|
+
s3_location=s3.Location(
|
|
19328
|
+
bucket_name=bucket.bucket_name,
|
|
19329
|
+
object_key="memory/"
|
|
18321
19330
|
)
|
|
18322
19331
|
),
|
|
18323
|
-
|
|
18324
|
-
|
|
19332
|
+
trigger_conditions=agentcore.TriggerConditions(
|
|
19333
|
+
message_based_trigger=1,
|
|
19334
|
+
time_based_trigger=cdk.Duration.seconds(10),
|
|
19335
|
+
token_based_trigger=100
|
|
19336
|
+
)
|
|
19337
|
+
)
|
|
19338
|
+
|
|
19339
|
+
# Create memory with custom strategy
|
|
19340
|
+
memory = agentcore.Memory(self, "MyMemory",
|
|
19341
|
+
memory_name="my-custom-memory",
|
|
19342
|
+
description="Memory with custom strategy",
|
|
19343
|
+
expiration_duration=cdk.Duration.days(90),
|
|
19344
|
+
memory_strategies=[self_managed_strategy]
|
|
18325
19345
|
)
|
|
18326
19346
|
'''
|
|
18327
19347
|
if __debug__:
|
|
@@ -20717,6 +21737,12 @@ class BucketBase(
|
|
|
20717
21737
|
'''The name of the bucket.'''
|
|
20718
21738
|
...
|
|
20719
21739
|
|
|
21740
|
+
@builtins.property
|
|
21741
|
+
@jsii.member(jsii_name="bucketRef")
|
|
21742
|
+
def bucket_ref(self) -> _BucketReference_502fb39f:
|
|
21743
|
+
'''A reference to a Bucket resource.'''
|
|
21744
|
+
return typing.cast(_BucketReference_502fb39f, jsii.get(self, "bucketRef"))
|
|
21745
|
+
|
|
20720
21746
|
@builtins.property
|
|
20721
21747
|
@jsii.member(jsii_name="bucketRegionalDomainName")
|
|
20722
21748
|
@abc.abstractmethod
|
|
@@ -21337,7 +22363,7 @@ class Bucket(
|
|
|
21337
22363
|
:param id: A unique identifier for this rule. The value cannot be more than 255 characters.
|
|
21338
22364
|
:param noncurrent_version_expiration: Time between when a new version of the object is uploaded to the bucket and when old versions of the object expire. For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time. The underlying configuration is expressed in whole numbers of days. Providing a Duration that does not represent a whole number of days will result in a runtime or deployment error. Default: - No noncurrent version expiration
|
|
21339
22365
|
:param noncurrent_versions_to_retain: Indicates a maximum number of noncurrent versions to retain. If there are this many more noncurrent versions, Amazon S3 permanently deletes them. Default: - No noncurrent versions to retain
|
|
21340
|
-
:param noncurrent_version_transitions: One or more transition rules that specify when non-current objects transition to a specified storage class. Only for
|
|
22366
|
+
:param noncurrent_version_transitions: One or more transition rules that specify when non-current objects transition to a specified storage class. Only for buckets with versioning enabled (or suspended). If you specify a transition and expiration time, the expiration time must be later than the transition time.
|
|
21341
22367
|
:param object_size_greater_than: Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. Default: - No rule
|
|
21342
22368
|
:param object_size_less_than: Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. Default: - No rule
|
|
21343
22369
|
:param prefix: Object key prefix that identifies one or more objects to which this rule applies. Default: - Rule applies to all objects
|
|
@@ -21648,6 +22674,7 @@ def _typecheckingstub__910b3df1208e67cb52dad0b0b8c5feb43c7bddb0ced50eaf6c9534772
|
|
|
21648
22674
|
id: builtins.str,
|
|
21649
22675
|
*,
|
|
21650
22676
|
bucket: IBucket,
|
|
22677
|
+
document: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
21651
22678
|
removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
|
|
21652
22679
|
) -> None:
|
|
21653
22680
|
"""Type checking stubs"""
|
|
@@ -21668,6 +22695,7 @@ def _typecheckingstub__70ab6602f43f75a64ae8e8349b5d140cdfefe9af2e4d2352ec6279ed1
|
|
|
21668
22695
|
def _typecheckingstub__4d7b9233434273933326211f004f27c2982fedd89ad904dc86d84c54f0f50ac6(
|
|
21669
22696
|
*,
|
|
21670
22697
|
bucket: IBucket,
|
|
22698
|
+
document: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
21671
22699
|
removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
|
|
21672
22700
|
) -> None:
|
|
21673
22701
|
"""Type checking stubs"""
|
|
@@ -21856,8 +22884,8 @@ def _typecheckingstub__f63f8766c3f622205e3ea04592d9dbd1cdfdf34d2e6b1aca405f1b211
|
|
|
21856
22884
|
scope: _constructs_77d1e7e8.Construct,
|
|
21857
22885
|
id: builtins.str,
|
|
21858
22886
|
*,
|
|
21859
|
-
iam_role_arn:
|
|
21860
|
-
location_scope:
|
|
22887
|
+
iam_role_arn: builtins.str,
|
|
22888
|
+
location_scope: builtins.str,
|
|
21861
22889
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21862
22890
|
) -> None:
|
|
21863
22891
|
"""Type checking stubs"""
|
|
@@ -21876,13 +22904,13 @@ def _typecheckingstub__41246c53313d09c72689110109c1c02c98b558c613dd50d35f19becfa
|
|
|
21876
22904
|
pass
|
|
21877
22905
|
|
|
21878
22906
|
def _typecheckingstub__c6ad3ea630d95d457364fa227ccc4159df9b2fe48cab3fd14afc7301612ddce6(
|
|
21879
|
-
value:
|
|
22907
|
+
value: builtins.str,
|
|
21880
22908
|
) -> None:
|
|
21881
22909
|
"""Type checking stubs"""
|
|
21882
22910
|
pass
|
|
21883
22911
|
|
|
21884
22912
|
def _typecheckingstub__80f4ecc1c277ca36e62d80157ee09c7e5856bf9bc1e1542588d3449f958c3302(
|
|
21885
|
-
value:
|
|
22913
|
+
value: builtins.str,
|
|
21886
22914
|
) -> None:
|
|
21887
22915
|
"""Type checking stubs"""
|
|
21888
22916
|
pass
|
|
@@ -21895,8 +22923,8 @@ def _typecheckingstub__34ec64e9e3a170eac86359c24d865c728a0273caa8c470380483ea14c
|
|
|
21895
22923
|
|
|
21896
22924
|
def _typecheckingstub__5f891152429263f2b2cdf0641e18212de422d1b020ebb0f7ffbac1e255090f5d(
|
|
21897
22925
|
*,
|
|
21898
|
-
iam_role_arn:
|
|
21899
|
-
location_scope:
|
|
22926
|
+
iam_role_arn: builtins.str,
|
|
22927
|
+
location_scope: builtins.str,
|
|
21900
22928
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21901
22929
|
) -> None:
|
|
21902
22930
|
"""Type checking stubs"""
|
|
@@ -21911,11 +22939,28 @@ def _typecheckingstub__effa13924691e4b61b906bb0dc0bd5da8dfc4d4cbd167af0fe9491358
|
|
|
21911
22939
|
name: typing.Optional[builtins.str] = None,
|
|
21912
22940
|
policy: typing.Any = None,
|
|
21913
22941
|
public_access_block_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.PublicAccessBlockConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22942
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21914
22943
|
vpc_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.VpcConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21915
22944
|
) -> None:
|
|
21916
22945
|
"""Type checking stubs"""
|
|
21917
22946
|
pass
|
|
21918
22947
|
|
|
22948
|
+
def _typecheckingstub__27c1fdb406b539ade70eea36bce09782bba11b354442fee5c5d43c938bfd0aee(
|
|
22949
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
22950
|
+
id: builtins.str,
|
|
22951
|
+
arn: builtins.str,
|
|
22952
|
+
) -> None:
|
|
22953
|
+
"""Type checking stubs"""
|
|
22954
|
+
pass
|
|
22955
|
+
|
|
22956
|
+
def _typecheckingstub__9af2790fec8caeab2621c276234587e70ab62b4d6d6f7a82947b3b7326f42deb(
|
|
22957
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
22958
|
+
id: builtins.str,
|
|
22959
|
+
access_point_name: builtins.str,
|
|
22960
|
+
) -> None:
|
|
22961
|
+
"""Type checking stubs"""
|
|
22962
|
+
pass
|
|
22963
|
+
|
|
21919
22964
|
def _typecheckingstub__71b3c7d208bf045aac83ee95ce52f903885375649aecea79c502164e94dcdf8a(
|
|
21920
22965
|
inspector: _TreeInspector_488e0dd5,
|
|
21921
22966
|
) -> None:
|
|
@@ -21958,6 +23003,12 @@ def _typecheckingstub__f1674ffbc32679c9e6b98201180481c7cd25fa6b6b1611ce89faf76ad
|
|
|
21958
23003
|
"""Type checking stubs"""
|
|
21959
23004
|
pass
|
|
21960
23005
|
|
|
23006
|
+
def _typecheckingstub__d6c41b842366f80d771c24147e6f4bdb868bf8899c3f03b128339e380a158e19(
|
|
23007
|
+
value: typing.Optional[typing.List[_CfnTag_f6864754]],
|
|
23008
|
+
) -> None:
|
|
23009
|
+
"""Type checking stubs"""
|
|
23010
|
+
pass
|
|
23011
|
+
|
|
21961
23012
|
def _typecheckingstub__a49ee3ddcfdce1bcd8c198e3823a2490c2f4ac82647902a91b701dbc61ab86b8(
|
|
21962
23013
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAccessPoint.VpcConfigurationProperty]],
|
|
21963
23014
|
) -> None:
|
|
@@ -21988,6 +23039,7 @@ def _typecheckingstub__78747b8f8c95f80def774b788cce8b1ff46ec71c89a1b755270401066
|
|
|
21988
23039
|
name: typing.Optional[builtins.str] = None,
|
|
21989
23040
|
policy: typing.Any = None,
|
|
21990
23041
|
public_access_block_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.PublicAccessBlockConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23042
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21991
23043
|
vpc_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.VpcConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21992
23044
|
) -> None:
|
|
21993
23045
|
"""Type checking stubs"""
|
|
@@ -22007,6 +23059,7 @@ def _typecheckingstub__0cfa39e37f5fa17b8234ce2f712ef5cf3bf2c262914967924c19a67f6
|
|
|
22007
23059
|
inventory_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.InventoryConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22008
23060
|
lifecycle_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.LifecycleConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22009
23061
|
logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.LoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23062
|
+
metadata_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetadataConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22010
23063
|
metadata_table_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetadataTableConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22011
23064
|
metrics_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetricsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22012
23065
|
notification_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.NotificationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -22022,6 +23075,22 @@ def _typecheckingstub__0cfa39e37f5fa17b8234ce2f712ef5cf3bf2c262914967924c19a67f6
|
|
|
22022
23075
|
"""Type checking stubs"""
|
|
22023
23076
|
pass
|
|
22024
23077
|
|
|
23078
|
+
def _typecheckingstub__f218931ccffe0d6407edcfc452f39d64609d0cceec6ea04313fa364cf5a4f3df(
|
|
23079
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
23080
|
+
id: builtins.str,
|
|
23081
|
+
arn: builtins.str,
|
|
23082
|
+
) -> None:
|
|
23083
|
+
"""Type checking stubs"""
|
|
23084
|
+
pass
|
|
23085
|
+
|
|
23086
|
+
def _typecheckingstub__08ccc75711c8ec0fedd9747e674f732b2653120a392c01413875cc0df08e91fa(
|
|
23087
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
23088
|
+
id: builtins.str,
|
|
23089
|
+
bucket_name: builtins.str,
|
|
23090
|
+
) -> None:
|
|
23091
|
+
"""Type checking stubs"""
|
|
23092
|
+
pass
|
|
23093
|
+
|
|
22025
23094
|
def _typecheckingstub__176de3038f1db142ab99b5462bff80dea14e125a51ef31e58c268c52bbbc103e(
|
|
22026
23095
|
inspector: _TreeInspector_488e0dd5,
|
|
22027
23096
|
) -> None:
|
|
@@ -22094,6 +23163,12 @@ def _typecheckingstub__4b77f03fd3b3677eb1438ce6b2a3991e386c73bd8744df53f5e4ba5ea
|
|
|
22094
23163
|
"""Type checking stubs"""
|
|
22095
23164
|
pass
|
|
22096
23165
|
|
|
23166
|
+
def _typecheckingstub__13b4697762f20bd91e57f93bf2922758e68d9cbc3f74472e7da7f9ce2f7dcdca(
|
|
23167
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnBucket.MetadataConfigurationProperty]],
|
|
23168
|
+
) -> None:
|
|
23169
|
+
"""Type checking stubs"""
|
|
23170
|
+
pass
|
|
23171
|
+
|
|
22097
23172
|
def _typecheckingstub__fd29cd03877c191999cfea4d853581d72ddc33cf57cc7d4cba47336d1b9943ec(
|
|
22098
23173
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnBucket.MetadataTableConfigurationProperty]],
|
|
22099
23174
|
) -> None:
|
|
@@ -22297,6 +23372,26 @@ def _typecheckingstub__cdee89cd1b92609a0e10908dd9212db336cab5c5d1cccdb91cf76efe8
|
|
|
22297
23372
|
"""Type checking stubs"""
|
|
22298
23373
|
pass
|
|
22299
23374
|
|
|
23375
|
+
def _typecheckingstub__e3f0960f8776684cd6b2c423b1320b1ffcb2a6165dba0f275451667884000458(
|
|
23376
|
+
*,
|
|
23377
|
+
configuration_state: builtins.str,
|
|
23378
|
+
encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetadataTableEncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23379
|
+
table_arn: typing.Optional[builtins.str] = None,
|
|
23380
|
+
table_name: typing.Optional[builtins.str] = None,
|
|
23381
|
+
) -> None:
|
|
23382
|
+
"""Type checking stubs"""
|
|
23383
|
+
pass
|
|
23384
|
+
|
|
23385
|
+
def _typecheckingstub__4831e8bf78dc983eaf9b010780417c4e6b808ef19beac1729f89ba7bab53d4d9(
|
|
23386
|
+
*,
|
|
23387
|
+
record_expiration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.RecordExpirationProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
23388
|
+
encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetadataTableEncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23389
|
+
table_arn: typing.Optional[builtins.str] = None,
|
|
23390
|
+
table_name: typing.Optional[builtins.str] = None,
|
|
23391
|
+
) -> None:
|
|
23392
|
+
"""Type checking stubs"""
|
|
23393
|
+
pass
|
|
23394
|
+
|
|
22300
23395
|
def _typecheckingstub__599ef02853407bceb720424e9874eda7b5e2324f3be8a787939e9d5f9a7d5765(
|
|
22301
23396
|
*,
|
|
22302
23397
|
event: builtins.str,
|
|
@@ -22323,6 +23418,24 @@ def _typecheckingstub__01491815d16a808a2dce4d193703181c42183e3e002a73f20f0f129d4
|
|
|
22323
23418
|
"""Type checking stubs"""
|
|
22324
23419
|
pass
|
|
22325
23420
|
|
|
23421
|
+
def _typecheckingstub__5ba4e02b348fb368852d2eaf89da64d6c5432c39d5f771482cd73c5e29aea1d2(
|
|
23422
|
+
*,
|
|
23423
|
+
journal_table_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.JournalTableConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
23424
|
+
destination: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetadataDestinationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23425
|
+
inventory_table_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.InventoryTableConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23426
|
+
) -> None:
|
|
23427
|
+
"""Type checking stubs"""
|
|
23428
|
+
pass
|
|
23429
|
+
|
|
23430
|
+
def _typecheckingstub__22a357b76c39088e89c9805c6e3fd369bf83472fbcec37ad505b7803d1960e7e(
|
|
23431
|
+
*,
|
|
23432
|
+
table_bucket_type: builtins.str,
|
|
23433
|
+
table_bucket_arn: typing.Optional[builtins.str] = None,
|
|
23434
|
+
table_namespace: typing.Optional[builtins.str] = None,
|
|
23435
|
+
) -> None:
|
|
23436
|
+
"""Type checking stubs"""
|
|
23437
|
+
pass
|
|
23438
|
+
|
|
22326
23439
|
def _typecheckingstub__5ca454da0b88593246b2d389c687410262b1687eb76eddb67e9375ebad28093f(
|
|
22327
23440
|
*,
|
|
22328
23441
|
s3_tables_destination: typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.S3TablesDestinationProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
@@ -22330,6 +23443,14 @@ def _typecheckingstub__5ca454da0b88593246b2d389c687410262b1687eb76eddb67e9375eba
|
|
|
22330
23443
|
"""Type checking stubs"""
|
|
22331
23444
|
pass
|
|
22332
23445
|
|
|
23446
|
+
def _typecheckingstub__638725ba5e16c7545010085fee3839279059f8036e3a36e81a6da12f68c3c96d(
|
|
23447
|
+
*,
|
|
23448
|
+
sse_algorithm: builtins.str,
|
|
23449
|
+
kms_key_arn: typing.Optional[builtins.str] = None,
|
|
23450
|
+
) -> None:
|
|
23451
|
+
"""Type checking stubs"""
|
|
23452
|
+
pass
|
|
23453
|
+
|
|
22333
23454
|
def _typecheckingstub__ad42f7d497f9da61528b895926b56b4a48de1121e97039ba589509b4f56b32f7(
|
|
22334
23455
|
*,
|
|
22335
23456
|
id: builtins.str,
|
|
@@ -22437,6 +23558,14 @@ def _typecheckingstub__fa7475a01d5eb0e88eb78519cde0c5de6ace577577dd1b48ec5816cca
|
|
|
22437
23558
|
"""Type checking stubs"""
|
|
22438
23559
|
pass
|
|
22439
23560
|
|
|
23561
|
+
def _typecheckingstub__ced4e05e0d07a000e813825522beab4af447ff67164c61600ff7eb3b0afab28c(
|
|
23562
|
+
*,
|
|
23563
|
+
expiration: builtins.str,
|
|
23564
|
+
days: typing.Optional[jsii.Number] = None,
|
|
23565
|
+
) -> None:
|
|
23566
|
+
"""Type checking stubs"""
|
|
23567
|
+
pass
|
|
23568
|
+
|
|
22440
23569
|
def _typecheckingstub__8aaa5db61b5a90e427f3a57c45b3bd725fb80aeca08f50b45728a5d954ee837f(
|
|
22441
23570
|
*,
|
|
22442
23571
|
host_name: builtins.str,
|
|
@@ -22736,6 +23865,7 @@ def _typecheckingstub__658a4165ec8804b9770871bbb27764713f55dc53e9c9e990dca120e77
|
|
|
22736
23865
|
inventory_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.InventoryConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22737
23866
|
lifecycle_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.LifecycleConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22738
23867
|
logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.LoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23868
|
+
metadata_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetadataConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22739
23869
|
metadata_table_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetadataTableConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22740
23870
|
metrics_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.MetricsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22741
23871
|
notification_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBucket.NotificationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -23390,7 +24520,7 @@ def _typecheckingstub__993ef29805b7b5223d6327faefc00c505108a1497efd501af949abb29
|
|
|
23390
24520
|
|
|
23391
24521
|
def _typecheckingstub__c383a5262868f93c81da67f9058929f12151009bdb49b69a87ed6e62b4fe28a9(
|
|
23392
24522
|
scope: _constructs_77d1e7e8.Construct,
|
|
23393
|
-
bucket:
|
|
24523
|
+
bucket: _IBucketRef_3debe44e,
|
|
23394
24524
|
) -> None:
|
|
23395
24525
|
"""Type checking stubs"""
|
|
23396
24526
|
pass
|
|
@@ -23935,3 +25065,6 @@ def _typecheckingstub__3cb691a849de33681a4f0021424f266609c2785cf8cbf5306c98726a6
|
|
|
23935
25065
|
) -> None:
|
|
23936
25066
|
"""Type checking stubs"""
|
|
23937
25067
|
pass
|
|
25068
|
+
|
|
25069
|
+
for cls in [IBucket, IBucketNotificationDestination]:
|
|
25070
|
+
typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])
|