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
|
@@ -0,0 +1,1378 @@
|
|
|
1
|
+
r'''
|
|
2
|
+
# AWS::S3Vectors Construct Library
|
|
3
|
+
|
|
4
|
+
<!--BEGIN STABILITY BANNER-->---
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
<!--END STABILITY BANNER-->
|
|
13
|
+
|
|
14
|
+
This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
|
|
15
|
+
|
|
16
|
+
```python
|
|
17
|
+
import aws_cdk.aws_s3vectors as s3vectors
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
<!--BEGIN CFNONLY DISCLAIMER-->
|
|
21
|
+
|
|
22
|
+
There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:
|
|
23
|
+
|
|
24
|
+
* Search [Construct Hub for S3Vectors construct libraries](https://constructs.dev/search?q=s3vectors)
|
|
25
|
+
* Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::S3Vectors resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_S3Vectors.html) directly.
|
|
26
|
+
|
|
27
|
+
<!--BEGIN CFNONLY DISCLAIMER-->
|
|
28
|
+
|
|
29
|
+
There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
|
|
30
|
+
However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.
|
|
31
|
+
|
|
32
|
+
For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::S3Vectors](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_S3Vectors.html).
|
|
33
|
+
|
|
34
|
+
(Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)
|
|
35
|
+
|
|
36
|
+
<!--END CFNONLY DISCLAIMER-->
|
|
37
|
+
'''
|
|
38
|
+
from pkgutil import extend_path
|
|
39
|
+
__path__ = extend_path(__path__, __name__)
|
|
40
|
+
|
|
41
|
+
import abc
|
|
42
|
+
import builtins
|
|
43
|
+
import datetime
|
|
44
|
+
import enum
|
|
45
|
+
import typing
|
|
46
|
+
|
|
47
|
+
import jsii
|
|
48
|
+
import publication
|
|
49
|
+
import typing_extensions
|
|
50
|
+
|
|
51
|
+
import typeguard
|
|
52
|
+
from importlib.metadata import version as _metadata_package_version
|
|
53
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
54
|
+
|
|
55
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
56
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
57
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
58
|
+
else:
|
|
59
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
60
|
+
pass
|
|
61
|
+
else:
|
|
62
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
63
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
64
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
65
|
+
else:
|
|
66
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
67
|
+
|
|
68
|
+
from .._jsii import *
|
|
69
|
+
|
|
70
|
+
import constructs as _constructs_77d1e7e8
|
|
71
|
+
from .. import (
|
|
72
|
+
CfnResource as _CfnResource_9df397a6,
|
|
73
|
+
IInspectable as _IInspectable_c2943556,
|
|
74
|
+
IResolvable as _IResolvable_da3f097b,
|
|
75
|
+
TreeInspector as _TreeInspector_488e0dd5,
|
|
76
|
+
)
|
|
77
|
+
from ..interfaces.aws_s3vectors import (
|
|
78
|
+
IIndexRef as _IIndexRef_4272045e,
|
|
79
|
+
IVectorBucketPolicyRef as _IVectorBucketPolicyRef_9ad4e2a8,
|
|
80
|
+
IVectorBucketRef as _IVectorBucketRef_238bcb24,
|
|
81
|
+
IndexReference as _IndexReference_f8041417,
|
|
82
|
+
VectorBucketPolicyReference as _VectorBucketPolicyReference_3f2d6cbc,
|
|
83
|
+
VectorBucketReference as _VectorBucketReference_62393c93,
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
@jsii.implements(_IInspectable_c2943556, _IIndexRef_4272045e)
|
|
88
|
+
class CfnIndex(
|
|
89
|
+
_CfnResource_9df397a6,
|
|
90
|
+
metaclass=jsii.JSIIMeta,
|
|
91
|
+
jsii_type="aws-cdk-lib.aws_s3vectors.CfnIndex",
|
|
92
|
+
):
|
|
93
|
+
'''The ``AWS::S3Vectors::Index`` resource defines a vector index within an Amazon S3 vector bucket.
|
|
94
|
+
|
|
95
|
+
For more information, see `Creating a vector index in a vector bucket <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-create-index.html>`_ in the *Amazon Simple Storage Service User Guide* .
|
|
96
|
+
|
|
97
|
+
You must specify either ``VectorBucketName`` or ``VectorBucketArn`` to identify the bucket that contains the index.
|
|
98
|
+
|
|
99
|
+
To control how AWS CloudFormation handles the vector index when the stack is deleted, you can set a deletion policy for your index. You can choose to *retain* the index or to *delete* the index. For more information, see `DeletionPolicy attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html>`_ .
|
|
100
|
+
|
|
101
|
+
- **Permissions** - The required permissions for CloudFormation to use are based on the operations that are performed on the stack.
|
|
102
|
+
- Create
|
|
103
|
+
- s3vectors:CreateIndex
|
|
104
|
+
- s3vectors:GetIndex
|
|
105
|
+
- Read
|
|
106
|
+
- s3vectors:GetIndex
|
|
107
|
+
- Delete
|
|
108
|
+
- s3vectors:DeleteIndex
|
|
109
|
+
- s3vectors:GetIndex
|
|
110
|
+
- List
|
|
111
|
+
- s3vectors:ListIndexes
|
|
112
|
+
|
|
113
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-index.html
|
|
114
|
+
:cloudformationResource: AWS::S3Vectors::Index
|
|
115
|
+
:exampleMetadata: fixture=_generated
|
|
116
|
+
|
|
117
|
+
Example::
|
|
118
|
+
|
|
119
|
+
# The code below shows an example of how to instantiate this type.
|
|
120
|
+
# The values are placeholders you should change.
|
|
121
|
+
from aws_cdk import aws_s3vectors as s3vectors
|
|
122
|
+
|
|
123
|
+
cfn_index = s3vectors.CfnIndex(self, "MyCfnIndex",
|
|
124
|
+
data_type="dataType",
|
|
125
|
+
dimension=123,
|
|
126
|
+
distance_metric="distanceMetric",
|
|
127
|
+
|
|
128
|
+
# the properties below are optional
|
|
129
|
+
index_name="indexName",
|
|
130
|
+
metadata_configuration=s3vectors.CfnIndex.MetadataConfigurationProperty(
|
|
131
|
+
non_filterable_metadata_keys=["nonFilterableMetadataKeys"]
|
|
132
|
+
),
|
|
133
|
+
vector_bucket_arn="vectorBucketArn",
|
|
134
|
+
vector_bucket_name="vectorBucketName"
|
|
135
|
+
)
|
|
136
|
+
'''
|
|
137
|
+
|
|
138
|
+
def __init__(
|
|
139
|
+
self,
|
|
140
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
141
|
+
id: builtins.str,
|
|
142
|
+
*,
|
|
143
|
+
data_type: builtins.str,
|
|
144
|
+
dimension: jsii.Number,
|
|
145
|
+
distance_metric: builtins.str,
|
|
146
|
+
index_name: typing.Optional[builtins.str] = None,
|
|
147
|
+
metadata_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIndex.MetadataConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
148
|
+
vector_bucket_arn: typing.Optional[builtins.str] = None,
|
|
149
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
150
|
+
) -> None:
|
|
151
|
+
'''Create a new ``AWS::S3Vectors::Index``.
|
|
152
|
+
|
|
153
|
+
:param scope: Scope in which this resource is defined.
|
|
154
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
155
|
+
:param data_type: The data type of the vectors to be inserted into the vector index. Currently, only ``float32`` is supported, which represents 32-bit floating-point numbers.
|
|
156
|
+
:param dimension: The dimensions of the vectors to be inserted into the vector index. This value must be between 1 and 4096, inclusive. All vectors stored in the index must have the same number of dimensions. The dimension value affects the storage requirements and search performance. Higher dimensions require more storage space and may impact search latency.
|
|
157
|
+
:param distance_metric: The distance metric to be used for similarity search. Valid values are:. - ``cosine`` - Measures the cosine of the angle between two vectors. - ``euclidean`` - Measures the straight-line distance between two points in multi-dimensional space. Lower values indicate greater similarity.
|
|
158
|
+
:param index_name: The name of the vector index to create. The index name must be between 3 and 63 characters long and can contain only lowercase letters, numbers, hyphens (-), and dots (.). The index name must be unique within the vector bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the index name. .. 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.
|
|
159
|
+
:param metadata_configuration: The metadata configuration for the vector index.
|
|
160
|
+
:param vector_bucket_arn: The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.
|
|
161
|
+
:param vector_bucket_name: The name of the vector bucket that contains the vector index.
|
|
162
|
+
'''
|
|
163
|
+
if __debug__:
|
|
164
|
+
type_hints = typing.get_type_hints(_typecheckingstub__87bd43a194666dd054aecee5dc42b978d33dae31b98b1bacec49341d4916205e)
|
|
165
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
166
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
167
|
+
props = CfnIndexProps(
|
|
168
|
+
data_type=data_type,
|
|
169
|
+
dimension=dimension,
|
|
170
|
+
distance_metric=distance_metric,
|
|
171
|
+
index_name=index_name,
|
|
172
|
+
metadata_configuration=metadata_configuration,
|
|
173
|
+
vector_bucket_arn=vector_bucket_arn,
|
|
174
|
+
vector_bucket_name=vector_bucket_name,
|
|
175
|
+
)
|
|
176
|
+
|
|
177
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
178
|
+
|
|
179
|
+
@jsii.member(jsii_name="inspect")
|
|
180
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
181
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
182
|
+
|
|
183
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
184
|
+
'''
|
|
185
|
+
if __debug__:
|
|
186
|
+
type_hints = typing.get_type_hints(_typecheckingstub__abf75f37384ae6010cf34366284fd709b9bf09472bc476d814cde62f1244e1f5)
|
|
187
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
188
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
189
|
+
|
|
190
|
+
@jsii.member(jsii_name="renderProperties")
|
|
191
|
+
def _render_properties(
|
|
192
|
+
self,
|
|
193
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
194
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
195
|
+
'''
|
|
196
|
+
:param props: -
|
|
197
|
+
'''
|
|
198
|
+
if __debug__:
|
|
199
|
+
type_hints = typing.get_type_hints(_typecheckingstub__731726592378e5451eb8d8956c8a160ef274b5bd0d04312393ac06dda83e154f)
|
|
200
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
201
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
202
|
+
|
|
203
|
+
@jsii.python.classproperty
|
|
204
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
205
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
206
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
207
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
208
|
+
|
|
209
|
+
@builtins.property
|
|
210
|
+
@jsii.member(jsii_name="attrCreationTime")
|
|
211
|
+
def attr_creation_time(self) -> builtins.str:
|
|
212
|
+
'''Returns the date and time when the vector index was created.
|
|
213
|
+
|
|
214
|
+
Example: ``2024-12-21T10:30:00Z``
|
|
215
|
+
|
|
216
|
+
:cloudformationAttribute: CreationTime
|
|
217
|
+
'''
|
|
218
|
+
return typing.cast(builtins.str, jsii.get(self, "attrCreationTime"))
|
|
219
|
+
|
|
220
|
+
@builtins.property
|
|
221
|
+
@jsii.member(jsii_name="attrIndexArn")
|
|
222
|
+
def attr_index_arn(self) -> builtins.str:
|
|
223
|
+
'''Returns the Amazon Resource Name (ARN) of the specified index.
|
|
224
|
+
|
|
225
|
+
Example: ``arn:aws:s3vectors:us-east-1:123456789012:bucket/amzn-s3-demo-vector-bucket/index/my-index``
|
|
226
|
+
|
|
227
|
+
:cloudformationAttribute: IndexArn
|
|
228
|
+
'''
|
|
229
|
+
return typing.cast(builtins.str, jsii.get(self, "attrIndexArn"))
|
|
230
|
+
|
|
231
|
+
@builtins.property
|
|
232
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
233
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
234
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
235
|
+
|
|
236
|
+
@builtins.property
|
|
237
|
+
@jsii.member(jsii_name="indexRef")
|
|
238
|
+
def index_ref(self) -> _IndexReference_f8041417:
|
|
239
|
+
'''A reference to a Index resource.'''
|
|
240
|
+
return typing.cast(_IndexReference_f8041417, jsii.get(self, "indexRef"))
|
|
241
|
+
|
|
242
|
+
@builtins.property
|
|
243
|
+
@jsii.member(jsii_name="dataType")
|
|
244
|
+
def data_type(self) -> builtins.str:
|
|
245
|
+
'''The data type of the vectors to be inserted into the vector index.'''
|
|
246
|
+
return typing.cast(builtins.str, jsii.get(self, "dataType"))
|
|
247
|
+
|
|
248
|
+
@data_type.setter
|
|
249
|
+
def data_type(self, value: builtins.str) -> None:
|
|
250
|
+
if __debug__:
|
|
251
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c823d66dd49125b2784b64987a69c1442232d36162528420c812cdaf0483bb62)
|
|
252
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
253
|
+
jsii.set(self, "dataType", value) # pyright: ignore[reportArgumentType]
|
|
254
|
+
|
|
255
|
+
@builtins.property
|
|
256
|
+
@jsii.member(jsii_name="dimension")
|
|
257
|
+
def dimension(self) -> jsii.Number:
|
|
258
|
+
'''The dimensions of the vectors to be inserted into the vector index.'''
|
|
259
|
+
return typing.cast(jsii.Number, jsii.get(self, "dimension"))
|
|
260
|
+
|
|
261
|
+
@dimension.setter
|
|
262
|
+
def dimension(self, value: jsii.Number) -> None:
|
|
263
|
+
if __debug__:
|
|
264
|
+
type_hints = typing.get_type_hints(_typecheckingstub__709ca3449db711fe8736cb15c71a260517a124f93ed8f0f8ea0fd07224b34491)
|
|
265
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
266
|
+
jsii.set(self, "dimension", value) # pyright: ignore[reportArgumentType]
|
|
267
|
+
|
|
268
|
+
@builtins.property
|
|
269
|
+
@jsii.member(jsii_name="distanceMetric")
|
|
270
|
+
def distance_metric(self) -> builtins.str:
|
|
271
|
+
'''The distance metric to be used for similarity search.
|
|
272
|
+
|
|
273
|
+
Valid values are:.
|
|
274
|
+
'''
|
|
275
|
+
return typing.cast(builtins.str, jsii.get(self, "distanceMetric"))
|
|
276
|
+
|
|
277
|
+
@distance_metric.setter
|
|
278
|
+
def distance_metric(self, value: builtins.str) -> None:
|
|
279
|
+
if __debug__:
|
|
280
|
+
type_hints = typing.get_type_hints(_typecheckingstub__fd2e189f3b0010c6a77fa4f43ad73f492b5e1099536bd12a0ebe077c09648a0b)
|
|
281
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
282
|
+
jsii.set(self, "distanceMetric", value) # pyright: ignore[reportArgumentType]
|
|
283
|
+
|
|
284
|
+
@builtins.property
|
|
285
|
+
@jsii.member(jsii_name="indexName")
|
|
286
|
+
def index_name(self) -> typing.Optional[builtins.str]:
|
|
287
|
+
'''The name of the vector index to create.'''
|
|
288
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "indexName"))
|
|
289
|
+
|
|
290
|
+
@index_name.setter
|
|
291
|
+
def index_name(self, value: typing.Optional[builtins.str]) -> None:
|
|
292
|
+
if __debug__:
|
|
293
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2aff851423be8566880565e79db1928638490e19822427a39ecb4692fac23aba)
|
|
294
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
295
|
+
jsii.set(self, "indexName", value) # pyright: ignore[reportArgumentType]
|
|
296
|
+
|
|
297
|
+
@builtins.property
|
|
298
|
+
@jsii.member(jsii_name="metadataConfiguration")
|
|
299
|
+
def metadata_configuration(
|
|
300
|
+
self,
|
|
301
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIndex.MetadataConfigurationProperty"]]:
|
|
302
|
+
'''The metadata configuration for the vector index.'''
|
|
303
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIndex.MetadataConfigurationProperty"]], jsii.get(self, "metadataConfiguration"))
|
|
304
|
+
|
|
305
|
+
@metadata_configuration.setter
|
|
306
|
+
def metadata_configuration(
|
|
307
|
+
self,
|
|
308
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIndex.MetadataConfigurationProperty"]],
|
|
309
|
+
) -> None:
|
|
310
|
+
if __debug__:
|
|
311
|
+
type_hints = typing.get_type_hints(_typecheckingstub__adf0789238c3ff54ec752516d17506a5dc3025daf5543ed37b3703a9638c6ce3)
|
|
312
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
313
|
+
jsii.set(self, "metadataConfiguration", value) # pyright: ignore[reportArgumentType]
|
|
314
|
+
|
|
315
|
+
@builtins.property
|
|
316
|
+
@jsii.member(jsii_name="vectorBucketArn")
|
|
317
|
+
def vector_bucket_arn(self) -> typing.Optional[builtins.str]:
|
|
318
|
+
'''The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.'''
|
|
319
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vectorBucketArn"))
|
|
320
|
+
|
|
321
|
+
@vector_bucket_arn.setter
|
|
322
|
+
def vector_bucket_arn(self, value: typing.Optional[builtins.str]) -> None:
|
|
323
|
+
if __debug__:
|
|
324
|
+
type_hints = typing.get_type_hints(_typecheckingstub__dac369cc81e6a72eae40497750fec7e4bb88a8f4e2eb0a59dcbce3ecef2449ec)
|
|
325
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
326
|
+
jsii.set(self, "vectorBucketArn", value) # pyright: ignore[reportArgumentType]
|
|
327
|
+
|
|
328
|
+
@builtins.property
|
|
329
|
+
@jsii.member(jsii_name="vectorBucketName")
|
|
330
|
+
def vector_bucket_name(self) -> typing.Optional[builtins.str]:
|
|
331
|
+
'''The name of the vector bucket that contains the vector index.'''
|
|
332
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vectorBucketName"))
|
|
333
|
+
|
|
334
|
+
@vector_bucket_name.setter
|
|
335
|
+
def vector_bucket_name(self, value: typing.Optional[builtins.str]) -> None:
|
|
336
|
+
if __debug__:
|
|
337
|
+
type_hints = typing.get_type_hints(_typecheckingstub__626d4bf5143365f338c97aea670a95f8c1fbfa0ad3a9cc00928821e5edb04014)
|
|
338
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
339
|
+
jsii.set(self, "vectorBucketName", value) # pyright: ignore[reportArgumentType]
|
|
340
|
+
|
|
341
|
+
@jsii.data_type(
|
|
342
|
+
jsii_type="aws-cdk-lib.aws_s3vectors.CfnIndex.MetadataConfigurationProperty",
|
|
343
|
+
jsii_struct_bases=[],
|
|
344
|
+
name_mapping={"non_filterable_metadata_keys": "nonFilterableMetadataKeys"},
|
|
345
|
+
)
|
|
346
|
+
class MetadataConfigurationProperty:
|
|
347
|
+
def __init__(
|
|
348
|
+
self,
|
|
349
|
+
*,
|
|
350
|
+
non_filterable_metadata_keys: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
351
|
+
) -> None:
|
|
352
|
+
'''The metadata configuration for the vector index.
|
|
353
|
+
|
|
354
|
+
This configuration allows you to specify which metadata keys should be treated as non-filterable.
|
|
355
|
+
|
|
356
|
+
:param non_filterable_metadata_keys: Non-filterable metadata keys allow you to enrich vectors with additional context during storage and retrieval. Unlike default metadata keys, these keys can't be used as query filters. Non-filterable metadata keys can be retrieved but can't be searched, queried, or filtered. You can access non-filterable metadata keys of your vectors after finding the vectors. You can specify 1 to 10 non-filterable metadata keys. Each key must be 1 to 63 characters long.
|
|
357
|
+
|
|
358
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3vectors-index-metadataconfiguration.html
|
|
359
|
+
:exampleMetadata: fixture=_generated
|
|
360
|
+
|
|
361
|
+
Example::
|
|
362
|
+
|
|
363
|
+
# The code below shows an example of how to instantiate this type.
|
|
364
|
+
# The values are placeholders you should change.
|
|
365
|
+
from aws_cdk import aws_s3vectors as s3vectors
|
|
366
|
+
|
|
367
|
+
metadata_configuration_property = s3vectors.CfnIndex.MetadataConfigurationProperty(
|
|
368
|
+
non_filterable_metadata_keys=["nonFilterableMetadataKeys"]
|
|
369
|
+
)
|
|
370
|
+
'''
|
|
371
|
+
if __debug__:
|
|
372
|
+
type_hints = typing.get_type_hints(_typecheckingstub__02647dc0f92f11b90c5132d15f87d8d903be3aad20d526f7d8a526c8d3fc1268)
|
|
373
|
+
check_type(argname="argument non_filterable_metadata_keys", value=non_filterable_metadata_keys, expected_type=type_hints["non_filterable_metadata_keys"])
|
|
374
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
375
|
+
if non_filterable_metadata_keys is not None:
|
|
376
|
+
self._values["non_filterable_metadata_keys"] = non_filterable_metadata_keys
|
|
377
|
+
|
|
378
|
+
@builtins.property
|
|
379
|
+
def non_filterable_metadata_keys(
|
|
380
|
+
self,
|
|
381
|
+
) -> typing.Optional[typing.List[builtins.str]]:
|
|
382
|
+
'''Non-filterable metadata keys allow you to enrich vectors with additional context during storage and retrieval.
|
|
383
|
+
|
|
384
|
+
Unlike default metadata keys, these keys can't be used as query filters. Non-filterable metadata keys can be retrieved but can't be searched, queried, or filtered. You can access non-filterable metadata keys of your vectors after finding the vectors.
|
|
385
|
+
|
|
386
|
+
You can specify 1 to 10 non-filterable metadata keys. Each key must be 1 to 63 characters long.
|
|
387
|
+
|
|
388
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3vectors-index-metadataconfiguration.html#cfn-s3vectors-index-metadataconfiguration-nonfilterablemetadatakeys
|
|
389
|
+
'''
|
|
390
|
+
result = self._values.get("non_filterable_metadata_keys")
|
|
391
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
392
|
+
|
|
393
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
394
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
395
|
+
|
|
396
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
397
|
+
return not (rhs == self)
|
|
398
|
+
|
|
399
|
+
def __repr__(self) -> str:
|
|
400
|
+
return "MetadataConfigurationProperty(%s)" % ", ".join(
|
|
401
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
402
|
+
)
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
@jsii.data_type(
|
|
406
|
+
jsii_type="aws-cdk-lib.aws_s3vectors.CfnIndexProps",
|
|
407
|
+
jsii_struct_bases=[],
|
|
408
|
+
name_mapping={
|
|
409
|
+
"data_type": "dataType",
|
|
410
|
+
"dimension": "dimension",
|
|
411
|
+
"distance_metric": "distanceMetric",
|
|
412
|
+
"index_name": "indexName",
|
|
413
|
+
"metadata_configuration": "metadataConfiguration",
|
|
414
|
+
"vector_bucket_arn": "vectorBucketArn",
|
|
415
|
+
"vector_bucket_name": "vectorBucketName",
|
|
416
|
+
},
|
|
417
|
+
)
|
|
418
|
+
class CfnIndexProps:
|
|
419
|
+
def __init__(
|
|
420
|
+
self,
|
|
421
|
+
*,
|
|
422
|
+
data_type: builtins.str,
|
|
423
|
+
dimension: jsii.Number,
|
|
424
|
+
distance_metric: builtins.str,
|
|
425
|
+
index_name: typing.Optional[builtins.str] = None,
|
|
426
|
+
metadata_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIndex.MetadataConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
427
|
+
vector_bucket_arn: typing.Optional[builtins.str] = None,
|
|
428
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
429
|
+
) -> None:
|
|
430
|
+
'''Properties for defining a ``CfnIndex``.
|
|
431
|
+
|
|
432
|
+
:param data_type: The data type of the vectors to be inserted into the vector index. Currently, only ``float32`` is supported, which represents 32-bit floating-point numbers.
|
|
433
|
+
:param dimension: The dimensions of the vectors to be inserted into the vector index. This value must be between 1 and 4096, inclusive. All vectors stored in the index must have the same number of dimensions. The dimension value affects the storage requirements and search performance. Higher dimensions require more storage space and may impact search latency.
|
|
434
|
+
:param distance_metric: The distance metric to be used for similarity search. Valid values are:. - ``cosine`` - Measures the cosine of the angle between two vectors. - ``euclidean`` - Measures the straight-line distance between two points in multi-dimensional space. Lower values indicate greater similarity.
|
|
435
|
+
:param index_name: The name of the vector index to create. The index name must be between 3 and 63 characters long and can contain only lowercase letters, numbers, hyphens (-), and dots (.). The index name must be unique within the vector bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the index name. .. 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.
|
|
436
|
+
:param metadata_configuration: The metadata configuration for the vector index.
|
|
437
|
+
:param vector_bucket_arn: The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.
|
|
438
|
+
:param vector_bucket_name: The name of the vector bucket that contains the vector index.
|
|
439
|
+
|
|
440
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-index.html
|
|
441
|
+
:exampleMetadata: fixture=_generated
|
|
442
|
+
|
|
443
|
+
Example::
|
|
444
|
+
|
|
445
|
+
# The code below shows an example of how to instantiate this type.
|
|
446
|
+
# The values are placeholders you should change.
|
|
447
|
+
from aws_cdk import aws_s3vectors as s3vectors
|
|
448
|
+
|
|
449
|
+
cfn_index_props = s3vectors.CfnIndexProps(
|
|
450
|
+
data_type="dataType",
|
|
451
|
+
dimension=123,
|
|
452
|
+
distance_metric="distanceMetric",
|
|
453
|
+
|
|
454
|
+
# the properties below are optional
|
|
455
|
+
index_name="indexName",
|
|
456
|
+
metadata_configuration=s3vectors.CfnIndex.MetadataConfigurationProperty(
|
|
457
|
+
non_filterable_metadata_keys=["nonFilterableMetadataKeys"]
|
|
458
|
+
),
|
|
459
|
+
vector_bucket_arn="vectorBucketArn",
|
|
460
|
+
vector_bucket_name="vectorBucketName"
|
|
461
|
+
)
|
|
462
|
+
'''
|
|
463
|
+
if __debug__:
|
|
464
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1ea84a5df8ebf668282b156128f8a09e7618a68ade5fffdf6ff86d39157f5a5d)
|
|
465
|
+
check_type(argname="argument data_type", value=data_type, expected_type=type_hints["data_type"])
|
|
466
|
+
check_type(argname="argument dimension", value=dimension, expected_type=type_hints["dimension"])
|
|
467
|
+
check_type(argname="argument distance_metric", value=distance_metric, expected_type=type_hints["distance_metric"])
|
|
468
|
+
check_type(argname="argument index_name", value=index_name, expected_type=type_hints["index_name"])
|
|
469
|
+
check_type(argname="argument metadata_configuration", value=metadata_configuration, expected_type=type_hints["metadata_configuration"])
|
|
470
|
+
check_type(argname="argument vector_bucket_arn", value=vector_bucket_arn, expected_type=type_hints["vector_bucket_arn"])
|
|
471
|
+
check_type(argname="argument vector_bucket_name", value=vector_bucket_name, expected_type=type_hints["vector_bucket_name"])
|
|
472
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
473
|
+
"data_type": data_type,
|
|
474
|
+
"dimension": dimension,
|
|
475
|
+
"distance_metric": distance_metric,
|
|
476
|
+
}
|
|
477
|
+
if index_name is not None:
|
|
478
|
+
self._values["index_name"] = index_name
|
|
479
|
+
if metadata_configuration is not None:
|
|
480
|
+
self._values["metadata_configuration"] = metadata_configuration
|
|
481
|
+
if vector_bucket_arn is not None:
|
|
482
|
+
self._values["vector_bucket_arn"] = vector_bucket_arn
|
|
483
|
+
if vector_bucket_name is not None:
|
|
484
|
+
self._values["vector_bucket_name"] = vector_bucket_name
|
|
485
|
+
|
|
486
|
+
@builtins.property
|
|
487
|
+
def data_type(self) -> builtins.str:
|
|
488
|
+
'''The data type of the vectors to be inserted into the vector index.
|
|
489
|
+
|
|
490
|
+
Currently, only ``float32`` is supported, which represents 32-bit floating-point numbers.
|
|
491
|
+
|
|
492
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-index.html#cfn-s3vectors-index-datatype
|
|
493
|
+
'''
|
|
494
|
+
result = self._values.get("data_type")
|
|
495
|
+
assert result is not None, "Required property 'data_type' is missing"
|
|
496
|
+
return typing.cast(builtins.str, result)
|
|
497
|
+
|
|
498
|
+
@builtins.property
|
|
499
|
+
def dimension(self) -> jsii.Number:
|
|
500
|
+
'''The dimensions of the vectors to be inserted into the vector index.
|
|
501
|
+
|
|
502
|
+
This value must be between 1 and 4096, inclusive. All vectors stored in the index must have the same number of dimensions.
|
|
503
|
+
|
|
504
|
+
The dimension value affects the storage requirements and search performance. Higher dimensions require more storage space and may impact search latency.
|
|
505
|
+
|
|
506
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-index.html#cfn-s3vectors-index-dimension
|
|
507
|
+
'''
|
|
508
|
+
result = self._values.get("dimension")
|
|
509
|
+
assert result is not None, "Required property 'dimension' is missing"
|
|
510
|
+
return typing.cast(jsii.Number, result)
|
|
511
|
+
|
|
512
|
+
@builtins.property
|
|
513
|
+
def distance_metric(self) -> builtins.str:
|
|
514
|
+
'''The distance metric to be used for similarity search. Valid values are:.
|
|
515
|
+
|
|
516
|
+
- ``cosine`` - Measures the cosine of the angle between two vectors.
|
|
517
|
+
- ``euclidean`` - Measures the straight-line distance between two points in multi-dimensional space. Lower values indicate greater similarity.
|
|
518
|
+
|
|
519
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-index.html#cfn-s3vectors-index-distancemetric
|
|
520
|
+
'''
|
|
521
|
+
result = self._values.get("distance_metric")
|
|
522
|
+
assert result is not None, "Required property 'distance_metric' is missing"
|
|
523
|
+
return typing.cast(builtins.str, result)
|
|
524
|
+
|
|
525
|
+
@builtins.property
|
|
526
|
+
def index_name(self) -> typing.Optional[builtins.str]:
|
|
527
|
+
'''The name of the vector index to create.
|
|
528
|
+
|
|
529
|
+
The index name must be between 3 and 63 characters long and can contain only lowercase letters, numbers, hyphens (-), and dots (.). The index name must be unique within the vector bucket.
|
|
530
|
+
|
|
531
|
+
If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the index name.
|
|
532
|
+
.. epigraph::
|
|
533
|
+
|
|
534
|
+
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.
|
|
535
|
+
|
|
536
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-index.html#cfn-s3vectors-index-indexname
|
|
537
|
+
'''
|
|
538
|
+
result = self._values.get("index_name")
|
|
539
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
540
|
+
|
|
541
|
+
@builtins.property
|
|
542
|
+
def metadata_configuration(
|
|
543
|
+
self,
|
|
544
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIndex.MetadataConfigurationProperty]]:
|
|
545
|
+
'''The metadata configuration for the vector index.
|
|
546
|
+
|
|
547
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-index.html#cfn-s3vectors-index-metadataconfiguration
|
|
548
|
+
'''
|
|
549
|
+
result = self._values.get("metadata_configuration")
|
|
550
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIndex.MetadataConfigurationProperty]], result)
|
|
551
|
+
|
|
552
|
+
@builtins.property
|
|
553
|
+
def vector_bucket_arn(self) -> typing.Optional[builtins.str]:
|
|
554
|
+
'''The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.
|
|
555
|
+
|
|
556
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-index.html#cfn-s3vectors-index-vectorbucketarn
|
|
557
|
+
'''
|
|
558
|
+
result = self._values.get("vector_bucket_arn")
|
|
559
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
560
|
+
|
|
561
|
+
@builtins.property
|
|
562
|
+
def vector_bucket_name(self) -> typing.Optional[builtins.str]:
|
|
563
|
+
'''The name of the vector bucket that contains the vector index.
|
|
564
|
+
|
|
565
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-index.html#cfn-s3vectors-index-vectorbucketname
|
|
566
|
+
'''
|
|
567
|
+
result = self._values.get("vector_bucket_name")
|
|
568
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
569
|
+
|
|
570
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
571
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
572
|
+
|
|
573
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
574
|
+
return not (rhs == self)
|
|
575
|
+
|
|
576
|
+
def __repr__(self) -> str:
|
|
577
|
+
return "CfnIndexProps(%s)" % ", ".join(
|
|
578
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
579
|
+
)
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
@jsii.implements(_IInspectable_c2943556, _IVectorBucketRef_238bcb24)
|
|
583
|
+
class CfnVectorBucket(
|
|
584
|
+
_CfnResource_9df397a6,
|
|
585
|
+
metaclass=jsii.JSIIMeta,
|
|
586
|
+
jsii_type="aws-cdk-lib.aws_s3vectors.CfnVectorBucket",
|
|
587
|
+
):
|
|
588
|
+
'''Defines an Amazon S3 vector bucket in the same AWS Region where you create the AWS CloudFormation stack.
|
|
589
|
+
|
|
590
|
+
Vector buckets are specialized storage containers designed for storing and managing vector data used in machine learning and AI applications. They provide optimized storage and retrieval capabilities for high-dimensional vector data.
|
|
591
|
+
|
|
592
|
+
To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see `DeletionPolicy attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html>`_ .
|
|
593
|
+
.. epigraph::
|
|
594
|
+
|
|
595
|
+
You can only delete empty vector buckets. Deletion fails for buckets that have contents.
|
|
596
|
+
|
|
597
|
+
- **Permissions** - The required permissions for CloudFormation to use are based on the operations that are performed on the stack.
|
|
598
|
+
- Create
|
|
599
|
+
- s3vectors:CreateVectorBucket
|
|
600
|
+
- s3vectors:GetVectorBucket
|
|
601
|
+
- kms:GenerateDataKey (if using KMS encryption)
|
|
602
|
+
- Read
|
|
603
|
+
- s3vectors:GetVectorBucket
|
|
604
|
+
- kms:GenerateDataKey (if using KMS encryption)
|
|
605
|
+
- Delete
|
|
606
|
+
- s3vectors:DeleteVectorBucket
|
|
607
|
+
- s3vectors:GetVectorBucket
|
|
608
|
+
- kms:GenerateDataKey (if using KMS encryption)
|
|
609
|
+
- List
|
|
610
|
+
- s3vectors:ListVectorBuckets
|
|
611
|
+
- kms:GenerateDataKey (if using KMS encryption)
|
|
612
|
+
|
|
613
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-vectorbucket.html
|
|
614
|
+
:cloudformationResource: AWS::S3Vectors::VectorBucket
|
|
615
|
+
:exampleMetadata: fixture=_generated
|
|
616
|
+
|
|
617
|
+
Example::
|
|
618
|
+
|
|
619
|
+
# The code below shows an example of how to instantiate this type.
|
|
620
|
+
# The values are placeholders you should change.
|
|
621
|
+
from aws_cdk import aws_s3vectors as s3vectors
|
|
622
|
+
|
|
623
|
+
cfn_vector_bucket = s3vectors.CfnVectorBucket(self, "MyCfnVectorBucket",
|
|
624
|
+
encryption_configuration=s3vectors.CfnVectorBucket.EncryptionConfigurationProperty(
|
|
625
|
+
kms_key_arn="kmsKeyArn",
|
|
626
|
+
sse_type="sseType"
|
|
627
|
+
),
|
|
628
|
+
vector_bucket_name="vectorBucketName"
|
|
629
|
+
)
|
|
630
|
+
'''
|
|
631
|
+
|
|
632
|
+
def __init__(
|
|
633
|
+
self,
|
|
634
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
635
|
+
id: builtins.str,
|
|
636
|
+
*,
|
|
637
|
+
encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnVectorBucket.EncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
638
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
639
|
+
) -> None:
|
|
640
|
+
'''Create a new ``AWS::S3Vectors::VectorBucket``.
|
|
641
|
+
|
|
642
|
+
:param scope: Scope in which this resource is defined.
|
|
643
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
644
|
+
:param encryption_configuration: The encryption configuration for the vector bucket.
|
|
645
|
+
:param vector_bucket_name: A name for the vector bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). The bucket name must be unique in the same AWS account for each AWS Region. 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 be between 3 and 63 characters long and must not contain uppercase characters or underscores. .. 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.
|
|
646
|
+
'''
|
|
647
|
+
if __debug__:
|
|
648
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a52d66a4aae762d071703714133bff3215199691ee6f06fec05144ec742e090e)
|
|
649
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
650
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
651
|
+
props = CfnVectorBucketProps(
|
|
652
|
+
encryption_configuration=encryption_configuration,
|
|
653
|
+
vector_bucket_name=vector_bucket_name,
|
|
654
|
+
)
|
|
655
|
+
|
|
656
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
657
|
+
|
|
658
|
+
@jsii.member(jsii_name="inspect")
|
|
659
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
660
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
661
|
+
|
|
662
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
663
|
+
'''
|
|
664
|
+
if __debug__:
|
|
665
|
+
type_hints = typing.get_type_hints(_typecheckingstub__640db6894c3240a3b378c5237337953d313c22d856cd2fb21a91ac21e141613c)
|
|
666
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
667
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
668
|
+
|
|
669
|
+
@jsii.member(jsii_name="renderProperties")
|
|
670
|
+
def _render_properties(
|
|
671
|
+
self,
|
|
672
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
673
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
674
|
+
'''
|
|
675
|
+
:param props: -
|
|
676
|
+
'''
|
|
677
|
+
if __debug__:
|
|
678
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1ac846d2ab15e1003f215128393cef109784fe6985ec04a5d2e373121e5ee1cf)
|
|
679
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
680
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
681
|
+
|
|
682
|
+
@jsii.python.classproperty
|
|
683
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
684
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
685
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
686
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
687
|
+
|
|
688
|
+
@builtins.property
|
|
689
|
+
@jsii.member(jsii_name="attrCreationTime")
|
|
690
|
+
def attr_creation_time(self) -> builtins.str:
|
|
691
|
+
'''Returns the date and time when the vector bucket was created.
|
|
692
|
+
|
|
693
|
+
Example: ``2024-12-21T10:30:00Z``
|
|
694
|
+
|
|
695
|
+
:cloudformationAttribute: CreationTime
|
|
696
|
+
'''
|
|
697
|
+
return typing.cast(builtins.str, jsii.get(self, "attrCreationTime"))
|
|
698
|
+
|
|
699
|
+
@builtins.property
|
|
700
|
+
@jsii.member(jsii_name="attrVectorBucketArn")
|
|
701
|
+
def attr_vector_bucket_arn(self) -> builtins.str:
|
|
702
|
+
'''Returns the Amazon Resource Name (ARN) of the specified vector bucket.
|
|
703
|
+
|
|
704
|
+
Example: ``arn:aws:s3vectors:us-east-1:123456789012:bucket/amzn-s3-demo-vector-bucket``
|
|
705
|
+
|
|
706
|
+
:cloudformationAttribute: VectorBucketArn
|
|
707
|
+
'''
|
|
708
|
+
return typing.cast(builtins.str, jsii.get(self, "attrVectorBucketArn"))
|
|
709
|
+
|
|
710
|
+
@builtins.property
|
|
711
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
712
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
713
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
714
|
+
|
|
715
|
+
@builtins.property
|
|
716
|
+
@jsii.member(jsii_name="vectorBucketRef")
|
|
717
|
+
def vector_bucket_ref(self) -> _VectorBucketReference_62393c93:
|
|
718
|
+
'''A reference to a VectorBucket resource.'''
|
|
719
|
+
return typing.cast(_VectorBucketReference_62393c93, jsii.get(self, "vectorBucketRef"))
|
|
720
|
+
|
|
721
|
+
@builtins.property
|
|
722
|
+
@jsii.member(jsii_name="encryptionConfiguration")
|
|
723
|
+
def encryption_configuration(
|
|
724
|
+
self,
|
|
725
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnVectorBucket.EncryptionConfigurationProperty"]]:
|
|
726
|
+
'''The encryption configuration for the vector bucket.'''
|
|
727
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnVectorBucket.EncryptionConfigurationProperty"]], jsii.get(self, "encryptionConfiguration"))
|
|
728
|
+
|
|
729
|
+
@encryption_configuration.setter
|
|
730
|
+
def encryption_configuration(
|
|
731
|
+
self,
|
|
732
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnVectorBucket.EncryptionConfigurationProperty"]],
|
|
733
|
+
) -> None:
|
|
734
|
+
if __debug__:
|
|
735
|
+
type_hints = typing.get_type_hints(_typecheckingstub__476996e4c3089c3364c3345d4c51c4d606b950b97248fc4afa1b8517c670f8f6)
|
|
736
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
737
|
+
jsii.set(self, "encryptionConfiguration", value) # pyright: ignore[reportArgumentType]
|
|
738
|
+
|
|
739
|
+
@builtins.property
|
|
740
|
+
@jsii.member(jsii_name="vectorBucketName")
|
|
741
|
+
def vector_bucket_name(self) -> typing.Optional[builtins.str]:
|
|
742
|
+
'''A name for the vector bucket.'''
|
|
743
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vectorBucketName"))
|
|
744
|
+
|
|
745
|
+
@vector_bucket_name.setter
|
|
746
|
+
def vector_bucket_name(self, value: typing.Optional[builtins.str]) -> None:
|
|
747
|
+
if __debug__:
|
|
748
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1879d6c9fc256da4dcb55ff2cd68263944a788d8c99c5f1e425ad9e64192a268)
|
|
749
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
750
|
+
jsii.set(self, "vectorBucketName", value) # pyright: ignore[reportArgumentType]
|
|
751
|
+
|
|
752
|
+
@jsii.data_type(
|
|
753
|
+
jsii_type="aws-cdk-lib.aws_s3vectors.CfnVectorBucket.EncryptionConfigurationProperty",
|
|
754
|
+
jsii_struct_bases=[],
|
|
755
|
+
name_mapping={"kms_key_arn": "kmsKeyArn", "sse_type": "sseType"},
|
|
756
|
+
)
|
|
757
|
+
class EncryptionConfigurationProperty:
|
|
758
|
+
def __init__(
|
|
759
|
+
self,
|
|
760
|
+
*,
|
|
761
|
+
kms_key_arn: typing.Optional[builtins.str] = None,
|
|
762
|
+
sse_type: typing.Optional[builtins.str] = None,
|
|
763
|
+
) -> None:
|
|
764
|
+
'''Specifies the encryption configuration for the vector bucket.
|
|
765
|
+
|
|
766
|
+
By default, all new vectors in Amazon S3 vector buckets use server-side encryption with Amazon S3 managed keys (SSE-S3), specifically AES256.
|
|
767
|
+
|
|
768
|
+
:param kms_key_arn: AWS Key Management Service (KMS) customer managed key ARN to use for the encryption configuration. This parameter is required if and only if ``SseType`` is set to ``aws:kms`` . You must specify the full ARN of the KMS key. Key IDs or key aliases aren't supported. .. epigraph:: Amazon S3 Vectors only supports symmetric encryption KMS keys. For more information, see `Asymmetric keys in AWS KMS <https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html>`_ in the *AWS Key Management Service Developer Guide* .
|
|
769
|
+
:param sse_type: The server-side encryption type to use for the encryption configuration of the vector bucket. Valid values are ``AES256`` for Amazon S3 managed keys and ``aws:kms`` for AWS KMS keys. Default: - "AES256"
|
|
770
|
+
|
|
771
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3vectors-vectorbucket-encryptionconfiguration.html
|
|
772
|
+
:exampleMetadata: fixture=_generated
|
|
773
|
+
|
|
774
|
+
Example::
|
|
775
|
+
|
|
776
|
+
# The code below shows an example of how to instantiate this type.
|
|
777
|
+
# The values are placeholders you should change.
|
|
778
|
+
from aws_cdk import aws_s3vectors as s3vectors
|
|
779
|
+
|
|
780
|
+
encryption_configuration_property = s3vectors.CfnVectorBucket.EncryptionConfigurationProperty(
|
|
781
|
+
kms_key_arn="kmsKeyArn",
|
|
782
|
+
sse_type="sseType"
|
|
783
|
+
)
|
|
784
|
+
'''
|
|
785
|
+
if __debug__:
|
|
786
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d4ba5067d69ad54e4dc886b50fef43813033e236d5cfc14a644bb2168b2cee94)
|
|
787
|
+
check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
|
|
788
|
+
check_type(argname="argument sse_type", value=sse_type, expected_type=type_hints["sse_type"])
|
|
789
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
790
|
+
if kms_key_arn is not None:
|
|
791
|
+
self._values["kms_key_arn"] = kms_key_arn
|
|
792
|
+
if sse_type is not None:
|
|
793
|
+
self._values["sse_type"] = sse_type
|
|
794
|
+
|
|
795
|
+
@builtins.property
|
|
796
|
+
def kms_key_arn(self) -> typing.Optional[builtins.str]:
|
|
797
|
+
'''AWS Key Management Service (KMS) customer managed key ARN to use for the encryption configuration.
|
|
798
|
+
|
|
799
|
+
This parameter is required if and only if ``SseType`` is set to ``aws:kms`` .
|
|
800
|
+
|
|
801
|
+
You must specify the full ARN of the KMS key. Key IDs or key aliases aren't supported.
|
|
802
|
+
.. epigraph::
|
|
803
|
+
|
|
804
|
+
Amazon S3 Vectors only supports symmetric encryption KMS keys. For more information, see `Asymmetric keys in AWS KMS <https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html>`_ in the *AWS Key Management Service Developer Guide* .
|
|
805
|
+
|
|
806
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3vectors-vectorbucket-encryptionconfiguration.html#cfn-s3vectors-vectorbucket-encryptionconfiguration-kmskeyarn
|
|
807
|
+
'''
|
|
808
|
+
result = self._values.get("kms_key_arn")
|
|
809
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
810
|
+
|
|
811
|
+
@builtins.property
|
|
812
|
+
def sse_type(self) -> typing.Optional[builtins.str]:
|
|
813
|
+
'''The server-side encryption type to use for the encryption configuration of the vector bucket.
|
|
814
|
+
|
|
815
|
+
Valid values are ``AES256`` for Amazon S3 managed keys and ``aws:kms`` for AWS KMS keys.
|
|
816
|
+
|
|
817
|
+
:default: - "AES256"
|
|
818
|
+
|
|
819
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3vectors-vectorbucket-encryptionconfiguration.html#cfn-s3vectors-vectorbucket-encryptionconfiguration-ssetype
|
|
820
|
+
'''
|
|
821
|
+
result = self._values.get("sse_type")
|
|
822
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
823
|
+
|
|
824
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
825
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
826
|
+
|
|
827
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
828
|
+
return not (rhs == self)
|
|
829
|
+
|
|
830
|
+
def __repr__(self) -> str:
|
|
831
|
+
return "EncryptionConfigurationProperty(%s)" % ", ".join(
|
|
832
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
833
|
+
)
|
|
834
|
+
|
|
835
|
+
|
|
836
|
+
@jsii.implements(_IInspectable_c2943556, _IVectorBucketPolicyRef_9ad4e2a8)
|
|
837
|
+
class CfnVectorBucketPolicy(
|
|
838
|
+
_CfnResource_9df397a6,
|
|
839
|
+
metaclass=jsii.JSIIMeta,
|
|
840
|
+
jsii_type="aws-cdk-lib.aws_s3vectors.CfnVectorBucketPolicy",
|
|
841
|
+
):
|
|
842
|
+
'''The ``AWS::S3Vectors::VectorBucketPolicy`` resource defines an Amazon S3 vector bucket policy to control access to an Amazon S3 vector bucket.
|
|
843
|
+
|
|
844
|
+
Vector bucket policies are written in JSON and allow you to grant or deny permissions across all (or a subset of) objects within a vector bucket.
|
|
845
|
+
|
|
846
|
+
You must specify either ``VectorBucketName`` or ``VectorBucketArn`` to identify the target bucket.
|
|
847
|
+
|
|
848
|
+
To control how AWS CloudFormation handles the vector bucket policy when the stack is deleted, you can set a deletion policy for your policy. You can choose to *retain* the policy or to *delete* the policy. For more information, see `DeletionPolicy attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html>`_ .
|
|
849
|
+
|
|
850
|
+
- **Permissions** - The required permissions for CloudFormation to use are based on the operations that are performed on the stack.
|
|
851
|
+
- Create
|
|
852
|
+
- s3vectors:GetVectorBucketPolicy
|
|
853
|
+
- s3vectors:PutVectorBucketPolicy
|
|
854
|
+
- Read
|
|
855
|
+
- s3vectors:GetVectorBucketPolicy
|
|
856
|
+
- Update
|
|
857
|
+
- s3vectors:GetVectorBucketPolicy
|
|
858
|
+
- s3vectors:PutVectorBucketPolicy
|
|
859
|
+
- Delete
|
|
860
|
+
- s3vectors:GetVectorBucketPolicy
|
|
861
|
+
- s3vectors:DeleteVectorBucketPolicy
|
|
862
|
+
- List
|
|
863
|
+
- s3vectors:GetVectorBucketPolicy
|
|
864
|
+
- s3vectors:ListVectorBuckets
|
|
865
|
+
|
|
866
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-vectorbucketpolicy.html
|
|
867
|
+
:cloudformationResource: AWS::S3Vectors::VectorBucketPolicy
|
|
868
|
+
:exampleMetadata: fixture=_generated
|
|
869
|
+
|
|
870
|
+
Example::
|
|
871
|
+
|
|
872
|
+
# The code below shows an example of how to instantiate this type.
|
|
873
|
+
# The values are placeholders you should change.
|
|
874
|
+
from aws_cdk import aws_s3vectors as s3vectors
|
|
875
|
+
|
|
876
|
+
# policy: Any
|
|
877
|
+
|
|
878
|
+
cfn_vector_bucket_policy = s3vectors.CfnVectorBucketPolicy(self, "MyCfnVectorBucketPolicy",
|
|
879
|
+
policy=policy,
|
|
880
|
+
|
|
881
|
+
# the properties below are optional
|
|
882
|
+
vector_bucket_arn="vectorBucketArn",
|
|
883
|
+
vector_bucket_name="vectorBucketName"
|
|
884
|
+
)
|
|
885
|
+
'''
|
|
886
|
+
|
|
887
|
+
def __init__(
|
|
888
|
+
self,
|
|
889
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
890
|
+
id: builtins.str,
|
|
891
|
+
*,
|
|
892
|
+
policy: typing.Any,
|
|
893
|
+
vector_bucket_arn: typing.Optional[builtins.str] = None,
|
|
894
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
895
|
+
) -> None:
|
|
896
|
+
'''Create a new ``AWS::S3Vectors::VectorBucketPolicy``.
|
|
897
|
+
|
|
898
|
+
:param scope: Scope in which this resource is defined.
|
|
899
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
900
|
+
:param policy: A policy document containing permissions to add to the specified vector bucket. In IAM , you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM .
|
|
901
|
+
:param vector_bucket_arn: The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.
|
|
902
|
+
:param vector_bucket_name: The name of the S3 vector bucket to which the policy applies.
|
|
903
|
+
'''
|
|
904
|
+
if __debug__:
|
|
905
|
+
type_hints = typing.get_type_hints(_typecheckingstub__aee2d22aedfbf922cb325dc74e1f86dfd5fddeabc946e682b7e7daff49602847)
|
|
906
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
907
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
908
|
+
props = CfnVectorBucketPolicyProps(
|
|
909
|
+
policy=policy,
|
|
910
|
+
vector_bucket_arn=vector_bucket_arn,
|
|
911
|
+
vector_bucket_name=vector_bucket_name,
|
|
912
|
+
)
|
|
913
|
+
|
|
914
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
915
|
+
|
|
916
|
+
@jsii.member(jsii_name="inspect")
|
|
917
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
918
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
919
|
+
|
|
920
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
921
|
+
'''
|
|
922
|
+
if __debug__:
|
|
923
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b009bbcea5fa7fa263cab9d9522e5e301535b1ade8033c93631254bc35724d59)
|
|
924
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
925
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
926
|
+
|
|
927
|
+
@jsii.member(jsii_name="renderProperties")
|
|
928
|
+
def _render_properties(
|
|
929
|
+
self,
|
|
930
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
931
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
932
|
+
'''
|
|
933
|
+
:param props: -
|
|
934
|
+
'''
|
|
935
|
+
if __debug__:
|
|
936
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d8f0d2d4e7a9dec45d4052937acaf1348456e0cc4ebdf7d82856c9846182f043)
|
|
937
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
938
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
939
|
+
|
|
940
|
+
@jsii.python.classproperty
|
|
941
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
942
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
943
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
944
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
945
|
+
|
|
946
|
+
@builtins.property
|
|
947
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
948
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
949
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
950
|
+
|
|
951
|
+
@builtins.property
|
|
952
|
+
@jsii.member(jsii_name="vectorBucketPolicyRef")
|
|
953
|
+
def vector_bucket_policy_ref(self) -> _VectorBucketPolicyReference_3f2d6cbc:
|
|
954
|
+
'''A reference to a VectorBucketPolicy resource.'''
|
|
955
|
+
return typing.cast(_VectorBucketPolicyReference_3f2d6cbc, jsii.get(self, "vectorBucketPolicyRef"))
|
|
956
|
+
|
|
957
|
+
@builtins.property
|
|
958
|
+
@jsii.member(jsii_name="policy")
|
|
959
|
+
def policy(self) -> typing.Any:
|
|
960
|
+
'''A policy document containing permissions to add to the specified vector bucket.'''
|
|
961
|
+
return typing.cast(typing.Any, jsii.get(self, "policy"))
|
|
962
|
+
|
|
963
|
+
@policy.setter
|
|
964
|
+
def policy(self, value: typing.Any) -> None:
|
|
965
|
+
if __debug__:
|
|
966
|
+
type_hints = typing.get_type_hints(_typecheckingstub__13f1a283deb175d320cdff8d43b010c30ccafabd7821351f0b5c86ca7a48b31b)
|
|
967
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
968
|
+
jsii.set(self, "policy", value) # pyright: ignore[reportArgumentType]
|
|
969
|
+
|
|
970
|
+
@builtins.property
|
|
971
|
+
@jsii.member(jsii_name="vectorBucketArn")
|
|
972
|
+
def vector_bucket_arn(self) -> typing.Optional[builtins.str]:
|
|
973
|
+
'''The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.'''
|
|
974
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vectorBucketArn"))
|
|
975
|
+
|
|
976
|
+
@vector_bucket_arn.setter
|
|
977
|
+
def vector_bucket_arn(self, value: typing.Optional[builtins.str]) -> None:
|
|
978
|
+
if __debug__:
|
|
979
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1ba261025c54aa0fb18a9b5b2e3fab72be4ad30d1d852fc5f1492aa6911a8aad)
|
|
980
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
981
|
+
jsii.set(self, "vectorBucketArn", value) # pyright: ignore[reportArgumentType]
|
|
982
|
+
|
|
983
|
+
@builtins.property
|
|
984
|
+
@jsii.member(jsii_name="vectorBucketName")
|
|
985
|
+
def vector_bucket_name(self) -> typing.Optional[builtins.str]:
|
|
986
|
+
'''The name of the S3 vector bucket to which the policy applies.'''
|
|
987
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vectorBucketName"))
|
|
988
|
+
|
|
989
|
+
@vector_bucket_name.setter
|
|
990
|
+
def vector_bucket_name(self, value: typing.Optional[builtins.str]) -> None:
|
|
991
|
+
if __debug__:
|
|
992
|
+
type_hints = typing.get_type_hints(_typecheckingstub__cca6053ffe0f77fd07d26cceada81f3e3e9e5b832049344b1f7d88c006f06d45)
|
|
993
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
994
|
+
jsii.set(self, "vectorBucketName", value) # pyright: ignore[reportArgumentType]
|
|
995
|
+
|
|
996
|
+
|
|
997
|
+
@jsii.data_type(
|
|
998
|
+
jsii_type="aws-cdk-lib.aws_s3vectors.CfnVectorBucketPolicyProps",
|
|
999
|
+
jsii_struct_bases=[],
|
|
1000
|
+
name_mapping={
|
|
1001
|
+
"policy": "policy",
|
|
1002
|
+
"vector_bucket_arn": "vectorBucketArn",
|
|
1003
|
+
"vector_bucket_name": "vectorBucketName",
|
|
1004
|
+
},
|
|
1005
|
+
)
|
|
1006
|
+
class CfnVectorBucketPolicyProps:
|
|
1007
|
+
def __init__(
|
|
1008
|
+
self,
|
|
1009
|
+
*,
|
|
1010
|
+
policy: typing.Any,
|
|
1011
|
+
vector_bucket_arn: typing.Optional[builtins.str] = None,
|
|
1012
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
1013
|
+
) -> None:
|
|
1014
|
+
'''Properties for defining a ``CfnVectorBucketPolicy``.
|
|
1015
|
+
|
|
1016
|
+
:param policy: A policy document containing permissions to add to the specified vector bucket. In IAM , you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM .
|
|
1017
|
+
:param vector_bucket_arn: The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.
|
|
1018
|
+
:param vector_bucket_name: The name of the S3 vector bucket to which the policy applies.
|
|
1019
|
+
|
|
1020
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-vectorbucketpolicy.html
|
|
1021
|
+
:exampleMetadata: fixture=_generated
|
|
1022
|
+
|
|
1023
|
+
Example::
|
|
1024
|
+
|
|
1025
|
+
# The code below shows an example of how to instantiate this type.
|
|
1026
|
+
# The values are placeholders you should change.
|
|
1027
|
+
from aws_cdk import aws_s3vectors as s3vectors
|
|
1028
|
+
|
|
1029
|
+
# policy: Any
|
|
1030
|
+
|
|
1031
|
+
cfn_vector_bucket_policy_props = s3vectors.CfnVectorBucketPolicyProps(
|
|
1032
|
+
policy=policy,
|
|
1033
|
+
|
|
1034
|
+
# the properties below are optional
|
|
1035
|
+
vector_bucket_arn="vectorBucketArn",
|
|
1036
|
+
vector_bucket_name="vectorBucketName"
|
|
1037
|
+
)
|
|
1038
|
+
'''
|
|
1039
|
+
if __debug__:
|
|
1040
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1f526fb025093579ae7085ed34610b038bedad50bc4dda479dea96c217e4198e)
|
|
1041
|
+
check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
|
|
1042
|
+
check_type(argname="argument vector_bucket_arn", value=vector_bucket_arn, expected_type=type_hints["vector_bucket_arn"])
|
|
1043
|
+
check_type(argname="argument vector_bucket_name", value=vector_bucket_name, expected_type=type_hints["vector_bucket_name"])
|
|
1044
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1045
|
+
"policy": policy,
|
|
1046
|
+
}
|
|
1047
|
+
if vector_bucket_arn is not None:
|
|
1048
|
+
self._values["vector_bucket_arn"] = vector_bucket_arn
|
|
1049
|
+
if vector_bucket_name is not None:
|
|
1050
|
+
self._values["vector_bucket_name"] = vector_bucket_name
|
|
1051
|
+
|
|
1052
|
+
@builtins.property
|
|
1053
|
+
def policy(self) -> typing.Any:
|
|
1054
|
+
'''A policy document containing permissions to add to the specified vector bucket.
|
|
1055
|
+
|
|
1056
|
+
In IAM , you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM .
|
|
1057
|
+
|
|
1058
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-vectorbucketpolicy.html#cfn-s3vectors-vectorbucketpolicy-policy
|
|
1059
|
+
'''
|
|
1060
|
+
result = self._values.get("policy")
|
|
1061
|
+
assert result is not None, "Required property 'policy' is missing"
|
|
1062
|
+
return typing.cast(typing.Any, result)
|
|
1063
|
+
|
|
1064
|
+
@builtins.property
|
|
1065
|
+
def vector_bucket_arn(self) -> typing.Optional[builtins.str]:
|
|
1066
|
+
'''The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.
|
|
1067
|
+
|
|
1068
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-vectorbucketpolicy.html#cfn-s3vectors-vectorbucketpolicy-vectorbucketarn
|
|
1069
|
+
'''
|
|
1070
|
+
result = self._values.get("vector_bucket_arn")
|
|
1071
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
1072
|
+
|
|
1073
|
+
@builtins.property
|
|
1074
|
+
def vector_bucket_name(self) -> typing.Optional[builtins.str]:
|
|
1075
|
+
'''The name of the S3 vector bucket to which the policy applies.
|
|
1076
|
+
|
|
1077
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-vectorbucketpolicy.html#cfn-s3vectors-vectorbucketpolicy-vectorbucketname
|
|
1078
|
+
'''
|
|
1079
|
+
result = self._values.get("vector_bucket_name")
|
|
1080
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
1081
|
+
|
|
1082
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1083
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1084
|
+
|
|
1085
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1086
|
+
return not (rhs == self)
|
|
1087
|
+
|
|
1088
|
+
def __repr__(self) -> str:
|
|
1089
|
+
return "CfnVectorBucketPolicyProps(%s)" % ", ".join(
|
|
1090
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1091
|
+
)
|
|
1092
|
+
|
|
1093
|
+
|
|
1094
|
+
@jsii.data_type(
|
|
1095
|
+
jsii_type="aws-cdk-lib.aws_s3vectors.CfnVectorBucketProps",
|
|
1096
|
+
jsii_struct_bases=[],
|
|
1097
|
+
name_mapping={
|
|
1098
|
+
"encryption_configuration": "encryptionConfiguration",
|
|
1099
|
+
"vector_bucket_name": "vectorBucketName",
|
|
1100
|
+
},
|
|
1101
|
+
)
|
|
1102
|
+
class CfnVectorBucketProps:
|
|
1103
|
+
def __init__(
|
|
1104
|
+
self,
|
|
1105
|
+
*,
|
|
1106
|
+
encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVectorBucket.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1107
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
1108
|
+
) -> None:
|
|
1109
|
+
'''Properties for defining a ``CfnVectorBucket``.
|
|
1110
|
+
|
|
1111
|
+
:param encryption_configuration: The encryption configuration for the vector bucket.
|
|
1112
|
+
:param vector_bucket_name: A name for the vector bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). The bucket name must be unique in the same AWS account for each AWS Region. 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 be between 3 and 63 characters long and must not contain uppercase characters or underscores. .. 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.
|
|
1113
|
+
|
|
1114
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-vectorbucket.html
|
|
1115
|
+
:exampleMetadata: fixture=_generated
|
|
1116
|
+
|
|
1117
|
+
Example::
|
|
1118
|
+
|
|
1119
|
+
# The code below shows an example of how to instantiate this type.
|
|
1120
|
+
# The values are placeholders you should change.
|
|
1121
|
+
from aws_cdk import aws_s3vectors as s3vectors
|
|
1122
|
+
|
|
1123
|
+
cfn_vector_bucket_props = s3vectors.CfnVectorBucketProps(
|
|
1124
|
+
encryption_configuration=s3vectors.CfnVectorBucket.EncryptionConfigurationProperty(
|
|
1125
|
+
kms_key_arn="kmsKeyArn",
|
|
1126
|
+
sse_type="sseType"
|
|
1127
|
+
),
|
|
1128
|
+
vector_bucket_name="vectorBucketName"
|
|
1129
|
+
)
|
|
1130
|
+
'''
|
|
1131
|
+
if __debug__:
|
|
1132
|
+
type_hints = typing.get_type_hints(_typecheckingstub__557f3461f0c9f94a1c325dd824a3303ad88eff46565842be7f5c9f62ac2ce7dc)
|
|
1133
|
+
check_type(argname="argument encryption_configuration", value=encryption_configuration, expected_type=type_hints["encryption_configuration"])
|
|
1134
|
+
check_type(argname="argument vector_bucket_name", value=vector_bucket_name, expected_type=type_hints["vector_bucket_name"])
|
|
1135
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
1136
|
+
if encryption_configuration is not None:
|
|
1137
|
+
self._values["encryption_configuration"] = encryption_configuration
|
|
1138
|
+
if vector_bucket_name is not None:
|
|
1139
|
+
self._values["vector_bucket_name"] = vector_bucket_name
|
|
1140
|
+
|
|
1141
|
+
@builtins.property
|
|
1142
|
+
def encryption_configuration(
|
|
1143
|
+
self,
|
|
1144
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnVectorBucket.EncryptionConfigurationProperty]]:
|
|
1145
|
+
'''The encryption configuration for the vector bucket.
|
|
1146
|
+
|
|
1147
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-vectorbucket.html#cfn-s3vectors-vectorbucket-encryptionconfiguration
|
|
1148
|
+
'''
|
|
1149
|
+
result = self._values.get("encryption_configuration")
|
|
1150
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnVectorBucket.EncryptionConfigurationProperty]], result)
|
|
1151
|
+
|
|
1152
|
+
@builtins.property
|
|
1153
|
+
def vector_bucket_name(self) -> typing.Optional[builtins.str]:
|
|
1154
|
+
'''A name for the vector bucket.
|
|
1155
|
+
|
|
1156
|
+
The bucket name must contain only lowercase letters, numbers, and hyphens (-). The bucket name must be unique in the same AWS account for each AWS Region. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name.
|
|
1157
|
+
|
|
1158
|
+
The bucket name must be between 3 and 63 characters long and must not contain uppercase characters or underscores.
|
|
1159
|
+
.. epigraph::
|
|
1160
|
+
|
|
1161
|
+
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.
|
|
1162
|
+
|
|
1163
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3vectors-vectorbucket.html#cfn-s3vectors-vectorbucket-vectorbucketname
|
|
1164
|
+
'''
|
|
1165
|
+
result = self._values.get("vector_bucket_name")
|
|
1166
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
1167
|
+
|
|
1168
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1169
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1170
|
+
|
|
1171
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1172
|
+
return not (rhs == self)
|
|
1173
|
+
|
|
1174
|
+
def __repr__(self) -> str:
|
|
1175
|
+
return "CfnVectorBucketProps(%s)" % ", ".join(
|
|
1176
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1177
|
+
)
|
|
1178
|
+
|
|
1179
|
+
|
|
1180
|
+
__all__ = [
|
|
1181
|
+
"CfnIndex",
|
|
1182
|
+
"CfnIndexProps",
|
|
1183
|
+
"CfnVectorBucket",
|
|
1184
|
+
"CfnVectorBucketPolicy",
|
|
1185
|
+
"CfnVectorBucketPolicyProps",
|
|
1186
|
+
"CfnVectorBucketProps",
|
|
1187
|
+
]
|
|
1188
|
+
|
|
1189
|
+
publication.publish()
|
|
1190
|
+
|
|
1191
|
+
def _typecheckingstub__87bd43a194666dd054aecee5dc42b978d33dae31b98b1bacec49341d4916205e(
|
|
1192
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1193
|
+
id: builtins.str,
|
|
1194
|
+
*,
|
|
1195
|
+
data_type: builtins.str,
|
|
1196
|
+
dimension: jsii.Number,
|
|
1197
|
+
distance_metric: builtins.str,
|
|
1198
|
+
index_name: typing.Optional[builtins.str] = None,
|
|
1199
|
+
metadata_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIndex.MetadataConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1200
|
+
vector_bucket_arn: typing.Optional[builtins.str] = None,
|
|
1201
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
1202
|
+
) -> None:
|
|
1203
|
+
"""Type checking stubs"""
|
|
1204
|
+
pass
|
|
1205
|
+
|
|
1206
|
+
def _typecheckingstub__abf75f37384ae6010cf34366284fd709b9bf09472bc476d814cde62f1244e1f5(
|
|
1207
|
+
inspector: _TreeInspector_488e0dd5,
|
|
1208
|
+
) -> None:
|
|
1209
|
+
"""Type checking stubs"""
|
|
1210
|
+
pass
|
|
1211
|
+
|
|
1212
|
+
def _typecheckingstub__731726592378e5451eb8d8956c8a160ef274b5bd0d04312393ac06dda83e154f(
|
|
1213
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
1214
|
+
) -> None:
|
|
1215
|
+
"""Type checking stubs"""
|
|
1216
|
+
pass
|
|
1217
|
+
|
|
1218
|
+
def _typecheckingstub__c823d66dd49125b2784b64987a69c1442232d36162528420c812cdaf0483bb62(
|
|
1219
|
+
value: builtins.str,
|
|
1220
|
+
) -> None:
|
|
1221
|
+
"""Type checking stubs"""
|
|
1222
|
+
pass
|
|
1223
|
+
|
|
1224
|
+
def _typecheckingstub__709ca3449db711fe8736cb15c71a260517a124f93ed8f0f8ea0fd07224b34491(
|
|
1225
|
+
value: jsii.Number,
|
|
1226
|
+
) -> None:
|
|
1227
|
+
"""Type checking stubs"""
|
|
1228
|
+
pass
|
|
1229
|
+
|
|
1230
|
+
def _typecheckingstub__fd2e189f3b0010c6a77fa4f43ad73f492b5e1099536bd12a0ebe077c09648a0b(
|
|
1231
|
+
value: builtins.str,
|
|
1232
|
+
) -> None:
|
|
1233
|
+
"""Type checking stubs"""
|
|
1234
|
+
pass
|
|
1235
|
+
|
|
1236
|
+
def _typecheckingstub__2aff851423be8566880565e79db1928638490e19822427a39ecb4692fac23aba(
|
|
1237
|
+
value: typing.Optional[builtins.str],
|
|
1238
|
+
) -> None:
|
|
1239
|
+
"""Type checking stubs"""
|
|
1240
|
+
pass
|
|
1241
|
+
|
|
1242
|
+
def _typecheckingstub__adf0789238c3ff54ec752516d17506a5dc3025daf5543ed37b3703a9638c6ce3(
|
|
1243
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIndex.MetadataConfigurationProperty]],
|
|
1244
|
+
) -> None:
|
|
1245
|
+
"""Type checking stubs"""
|
|
1246
|
+
pass
|
|
1247
|
+
|
|
1248
|
+
def _typecheckingstub__dac369cc81e6a72eae40497750fec7e4bb88a8f4e2eb0a59dcbce3ecef2449ec(
|
|
1249
|
+
value: typing.Optional[builtins.str],
|
|
1250
|
+
) -> None:
|
|
1251
|
+
"""Type checking stubs"""
|
|
1252
|
+
pass
|
|
1253
|
+
|
|
1254
|
+
def _typecheckingstub__626d4bf5143365f338c97aea670a95f8c1fbfa0ad3a9cc00928821e5edb04014(
|
|
1255
|
+
value: typing.Optional[builtins.str],
|
|
1256
|
+
) -> None:
|
|
1257
|
+
"""Type checking stubs"""
|
|
1258
|
+
pass
|
|
1259
|
+
|
|
1260
|
+
def _typecheckingstub__02647dc0f92f11b90c5132d15f87d8d903be3aad20d526f7d8a526c8d3fc1268(
|
|
1261
|
+
*,
|
|
1262
|
+
non_filterable_metadata_keys: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1263
|
+
) -> None:
|
|
1264
|
+
"""Type checking stubs"""
|
|
1265
|
+
pass
|
|
1266
|
+
|
|
1267
|
+
def _typecheckingstub__1ea84a5df8ebf668282b156128f8a09e7618a68ade5fffdf6ff86d39157f5a5d(
|
|
1268
|
+
*,
|
|
1269
|
+
data_type: builtins.str,
|
|
1270
|
+
dimension: jsii.Number,
|
|
1271
|
+
distance_metric: builtins.str,
|
|
1272
|
+
index_name: typing.Optional[builtins.str] = None,
|
|
1273
|
+
metadata_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIndex.MetadataConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1274
|
+
vector_bucket_arn: typing.Optional[builtins.str] = None,
|
|
1275
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
1276
|
+
) -> None:
|
|
1277
|
+
"""Type checking stubs"""
|
|
1278
|
+
pass
|
|
1279
|
+
|
|
1280
|
+
def _typecheckingstub__a52d66a4aae762d071703714133bff3215199691ee6f06fec05144ec742e090e(
|
|
1281
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1282
|
+
id: builtins.str,
|
|
1283
|
+
*,
|
|
1284
|
+
encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVectorBucket.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1285
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
1286
|
+
) -> None:
|
|
1287
|
+
"""Type checking stubs"""
|
|
1288
|
+
pass
|
|
1289
|
+
|
|
1290
|
+
def _typecheckingstub__640db6894c3240a3b378c5237337953d313c22d856cd2fb21a91ac21e141613c(
|
|
1291
|
+
inspector: _TreeInspector_488e0dd5,
|
|
1292
|
+
) -> None:
|
|
1293
|
+
"""Type checking stubs"""
|
|
1294
|
+
pass
|
|
1295
|
+
|
|
1296
|
+
def _typecheckingstub__1ac846d2ab15e1003f215128393cef109784fe6985ec04a5d2e373121e5ee1cf(
|
|
1297
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
1298
|
+
) -> None:
|
|
1299
|
+
"""Type checking stubs"""
|
|
1300
|
+
pass
|
|
1301
|
+
|
|
1302
|
+
def _typecheckingstub__476996e4c3089c3364c3345d4c51c4d606b950b97248fc4afa1b8517c670f8f6(
|
|
1303
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnVectorBucket.EncryptionConfigurationProperty]],
|
|
1304
|
+
) -> None:
|
|
1305
|
+
"""Type checking stubs"""
|
|
1306
|
+
pass
|
|
1307
|
+
|
|
1308
|
+
def _typecheckingstub__1879d6c9fc256da4dcb55ff2cd68263944a788d8c99c5f1e425ad9e64192a268(
|
|
1309
|
+
value: typing.Optional[builtins.str],
|
|
1310
|
+
) -> None:
|
|
1311
|
+
"""Type checking stubs"""
|
|
1312
|
+
pass
|
|
1313
|
+
|
|
1314
|
+
def _typecheckingstub__d4ba5067d69ad54e4dc886b50fef43813033e236d5cfc14a644bb2168b2cee94(
|
|
1315
|
+
*,
|
|
1316
|
+
kms_key_arn: typing.Optional[builtins.str] = None,
|
|
1317
|
+
sse_type: typing.Optional[builtins.str] = None,
|
|
1318
|
+
) -> None:
|
|
1319
|
+
"""Type checking stubs"""
|
|
1320
|
+
pass
|
|
1321
|
+
|
|
1322
|
+
def _typecheckingstub__aee2d22aedfbf922cb325dc74e1f86dfd5fddeabc946e682b7e7daff49602847(
|
|
1323
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1324
|
+
id: builtins.str,
|
|
1325
|
+
*,
|
|
1326
|
+
policy: typing.Any,
|
|
1327
|
+
vector_bucket_arn: typing.Optional[builtins.str] = None,
|
|
1328
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
1329
|
+
) -> None:
|
|
1330
|
+
"""Type checking stubs"""
|
|
1331
|
+
pass
|
|
1332
|
+
|
|
1333
|
+
def _typecheckingstub__b009bbcea5fa7fa263cab9d9522e5e301535b1ade8033c93631254bc35724d59(
|
|
1334
|
+
inspector: _TreeInspector_488e0dd5,
|
|
1335
|
+
) -> None:
|
|
1336
|
+
"""Type checking stubs"""
|
|
1337
|
+
pass
|
|
1338
|
+
|
|
1339
|
+
def _typecheckingstub__d8f0d2d4e7a9dec45d4052937acaf1348456e0cc4ebdf7d82856c9846182f043(
|
|
1340
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
1341
|
+
) -> None:
|
|
1342
|
+
"""Type checking stubs"""
|
|
1343
|
+
pass
|
|
1344
|
+
|
|
1345
|
+
def _typecheckingstub__13f1a283deb175d320cdff8d43b010c30ccafabd7821351f0b5c86ca7a48b31b(
|
|
1346
|
+
value: typing.Any,
|
|
1347
|
+
) -> None:
|
|
1348
|
+
"""Type checking stubs"""
|
|
1349
|
+
pass
|
|
1350
|
+
|
|
1351
|
+
def _typecheckingstub__1ba261025c54aa0fb18a9b5b2e3fab72be4ad30d1d852fc5f1492aa6911a8aad(
|
|
1352
|
+
value: typing.Optional[builtins.str],
|
|
1353
|
+
) -> None:
|
|
1354
|
+
"""Type checking stubs"""
|
|
1355
|
+
pass
|
|
1356
|
+
|
|
1357
|
+
def _typecheckingstub__cca6053ffe0f77fd07d26cceada81f3e3e9e5b832049344b1f7d88c006f06d45(
|
|
1358
|
+
value: typing.Optional[builtins.str],
|
|
1359
|
+
) -> None:
|
|
1360
|
+
"""Type checking stubs"""
|
|
1361
|
+
pass
|
|
1362
|
+
|
|
1363
|
+
def _typecheckingstub__1f526fb025093579ae7085ed34610b038bedad50bc4dda479dea96c217e4198e(
|
|
1364
|
+
*,
|
|
1365
|
+
policy: typing.Any,
|
|
1366
|
+
vector_bucket_arn: typing.Optional[builtins.str] = None,
|
|
1367
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
1368
|
+
) -> None:
|
|
1369
|
+
"""Type checking stubs"""
|
|
1370
|
+
pass
|
|
1371
|
+
|
|
1372
|
+
def _typecheckingstub__557f3461f0c9f94a1c325dd824a3303ad88eff46565842be7f5c9f62ac2ce7dc(
|
|
1373
|
+
*,
|
|
1374
|
+
encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVectorBucket.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1375
|
+
vector_bucket_name: typing.Optional[builtins.str] = None,
|
|
1376
|
+
) -> None:
|
|
1377
|
+
"""Type checking stubs"""
|
|
1378
|
+
pass
|