aws-cdk-lib 2.154.0__py3-none-any.whl → 2.155.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.

Files changed (35) hide show
  1. aws_cdk/_jsii/__init__.py +1 -1
  2. aws_cdk/_jsii/{aws-cdk-lib@2.154.0.jsii.tgz → aws-cdk-lib@2.155.0.jsii.tgz} +0 -0
  3. aws_cdk/assertions/__init__.py +17 -17
  4. aws_cdk/aws_apigatewayv2/__init__.py +13 -14
  5. aws_cdk/aws_bedrock/__init__.py +2672 -306
  6. aws_cdk/aws_cloudfront/__init__.py +20 -5
  7. aws_cdk/aws_codebuild/__init__.py +384 -4
  8. aws_cdk/aws_ec2/__init__.py +246 -47
  9. aws_cdk/aws_ecs/__init__.py +5 -3
  10. aws_cdk/aws_eks/__init__.py +34 -4
  11. aws_cdk/aws_gamelift/__init__.py +52 -40
  12. aws_cdk/aws_glue/__init__.py +55 -4
  13. aws_cdk/aws_imagebuilder/__init__.py +6 -6
  14. aws_cdk/aws_ivs/__init__.py +460 -2
  15. aws_cdk/aws_kms/__init__.py +36 -0
  16. aws_cdk/aws_lambda/__init__.py +38 -23
  17. aws_cdk/aws_lambda_event_sources/__init__.py +27 -0
  18. aws_cdk/aws_medialive/__init__.py +41 -0
  19. aws_cdk/aws_msk/__init__.py +88 -0
  20. aws_cdk/aws_rds/__init__.py +6 -0
  21. aws_cdk/aws_sagemaker/__init__.py +2 -2
  22. aws_cdk/aws_secretsmanager/__init__.py +3 -2
  23. aws_cdk/aws_ses/__init__.py +7 -7
  24. aws_cdk/aws_ssm/__init__.py +5 -5
  25. aws_cdk/aws_ssmcontacts/__init__.py +12 -0
  26. aws_cdk/aws_stepfunctions/__init__.py +12 -14
  27. aws_cdk/aws_stepfunctions_tasks/__init__.py +76 -0
  28. aws_cdk/aws_synthetics/__init__.py +13 -0
  29. aws_cdk/custom_resources/__init__.py +113 -2
  30. {aws_cdk_lib-2.154.0.dist-info → aws_cdk_lib-2.155.0.dist-info}/METADATA +1 -1
  31. {aws_cdk_lib-2.154.0.dist-info → aws_cdk_lib-2.155.0.dist-info}/RECORD +35 -35
  32. {aws_cdk_lib-2.154.0.dist-info → aws_cdk_lib-2.155.0.dist-info}/LICENSE +0 -0
  33. {aws_cdk_lib-2.154.0.dist-info → aws_cdk_lib-2.155.0.dist-info}/NOTICE +0 -0
  34. {aws_cdk_lib-2.154.0.dist-info → aws_cdk_lib-2.155.0.dist-info}/WHEEL +0 -0
  35. {aws_cdk_lib-2.154.0.dist-info → aws_cdk_lib-2.155.0.dist-info}/top_level.txt +0 -0
@@ -2847,6 +2847,118 @@ class CfnDataSource(
2847
2847
  from aws_cdk import aws_bedrock as bedrock
2848
2848
 
2849
2849
  cfn_data_source = bedrock.CfnDataSource(self, "MyCfnDataSource",
2850
+ data_source_configuration=bedrock.CfnDataSource.DataSourceConfigurationProperty(
2851
+ type="type",
2852
+
2853
+ # the properties below are optional
2854
+ confluence_configuration=bedrock.CfnDataSource.ConfluenceDataSourceConfigurationProperty(
2855
+ source_configuration=bedrock.CfnDataSource.ConfluenceSourceConfigurationProperty(
2856
+ auth_type="authType",
2857
+ credentials_secret_arn="credentialsSecretArn",
2858
+ host_type="hostType",
2859
+ host_url="hostUrl"
2860
+ ),
2861
+
2862
+ # the properties below are optional
2863
+ crawler_configuration=bedrock.CfnDataSource.ConfluenceCrawlerConfigurationProperty(
2864
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
2865
+ type="type",
2866
+
2867
+ # the properties below are optional
2868
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
2869
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
2870
+ object_type="objectType",
2871
+
2872
+ # the properties below are optional
2873
+ exclusion_filters=["exclusionFilters"],
2874
+ inclusion_filters=["inclusionFilters"]
2875
+ )]
2876
+ )
2877
+ )
2878
+ )
2879
+ ),
2880
+ s3_configuration=bedrock.CfnDataSource.S3DataSourceConfigurationProperty(
2881
+ bucket_arn="bucketArn",
2882
+
2883
+ # the properties below are optional
2884
+ bucket_owner_account_id="bucketOwnerAccountId",
2885
+ inclusion_prefixes=["inclusionPrefixes"]
2886
+ ),
2887
+ salesforce_configuration=bedrock.CfnDataSource.SalesforceDataSourceConfigurationProperty(
2888
+ source_configuration=bedrock.CfnDataSource.SalesforceSourceConfigurationProperty(
2889
+ auth_type="authType",
2890
+ credentials_secret_arn="credentialsSecretArn",
2891
+ host_url="hostUrl"
2892
+ ),
2893
+
2894
+ # the properties below are optional
2895
+ crawler_configuration=bedrock.CfnDataSource.SalesforceCrawlerConfigurationProperty(
2896
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
2897
+ type="type",
2898
+
2899
+ # the properties below are optional
2900
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
2901
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
2902
+ object_type="objectType",
2903
+
2904
+ # the properties below are optional
2905
+ exclusion_filters=["exclusionFilters"],
2906
+ inclusion_filters=["inclusionFilters"]
2907
+ )]
2908
+ )
2909
+ )
2910
+ )
2911
+ ),
2912
+ share_point_configuration=bedrock.CfnDataSource.SharePointDataSourceConfigurationProperty(
2913
+ source_configuration=bedrock.CfnDataSource.SharePointSourceConfigurationProperty(
2914
+ auth_type="authType",
2915
+ credentials_secret_arn="credentialsSecretArn",
2916
+ domain="domain",
2917
+ host_type="hostType",
2918
+ site_urls=["siteUrls"],
2919
+
2920
+ # the properties below are optional
2921
+ tenant_id="tenantId"
2922
+ ),
2923
+
2924
+ # the properties below are optional
2925
+ crawler_configuration=bedrock.CfnDataSource.SharePointCrawlerConfigurationProperty(
2926
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
2927
+ type="type",
2928
+
2929
+ # the properties below are optional
2930
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
2931
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
2932
+ object_type="objectType",
2933
+
2934
+ # the properties below are optional
2935
+ exclusion_filters=["exclusionFilters"],
2936
+ inclusion_filters=["inclusionFilters"]
2937
+ )]
2938
+ )
2939
+ )
2940
+ )
2941
+ ),
2942
+ web_configuration=bedrock.CfnDataSource.WebDataSourceConfigurationProperty(
2943
+ source_configuration=bedrock.CfnDataSource.WebSourceConfigurationProperty(
2944
+ url_configuration=bedrock.CfnDataSource.UrlConfigurationProperty(
2945
+ seed_urls=[bedrock.CfnDataSource.SeedUrlProperty(
2946
+ url="url"
2947
+ )]
2948
+ )
2949
+ ),
2950
+
2951
+ # the properties below are optional
2952
+ crawler_configuration=bedrock.CfnDataSource.WebCrawlerConfigurationProperty(
2953
+ crawler_limits=bedrock.CfnDataSource.WebCrawlerLimitsProperty(
2954
+ rate_limit=123
2955
+ ),
2956
+ exclusion_filters=["exclusionFilters"],
2957
+ inclusion_filters=["inclusionFilters"],
2958
+ scope="scope"
2959
+ )
2960
+ )
2961
+ ),
2850
2962
  knowledge_base_id="knowledgeBaseId",
2851
2963
  name="name",
2852
2964
 
@@ -2914,6 +3026,7 @@ class CfnDataSource(
2914
3026
  scope: _constructs_77d1e7e8.Construct,
2915
3027
  id: builtins.str,
2916
3028
  *,
3029
+ data_source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.DataSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
2917
3030
  knowledge_base_id: builtins.str,
2918
3031
  name: builtins.str,
2919
3032
  data_deletion_policy: typing.Optional[builtins.str] = None,
@@ -2924,6 +3037,7 @@ class CfnDataSource(
2924
3037
  '''
2925
3038
  :param scope: Scope in which this resource is defined.
2926
3039
  :param id: Construct identifier for this resource (unique in its scope).
3040
+ :param data_source_configuration: The connection configuration for the data source.
2927
3041
  :param knowledge_base_id: The unique identifier of the knowledge base to which the data source belongs.
2928
3042
  :param name: The name of the data source.
2929
3043
  :param data_deletion_policy: The data deletion policy for the data source.
@@ -2936,6 +3050,7 @@ class CfnDataSource(
2936
3050
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2937
3051
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2938
3052
  props = CfnDataSourceProps(
3053
+ data_source_configuration=data_source_configuration,
2939
3054
  knowledge_base_id=knowledge_base_id,
2940
3055
  name=name,
2941
3056
  data_deletion_policy=data_deletion_policy,
@@ -3029,6 +3144,24 @@ class CfnDataSource(
3029
3144
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3030
3145
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3031
3146
 
3147
+ @builtins.property
3148
+ @jsii.member(jsii_name="dataSourceConfiguration")
3149
+ def data_source_configuration(
3150
+ self,
3151
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.DataSourceConfigurationProperty"]:
3152
+ '''The connection configuration for the data source.'''
3153
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.DataSourceConfigurationProperty"], jsii.get(self, "dataSourceConfiguration"))
3154
+
3155
+ @data_source_configuration.setter
3156
+ def data_source_configuration(
3157
+ self,
3158
+ value: typing.Union[_IResolvable_da3f097b, "CfnDataSource.DataSourceConfigurationProperty"],
3159
+ ) -> None:
3160
+ if __debug__:
3161
+ type_hints = typing.get_type_hints(_typecheckingstub__a387108ccda2b96813f79478d4429abb297f766ce080c3bf9b77d03af3db534c)
3162
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3163
+ jsii.set(self, "dataSourceConfiguration", value) # pyright: ignore[reportArgumentType]
3164
+
3032
3165
  @builtins.property
3033
3166
  @jsii.member(jsii_name="knowledgeBaseId")
3034
3167
  def knowledge_base_id(self) -> builtins.str:
@@ -3336,30 +3469,23 @@ class CfnDataSource(
3336
3469
  )
3337
3470
 
3338
3471
  @jsii.data_type(
3339
- jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.CustomTransformationConfigurationProperty",
3472
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.ConfluenceCrawlerConfigurationProperty",
3340
3473
  jsii_struct_bases=[],
3341
- name_mapping={
3342
- "intermediate_storage": "intermediateStorage",
3343
- "transformations": "transformations",
3344
- },
3474
+ name_mapping={"filter_configuration": "filterConfiguration"},
3345
3475
  )
3346
- class CustomTransformationConfigurationProperty:
3476
+ class ConfluenceCrawlerConfigurationProperty:
3347
3477
  def __init__(
3348
3478
  self,
3349
3479
  *,
3350
- intermediate_storage: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.IntermediateStorageProperty", typing.Dict[builtins.str, typing.Any]]],
3351
- transformations: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.TransformationProperty", typing.Dict[builtins.str, typing.Any]]]]],
3480
+ filter_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.CrawlFilterConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3352
3481
  ) -> None:
3353
- '''Settings for customizing steps in the data source content ingestion pipeline.
3482
+ '''The configuration of the Confluence content.
3354
3483
 
3355
- You can configure the data source to process documents with a Lambda function after they are parsed and converted into chunks. When you add a post-chunking transformation, the service stores chunked documents in an S3 bucket and invokes a Lambda function to process them.
3356
-
3357
- To process chunked documents with a Lambda function, define an S3 bucket path for input and output objects, and a transformation that specifies the Lambda function to invoke. You can use the Lambda function to customize how chunks are split, and the metadata for each chunk.
3484
+ For example, configuring specific types of Confluence content.
3358
3485
 
3359
- :param intermediate_storage: An S3 bucket path for input and output objects.
3360
- :param transformations: A Lambda function that processes documents.
3486
+ :param filter_configuration: The configuration of filtering the Confluence content. For example, configuring regular expression patterns to include or exclude certain content.
3361
3487
 
3362
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html
3488
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencecrawlerconfiguration.html
3363
3489
  :exampleMetadata: fixture=_generated
3364
3490
 
3365
3491
  Example::
@@ -3368,54 +3494,42 @@ class CfnDataSource(
3368
3494
  # The values are placeholders you should change.
3369
3495
  from aws_cdk import aws_bedrock as bedrock
3370
3496
 
3371
- custom_transformation_configuration_property = bedrock.CfnDataSource.CustomTransformationConfigurationProperty(
3372
- intermediate_storage=bedrock.CfnDataSource.IntermediateStorageProperty(
3373
- s3_location=bedrock.CfnDataSource.S3LocationProperty(
3374
- uri="uri"
3375
- )
3376
- ),
3377
- transformations=[bedrock.CfnDataSource.TransformationProperty(
3378
- step_to_apply="stepToApply",
3379
- transformation_function=bedrock.CfnDataSource.TransformationFunctionProperty(
3380
- transformation_lambda_configuration=bedrock.CfnDataSource.TransformationLambdaConfigurationProperty(
3381
- lambda_arn="lambdaArn"
3382
- )
3497
+ confluence_crawler_configuration_property = bedrock.CfnDataSource.ConfluenceCrawlerConfigurationProperty(
3498
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
3499
+ type="type",
3500
+
3501
+ # the properties below are optional
3502
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
3503
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
3504
+ object_type="objectType",
3505
+
3506
+ # the properties below are optional
3507
+ exclusion_filters=["exclusionFilters"],
3508
+ inclusion_filters=["inclusionFilters"]
3509
+ )]
3383
3510
  )
3384
- )]
3511
+ )
3385
3512
  )
3386
3513
  '''
3387
3514
  if __debug__:
3388
- type_hints = typing.get_type_hints(_typecheckingstub__888c8bb26072cb69c76ae9aeabf049ae5233c6a3f34f832513f1399aea8240f7)
3389
- check_type(argname="argument intermediate_storage", value=intermediate_storage, expected_type=type_hints["intermediate_storage"])
3390
- check_type(argname="argument transformations", value=transformations, expected_type=type_hints["transformations"])
3391
- self._values: typing.Dict[builtins.str, typing.Any] = {
3392
- "intermediate_storage": intermediate_storage,
3393
- "transformations": transformations,
3394
- }
3515
+ type_hints = typing.get_type_hints(_typecheckingstub__bd96cc70a533ca8725fe3ea6bf1237979d5f80d5f174652557eff27fb9b78e45)
3516
+ check_type(argname="argument filter_configuration", value=filter_configuration, expected_type=type_hints["filter_configuration"])
3517
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3518
+ if filter_configuration is not None:
3519
+ self._values["filter_configuration"] = filter_configuration
3395
3520
 
3396
3521
  @builtins.property
3397
- def intermediate_storage(
3522
+ def filter_configuration(
3398
3523
  self,
3399
- ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.IntermediateStorageProperty"]:
3400
- '''An S3 bucket path for input and output objects.
3401
-
3402
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html#cfn-bedrock-datasource-customtransformationconfiguration-intermediatestorage
3403
- '''
3404
- result = self._values.get("intermediate_storage")
3405
- assert result is not None, "Required property 'intermediate_storage' is missing"
3406
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.IntermediateStorageProperty"], result)
3524
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.CrawlFilterConfigurationProperty"]]:
3525
+ '''The configuration of filtering the Confluence content.
3407
3526
 
3408
- @builtins.property
3409
- def transformations(
3410
- self,
3411
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.TransformationProperty"]]]:
3412
- '''A Lambda function that processes documents.
3527
+ For example, configuring regular expression patterns to include or exclude certain content.
3413
3528
 
3414
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html#cfn-bedrock-datasource-customtransformationconfiguration-transformations
3529
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencecrawlerconfiguration.html#cfn-bedrock-datasource-confluencecrawlerconfiguration-filterconfiguration
3415
3530
  '''
3416
- result = self._values.get("transformations")
3417
- assert result is not None, "Required property 'transformations' is missing"
3418
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.TransformationProperty"]]], result)
3531
+ result = self._values.get("filter_configuration")
3532
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.CrawlFilterConfigurationProperty"]], result)
3419
3533
 
3420
3534
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3421
3535
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -3424,33 +3538,31 @@ class CfnDataSource(
3424
3538
  return not (rhs == self)
3425
3539
 
3426
3540
  def __repr__(self) -> str:
3427
- return "CustomTransformationConfigurationProperty(%s)" % ", ".join(
3541
+ return "ConfluenceCrawlerConfigurationProperty(%s)" % ", ".join(
3428
3542
  k + "=" + repr(v) for k, v in self._values.items()
3429
3543
  )
3430
3544
 
3431
3545
  @jsii.data_type(
3432
- jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.FixedSizeChunkingConfigurationProperty",
3546
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.ConfluenceDataSourceConfigurationProperty",
3433
3547
  jsii_struct_bases=[],
3434
3548
  name_mapping={
3435
- "max_tokens": "maxTokens",
3436
- "overlap_percentage": "overlapPercentage",
3549
+ "source_configuration": "sourceConfiguration",
3550
+ "crawler_configuration": "crawlerConfiguration",
3437
3551
  },
3438
3552
  )
3439
- class FixedSizeChunkingConfigurationProperty:
3553
+ class ConfluenceDataSourceConfigurationProperty:
3440
3554
  def __init__(
3441
3555
  self,
3442
3556
  *,
3443
- max_tokens: jsii.Number,
3444
- overlap_percentage: jsii.Number,
3557
+ source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.ConfluenceSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
3558
+ crawler_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.ConfluenceCrawlerConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3445
3559
  ) -> None:
3446
- '''Configurations for when you choose fixed-size chunking.
3560
+ '''The configuration information to connect to Confluence as your data source.
3447
3561
 
3448
- If you set the ``chunkingStrategy`` as ``NONE`` , exclude this field.
3449
-
3450
- :param max_tokens: The maximum number of tokens to include in a chunk.
3451
- :param overlap_percentage: The percentage of overlap between adjacent chunks of a data source.
3562
+ :param source_configuration: The endpoint information to connect to your Confluence data source.
3563
+ :param crawler_configuration: The configuration of the Confluence content. For example, configuring specific types of Confluence content.
3452
3564
 
3453
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html
3565
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencedatasourceconfiguration.html
3454
3566
  :exampleMetadata: fixture=_generated
3455
3567
 
3456
3568
  Example::
@@ -3459,39 +3571,67 @@ class CfnDataSource(
3459
3571
  # The values are placeholders you should change.
3460
3572
  from aws_cdk import aws_bedrock as bedrock
3461
3573
 
3462
- fixed_size_chunking_configuration_property = bedrock.CfnDataSource.FixedSizeChunkingConfigurationProperty(
3463
- max_tokens=123,
3464
- overlap_percentage=123
3574
+ confluence_data_source_configuration_property = bedrock.CfnDataSource.ConfluenceDataSourceConfigurationProperty(
3575
+ source_configuration=bedrock.CfnDataSource.ConfluenceSourceConfigurationProperty(
3576
+ auth_type="authType",
3577
+ credentials_secret_arn="credentialsSecretArn",
3578
+ host_type="hostType",
3579
+ host_url="hostUrl"
3580
+ ),
3581
+
3582
+ # the properties below are optional
3583
+ crawler_configuration=bedrock.CfnDataSource.ConfluenceCrawlerConfigurationProperty(
3584
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
3585
+ type="type",
3586
+
3587
+ # the properties below are optional
3588
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
3589
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
3590
+ object_type="objectType",
3591
+
3592
+ # the properties below are optional
3593
+ exclusion_filters=["exclusionFilters"],
3594
+ inclusion_filters=["inclusionFilters"]
3595
+ )]
3596
+ )
3597
+ )
3598
+ )
3465
3599
  )
3466
3600
  '''
3467
3601
  if __debug__:
3468
- type_hints = typing.get_type_hints(_typecheckingstub__7b9e8054cbf79d2292e738f1061947914954b89440b15bf572c87c9695aaf7bc)
3469
- check_type(argname="argument max_tokens", value=max_tokens, expected_type=type_hints["max_tokens"])
3470
- check_type(argname="argument overlap_percentage", value=overlap_percentage, expected_type=type_hints["overlap_percentage"])
3602
+ type_hints = typing.get_type_hints(_typecheckingstub__6012c6084fea535f9557ea06362a962b55ea34a970b8275cb8328381138ea3b2)
3603
+ check_type(argname="argument source_configuration", value=source_configuration, expected_type=type_hints["source_configuration"])
3604
+ check_type(argname="argument crawler_configuration", value=crawler_configuration, expected_type=type_hints["crawler_configuration"])
3471
3605
  self._values: typing.Dict[builtins.str, typing.Any] = {
3472
- "max_tokens": max_tokens,
3473
- "overlap_percentage": overlap_percentage,
3606
+ "source_configuration": source_configuration,
3474
3607
  }
3608
+ if crawler_configuration is not None:
3609
+ self._values["crawler_configuration"] = crawler_configuration
3475
3610
 
3476
3611
  @builtins.property
3477
- def max_tokens(self) -> jsii.Number:
3478
- '''The maximum number of tokens to include in a chunk.
3612
+ def source_configuration(
3613
+ self,
3614
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.ConfluenceSourceConfigurationProperty"]:
3615
+ '''The endpoint information to connect to your Confluence data source.
3479
3616
 
3480
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-maxtokens
3617
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencedatasourceconfiguration.html#cfn-bedrock-datasource-confluencedatasourceconfiguration-sourceconfiguration
3481
3618
  '''
3482
- result = self._values.get("max_tokens")
3483
- assert result is not None, "Required property 'max_tokens' is missing"
3484
- return typing.cast(jsii.Number, result)
3619
+ result = self._values.get("source_configuration")
3620
+ assert result is not None, "Required property 'source_configuration' is missing"
3621
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.ConfluenceSourceConfigurationProperty"], result)
3485
3622
 
3486
3623
  @builtins.property
3487
- def overlap_percentage(self) -> jsii.Number:
3488
- '''The percentage of overlap between adjacent chunks of a data source.
3624
+ def crawler_configuration(
3625
+ self,
3626
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ConfluenceCrawlerConfigurationProperty"]]:
3627
+ '''The configuration of the Confluence content.
3489
3628
 
3490
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-overlappercentage
3629
+ For example, configuring specific types of Confluence content.
3630
+
3631
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencedatasourceconfiguration.html#cfn-bedrock-datasource-confluencedatasourceconfiguration-crawlerconfiguration
3491
3632
  '''
3492
- result = self._values.get("overlap_percentage")
3493
- assert result is not None, "Required property 'overlap_percentage' is missing"
3494
- return typing.cast(jsii.Number, result)
3633
+ result = self._values.get("crawler_configuration")
3634
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ConfluenceCrawlerConfigurationProperty"]], result)
3495
3635
 
3496
3636
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3497
3637
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -3500,35 +3640,37 @@ class CfnDataSource(
3500
3640
  return not (rhs == self)
3501
3641
 
3502
3642
  def __repr__(self) -> str:
3503
- return "FixedSizeChunkingConfigurationProperty(%s)" % ", ".join(
3643
+ return "ConfluenceDataSourceConfigurationProperty(%s)" % ", ".join(
3504
3644
  k + "=" + repr(v) for k, v in self._values.items()
3505
3645
  )
3506
3646
 
3507
3647
  @jsii.data_type(
3508
- jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.HierarchicalChunkingConfigurationProperty",
3648
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.ConfluenceSourceConfigurationProperty",
3509
3649
  jsii_struct_bases=[],
3510
3650
  name_mapping={
3511
- "level_configurations": "levelConfigurations",
3512
- "overlap_tokens": "overlapTokens",
3651
+ "auth_type": "authType",
3652
+ "credentials_secret_arn": "credentialsSecretArn",
3653
+ "host_type": "hostType",
3654
+ "host_url": "hostUrl",
3513
3655
  },
3514
3656
  )
3515
- class HierarchicalChunkingConfigurationProperty:
3657
+ class ConfluenceSourceConfigurationProperty:
3516
3658
  def __init__(
3517
3659
  self,
3518
3660
  *,
3519
- level_configurations: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.HierarchicalChunkingLevelConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]],
3520
- overlap_tokens: jsii.Number,
3661
+ auth_type: builtins.str,
3662
+ credentials_secret_arn: builtins.str,
3663
+ host_type: builtins.str,
3664
+ host_url: builtins.str,
3521
3665
  ) -> None:
3522
- '''Settings for hierarchical document chunking for a data source.
3666
+ '''The endpoint information to connect to your Confluence data source.
3523
3667
 
3524
- Hierarchical chunking splits documents into layers of chunks where the first layer contains large chunks, and the second layer contains smaller chunks derived from the first layer.
3525
-
3526
- You configure the number of tokens to overlap, or repeat across adjacent chunks. For example, if you set overlap tokens to 60, the last 60 tokens in the first chunk are also included at the beginning of the second chunk. For each layer, you must also configure the maximum number of tokens in a chunk.
3527
-
3528
- :param level_configurations: Token settings for each layer.
3529
- :param overlap_tokens: The number of tokens to repeat across chunks in the same layer.
3668
+ :param auth_type: The supported authentication type to authenticate and connect to your Confluence instance.
3669
+ :param credentials_secret_arn: The Amazon Resource Name of an AWS Secrets Manager secret that stores your authentication credentials for your Confluence instance URL. For more information on the key-value pairs that must be included in your secret, depending on your authentication type, see `Confluence connection configuration <https://docs.aws.amazon.com/bedrock/latest/userguide/confluence-data-source-connector.html#configuration-confluence-connector>`_ .
3670
+ :param host_type: The supported host type, whether online/cloud or server/on-premises.
3671
+ :param host_url: The Confluence host URL or instance URL.
3530
3672
 
3531
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html
3673
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html
3532
3674
  :exampleMetadata: fixture=_generated
3533
3675
 
3534
3676
  Example::
@@ -3537,43 +3679,67 @@ class CfnDataSource(
3537
3679
  # The values are placeholders you should change.
3538
3680
  from aws_cdk import aws_bedrock as bedrock
3539
3681
 
3540
- hierarchical_chunking_configuration_property = bedrock.CfnDataSource.HierarchicalChunkingConfigurationProperty(
3541
- level_configurations=[bedrock.CfnDataSource.HierarchicalChunkingLevelConfigurationProperty(
3542
- max_tokens=123
3543
- )],
3544
- overlap_tokens=123
3682
+ confluence_source_configuration_property = bedrock.CfnDataSource.ConfluenceSourceConfigurationProperty(
3683
+ auth_type="authType",
3684
+ credentials_secret_arn="credentialsSecretArn",
3685
+ host_type="hostType",
3686
+ host_url="hostUrl"
3545
3687
  )
3546
3688
  '''
3547
3689
  if __debug__:
3548
- type_hints = typing.get_type_hints(_typecheckingstub__5d601b03a460137760d534703cc747a11f33f25a281361a35ba9b1dd3a52c4d6)
3549
- check_type(argname="argument level_configurations", value=level_configurations, expected_type=type_hints["level_configurations"])
3550
- check_type(argname="argument overlap_tokens", value=overlap_tokens, expected_type=type_hints["overlap_tokens"])
3690
+ type_hints = typing.get_type_hints(_typecheckingstub__f6b1b77774988ec57c830fc9a0a2a7c4c9f4497cdb86ab6c5fa2ebbb15d01b54)
3691
+ check_type(argname="argument auth_type", value=auth_type, expected_type=type_hints["auth_type"])
3692
+ check_type(argname="argument credentials_secret_arn", value=credentials_secret_arn, expected_type=type_hints["credentials_secret_arn"])
3693
+ check_type(argname="argument host_type", value=host_type, expected_type=type_hints["host_type"])
3694
+ check_type(argname="argument host_url", value=host_url, expected_type=type_hints["host_url"])
3551
3695
  self._values: typing.Dict[builtins.str, typing.Any] = {
3552
- "level_configurations": level_configurations,
3553
- "overlap_tokens": overlap_tokens,
3696
+ "auth_type": auth_type,
3697
+ "credentials_secret_arn": credentials_secret_arn,
3698
+ "host_type": host_type,
3699
+ "host_url": host_url,
3554
3700
  }
3555
3701
 
3556
3702
  @builtins.property
3557
- def level_configurations(
3558
- self,
3559
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.HierarchicalChunkingLevelConfigurationProperty"]]]:
3560
- '''Token settings for each layer.
3703
+ def auth_type(self) -> builtins.str:
3704
+ '''The supported authentication type to authenticate and connect to your Confluence instance.
3561
3705
 
3562
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkingconfiguration-levelconfigurations
3706
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-authtype
3563
3707
  '''
3564
- result = self._values.get("level_configurations")
3565
- assert result is not None, "Required property 'level_configurations' is missing"
3566
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.HierarchicalChunkingLevelConfigurationProperty"]]], result)
3708
+ result = self._values.get("auth_type")
3709
+ assert result is not None, "Required property 'auth_type' is missing"
3710
+ return typing.cast(builtins.str, result)
3567
3711
 
3568
3712
  @builtins.property
3569
- def overlap_tokens(self) -> jsii.Number:
3570
- '''The number of tokens to repeat across chunks in the same layer.
3713
+ def credentials_secret_arn(self) -> builtins.str:
3714
+ '''The Amazon Resource Name of an AWS Secrets Manager secret that stores your authentication credentials for your Confluence instance URL.
3571
3715
 
3572
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkingconfiguration-overlaptokens
3716
+ For more information on the key-value pairs that must be included in your secret, depending on your authentication type, see `Confluence connection configuration <https://docs.aws.amazon.com/bedrock/latest/userguide/confluence-data-source-connector.html#configuration-confluence-connector>`_ .
3717
+
3718
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-credentialssecretarn
3573
3719
  '''
3574
- result = self._values.get("overlap_tokens")
3575
- assert result is not None, "Required property 'overlap_tokens' is missing"
3576
- return typing.cast(jsii.Number, result)
3720
+ result = self._values.get("credentials_secret_arn")
3721
+ assert result is not None, "Required property 'credentials_secret_arn' is missing"
3722
+ return typing.cast(builtins.str, result)
3723
+
3724
+ @builtins.property
3725
+ def host_type(self) -> builtins.str:
3726
+ '''The supported host type, whether online/cloud or server/on-premises.
3727
+
3728
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-hosttype
3729
+ '''
3730
+ result = self._values.get("host_type")
3731
+ assert result is not None, "Required property 'host_type' is missing"
3732
+ return typing.cast(builtins.str, result)
3733
+
3734
+ @builtins.property
3735
+ def host_url(self) -> builtins.str:
3736
+ '''The Confluence host URL or instance URL.
3737
+
3738
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-hosturl
3739
+ '''
3740
+ result = self._values.get("host_url")
3741
+ assert result is not None, "Required property 'host_url' is missing"
3742
+ return typing.cast(builtins.str, result)
3577
3743
 
3578
3744
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3579
3745
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -3582,22 +3748,30 @@ class CfnDataSource(
3582
3748
  return not (rhs == self)
3583
3749
 
3584
3750
  def __repr__(self) -> str:
3585
- return "HierarchicalChunkingConfigurationProperty(%s)" % ", ".join(
3751
+ return "ConfluenceSourceConfigurationProperty(%s)" % ", ".join(
3586
3752
  k + "=" + repr(v) for k, v in self._values.items()
3587
3753
  )
3588
3754
 
3589
3755
  @jsii.data_type(
3590
- jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.HierarchicalChunkingLevelConfigurationProperty",
3756
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.CrawlFilterConfigurationProperty",
3591
3757
  jsii_struct_bases=[],
3592
- name_mapping={"max_tokens": "maxTokens"},
3758
+ name_mapping={"type": "type", "pattern_object_filter": "patternObjectFilter"},
3593
3759
  )
3594
- class HierarchicalChunkingLevelConfigurationProperty:
3595
- def __init__(self, *, max_tokens: jsii.Number) -> None:
3596
- '''Token settings for a layer in a hierarchical chunking configuration.
3760
+ class CrawlFilterConfigurationProperty:
3761
+ def __init__(
3762
+ self,
3763
+ *,
3764
+ type: builtins.str,
3765
+ pattern_object_filter: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.PatternObjectFilterConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3766
+ ) -> None:
3767
+ '''The configuration of filtering the data source content.
3597
3768
 
3598
- :param max_tokens: The maximum number of tokens that a chunk can contain in this layer.
3769
+ For example, configuring regular expression patterns to include or exclude certain content.
3599
3770
 
3600
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkinglevelconfiguration.html
3771
+ :param type: The type of filtering that you want to apply to certain objects or content of the data source. For example, the ``PATTERN`` type is regular expression patterns you can apply to filter your content.
3772
+ :param pattern_object_filter: The configuration of filtering certain objects or content types of the data source.
3773
+
3774
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-crawlfilterconfiguration.html
3601
3775
  :exampleMetadata: fixture=_generated
3602
3776
 
3603
3777
  Example::
@@ -3606,26 +3780,53 @@ class CfnDataSource(
3606
3780
  # The values are placeholders you should change.
3607
3781
  from aws_cdk import aws_bedrock as bedrock
3608
3782
 
3609
- hierarchical_chunking_level_configuration_property = bedrock.CfnDataSource.HierarchicalChunkingLevelConfigurationProperty(
3610
- max_tokens=123
3783
+ crawl_filter_configuration_property = bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
3784
+ type="type",
3785
+
3786
+ # the properties below are optional
3787
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
3788
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
3789
+ object_type="objectType",
3790
+
3791
+ # the properties below are optional
3792
+ exclusion_filters=["exclusionFilters"],
3793
+ inclusion_filters=["inclusionFilters"]
3794
+ )]
3795
+ )
3611
3796
  )
3612
3797
  '''
3613
3798
  if __debug__:
3614
- type_hints = typing.get_type_hints(_typecheckingstub__a3a29631db955251086144f75baf14ef472ef7bbe42761f323c0edfce3e4754b)
3615
- check_type(argname="argument max_tokens", value=max_tokens, expected_type=type_hints["max_tokens"])
3799
+ type_hints = typing.get_type_hints(_typecheckingstub__df771f43b4edc46788782c796b78e1b33220d226fe90547899ccc3c75ce15ac8)
3800
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
3801
+ check_type(argname="argument pattern_object_filter", value=pattern_object_filter, expected_type=type_hints["pattern_object_filter"])
3616
3802
  self._values: typing.Dict[builtins.str, typing.Any] = {
3617
- "max_tokens": max_tokens,
3803
+ "type": type,
3618
3804
  }
3805
+ if pattern_object_filter is not None:
3806
+ self._values["pattern_object_filter"] = pattern_object_filter
3619
3807
 
3620
3808
  @builtins.property
3621
- def max_tokens(self) -> jsii.Number:
3622
- '''The maximum number of tokens that a chunk can contain in this layer.
3809
+ def type(self) -> builtins.str:
3810
+ '''The type of filtering that you want to apply to certain objects or content of the data source.
3623
3811
 
3624
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkinglevelconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkinglevelconfiguration-maxtokens
3812
+ For example, the ``PATTERN`` type is regular expression patterns you can apply to filter your content.
3813
+
3814
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-crawlfilterconfiguration.html#cfn-bedrock-datasource-crawlfilterconfiguration-type
3625
3815
  '''
3626
- result = self._values.get("max_tokens")
3627
- assert result is not None, "Required property 'max_tokens' is missing"
3628
- return typing.cast(jsii.Number, result)
3816
+ result = self._values.get("type")
3817
+ assert result is not None, "Required property 'type' is missing"
3818
+ return typing.cast(builtins.str, result)
3819
+
3820
+ @builtins.property
3821
+ def pattern_object_filter(
3822
+ self,
3823
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.PatternObjectFilterConfigurationProperty"]]:
3824
+ '''The configuration of filtering certain objects or content types of the data source.
3825
+
3826
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-crawlfilterconfiguration.html#cfn-bedrock-datasource-crawlfilterconfiguration-patternobjectfilter
3827
+ '''
3828
+ result = self._values.get("pattern_object_filter")
3829
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.PatternObjectFilterConfigurationProperty"]], result)
3629
3830
 
3630
3831
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3631
3832
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -3634,26 +3835,35 @@ class CfnDataSource(
3634
3835
  return not (rhs == self)
3635
3836
 
3636
3837
  def __repr__(self) -> str:
3637
- return "HierarchicalChunkingLevelConfigurationProperty(%s)" % ", ".join(
3838
+ return "CrawlFilterConfigurationProperty(%s)" % ", ".join(
3638
3839
  k + "=" + repr(v) for k, v in self._values.items()
3639
3840
  )
3640
3841
 
3641
3842
  @jsii.data_type(
3642
- jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.IntermediateStorageProperty",
3843
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.CustomTransformationConfigurationProperty",
3643
3844
  jsii_struct_bases=[],
3644
- name_mapping={"s3_location": "s3Location"},
3845
+ name_mapping={
3846
+ "intermediate_storage": "intermediateStorage",
3847
+ "transformations": "transformations",
3848
+ },
3645
3849
  )
3646
- class IntermediateStorageProperty:
3850
+ class CustomTransformationConfigurationProperty:
3647
3851
  def __init__(
3648
3852
  self,
3649
3853
  *,
3650
- s3_location: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.S3LocationProperty", typing.Dict[builtins.str, typing.Any]]],
3854
+ intermediate_storage: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.IntermediateStorageProperty", typing.Dict[builtins.str, typing.Any]]],
3855
+ transformations: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.TransformationProperty", typing.Dict[builtins.str, typing.Any]]]]],
3651
3856
  ) -> None:
3652
- '''A location for storing content from data sources temporarily as it is processed by custom components in the ingestion pipeline.
3857
+ '''Settings for customizing steps in the data source content ingestion pipeline.
3653
3858
 
3654
- :param s3_location: An S3 bucket path.
3859
+ You can configure the data source to process documents with a Lambda function after they are parsed and converted into chunks. When you add a post-chunking transformation, the service stores chunked documents in an S3 bucket and invokes a Lambda function to process them.
3655
3860
 
3656
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-intermediatestorage.html
3861
+ To process chunked documents with a Lambda function, define an S3 bucket path for input and output objects, and a transformation that specifies the Lambda function to invoke. You can use the Lambda function to customize how chunks are split, and the metadata for each chunk.
3862
+
3863
+ :param intermediate_storage: An S3 bucket path for input and output objects.
3864
+ :param transformations: A Lambda function that processes documents.
3865
+
3866
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html
3657
3867
  :exampleMetadata: fixture=_generated
3658
3868
 
3659
3869
  Example::
@@ -3662,30 +3872,54 @@ class CfnDataSource(
3662
3872
  # The values are placeholders you should change.
3663
3873
  from aws_cdk import aws_bedrock as bedrock
3664
3874
 
3665
- intermediate_storage_property = bedrock.CfnDataSource.IntermediateStorageProperty(
3666
- s3_location=bedrock.CfnDataSource.S3LocationProperty(
3667
- uri="uri"
3668
- )
3875
+ custom_transformation_configuration_property = bedrock.CfnDataSource.CustomTransformationConfigurationProperty(
3876
+ intermediate_storage=bedrock.CfnDataSource.IntermediateStorageProperty(
3877
+ s3_location=bedrock.CfnDataSource.S3LocationProperty(
3878
+ uri="uri"
3879
+ )
3880
+ ),
3881
+ transformations=[bedrock.CfnDataSource.TransformationProperty(
3882
+ step_to_apply="stepToApply",
3883
+ transformation_function=bedrock.CfnDataSource.TransformationFunctionProperty(
3884
+ transformation_lambda_configuration=bedrock.CfnDataSource.TransformationLambdaConfigurationProperty(
3885
+ lambda_arn="lambdaArn"
3886
+ )
3887
+ )
3888
+ )]
3669
3889
  )
3670
3890
  '''
3671
3891
  if __debug__:
3672
- type_hints = typing.get_type_hints(_typecheckingstub__5bdd915748b8cf592aa9f03cf95eac889f69f61263bafe87a0ba9aa14454585f)
3673
- check_type(argname="argument s3_location", value=s3_location, expected_type=type_hints["s3_location"])
3892
+ type_hints = typing.get_type_hints(_typecheckingstub__888c8bb26072cb69c76ae9aeabf049ae5233c6a3f34f832513f1399aea8240f7)
3893
+ check_type(argname="argument intermediate_storage", value=intermediate_storage, expected_type=type_hints["intermediate_storage"])
3894
+ check_type(argname="argument transformations", value=transformations, expected_type=type_hints["transformations"])
3674
3895
  self._values: typing.Dict[builtins.str, typing.Any] = {
3675
- "s3_location": s3_location,
3896
+ "intermediate_storage": intermediate_storage,
3897
+ "transformations": transformations,
3676
3898
  }
3677
3899
 
3678
3900
  @builtins.property
3679
- def s3_location(
3901
+ def intermediate_storage(
3680
3902
  self,
3681
- ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.S3LocationProperty"]:
3682
- '''An S3 bucket path.
3903
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.IntermediateStorageProperty"]:
3904
+ '''An S3 bucket path for input and output objects.
3683
3905
 
3684
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-intermediatestorage.html#cfn-bedrock-datasource-intermediatestorage-s3location
3906
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html#cfn-bedrock-datasource-customtransformationconfiguration-intermediatestorage
3685
3907
  '''
3686
- result = self._values.get("s3_location")
3687
- assert result is not None, "Required property 's3_location' is missing"
3688
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.S3LocationProperty"], result)
3908
+ result = self._values.get("intermediate_storage")
3909
+ assert result is not None, "Required property 'intermediate_storage' is missing"
3910
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.IntermediateStorageProperty"], result)
3911
+
3912
+ @builtins.property
3913
+ def transformations(
3914
+ self,
3915
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.TransformationProperty"]]]:
3916
+ '''A Lambda function that processes documents.
3917
+
3918
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html#cfn-bedrock-datasource-customtransformationconfiguration-transformations
3919
+ '''
3920
+ result = self._values.get("transformations")
3921
+ assert result is not None, "Required property 'transformations' is missing"
3922
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.TransformationProperty"]]], result)
3689
3923
 
3690
3924
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3691
3925
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -3694,40 +3928,43 @@ class CfnDataSource(
3694
3928
  return not (rhs == self)
3695
3929
 
3696
3930
  def __repr__(self) -> str:
3697
- return "IntermediateStorageProperty(%s)" % ", ".join(
3931
+ return "CustomTransformationConfigurationProperty(%s)" % ", ".join(
3698
3932
  k + "=" + repr(v) for k, v in self._values.items()
3699
3933
  )
3700
3934
 
3701
3935
  @jsii.data_type(
3702
- jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.ParsingConfigurationProperty",
3936
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.DataSourceConfigurationProperty",
3703
3937
  jsii_struct_bases=[],
3704
3938
  name_mapping={
3705
- "parsing_strategy": "parsingStrategy",
3706
- "bedrock_foundation_model_configuration": "bedrockFoundationModelConfiguration",
3939
+ "type": "type",
3940
+ "confluence_configuration": "confluenceConfiguration",
3941
+ "s3_configuration": "s3Configuration",
3942
+ "salesforce_configuration": "salesforceConfiguration",
3943
+ "share_point_configuration": "sharePointConfiguration",
3944
+ "web_configuration": "webConfiguration",
3707
3945
  },
3708
3946
  )
3709
- class ParsingConfigurationProperty:
3947
+ class DataSourceConfigurationProperty:
3710
3948
  def __init__(
3711
3949
  self,
3712
3950
  *,
3713
- parsing_strategy: builtins.str,
3714
- bedrock_foundation_model_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.BedrockFoundationModelConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3951
+ type: builtins.str,
3952
+ confluence_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.ConfluenceDataSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3953
+ s3_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.S3DataSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3954
+ salesforce_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.SalesforceDataSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3955
+ share_point_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.SharePointDataSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3956
+ web_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.WebDataSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3715
3957
  ) -> None:
3716
- '''Settings for parsing document contents.
3717
-
3718
- By default, the service converts the contents of each document into text before splitting it into chunks. To improve processing of PDF files with tables and images, you can configure the data source to convert the pages of text into images and use a model to describe the contents of each page.
3719
-
3720
- To use a model to parse PDF documents, set the parsing strategy to ``BEDROCK_FOUNDATION_MODEL`` and specify the model to use by ARN. You can also override the default parsing prompt with instructions for how to interpret images and tables in your documents. The following models are supported.
3721
-
3722
- - Anthropic Claude 3 Sonnet - ``anthropic.claude-3-sonnet-20240229-v1:0``
3723
- - Anthropic Claude 3 Haiku - ``anthropic.claude-3-haiku-20240307-v1:0``
3958
+ '''The connection configuration for the data source.
3724
3959
 
3725
- You can get the ARN of a model with the `ListFoundationModels <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html>`_ action. Standard model usage charges apply for the foundation model parsing strategy.
3726
-
3727
- :param parsing_strategy: The parsing strategy for the data source.
3728
- :param bedrock_foundation_model_configuration: Settings for a foundation model used to parse documents for a data source.
3960
+ :param type: The type of data source.
3961
+ :param confluence_configuration: The configuration information to connect to Confluence as your data source. .. epigraph:: Confluence data source connector is in preview release and is subject to change.
3962
+ :param s3_configuration: The configuration information to connect to Amazon S3 as your data source.
3963
+ :param salesforce_configuration: The configuration information to connect to Salesforce as your data source. .. epigraph:: Salesforce data source connector is in preview release and is subject to change.
3964
+ :param share_point_configuration: The configuration information to connect to SharePoint as your data source. .. epigraph:: SharePoint data source connector is in preview release and is subject to change.
3965
+ :param web_configuration: The configuration of web URLs to crawl for your data source. You should be authorized to crawl the URLs. .. epigraph:: Crawling web URLs as your data source is in preview release and is subject to change.
3729
3966
 
3730
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html
3967
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html
3731
3968
  :exampleMetadata: fixture=_generated
3732
3969
 
3733
3970
  Example::
@@ -3736,50 +3973,221 @@ class CfnDataSource(
3736
3973
  # The values are placeholders you should change.
3737
3974
  from aws_cdk import aws_bedrock as bedrock
3738
3975
 
3739
- parsing_configuration_property = bedrock.CfnDataSource.ParsingConfigurationProperty(
3740
- parsing_strategy="parsingStrategy",
3976
+ data_source_configuration_property = bedrock.CfnDataSource.DataSourceConfigurationProperty(
3977
+ type="type",
3741
3978
 
3742
3979
  # the properties below are optional
3743
- bedrock_foundation_model_configuration=bedrock.CfnDataSource.BedrockFoundationModelConfigurationProperty(
3744
- model_arn="modelArn",
3980
+ confluence_configuration=bedrock.CfnDataSource.ConfluenceDataSourceConfigurationProperty(
3981
+ source_configuration=bedrock.CfnDataSource.ConfluenceSourceConfigurationProperty(
3982
+ auth_type="authType",
3983
+ credentials_secret_arn="credentialsSecretArn",
3984
+ host_type="hostType",
3985
+ host_url="hostUrl"
3986
+ ),
3745
3987
 
3746
3988
  # the properties below are optional
3747
- parsing_prompt=bedrock.CfnDataSource.ParsingPromptProperty(
3748
- parsing_prompt_text="parsingPromptText"
3989
+ crawler_configuration=bedrock.CfnDataSource.ConfluenceCrawlerConfigurationProperty(
3990
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
3991
+ type="type",
3992
+
3993
+ # the properties below are optional
3994
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
3995
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
3996
+ object_type="objectType",
3997
+
3998
+ # the properties below are optional
3999
+ exclusion_filters=["exclusionFilters"],
4000
+ inclusion_filters=["inclusionFilters"]
4001
+ )]
4002
+ )
4003
+ )
4004
+ )
4005
+ ),
4006
+ s3_configuration=bedrock.CfnDataSource.S3DataSourceConfigurationProperty(
4007
+ bucket_arn="bucketArn",
4008
+
4009
+ # the properties below are optional
4010
+ bucket_owner_account_id="bucketOwnerAccountId",
4011
+ inclusion_prefixes=["inclusionPrefixes"]
4012
+ ),
4013
+ salesforce_configuration=bedrock.CfnDataSource.SalesforceDataSourceConfigurationProperty(
4014
+ source_configuration=bedrock.CfnDataSource.SalesforceSourceConfigurationProperty(
4015
+ auth_type="authType",
4016
+ credentials_secret_arn="credentialsSecretArn",
4017
+ host_url="hostUrl"
4018
+ ),
4019
+
4020
+ # the properties below are optional
4021
+ crawler_configuration=bedrock.CfnDataSource.SalesforceCrawlerConfigurationProperty(
4022
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
4023
+ type="type",
4024
+
4025
+ # the properties below are optional
4026
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
4027
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
4028
+ object_type="objectType",
4029
+
4030
+ # the properties below are optional
4031
+ exclusion_filters=["exclusionFilters"],
4032
+ inclusion_filters=["inclusionFilters"]
4033
+ )]
4034
+ )
4035
+ )
4036
+ )
4037
+ ),
4038
+ share_point_configuration=bedrock.CfnDataSource.SharePointDataSourceConfigurationProperty(
4039
+ source_configuration=bedrock.CfnDataSource.SharePointSourceConfigurationProperty(
4040
+ auth_type="authType",
4041
+ credentials_secret_arn="credentialsSecretArn",
4042
+ domain="domain",
4043
+ host_type="hostType",
4044
+ site_urls=["siteUrls"],
4045
+
4046
+ # the properties below are optional
4047
+ tenant_id="tenantId"
4048
+ ),
4049
+
4050
+ # the properties below are optional
4051
+ crawler_configuration=bedrock.CfnDataSource.SharePointCrawlerConfigurationProperty(
4052
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
4053
+ type="type",
4054
+
4055
+ # the properties below are optional
4056
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
4057
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
4058
+ object_type="objectType",
4059
+
4060
+ # the properties below are optional
4061
+ exclusion_filters=["exclusionFilters"],
4062
+ inclusion_filters=["inclusionFilters"]
4063
+ )]
4064
+ )
4065
+ )
4066
+ )
4067
+ ),
4068
+ web_configuration=bedrock.CfnDataSource.WebDataSourceConfigurationProperty(
4069
+ source_configuration=bedrock.CfnDataSource.WebSourceConfigurationProperty(
4070
+ url_configuration=bedrock.CfnDataSource.UrlConfigurationProperty(
4071
+ seed_urls=[bedrock.CfnDataSource.SeedUrlProperty(
4072
+ url="url"
4073
+ )]
4074
+ )
4075
+ ),
4076
+
4077
+ # the properties below are optional
4078
+ crawler_configuration=bedrock.CfnDataSource.WebCrawlerConfigurationProperty(
4079
+ crawler_limits=bedrock.CfnDataSource.WebCrawlerLimitsProperty(
4080
+ rate_limit=123
4081
+ ),
4082
+ exclusion_filters=["exclusionFilters"],
4083
+ inclusion_filters=["inclusionFilters"],
4084
+ scope="scope"
3749
4085
  )
3750
4086
  )
3751
4087
  )
3752
4088
  '''
3753
4089
  if __debug__:
3754
- type_hints = typing.get_type_hints(_typecheckingstub__26a14ade018e836fe8686ec2de5e50a05435a92d8d540814f0759c1bb3893ef0)
3755
- check_type(argname="argument parsing_strategy", value=parsing_strategy, expected_type=type_hints["parsing_strategy"])
3756
- check_type(argname="argument bedrock_foundation_model_configuration", value=bedrock_foundation_model_configuration, expected_type=type_hints["bedrock_foundation_model_configuration"])
4090
+ type_hints = typing.get_type_hints(_typecheckingstub__a2e1b0c807d6904904c91cc13a2f47ee5db24090758446e26a864b57b3d36117)
4091
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
4092
+ check_type(argname="argument confluence_configuration", value=confluence_configuration, expected_type=type_hints["confluence_configuration"])
4093
+ check_type(argname="argument s3_configuration", value=s3_configuration, expected_type=type_hints["s3_configuration"])
4094
+ check_type(argname="argument salesforce_configuration", value=salesforce_configuration, expected_type=type_hints["salesforce_configuration"])
4095
+ check_type(argname="argument share_point_configuration", value=share_point_configuration, expected_type=type_hints["share_point_configuration"])
4096
+ check_type(argname="argument web_configuration", value=web_configuration, expected_type=type_hints["web_configuration"])
3757
4097
  self._values: typing.Dict[builtins.str, typing.Any] = {
3758
- "parsing_strategy": parsing_strategy,
4098
+ "type": type,
3759
4099
  }
3760
- if bedrock_foundation_model_configuration is not None:
3761
- self._values["bedrock_foundation_model_configuration"] = bedrock_foundation_model_configuration
4100
+ if confluence_configuration is not None:
4101
+ self._values["confluence_configuration"] = confluence_configuration
4102
+ if s3_configuration is not None:
4103
+ self._values["s3_configuration"] = s3_configuration
4104
+ if salesforce_configuration is not None:
4105
+ self._values["salesforce_configuration"] = salesforce_configuration
4106
+ if share_point_configuration is not None:
4107
+ self._values["share_point_configuration"] = share_point_configuration
4108
+ if web_configuration is not None:
4109
+ self._values["web_configuration"] = web_configuration
3762
4110
 
3763
4111
  @builtins.property
3764
- def parsing_strategy(self) -> builtins.str:
3765
- '''The parsing strategy for the data source.
4112
+ def type(self) -> builtins.str:
4113
+ '''The type of data source.
3766
4114
 
3767
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html#cfn-bedrock-datasource-parsingconfiguration-parsingstrategy
4115
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-type
3768
4116
  '''
3769
- result = self._values.get("parsing_strategy")
3770
- assert result is not None, "Required property 'parsing_strategy' is missing"
4117
+ result = self._values.get("type")
4118
+ assert result is not None, "Required property 'type' is missing"
3771
4119
  return typing.cast(builtins.str, result)
3772
4120
 
3773
4121
  @builtins.property
3774
- def bedrock_foundation_model_configuration(
4122
+ def confluence_configuration(
3775
4123
  self,
3776
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.BedrockFoundationModelConfigurationProperty"]]:
3777
- '''Settings for a foundation model used to parse documents for a data source.
4124
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ConfluenceDataSourceConfigurationProperty"]]:
4125
+ '''The configuration information to connect to Confluence as your data source.
3778
4126
 
3779
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html#cfn-bedrock-datasource-parsingconfiguration-bedrockfoundationmodelconfiguration
4127
+ .. epigraph::
4128
+
4129
+ Confluence data source connector is in preview release and is subject to change.
4130
+
4131
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-confluenceconfiguration
3780
4132
  '''
3781
- result = self._values.get("bedrock_foundation_model_configuration")
3782
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.BedrockFoundationModelConfigurationProperty"]], result)
4133
+ result = self._values.get("confluence_configuration")
4134
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ConfluenceDataSourceConfigurationProperty"]], result)
4135
+
4136
+ @builtins.property
4137
+ def s3_configuration(
4138
+ self,
4139
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.S3DataSourceConfigurationProperty"]]:
4140
+ '''The configuration information to connect to Amazon S3 as your data source.
4141
+
4142
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-s3configuration
4143
+ '''
4144
+ result = self._values.get("s3_configuration")
4145
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.S3DataSourceConfigurationProperty"]], result)
4146
+
4147
+ @builtins.property
4148
+ def salesforce_configuration(
4149
+ self,
4150
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.SalesforceDataSourceConfigurationProperty"]]:
4151
+ '''The configuration information to connect to Salesforce as your data source.
4152
+
4153
+ .. epigraph::
4154
+
4155
+ Salesforce data source connector is in preview release and is subject to change.
4156
+
4157
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-salesforceconfiguration
4158
+ '''
4159
+ result = self._values.get("salesforce_configuration")
4160
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.SalesforceDataSourceConfigurationProperty"]], result)
4161
+
4162
+ @builtins.property
4163
+ def share_point_configuration(
4164
+ self,
4165
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.SharePointDataSourceConfigurationProperty"]]:
4166
+ '''The configuration information to connect to SharePoint as your data source.
4167
+
4168
+ .. epigraph::
4169
+
4170
+ SharePoint data source connector is in preview release and is subject to change.
4171
+
4172
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-sharepointconfiguration
4173
+ '''
4174
+ result = self._values.get("share_point_configuration")
4175
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.SharePointDataSourceConfigurationProperty"]], result)
4176
+
4177
+ @builtins.property
4178
+ def web_configuration(
4179
+ self,
4180
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.WebDataSourceConfigurationProperty"]]:
4181
+ '''The configuration of web URLs to crawl for your data source. You should be authorized to crawl the URLs.
4182
+
4183
+ .. epigraph::
4184
+
4185
+ Crawling web URLs as your data source is in preview release and is subject to change.
4186
+
4187
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-webconfiguration
4188
+ '''
4189
+ result = self._values.get("web_configuration")
4190
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.WebDataSourceConfigurationProperty"]], result)
3783
4191
 
3784
4192
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3785
4193
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -3788,22 +4196,937 @@ class CfnDataSource(
3788
4196
  return not (rhs == self)
3789
4197
 
3790
4198
  def __repr__(self) -> str:
3791
- return "ParsingConfigurationProperty(%s)" % ", ".join(
4199
+ return "DataSourceConfigurationProperty(%s)" % ", ".join(
3792
4200
  k + "=" + repr(v) for k, v in self._values.items()
3793
4201
  )
3794
4202
 
3795
4203
  @jsii.data_type(
3796
- jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.ParsingPromptProperty",
4204
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.FixedSizeChunkingConfigurationProperty",
4205
+ jsii_struct_bases=[],
4206
+ name_mapping={
4207
+ "max_tokens": "maxTokens",
4208
+ "overlap_percentage": "overlapPercentage",
4209
+ },
4210
+ )
4211
+ class FixedSizeChunkingConfigurationProperty:
4212
+ def __init__(
4213
+ self,
4214
+ *,
4215
+ max_tokens: jsii.Number,
4216
+ overlap_percentage: jsii.Number,
4217
+ ) -> None:
4218
+ '''Configurations for when you choose fixed-size chunking.
4219
+
4220
+ If you set the ``chunkingStrategy`` as ``NONE`` , exclude this field.
4221
+
4222
+ :param max_tokens: The maximum number of tokens to include in a chunk.
4223
+ :param overlap_percentage: The percentage of overlap between adjacent chunks of a data source.
4224
+
4225
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html
4226
+ :exampleMetadata: fixture=_generated
4227
+
4228
+ Example::
4229
+
4230
+ # The code below shows an example of how to instantiate this type.
4231
+ # The values are placeholders you should change.
4232
+ from aws_cdk import aws_bedrock as bedrock
4233
+
4234
+ fixed_size_chunking_configuration_property = bedrock.CfnDataSource.FixedSizeChunkingConfigurationProperty(
4235
+ max_tokens=123,
4236
+ overlap_percentage=123
4237
+ )
4238
+ '''
4239
+ if __debug__:
4240
+ type_hints = typing.get_type_hints(_typecheckingstub__7b9e8054cbf79d2292e738f1061947914954b89440b15bf572c87c9695aaf7bc)
4241
+ check_type(argname="argument max_tokens", value=max_tokens, expected_type=type_hints["max_tokens"])
4242
+ check_type(argname="argument overlap_percentage", value=overlap_percentage, expected_type=type_hints["overlap_percentage"])
4243
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4244
+ "max_tokens": max_tokens,
4245
+ "overlap_percentage": overlap_percentage,
4246
+ }
4247
+
4248
+ @builtins.property
4249
+ def max_tokens(self) -> jsii.Number:
4250
+ '''The maximum number of tokens to include in a chunk.
4251
+
4252
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-maxtokens
4253
+ '''
4254
+ result = self._values.get("max_tokens")
4255
+ assert result is not None, "Required property 'max_tokens' is missing"
4256
+ return typing.cast(jsii.Number, result)
4257
+
4258
+ @builtins.property
4259
+ def overlap_percentage(self) -> jsii.Number:
4260
+ '''The percentage of overlap between adjacent chunks of a data source.
4261
+
4262
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-overlappercentage
4263
+ '''
4264
+ result = self._values.get("overlap_percentage")
4265
+ assert result is not None, "Required property 'overlap_percentage' is missing"
4266
+ return typing.cast(jsii.Number, result)
4267
+
4268
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4269
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4270
+
4271
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4272
+ return not (rhs == self)
4273
+
4274
+ def __repr__(self) -> str:
4275
+ return "FixedSizeChunkingConfigurationProperty(%s)" % ", ".join(
4276
+ k + "=" + repr(v) for k, v in self._values.items()
4277
+ )
4278
+
4279
+ @jsii.data_type(
4280
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.HierarchicalChunkingConfigurationProperty",
4281
+ jsii_struct_bases=[],
4282
+ name_mapping={
4283
+ "level_configurations": "levelConfigurations",
4284
+ "overlap_tokens": "overlapTokens",
4285
+ },
4286
+ )
4287
+ class HierarchicalChunkingConfigurationProperty:
4288
+ def __init__(
4289
+ self,
4290
+ *,
4291
+ level_configurations: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.HierarchicalChunkingLevelConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]],
4292
+ overlap_tokens: jsii.Number,
4293
+ ) -> None:
4294
+ '''Settings for hierarchical document chunking for a data source.
4295
+
4296
+ Hierarchical chunking splits documents into layers of chunks where the first layer contains large chunks, and the second layer contains smaller chunks derived from the first layer.
4297
+
4298
+ You configure the number of tokens to overlap, or repeat across adjacent chunks. For example, if you set overlap tokens to 60, the last 60 tokens in the first chunk are also included at the beginning of the second chunk. For each layer, you must also configure the maximum number of tokens in a chunk.
4299
+
4300
+ :param level_configurations: Token settings for each layer.
4301
+ :param overlap_tokens: The number of tokens to repeat across chunks in the same layer.
4302
+
4303
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html
4304
+ :exampleMetadata: fixture=_generated
4305
+
4306
+ Example::
4307
+
4308
+ # The code below shows an example of how to instantiate this type.
4309
+ # The values are placeholders you should change.
4310
+ from aws_cdk import aws_bedrock as bedrock
4311
+
4312
+ hierarchical_chunking_configuration_property = bedrock.CfnDataSource.HierarchicalChunkingConfigurationProperty(
4313
+ level_configurations=[bedrock.CfnDataSource.HierarchicalChunkingLevelConfigurationProperty(
4314
+ max_tokens=123
4315
+ )],
4316
+ overlap_tokens=123
4317
+ )
4318
+ '''
4319
+ if __debug__:
4320
+ type_hints = typing.get_type_hints(_typecheckingstub__5d601b03a460137760d534703cc747a11f33f25a281361a35ba9b1dd3a52c4d6)
4321
+ check_type(argname="argument level_configurations", value=level_configurations, expected_type=type_hints["level_configurations"])
4322
+ check_type(argname="argument overlap_tokens", value=overlap_tokens, expected_type=type_hints["overlap_tokens"])
4323
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4324
+ "level_configurations": level_configurations,
4325
+ "overlap_tokens": overlap_tokens,
4326
+ }
4327
+
4328
+ @builtins.property
4329
+ def level_configurations(
4330
+ self,
4331
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.HierarchicalChunkingLevelConfigurationProperty"]]]:
4332
+ '''Token settings for each layer.
4333
+
4334
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkingconfiguration-levelconfigurations
4335
+ '''
4336
+ result = self._values.get("level_configurations")
4337
+ assert result is not None, "Required property 'level_configurations' is missing"
4338
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.HierarchicalChunkingLevelConfigurationProperty"]]], result)
4339
+
4340
+ @builtins.property
4341
+ def overlap_tokens(self) -> jsii.Number:
4342
+ '''The number of tokens to repeat across chunks in the same layer.
4343
+
4344
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkingconfiguration-overlaptokens
4345
+ '''
4346
+ result = self._values.get("overlap_tokens")
4347
+ assert result is not None, "Required property 'overlap_tokens' is missing"
4348
+ return typing.cast(jsii.Number, result)
4349
+
4350
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4351
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4352
+
4353
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4354
+ return not (rhs == self)
4355
+
4356
+ def __repr__(self) -> str:
4357
+ return "HierarchicalChunkingConfigurationProperty(%s)" % ", ".join(
4358
+ k + "=" + repr(v) for k, v in self._values.items()
4359
+ )
4360
+
4361
+ @jsii.data_type(
4362
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.HierarchicalChunkingLevelConfigurationProperty",
4363
+ jsii_struct_bases=[],
4364
+ name_mapping={"max_tokens": "maxTokens"},
4365
+ )
4366
+ class HierarchicalChunkingLevelConfigurationProperty:
4367
+ def __init__(self, *, max_tokens: jsii.Number) -> None:
4368
+ '''Token settings for a layer in a hierarchical chunking configuration.
4369
+
4370
+ :param max_tokens: The maximum number of tokens that a chunk can contain in this layer.
4371
+
4372
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkinglevelconfiguration.html
4373
+ :exampleMetadata: fixture=_generated
4374
+
4375
+ Example::
4376
+
4377
+ # The code below shows an example of how to instantiate this type.
4378
+ # The values are placeholders you should change.
4379
+ from aws_cdk import aws_bedrock as bedrock
4380
+
4381
+ hierarchical_chunking_level_configuration_property = bedrock.CfnDataSource.HierarchicalChunkingLevelConfigurationProperty(
4382
+ max_tokens=123
4383
+ )
4384
+ '''
4385
+ if __debug__:
4386
+ type_hints = typing.get_type_hints(_typecheckingstub__a3a29631db955251086144f75baf14ef472ef7bbe42761f323c0edfce3e4754b)
4387
+ check_type(argname="argument max_tokens", value=max_tokens, expected_type=type_hints["max_tokens"])
4388
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4389
+ "max_tokens": max_tokens,
4390
+ }
4391
+
4392
+ @builtins.property
4393
+ def max_tokens(self) -> jsii.Number:
4394
+ '''The maximum number of tokens that a chunk can contain in this layer.
4395
+
4396
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkinglevelconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkinglevelconfiguration-maxtokens
4397
+ '''
4398
+ result = self._values.get("max_tokens")
4399
+ assert result is not None, "Required property 'max_tokens' is missing"
4400
+ return typing.cast(jsii.Number, result)
4401
+
4402
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4403
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4404
+
4405
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4406
+ return not (rhs == self)
4407
+
4408
+ def __repr__(self) -> str:
4409
+ return "HierarchicalChunkingLevelConfigurationProperty(%s)" % ", ".join(
4410
+ k + "=" + repr(v) for k, v in self._values.items()
4411
+ )
4412
+
4413
+ @jsii.data_type(
4414
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.IntermediateStorageProperty",
4415
+ jsii_struct_bases=[],
4416
+ name_mapping={"s3_location": "s3Location"},
4417
+ )
4418
+ class IntermediateStorageProperty:
4419
+ def __init__(
4420
+ self,
4421
+ *,
4422
+ s3_location: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.S3LocationProperty", typing.Dict[builtins.str, typing.Any]]],
4423
+ ) -> None:
4424
+ '''A location for storing content from data sources temporarily as it is processed by custom components in the ingestion pipeline.
4425
+
4426
+ :param s3_location: An S3 bucket path.
4427
+
4428
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-intermediatestorage.html
4429
+ :exampleMetadata: fixture=_generated
4430
+
4431
+ Example::
4432
+
4433
+ # The code below shows an example of how to instantiate this type.
4434
+ # The values are placeholders you should change.
4435
+ from aws_cdk import aws_bedrock as bedrock
4436
+
4437
+ intermediate_storage_property = bedrock.CfnDataSource.IntermediateStorageProperty(
4438
+ s3_location=bedrock.CfnDataSource.S3LocationProperty(
4439
+ uri="uri"
4440
+ )
4441
+ )
4442
+ '''
4443
+ if __debug__:
4444
+ type_hints = typing.get_type_hints(_typecheckingstub__5bdd915748b8cf592aa9f03cf95eac889f69f61263bafe87a0ba9aa14454585f)
4445
+ check_type(argname="argument s3_location", value=s3_location, expected_type=type_hints["s3_location"])
4446
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4447
+ "s3_location": s3_location,
4448
+ }
4449
+
4450
+ @builtins.property
4451
+ def s3_location(
4452
+ self,
4453
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.S3LocationProperty"]:
4454
+ '''An S3 bucket path.
4455
+
4456
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-intermediatestorage.html#cfn-bedrock-datasource-intermediatestorage-s3location
4457
+ '''
4458
+ result = self._values.get("s3_location")
4459
+ assert result is not None, "Required property 's3_location' is missing"
4460
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.S3LocationProperty"], result)
4461
+
4462
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4463
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4464
+
4465
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4466
+ return not (rhs == self)
4467
+
4468
+ def __repr__(self) -> str:
4469
+ return "IntermediateStorageProperty(%s)" % ", ".join(
4470
+ k + "=" + repr(v) for k, v in self._values.items()
4471
+ )
4472
+
4473
+ @jsii.data_type(
4474
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.ParsingConfigurationProperty",
4475
+ jsii_struct_bases=[],
4476
+ name_mapping={
4477
+ "parsing_strategy": "parsingStrategy",
4478
+ "bedrock_foundation_model_configuration": "bedrockFoundationModelConfiguration",
4479
+ },
4480
+ )
4481
+ class ParsingConfigurationProperty:
4482
+ def __init__(
4483
+ self,
4484
+ *,
4485
+ parsing_strategy: builtins.str,
4486
+ bedrock_foundation_model_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.BedrockFoundationModelConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4487
+ ) -> None:
4488
+ '''Settings for parsing document contents.
4489
+
4490
+ By default, the service converts the contents of each document into text before splitting it into chunks. To improve processing of PDF files with tables and images, you can configure the data source to convert the pages of text into images and use a model to describe the contents of each page.
4491
+
4492
+ To use a model to parse PDF documents, set the parsing strategy to ``BEDROCK_FOUNDATION_MODEL`` and specify the model to use by ARN. You can also override the default parsing prompt with instructions for how to interpret images and tables in your documents. The following models are supported.
4493
+
4494
+ - Anthropic Claude 3 Sonnet - ``anthropic.claude-3-sonnet-20240229-v1:0``
4495
+ - Anthropic Claude 3 Haiku - ``anthropic.claude-3-haiku-20240307-v1:0``
4496
+
4497
+ You can get the ARN of a model with the `ListFoundationModels <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html>`_ action. Standard model usage charges apply for the foundation model parsing strategy.
4498
+
4499
+ :param parsing_strategy: The parsing strategy for the data source.
4500
+ :param bedrock_foundation_model_configuration: Settings for a foundation model used to parse documents for a data source.
4501
+
4502
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html
4503
+ :exampleMetadata: fixture=_generated
4504
+
4505
+ Example::
4506
+
4507
+ # The code below shows an example of how to instantiate this type.
4508
+ # The values are placeholders you should change.
4509
+ from aws_cdk import aws_bedrock as bedrock
4510
+
4511
+ parsing_configuration_property = bedrock.CfnDataSource.ParsingConfigurationProperty(
4512
+ parsing_strategy="parsingStrategy",
4513
+
4514
+ # the properties below are optional
4515
+ bedrock_foundation_model_configuration=bedrock.CfnDataSource.BedrockFoundationModelConfigurationProperty(
4516
+ model_arn="modelArn",
4517
+
4518
+ # the properties below are optional
4519
+ parsing_prompt=bedrock.CfnDataSource.ParsingPromptProperty(
4520
+ parsing_prompt_text="parsingPromptText"
4521
+ )
4522
+ )
4523
+ )
4524
+ '''
4525
+ if __debug__:
4526
+ type_hints = typing.get_type_hints(_typecheckingstub__26a14ade018e836fe8686ec2de5e50a05435a92d8d540814f0759c1bb3893ef0)
4527
+ check_type(argname="argument parsing_strategy", value=parsing_strategy, expected_type=type_hints["parsing_strategy"])
4528
+ check_type(argname="argument bedrock_foundation_model_configuration", value=bedrock_foundation_model_configuration, expected_type=type_hints["bedrock_foundation_model_configuration"])
4529
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4530
+ "parsing_strategy": parsing_strategy,
4531
+ }
4532
+ if bedrock_foundation_model_configuration is not None:
4533
+ self._values["bedrock_foundation_model_configuration"] = bedrock_foundation_model_configuration
4534
+
4535
+ @builtins.property
4536
+ def parsing_strategy(self) -> builtins.str:
4537
+ '''The parsing strategy for the data source.
4538
+
4539
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html#cfn-bedrock-datasource-parsingconfiguration-parsingstrategy
4540
+ '''
4541
+ result = self._values.get("parsing_strategy")
4542
+ assert result is not None, "Required property 'parsing_strategy' is missing"
4543
+ return typing.cast(builtins.str, result)
4544
+
4545
+ @builtins.property
4546
+ def bedrock_foundation_model_configuration(
4547
+ self,
4548
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.BedrockFoundationModelConfigurationProperty"]]:
4549
+ '''Settings for a foundation model used to parse documents for a data source.
4550
+
4551
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html#cfn-bedrock-datasource-parsingconfiguration-bedrockfoundationmodelconfiguration
4552
+ '''
4553
+ result = self._values.get("bedrock_foundation_model_configuration")
4554
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.BedrockFoundationModelConfigurationProperty"]], result)
4555
+
4556
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4557
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4558
+
4559
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4560
+ return not (rhs == self)
4561
+
4562
+ def __repr__(self) -> str:
4563
+ return "ParsingConfigurationProperty(%s)" % ", ".join(
4564
+ k + "=" + repr(v) for k, v in self._values.items()
4565
+ )
4566
+
4567
+ @jsii.data_type(
4568
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.ParsingPromptProperty",
4569
+ jsii_struct_bases=[],
4570
+ name_mapping={"parsing_prompt_text": "parsingPromptText"},
4571
+ )
4572
+ class ParsingPromptProperty:
4573
+ def __init__(self, *, parsing_prompt_text: builtins.str) -> None:
4574
+ '''Instructions for interpreting the contents of a document.
4575
+
4576
+ :param parsing_prompt_text: Instructions for interpreting the contents of a document.
4577
+
4578
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingprompt.html
4579
+ :exampleMetadata: fixture=_generated
4580
+
4581
+ Example::
4582
+
4583
+ # The code below shows an example of how to instantiate this type.
4584
+ # The values are placeholders you should change.
4585
+ from aws_cdk import aws_bedrock as bedrock
4586
+
4587
+ parsing_prompt_property = bedrock.CfnDataSource.ParsingPromptProperty(
4588
+ parsing_prompt_text="parsingPromptText"
4589
+ )
4590
+ '''
4591
+ if __debug__:
4592
+ type_hints = typing.get_type_hints(_typecheckingstub__57c952f819fbd492c40906223d7646e286faeaf1492ccfe1a050c776f220f8b7)
4593
+ check_type(argname="argument parsing_prompt_text", value=parsing_prompt_text, expected_type=type_hints["parsing_prompt_text"])
4594
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4595
+ "parsing_prompt_text": parsing_prompt_text,
4596
+ }
4597
+
4598
+ @builtins.property
4599
+ def parsing_prompt_text(self) -> builtins.str:
4600
+ '''Instructions for interpreting the contents of a document.
4601
+
4602
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingprompt.html#cfn-bedrock-datasource-parsingprompt-parsingprompttext
4603
+ '''
4604
+ result = self._values.get("parsing_prompt_text")
4605
+ assert result is not None, "Required property 'parsing_prompt_text' is missing"
4606
+ return typing.cast(builtins.str, result)
4607
+
4608
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4609
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4610
+
4611
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4612
+ return not (rhs == self)
4613
+
4614
+ def __repr__(self) -> str:
4615
+ return "ParsingPromptProperty(%s)" % ", ".join(
4616
+ k + "=" + repr(v) for k, v in self._values.items()
4617
+ )
4618
+
4619
+ @jsii.data_type(
4620
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty",
4621
+ jsii_struct_bases=[],
4622
+ name_mapping={"filters": "filters"},
4623
+ )
4624
+ class PatternObjectFilterConfigurationProperty:
4625
+ def __init__(
4626
+ self,
4627
+ *,
4628
+ filters: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.PatternObjectFilterProperty", typing.Dict[builtins.str, typing.Any]]]]],
4629
+ ) -> None:
4630
+ '''The configuration of filtering certain objects or content types of the data source.
4631
+
4632
+ :param filters: The configuration of specific filters applied to your data source content. You can filter out or include certain content.
4633
+
4634
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilterconfiguration.html
4635
+ :exampleMetadata: fixture=_generated
4636
+
4637
+ Example::
4638
+
4639
+ # The code below shows an example of how to instantiate this type.
4640
+ # The values are placeholders you should change.
4641
+ from aws_cdk import aws_bedrock as bedrock
4642
+
4643
+ pattern_object_filter_configuration_property = bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
4644
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
4645
+ object_type="objectType",
4646
+
4647
+ # the properties below are optional
4648
+ exclusion_filters=["exclusionFilters"],
4649
+ inclusion_filters=["inclusionFilters"]
4650
+ )]
4651
+ )
4652
+ '''
4653
+ if __debug__:
4654
+ type_hints = typing.get_type_hints(_typecheckingstub__3ced151210973a4135e752b7dc574bfd684559819a7a07720ae710370867eba6)
4655
+ check_type(argname="argument filters", value=filters, expected_type=type_hints["filters"])
4656
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4657
+ "filters": filters,
4658
+ }
4659
+
4660
+ @builtins.property
4661
+ def filters(
4662
+ self,
4663
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.PatternObjectFilterProperty"]]]:
4664
+ '''The configuration of specific filters applied to your data source content.
4665
+
4666
+ You can filter out or include certain content.
4667
+
4668
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilterconfiguration.html#cfn-bedrock-datasource-patternobjectfilterconfiguration-filters
4669
+ '''
4670
+ result = self._values.get("filters")
4671
+ assert result is not None, "Required property 'filters' is missing"
4672
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.PatternObjectFilterProperty"]]], result)
4673
+
4674
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4675
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4676
+
4677
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4678
+ return not (rhs == self)
4679
+
4680
+ def __repr__(self) -> str:
4681
+ return "PatternObjectFilterConfigurationProperty(%s)" % ", ".join(
4682
+ k + "=" + repr(v) for k, v in self._values.items()
4683
+ )
4684
+
4685
+ @jsii.data_type(
4686
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.PatternObjectFilterProperty",
4687
+ jsii_struct_bases=[],
4688
+ name_mapping={
4689
+ "object_type": "objectType",
4690
+ "exclusion_filters": "exclusionFilters",
4691
+ "inclusion_filters": "inclusionFilters",
4692
+ },
4693
+ )
4694
+ class PatternObjectFilterProperty:
4695
+ def __init__(
4696
+ self,
4697
+ *,
4698
+ object_type: builtins.str,
4699
+ exclusion_filters: typing.Optional[typing.Sequence[builtins.str]] = None,
4700
+ inclusion_filters: typing.Optional[typing.Sequence[builtins.str]] = None,
4701
+ ) -> None:
4702
+ '''The specific filters applied to your data source content.
4703
+
4704
+ You can filter out or include certain content.
4705
+
4706
+ :param object_type: The supported object type or content type of the data source.
4707
+ :param exclusion_filters: A list of one or more exclusion regular expression patterns to exclude certain object types that adhere to the pattern. If you specify an inclusion and exclusion filter/pattern and both match a document, the exclusion filter takes precedence and the document isn’t crawled.
4708
+ :param inclusion_filters: A list of one or more inclusion regular expression patterns to include certain object types that adhere to the pattern. If you specify an inclusion and exclusion filter/pattern and both match a document, the exclusion filter takes precedence and the document isn’t crawled.
4709
+
4710
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html
4711
+ :exampleMetadata: fixture=_generated
4712
+
4713
+ Example::
4714
+
4715
+ # The code below shows an example of how to instantiate this type.
4716
+ # The values are placeholders you should change.
4717
+ from aws_cdk import aws_bedrock as bedrock
4718
+
4719
+ pattern_object_filter_property = bedrock.CfnDataSource.PatternObjectFilterProperty(
4720
+ object_type="objectType",
4721
+
4722
+ # the properties below are optional
4723
+ exclusion_filters=["exclusionFilters"],
4724
+ inclusion_filters=["inclusionFilters"]
4725
+ )
4726
+ '''
4727
+ if __debug__:
4728
+ type_hints = typing.get_type_hints(_typecheckingstub__7dd7a9d6c2e0d5d05d02a68d2dea721b600e4ddae8bf5dcf24f149b9e9319bd5)
4729
+ check_type(argname="argument object_type", value=object_type, expected_type=type_hints["object_type"])
4730
+ check_type(argname="argument exclusion_filters", value=exclusion_filters, expected_type=type_hints["exclusion_filters"])
4731
+ check_type(argname="argument inclusion_filters", value=inclusion_filters, expected_type=type_hints["inclusion_filters"])
4732
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4733
+ "object_type": object_type,
4734
+ }
4735
+ if exclusion_filters is not None:
4736
+ self._values["exclusion_filters"] = exclusion_filters
4737
+ if inclusion_filters is not None:
4738
+ self._values["inclusion_filters"] = inclusion_filters
4739
+
4740
+ @builtins.property
4741
+ def object_type(self) -> builtins.str:
4742
+ '''The supported object type or content type of the data source.
4743
+
4744
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html#cfn-bedrock-datasource-patternobjectfilter-objecttype
4745
+ '''
4746
+ result = self._values.get("object_type")
4747
+ assert result is not None, "Required property 'object_type' is missing"
4748
+ return typing.cast(builtins.str, result)
4749
+
4750
+ @builtins.property
4751
+ def exclusion_filters(self) -> typing.Optional[typing.List[builtins.str]]:
4752
+ '''A list of one or more exclusion regular expression patterns to exclude certain object types that adhere to the pattern.
4753
+
4754
+ If you specify an inclusion and exclusion filter/pattern and both match a document, the exclusion filter takes precedence and the document isn’t crawled.
4755
+
4756
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html#cfn-bedrock-datasource-patternobjectfilter-exclusionfilters
4757
+ '''
4758
+ result = self._values.get("exclusion_filters")
4759
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
4760
+
4761
+ @builtins.property
4762
+ def inclusion_filters(self) -> typing.Optional[typing.List[builtins.str]]:
4763
+ '''A list of one or more inclusion regular expression patterns to include certain object types that adhere to the pattern.
4764
+
4765
+ If you specify an inclusion and exclusion filter/pattern and both match a document, the exclusion filter takes precedence and the document isn’t crawled.
4766
+
4767
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html#cfn-bedrock-datasource-patternobjectfilter-inclusionfilters
4768
+ '''
4769
+ result = self._values.get("inclusion_filters")
4770
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
4771
+
4772
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4773
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4774
+
4775
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4776
+ return not (rhs == self)
4777
+
4778
+ def __repr__(self) -> str:
4779
+ return "PatternObjectFilterProperty(%s)" % ", ".join(
4780
+ k + "=" + repr(v) for k, v in self._values.items()
4781
+ )
4782
+
4783
+ @jsii.data_type(
4784
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.S3DataSourceConfigurationProperty",
4785
+ jsii_struct_bases=[],
4786
+ name_mapping={
4787
+ "bucket_arn": "bucketArn",
4788
+ "bucket_owner_account_id": "bucketOwnerAccountId",
4789
+ "inclusion_prefixes": "inclusionPrefixes",
4790
+ },
4791
+ )
4792
+ class S3DataSourceConfigurationProperty:
4793
+ def __init__(
4794
+ self,
4795
+ *,
4796
+ bucket_arn: builtins.str,
4797
+ bucket_owner_account_id: typing.Optional[builtins.str] = None,
4798
+ inclusion_prefixes: typing.Optional[typing.Sequence[builtins.str]] = None,
4799
+ ) -> None:
4800
+ '''The configuration information to connect to Amazon S3 as your data source.
4801
+
4802
+ :param bucket_arn: The Amazon Resource Name (ARN) of the S3 bucket that contains your data.
4803
+ :param bucket_owner_account_id: The account ID for the owner of the S3 bucket.
4804
+ :param inclusion_prefixes: A list of S3 prefixes to include certain files or content. For more information, see `Organizing objects using prefixes <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html>`_ .
4805
+
4806
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html
4807
+ :exampleMetadata: fixture=_generated
4808
+
4809
+ Example::
4810
+
4811
+ # The code below shows an example of how to instantiate this type.
4812
+ # The values are placeholders you should change.
4813
+ from aws_cdk import aws_bedrock as bedrock
4814
+
4815
+ s3_data_source_configuration_property = bedrock.CfnDataSource.S3DataSourceConfigurationProperty(
4816
+ bucket_arn="bucketArn",
4817
+
4818
+ # the properties below are optional
4819
+ bucket_owner_account_id="bucketOwnerAccountId",
4820
+ inclusion_prefixes=["inclusionPrefixes"]
4821
+ )
4822
+ '''
4823
+ if __debug__:
4824
+ type_hints = typing.get_type_hints(_typecheckingstub__6b4929296343a5ea55bce5d28d11b34fa10885df35596a08102658f8bcbc8c5b)
4825
+ check_type(argname="argument bucket_arn", value=bucket_arn, expected_type=type_hints["bucket_arn"])
4826
+ check_type(argname="argument bucket_owner_account_id", value=bucket_owner_account_id, expected_type=type_hints["bucket_owner_account_id"])
4827
+ check_type(argname="argument inclusion_prefixes", value=inclusion_prefixes, expected_type=type_hints["inclusion_prefixes"])
4828
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4829
+ "bucket_arn": bucket_arn,
4830
+ }
4831
+ if bucket_owner_account_id is not None:
4832
+ self._values["bucket_owner_account_id"] = bucket_owner_account_id
4833
+ if inclusion_prefixes is not None:
4834
+ self._values["inclusion_prefixes"] = inclusion_prefixes
4835
+
4836
+ @builtins.property
4837
+ def bucket_arn(self) -> builtins.str:
4838
+ '''The Amazon Resource Name (ARN) of the S3 bucket that contains your data.
4839
+
4840
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html#cfn-bedrock-datasource-s3datasourceconfiguration-bucketarn
4841
+ '''
4842
+ result = self._values.get("bucket_arn")
4843
+ assert result is not None, "Required property 'bucket_arn' is missing"
4844
+ return typing.cast(builtins.str, result)
4845
+
4846
+ @builtins.property
4847
+ def bucket_owner_account_id(self) -> typing.Optional[builtins.str]:
4848
+ '''The account ID for the owner of the S3 bucket.
4849
+
4850
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html#cfn-bedrock-datasource-s3datasourceconfiguration-bucketowneraccountid
4851
+ '''
4852
+ result = self._values.get("bucket_owner_account_id")
4853
+ return typing.cast(typing.Optional[builtins.str], result)
4854
+
4855
+ @builtins.property
4856
+ def inclusion_prefixes(self) -> typing.Optional[typing.List[builtins.str]]:
4857
+ '''A list of S3 prefixes to include certain files or content.
4858
+
4859
+ For more information, see `Organizing objects using prefixes <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html>`_ .
4860
+
4861
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html#cfn-bedrock-datasource-s3datasourceconfiguration-inclusionprefixes
4862
+ '''
4863
+ result = self._values.get("inclusion_prefixes")
4864
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
4865
+
4866
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4867
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4868
+
4869
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4870
+ return not (rhs == self)
4871
+
4872
+ def __repr__(self) -> str:
4873
+ return "S3DataSourceConfigurationProperty(%s)" % ", ".join(
4874
+ k + "=" + repr(v) for k, v in self._values.items()
4875
+ )
4876
+
4877
+ @jsii.data_type(
4878
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.S3LocationProperty",
4879
+ jsii_struct_bases=[],
4880
+ name_mapping={"uri": "uri"},
4881
+ )
4882
+ class S3LocationProperty:
4883
+ def __init__(self, *, uri: builtins.str) -> None:
4884
+ '''An Amazon S3 location.
4885
+
4886
+ :param uri: The location's URI. For example, ``s3://my-bucket/chunk-processor/`` .
4887
+
4888
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3location.html
4889
+ :exampleMetadata: fixture=_generated
4890
+
4891
+ Example::
4892
+
4893
+ # The code below shows an example of how to instantiate this type.
4894
+ # The values are placeholders you should change.
4895
+ from aws_cdk import aws_bedrock as bedrock
4896
+
4897
+ s3_location_property = bedrock.CfnDataSource.S3LocationProperty(
4898
+ uri="uri"
4899
+ )
4900
+ '''
4901
+ if __debug__:
4902
+ type_hints = typing.get_type_hints(_typecheckingstub__d638c12879ec4e653848ff096c94119612fc29f6181050c0a7980f3714ced173)
4903
+ check_type(argname="argument uri", value=uri, expected_type=type_hints["uri"])
4904
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4905
+ "uri": uri,
4906
+ }
4907
+
4908
+ @builtins.property
4909
+ def uri(self) -> builtins.str:
4910
+ '''The location's URI.
4911
+
4912
+ For example, ``s3://my-bucket/chunk-processor/`` .
4913
+
4914
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3location.html#cfn-bedrock-datasource-s3location-uri
4915
+ '''
4916
+ result = self._values.get("uri")
4917
+ assert result is not None, "Required property 'uri' is missing"
4918
+ return typing.cast(builtins.str, result)
4919
+
4920
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4921
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4922
+
4923
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4924
+ return not (rhs == self)
4925
+
4926
+ def __repr__(self) -> str:
4927
+ return "S3LocationProperty(%s)" % ", ".join(
4928
+ k + "=" + repr(v) for k, v in self._values.items()
4929
+ )
4930
+
4931
+ @jsii.data_type(
4932
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.SalesforceCrawlerConfigurationProperty",
4933
+ jsii_struct_bases=[],
4934
+ name_mapping={"filter_configuration": "filterConfiguration"},
4935
+ )
4936
+ class SalesforceCrawlerConfigurationProperty:
4937
+ def __init__(
4938
+ self,
4939
+ *,
4940
+ filter_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.CrawlFilterConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4941
+ ) -> None:
4942
+ '''The configuration of the Salesforce content.
4943
+
4944
+ For example, configuring specific types of Salesforce content.
4945
+
4946
+ :param filter_configuration: The configuration of filtering the Salesforce content. For example, configuring regular expression patterns to include or exclude certain content.
4947
+
4948
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcecrawlerconfiguration.html
4949
+ :exampleMetadata: fixture=_generated
4950
+
4951
+ Example::
4952
+
4953
+ # The code below shows an example of how to instantiate this type.
4954
+ # The values are placeholders you should change.
4955
+ from aws_cdk import aws_bedrock as bedrock
4956
+
4957
+ salesforce_crawler_configuration_property = bedrock.CfnDataSource.SalesforceCrawlerConfigurationProperty(
4958
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
4959
+ type="type",
4960
+
4961
+ # the properties below are optional
4962
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
4963
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
4964
+ object_type="objectType",
4965
+
4966
+ # the properties below are optional
4967
+ exclusion_filters=["exclusionFilters"],
4968
+ inclusion_filters=["inclusionFilters"]
4969
+ )]
4970
+ )
4971
+ )
4972
+ )
4973
+ '''
4974
+ if __debug__:
4975
+ type_hints = typing.get_type_hints(_typecheckingstub__dcf2c72ca7f7035009e0a5f42f7687d9e34922f1d08c1037a18768fdbbcd714b)
4976
+ check_type(argname="argument filter_configuration", value=filter_configuration, expected_type=type_hints["filter_configuration"])
4977
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4978
+ if filter_configuration is not None:
4979
+ self._values["filter_configuration"] = filter_configuration
4980
+
4981
+ @builtins.property
4982
+ def filter_configuration(
4983
+ self,
4984
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.CrawlFilterConfigurationProperty"]]:
4985
+ '''The configuration of filtering the Salesforce content.
4986
+
4987
+ For example, configuring regular expression patterns to include or exclude certain content.
4988
+
4989
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcecrawlerconfiguration.html#cfn-bedrock-datasource-salesforcecrawlerconfiguration-filterconfiguration
4990
+ '''
4991
+ result = self._values.get("filter_configuration")
4992
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.CrawlFilterConfigurationProperty"]], result)
4993
+
4994
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4995
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4996
+
4997
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4998
+ return not (rhs == self)
4999
+
5000
+ def __repr__(self) -> str:
5001
+ return "SalesforceCrawlerConfigurationProperty(%s)" % ", ".join(
5002
+ k + "=" + repr(v) for k, v in self._values.items()
5003
+ )
5004
+
5005
+ @jsii.data_type(
5006
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.SalesforceDataSourceConfigurationProperty",
5007
+ jsii_struct_bases=[],
5008
+ name_mapping={
5009
+ "source_configuration": "sourceConfiguration",
5010
+ "crawler_configuration": "crawlerConfiguration",
5011
+ },
5012
+ )
5013
+ class SalesforceDataSourceConfigurationProperty:
5014
+ def __init__(
5015
+ self,
5016
+ *,
5017
+ source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.SalesforceSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
5018
+ crawler_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.SalesforceCrawlerConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5019
+ ) -> None:
5020
+ '''The configuration information to connect to Salesforce as your data source.
5021
+
5022
+ :param source_configuration: The endpoint information to connect to your Salesforce data source.
5023
+ :param crawler_configuration: The configuration of the Salesforce content. For example, configuring specific types of Salesforce content.
5024
+
5025
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcedatasourceconfiguration.html
5026
+ :exampleMetadata: fixture=_generated
5027
+
5028
+ Example::
5029
+
5030
+ # The code below shows an example of how to instantiate this type.
5031
+ # The values are placeholders you should change.
5032
+ from aws_cdk import aws_bedrock as bedrock
5033
+
5034
+ salesforce_data_source_configuration_property = bedrock.CfnDataSource.SalesforceDataSourceConfigurationProperty(
5035
+ source_configuration=bedrock.CfnDataSource.SalesforceSourceConfigurationProperty(
5036
+ auth_type="authType",
5037
+ credentials_secret_arn="credentialsSecretArn",
5038
+ host_url="hostUrl"
5039
+ ),
5040
+
5041
+ # the properties below are optional
5042
+ crawler_configuration=bedrock.CfnDataSource.SalesforceCrawlerConfigurationProperty(
5043
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
5044
+ type="type",
5045
+
5046
+ # the properties below are optional
5047
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
5048
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
5049
+ object_type="objectType",
5050
+
5051
+ # the properties below are optional
5052
+ exclusion_filters=["exclusionFilters"],
5053
+ inclusion_filters=["inclusionFilters"]
5054
+ )]
5055
+ )
5056
+ )
5057
+ )
5058
+ )
5059
+ '''
5060
+ if __debug__:
5061
+ type_hints = typing.get_type_hints(_typecheckingstub__19e91cc5df4de808fbd82c02038242b17f720e32ff1b1c457240b738983c4e56)
5062
+ check_type(argname="argument source_configuration", value=source_configuration, expected_type=type_hints["source_configuration"])
5063
+ check_type(argname="argument crawler_configuration", value=crawler_configuration, expected_type=type_hints["crawler_configuration"])
5064
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5065
+ "source_configuration": source_configuration,
5066
+ }
5067
+ if crawler_configuration is not None:
5068
+ self._values["crawler_configuration"] = crawler_configuration
5069
+
5070
+ @builtins.property
5071
+ def source_configuration(
5072
+ self,
5073
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.SalesforceSourceConfigurationProperty"]:
5074
+ '''The endpoint information to connect to your Salesforce data source.
5075
+
5076
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcedatasourceconfiguration.html#cfn-bedrock-datasource-salesforcedatasourceconfiguration-sourceconfiguration
5077
+ '''
5078
+ result = self._values.get("source_configuration")
5079
+ assert result is not None, "Required property 'source_configuration' is missing"
5080
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.SalesforceSourceConfigurationProperty"], result)
5081
+
5082
+ @builtins.property
5083
+ def crawler_configuration(
5084
+ self,
5085
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.SalesforceCrawlerConfigurationProperty"]]:
5086
+ '''The configuration of the Salesforce content.
5087
+
5088
+ For example, configuring specific types of Salesforce content.
5089
+
5090
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcedatasourceconfiguration.html#cfn-bedrock-datasource-salesforcedatasourceconfiguration-crawlerconfiguration
5091
+ '''
5092
+ result = self._values.get("crawler_configuration")
5093
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.SalesforceCrawlerConfigurationProperty"]], result)
5094
+
5095
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5096
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5097
+
5098
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5099
+ return not (rhs == self)
5100
+
5101
+ def __repr__(self) -> str:
5102
+ return "SalesforceDataSourceConfigurationProperty(%s)" % ", ".join(
5103
+ k + "=" + repr(v) for k, v in self._values.items()
5104
+ )
5105
+
5106
+ @jsii.data_type(
5107
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.SalesforceSourceConfigurationProperty",
3797
5108
  jsii_struct_bases=[],
3798
- name_mapping={"parsing_prompt_text": "parsingPromptText"},
5109
+ name_mapping={
5110
+ "auth_type": "authType",
5111
+ "credentials_secret_arn": "credentialsSecretArn",
5112
+ "host_url": "hostUrl",
5113
+ },
3799
5114
  )
3800
- class ParsingPromptProperty:
3801
- def __init__(self, *, parsing_prompt_text: builtins.str) -> None:
3802
- '''Instructions for interpreting the contents of a document.
5115
+ class SalesforceSourceConfigurationProperty:
5116
+ def __init__(
5117
+ self,
5118
+ *,
5119
+ auth_type: builtins.str,
5120
+ credentials_secret_arn: builtins.str,
5121
+ host_url: builtins.str,
5122
+ ) -> None:
5123
+ '''The endpoint information to connect to your Salesforce data source.
3803
5124
 
3804
- :param parsing_prompt_text: Instructions for interpreting the contents of a document.
5125
+ :param auth_type: The supported authentication type to authenticate and connect to your Salesforce instance.
5126
+ :param credentials_secret_arn: The Amazon Resource Name of an AWS Secrets Manager secret that stores your authentication credentials for your Salesforce instance URL. For more information on the key-value pairs that must be included in your secret, depending on your authentication type, see `Salesforce connection configuration <https://docs.aws.amazon.com/bedrock/latest/userguide/salesforce-data-source-connector.html#configuration-salesforce-connector>`_ .
5127
+ :param host_url: The Salesforce host URL or instance URL.
3805
5128
 
3806
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingprompt.html
5129
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html
3807
5130
  :exampleMetadata: fixture=_generated
3808
5131
 
3809
5132
  Example::
@@ -3812,25 +5135,53 @@ class CfnDataSource(
3812
5135
  # The values are placeholders you should change.
3813
5136
  from aws_cdk import aws_bedrock as bedrock
3814
5137
 
3815
- parsing_prompt_property = bedrock.CfnDataSource.ParsingPromptProperty(
3816
- parsing_prompt_text="parsingPromptText"
5138
+ salesforce_source_configuration_property = bedrock.CfnDataSource.SalesforceSourceConfigurationProperty(
5139
+ auth_type="authType",
5140
+ credentials_secret_arn="credentialsSecretArn",
5141
+ host_url="hostUrl"
3817
5142
  )
3818
5143
  '''
3819
5144
  if __debug__:
3820
- type_hints = typing.get_type_hints(_typecheckingstub__57c952f819fbd492c40906223d7646e286faeaf1492ccfe1a050c776f220f8b7)
3821
- check_type(argname="argument parsing_prompt_text", value=parsing_prompt_text, expected_type=type_hints["parsing_prompt_text"])
5145
+ type_hints = typing.get_type_hints(_typecheckingstub__10d168ba87dbfa2820a4a25447b46f7077984592e3b4d5a50f59c6f822487578)
5146
+ check_type(argname="argument auth_type", value=auth_type, expected_type=type_hints["auth_type"])
5147
+ check_type(argname="argument credentials_secret_arn", value=credentials_secret_arn, expected_type=type_hints["credentials_secret_arn"])
5148
+ check_type(argname="argument host_url", value=host_url, expected_type=type_hints["host_url"])
3822
5149
  self._values: typing.Dict[builtins.str, typing.Any] = {
3823
- "parsing_prompt_text": parsing_prompt_text,
5150
+ "auth_type": auth_type,
5151
+ "credentials_secret_arn": credentials_secret_arn,
5152
+ "host_url": host_url,
3824
5153
  }
3825
5154
 
3826
5155
  @builtins.property
3827
- def parsing_prompt_text(self) -> builtins.str:
3828
- '''Instructions for interpreting the contents of a document.
5156
+ def auth_type(self) -> builtins.str:
5157
+ '''The supported authentication type to authenticate and connect to your Salesforce instance.
3829
5158
 
3830
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingprompt.html#cfn-bedrock-datasource-parsingprompt-parsingprompttext
5159
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html#cfn-bedrock-datasource-salesforcesourceconfiguration-authtype
3831
5160
  '''
3832
- result = self._values.get("parsing_prompt_text")
3833
- assert result is not None, "Required property 'parsing_prompt_text' is missing"
5161
+ result = self._values.get("auth_type")
5162
+ assert result is not None, "Required property 'auth_type' is missing"
5163
+ return typing.cast(builtins.str, result)
5164
+
5165
+ @builtins.property
5166
+ def credentials_secret_arn(self) -> builtins.str:
5167
+ '''The Amazon Resource Name of an AWS Secrets Manager secret that stores your authentication credentials for your Salesforce instance URL.
5168
+
5169
+ For more information on the key-value pairs that must be included in your secret, depending on your authentication type, see `Salesforce connection configuration <https://docs.aws.amazon.com/bedrock/latest/userguide/salesforce-data-source-connector.html#configuration-salesforce-connector>`_ .
5170
+
5171
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html#cfn-bedrock-datasource-salesforcesourceconfiguration-credentialssecretarn
5172
+ '''
5173
+ result = self._values.get("credentials_secret_arn")
5174
+ assert result is not None, "Required property 'credentials_secret_arn' is missing"
5175
+ return typing.cast(builtins.str, result)
5176
+
5177
+ @builtins.property
5178
+ def host_url(self) -> builtins.str:
5179
+ '''The Salesforce host URL or instance URL.
5180
+
5181
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html#cfn-bedrock-datasource-salesforcesourceconfiguration-hosturl
5182
+ '''
5183
+ result = self._values.get("host_url")
5184
+ assert result is not None, "Required property 'host_url' is missing"
3834
5185
  return typing.cast(builtins.str, result)
3835
5186
 
3836
5187
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
@@ -3840,22 +5191,24 @@ class CfnDataSource(
3840
5191
  return not (rhs == self)
3841
5192
 
3842
5193
  def __repr__(self) -> str:
3843
- return "ParsingPromptProperty(%s)" % ", ".join(
5194
+ return "SalesforceSourceConfigurationProperty(%s)" % ", ".join(
3844
5195
  k + "=" + repr(v) for k, v in self._values.items()
3845
5196
  )
3846
5197
 
3847
5198
  @jsii.data_type(
3848
- jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.S3LocationProperty",
5199
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.SeedUrlProperty",
3849
5200
  jsii_struct_bases=[],
3850
- name_mapping={"uri": "uri"},
5201
+ name_mapping={"url": "url"},
3851
5202
  )
3852
- class S3LocationProperty:
3853
- def __init__(self, *, uri: builtins.str) -> None:
3854
- '''An Amazon S3 location.
5203
+ class SeedUrlProperty:
5204
+ def __init__(self, *, url: builtins.str) -> None:
5205
+ '''The seed or starting point URL.
3855
5206
 
3856
- :param uri: The location's URI. For example, ``s3://my-bucket/chunk-processor/`` .
5207
+ You should be authorized to crawl the URL.
3857
5208
 
3858
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3location.html
5209
+ :param url: A seed or starting point URL.
5210
+
5211
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-seedurl.html
3859
5212
  :exampleMetadata: fixture=_generated
3860
5213
 
3861
5214
  Example::
@@ -3864,27 +5217,25 @@ class CfnDataSource(
3864
5217
  # The values are placeholders you should change.
3865
5218
  from aws_cdk import aws_bedrock as bedrock
3866
5219
 
3867
- s3_location_property = bedrock.CfnDataSource.S3LocationProperty(
3868
- uri="uri"
5220
+ seed_url_property = bedrock.CfnDataSource.SeedUrlProperty(
5221
+ url="url"
3869
5222
  )
3870
5223
  '''
3871
5224
  if __debug__:
3872
- type_hints = typing.get_type_hints(_typecheckingstub__d638c12879ec4e653848ff096c94119612fc29f6181050c0a7980f3714ced173)
3873
- check_type(argname="argument uri", value=uri, expected_type=type_hints["uri"])
5225
+ type_hints = typing.get_type_hints(_typecheckingstub__cf8c0f6926d3f02906dd411ea53c5df121a2ab8fd6cb1cc29270d45f47907263)
5226
+ check_type(argname="argument url", value=url, expected_type=type_hints["url"])
3874
5227
  self._values: typing.Dict[builtins.str, typing.Any] = {
3875
- "uri": uri,
5228
+ "url": url,
3876
5229
  }
3877
5230
 
3878
5231
  @builtins.property
3879
- def uri(self) -> builtins.str:
3880
- '''The location's URI.
3881
-
3882
- For example, ``s3://my-bucket/chunk-processor/`` .
5232
+ def url(self) -> builtins.str:
5233
+ '''A seed or starting point URL.
3883
5234
 
3884
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3location.html#cfn-bedrock-datasource-s3location-uri
5235
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-seedurl.html#cfn-bedrock-datasource-seedurl-url
3885
5236
  '''
3886
- result = self._values.get("uri")
3887
- assert result is not None, "Required property 'uri' is missing"
5237
+ result = self._values.get("url")
5238
+ assert result is not None, "Required property 'url' is missing"
3888
5239
  return typing.cast(builtins.str, result)
3889
5240
 
3890
5241
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
@@ -3894,7 +5245,7 @@ class CfnDataSource(
3894
5245
  return not (rhs == self)
3895
5246
 
3896
5247
  def __repr__(self) -> str:
3897
- return "S3LocationProperty(%s)" % ", ".join(
5248
+ return "SeedUrlProperty(%s)" % ", ".join(
3898
5249
  k + "=" + repr(v) for k, v in self._values.items()
3899
5250
  )
3900
5251
 
@@ -4007,35 +5358,357 @@ class CfnDataSource(
4007
5358
  ) -> None:
4008
5359
  '''Contains the configuration for server-side encryption.
4009
5360
 
4010
- :param kms_key_arn: The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt the resource.
5361
+ :param kms_key_arn: The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt the resource.
5362
+
5363
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-serversideencryptionconfiguration.html
5364
+ :exampleMetadata: fixture=_generated
5365
+
5366
+ Example::
5367
+
5368
+ # The code below shows an example of how to instantiate this type.
5369
+ # The values are placeholders you should change.
5370
+ from aws_cdk import aws_bedrock as bedrock
5371
+
5372
+ server_side_encryption_configuration_property = bedrock.CfnDataSource.ServerSideEncryptionConfigurationProperty(
5373
+ kms_key_arn="kmsKeyArn"
5374
+ )
5375
+ '''
5376
+ if __debug__:
5377
+ type_hints = typing.get_type_hints(_typecheckingstub__e7bf662e3d628b0671b547dd26face3c322a93684b4b5578ec4cda1099b30e6a)
5378
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
5379
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5380
+ if kms_key_arn is not None:
5381
+ self._values["kms_key_arn"] = kms_key_arn
5382
+
5383
+ @builtins.property
5384
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
5385
+ '''The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt the resource.
5386
+
5387
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-serversideencryptionconfiguration.html#cfn-bedrock-datasource-serversideencryptionconfiguration-kmskeyarn
5388
+ '''
5389
+ result = self._values.get("kms_key_arn")
5390
+ return typing.cast(typing.Optional[builtins.str], result)
5391
+
5392
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5393
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5394
+
5395
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5396
+ return not (rhs == self)
5397
+
5398
+ def __repr__(self) -> str:
5399
+ return "ServerSideEncryptionConfigurationProperty(%s)" % ", ".join(
5400
+ k + "=" + repr(v) for k, v in self._values.items()
5401
+ )
5402
+
5403
+ @jsii.data_type(
5404
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.SharePointCrawlerConfigurationProperty",
5405
+ jsii_struct_bases=[],
5406
+ name_mapping={"filter_configuration": "filterConfiguration"},
5407
+ )
5408
+ class SharePointCrawlerConfigurationProperty:
5409
+ def __init__(
5410
+ self,
5411
+ *,
5412
+ filter_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.CrawlFilterConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5413
+ ) -> None:
5414
+ '''The configuration of the SharePoint content.
5415
+
5416
+ For example, configuring specific types of SharePoint content.
5417
+
5418
+ :param filter_configuration: The configuration of filtering the SharePoint content. For example, configuring regular expression patterns to include or exclude certain content.
5419
+
5420
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointcrawlerconfiguration.html
5421
+ :exampleMetadata: fixture=_generated
5422
+
5423
+ Example::
5424
+
5425
+ # The code below shows an example of how to instantiate this type.
5426
+ # The values are placeholders you should change.
5427
+ from aws_cdk import aws_bedrock as bedrock
5428
+
5429
+ share_point_crawler_configuration_property = bedrock.CfnDataSource.SharePointCrawlerConfigurationProperty(
5430
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
5431
+ type="type",
5432
+
5433
+ # the properties below are optional
5434
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
5435
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
5436
+ object_type="objectType",
5437
+
5438
+ # the properties below are optional
5439
+ exclusion_filters=["exclusionFilters"],
5440
+ inclusion_filters=["inclusionFilters"]
5441
+ )]
5442
+ )
5443
+ )
5444
+ )
5445
+ '''
5446
+ if __debug__:
5447
+ type_hints = typing.get_type_hints(_typecheckingstub__738da86cc405fddc64a59295a3d62b697bd1f304c3a1a23dd8387bf4807e5bfc)
5448
+ check_type(argname="argument filter_configuration", value=filter_configuration, expected_type=type_hints["filter_configuration"])
5449
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5450
+ if filter_configuration is not None:
5451
+ self._values["filter_configuration"] = filter_configuration
5452
+
5453
+ @builtins.property
5454
+ def filter_configuration(
5455
+ self,
5456
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.CrawlFilterConfigurationProperty"]]:
5457
+ '''The configuration of filtering the SharePoint content.
5458
+
5459
+ For example, configuring regular expression patterns to include or exclude certain content.
5460
+
5461
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointcrawlerconfiguration.html#cfn-bedrock-datasource-sharepointcrawlerconfiguration-filterconfiguration
5462
+ '''
5463
+ result = self._values.get("filter_configuration")
5464
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.CrawlFilterConfigurationProperty"]], result)
5465
+
5466
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5467
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5468
+
5469
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5470
+ return not (rhs == self)
5471
+
5472
+ def __repr__(self) -> str:
5473
+ return "SharePointCrawlerConfigurationProperty(%s)" % ", ".join(
5474
+ k + "=" + repr(v) for k, v in self._values.items()
5475
+ )
5476
+
5477
+ @jsii.data_type(
5478
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.SharePointDataSourceConfigurationProperty",
5479
+ jsii_struct_bases=[],
5480
+ name_mapping={
5481
+ "source_configuration": "sourceConfiguration",
5482
+ "crawler_configuration": "crawlerConfiguration",
5483
+ },
5484
+ )
5485
+ class SharePointDataSourceConfigurationProperty:
5486
+ def __init__(
5487
+ self,
5488
+ *,
5489
+ source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.SharePointSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
5490
+ crawler_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.SharePointCrawlerConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5491
+ ) -> None:
5492
+ '''The configuration information to connect to SharePoint as your data source.
5493
+
5494
+ :param source_configuration: The endpoint information to connect to your SharePoint data source.
5495
+ :param crawler_configuration: The configuration of the SharePoint content. For example, configuring specific types of SharePoint content.
5496
+
5497
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointdatasourceconfiguration.html
5498
+ :exampleMetadata: fixture=_generated
5499
+
5500
+ Example::
5501
+
5502
+ # The code below shows an example of how to instantiate this type.
5503
+ # The values are placeholders you should change.
5504
+ from aws_cdk import aws_bedrock as bedrock
5505
+
5506
+ share_point_data_source_configuration_property = bedrock.CfnDataSource.SharePointDataSourceConfigurationProperty(
5507
+ source_configuration=bedrock.CfnDataSource.SharePointSourceConfigurationProperty(
5508
+ auth_type="authType",
5509
+ credentials_secret_arn="credentialsSecretArn",
5510
+ domain="domain",
5511
+ host_type="hostType",
5512
+ site_urls=["siteUrls"],
5513
+
5514
+ # the properties below are optional
5515
+ tenant_id="tenantId"
5516
+ ),
5517
+
5518
+ # the properties below are optional
5519
+ crawler_configuration=bedrock.CfnDataSource.SharePointCrawlerConfigurationProperty(
5520
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
5521
+ type="type",
5522
+
5523
+ # the properties below are optional
5524
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
5525
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
5526
+ object_type="objectType",
5527
+
5528
+ # the properties below are optional
5529
+ exclusion_filters=["exclusionFilters"],
5530
+ inclusion_filters=["inclusionFilters"]
5531
+ )]
5532
+ )
5533
+ )
5534
+ )
5535
+ )
5536
+ '''
5537
+ if __debug__:
5538
+ type_hints = typing.get_type_hints(_typecheckingstub__0cd4cda882e18a91758d0c55ba62239b7f2a738f332f000e150340d38474c549)
5539
+ check_type(argname="argument source_configuration", value=source_configuration, expected_type=type_hints["source_configuration"])
5540
+ check_type(argname="argument crawler_configuration", value=crawler_configuration, expected_type=type_hints["crawler_configuration"])
5541
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5542
+ "source_configuration": source_configuration,
5543
+ }
5544
+ if crawler_configuration is not None:
5545
+ self._values["crawler_configuration"] = crawler_configuration
5546
+
5547
+ @builtins.property
5548
+ def source_configuration(
5549
+ self,
5550
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.SharePointSourceConfigurationProperty"]:
5551
+ '''The endpoint information to connect to your SharePoint data source.
5552
+
5553
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointdatasourceconfiguration.html#cfn-bedrock-datasource-sharepointdatasourceconfiguration-sourceconfiguration
5554
+ '''
5555
+ result = self._values.get("source_configuration")
5556
+ assert result is not None, "Required property 'source_configuration' is missing"
5557
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.SharePointSourceConfigurationProperty"], result)
5558
+
5559
+ @builtins.property
5560
+ def crawler_configuration(
5561
+ self,
5562
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.SharePointCrawlerConfigurationProperty"]]:
5563
+ '''The configuration of the SharePoint content.
5564
+
5565
+ For example, configuring specific types of SharePoint content.
5566
+
5567
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointdatasourceconfiguration.html#cfn-bedrock-datasource-sharepointdatasourceconfiguration-crawlerconfiguration
5568
+ '''
5569
+ result = self._values.get("crawler_configuration")
5570
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.SharePointCrawlerConfigurationProperty"]], result)
5571
+
5572
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5573
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5574
+
5575
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5576
+ return not (rhs == self)
5577
+
5578
+ def __repr__(self) -> str:
5579
+ return "SharePointDataSourceConfigurationProperty(%s)" % ", ".join(
5580
+ k + "=" + repr(v) for k, v in self._values.items()
5581
+ )
5582
+
5583
+ @jsii.data_type(
5584
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.SharePointSourceConfigurationProperty",
5585
+ jsii_struct_bases=[],
5586
+ name_mapping={
5587
+ "auth_type": "authType",
5588
+ "credentials_secret_arn": "credentialsSecretArn",
5589
+ "domain": "domain",
5590
+ "host_type": "hostType",
5591
+ "site_urls": "siteUrls",
5592
+ "tenant_id": "tenantId",
5593
+ },
5594
+ )
5595
+ class SharePointSourceConfigurationProperty:
5596
+ def __init__(
5597
+ self,
5598
+ *,
5599
+ auth_type: builtins.str,
5600
+ credentials_secret_arn: builtins.str,
5601
+ domain: builtins.str,
5602
+ host_type: builtins.str,
5603
+ site_urls: typing.Sequence[builtins.str],
5604
+ tenant_id: typing.Optional[builtins.str] = None,
5605
+ ) -> None:
5606
+ '''The endpoint information to connect to your SharePoint data source.
5607
+
5608
+ :param auth_type: The supported authentication type to authenticate and connect to your SharePoint site/sites.
5609
+ :param credentials_secret_arn: The Amazon Resource Name of an AWS Secrets Manager secret that stores your authentication credentials for your SharePoint site/sites. For more information on the key-value pairs that must be included in your secret, depending on your authentication type, see `SharePoint connection configuration <https://docs.aws.amazon.com/bedrock/latest/userguide/sharepoint-data-source-connector.html#configuration-sharepoint-connector>`_ .
5610
+ :param domain: The domain of your SharePoint instance or site URL/URLs.
5611
+ :param host_type: The supported host type, whether online/cloud or server/on-premises.
5612
+ :param site_urls: A list of one or more SharePoint site URLs.
5613
+ :param tenant_id: The identifier of your Microsoft 365 tenant.
5614
+
5615
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html
5616
+ :exampleMetadata: fixture=_generated
5617
+
5618
+ Example::
5619
+
5620
+ # The code below shows an example of how to instantiate this type.
5621
+ # The values are placeholders you should change.
5622
+ from aws_cdk import aws_bedrock as bedrock
5623
+
5624
+ share_point_source_configuration_property = bedrock.CfnDataSource.SharePointSourceConfigurationProperty(
5625
+ auth_type="authType",
5626
+ credentials_secret_arn="credentialsSecretArn",
5627
+ domain="domain",
5628
+ host_type="hostType",
5629
+ site_urls=["siteUrls"],
5630
+
5631
+ # the properties below are optional
5632
+ tenant_id="tenantId"
5633
+ )
5634
+ '''
5635
+ if __debug__:
5636
+ type_hints = typing.get_type_hints(_typecheckingstub__48994fdcb11091f4caa0fb5753c7af914ae9816931a2bef7e3f3324c63e6e07c)
5637
+ check_type(argname="argument auth_type", value=auth_type, expected_type=type_hints["auth_type"])
5638
+ check_type(argname="argument credentials_secret_arn", value=credentials_secret_arn, expected_type=type_hints["credentials_secret_arn"])
5639
+ check_type(argname="argument domain", value=domain, expected_type=type_hints["domain"])
5640
+ check_type(argname="argument host_type", value=host_type, expected_type=type_hints["host_type"])
5641
+ check_type(argname="argument site_urls", value=site_urls, expected_type=type_hints["site_urls"])
5642
+ check_type(argname="argument tenant_id", value=tenant_id, expected_type=type_hints["tenant_id"])
5643
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5644
+ "auth_type": auth_type,
5645
+ "credentials_secret_arn": credentials_secret_arn,
5646
+ "domain": domain,
5647
+ "host_type": host_type,
5648
+ "site_urls": site_urls,
5649
+ }
5650
+ if tenant_id is not None:
5651
+ self._values["tenant_id"] = tenant_id
5652
+
5653
+ @builtins.property
5654
+ def auth_type(self) -> builtins.str:
5655
+ '''The supported authentication type to authenticate and connect to your SharePoint site/sites.
5656
+
5657
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-authtype
5658
+ '''
5659
+ result = self._values.get("auth_type")
5660
+ assert result is not None, "Required property 'auth_type' is missing"
5661
+ return typing.cast(builtins.str, result)
5662
+
5663
+ @builtins.property
5664
+ def credentials_secret_arn(self) -> builtins.str:
5665
+ '''The Amazon Resource Name of an AWS Secrets Manager secret that stores your authentication credentials for your SharePoint site/sites.
5666
+
5667
+ For more information on the key-value pairs that must be included in your secret, depending on your authentication type, see `SharePoint connection configuration <https://docs.aws.amazon.com/bedrock/latest/userguide/sharepoint-data-source-connector.html#configuration-sharepoint-connector>`_ .
4011
5668
 
4012
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-serversideencryptionconfiguration.html
4013
- :exampleMetadata: fixture=_generated
5669
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-credentialssecretarn
5670
+ '''
5671
+ result = self._values.get("credentials_secret_arn")
5672
+ assert result is not None, "Required property 'credentials_secret_arn' is missing"
5673
+ return typing.cast(builtins.str, result)
4014
5674
 
4015
- Example::
5675
+ @builtins.property
5676
+ def domain(self) -> builtins.str:
5677
+ '''The domain of your SharePoint instance or site URL/URLs.
4016
5678
 
4017
- # The code below shows an example of how to instantiate this type.
4018
- # The values are placeholders you should change.
4019
- from aws_cdk import aws_bedrock as bedrock
4020
-
4021
- server_side_encryption_configuration_property = bedrock.CfnDataSource.ServerSideEncryptionConfigurationProperty(
4022
- kms_key_arn="kmsKeyArn"
4023
- )
5679
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-domain
4024
5680
  '''
4025
- if __debug__:
4026
- type_hints = typing.get_type_hints(_typecheckingstub__e7bf662e3d628b0671b547dd26face3c322a93684b4b5578ec4cda1099b30e6a)
4027
- check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
4028
- self._values: typing.Dict[builtins.str, typing.Any] = {}
4029
- if kms_key_arn is not None:
4030
- self._values["kms_key_arn"] = kms_key_arn
5681
+ result = self._values.get("domain")
5682
+ assert result is not None, "Required property 'domain' is missing"
5683
+ return typing.cast(builtins.str, result)
4031
5684
 
4032
5685
  @builtins.property
4033
- def kms_key_arn(self) -> typing.Optional[builtins.str]:
4034
- '''The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt the resource.
5686
+ def host_type(self) -> builtins.str:
5687
+ '''The supported host type, whether online/cloud or server/on-premises.
4035
5688
 
4036
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-serversideencryptionconfiguration.html#cfn-bedrock-datasource-serversideencryptionconfiguration-kmskeyarn
5689
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-hosttype
4037
5690
  '''
4038
- result = self._values.get("kms_key_arn")
5691
+ result = self._values.get("host_type")
5692
+ assert result is not None, "Required property 'host_type' is missing"
5693
+ return typing.cast(builtins.str, result)
5694
+
5695
+ @builtins.property
5696
+ def site_urls(self) -> typing.List[builtins.str]:
5697
+ '''A list of one or more SharePoint site URLs.
5698
+
5699
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-siteurls
5700
+ '''
5701
+ result = self._values.get("site_urls")
5702
+ assert result is not None, "Required property 'site_urls' is missing"
5703
+ return typing.cast(typing.List[builtins.str], result)
5704
+
5705
+ @builtins.property
5706
+ def tenant_id(self) -> typing.Optional[builtins.str]:
5707
+ '''The identifier of your Microsoft 365 tenant.
5708
+
5709
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-tenantid
5710
+ '''
5711
+ result = self._values.get("tenant_id")
4039
5712
  return typing.cast(typing.Optional[builtins.str], result)
4040
5713
 
4041
5714
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
@@ -4045,7 +5718,7 @@ class CfnDataSource(
4045
5718
  return not (rhs == self)
4046
5719
 
4047
5720
  def __repr__(self) -> str:
4048
- return "ServerSideEncryptionConfigurationProperty(%s)" % ", ".join(
5721
+ return "SharePointSourceConfigurationProperty(%s)" % ", ".join(
4049
5722
  k + "=" + repr(v) for k, v in self._values.items()
4050
5723
  )
4051
5724
 
@@ -4245,6 +5918,68 @@ class CfnDataSource(
4245
5918
  k + "=" + repr(v) for k, v in self._values.items()
4246
5919
  )
4247
5920
 
5921
+ @jsii.data_type(
5922
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.UrlConfigurationProperty",
5923
+ jsii_struct_bases=[],
5924
+ name_mapping={"seed_urls": "seedUrls"},
5925
+ )
5926
+ class UrlConfigurationProperty:
5927
+ def __init__(
5928
+ self,
5929
+ *,
5930
+ seed_urls: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.SeedUrlProperty", typing.Dict[builtins.str, typing.Any]]]]],
5931
+ ) -> None:
5932
+ '''The configuration of web URLs that you want to crawl.
5933
+
5934
+ You should be authorized to crawl the URLs.
5935
+
5936
+ :param seed_urls: One or more seed or starting point URLs.
5937
+
5938
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-urlconfiguration.html
5939
+ :exampleMetadata: fixture=_generated
5940
+
5941
+ Example::
5942
+
5943
+ # The code below shows an example of how to instantiate this type.
5944
+ # The values are placeholders you should change.
5945
+ from aws_cdk import aws_bedrock as bedrock
5946
+
5947
+ url_configuration_property = bedrock.CfnDataSource.UrlConfigurationProperty(
5948
+ seed_urls=[bedrock.CfnDataSource.SeedUrlProperty(
5949
+ url="url"
5950
+ )]
5951
+ )
5952
+ '''
5953
+ if __debug__:
5954
+ type_hints = typing.get_type_hints(_typecheckingstub__33e4e6226e3e29b9d96cc7d5d58f6d2d4062908e865a2e74a0c3a6b363de5062)
5955
+ check_type(argname="argument seed_urls", value=seed_urls, expected_type=type_hints["seed_urls"])
5956
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5957
+ "seed_urls": seed_urls,
5958
+ }
5959
+
5960
+ @builtins.property
5961
+ def seed_urls(
5962
+ self,
5963
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.SeedUrlProperty"]]]:
5964
+ '''One or more seed or starting point URLs.
5965
+
5966
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-urlconfiguration.html#cfn-bedrock-datasource-urlconfiguration-seedurls
5967
+ '''
5968
+ result = self._values.get("seed_urls")
5969
+ assert result is not None, "Required property 'seed_urls' is missing"
5970
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataSource.SeedUrlProperty"]]], result)
5971
+
5972
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5973
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5974
+
5975
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5976
+ return not (rhs == self)
5977
+
5978
+ def __repr__(self) -> str:
5979
+ return "UrlConfigurationProperty(%s)" % ", ".join(
5980
+ k + "=" + repr(v) for k, v in self._values.items()
5981
+ )
5982
+
4248
5983
  @jsii.data_type(
4249
5984
  jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.VectorIngestionConfigurationProperty",
4250
5985
  jsii_struct_bases=[],
@@ -4320,61 +6055,388 @@ class CfnDataSource(
4320
6055
  bedrock_foundation_model_configuration=bedrock.CfnDataSource.BedrockFoundationModelConfigurationProperty(
4321
6056
  model_arn="modelArn",
4322
6057
 
4323
- # the properties below are optional
4324
- parsing_prompt=bedrock.CfnDataSource.ParsingPromptProperty(
4325
- parsing_prompt_text="parsingPromptText"
4326
- )
6058
+ # the properties below are optional
6059
+ parsing_prompt=bedrock.CfnDataSource.ParsingPromptProperty(
6060
+ parsing_prompt_text="parsingPromptText"
6061
+ )
6062
+ )
6063
+ )
6064
+ )
6065
+ '''
6066
+ if __debug__:
6067
+ type_hints = typing.get_type_hints(_typecheckingstub__37255db3e7cacfdeadc2d28bfe7938fd13ab4a2cd72190024a531eddf1fd9ec0)
6068
+ check_type(argname="argument chunking_configuration", value=chunking_configuration, expected_type=type_hints["chunking_configuration"])
6069
+ check_type(argname="argument custom_transformation_configuration", value=custom_transformation_configuration, expected_type=type_hints["custom_transformation_configuration"])
6070
+ check_type(argname="argument parsing_configuration", value=parsing_configuration, expected_type=type_hints["parsing_configuration"])
6071
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6072
+ if chunking_configuration is not None:
6073
+ self._values["chunking_configuration"] = chunking_configuration
6074
+ if custom_transformation_configuration is not None:
6075
+ self._values["custom_transformation_configuration"] = custom_transformation_configuration
6076
+ if parsing_configuration is not None:
6077
+ self._values["parsing_configuration"] = parsing_configuration
6078
+
6079
+ @builtins.property
6080
+ def chunking_configuration(
6081
+ self,
6082
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ChunkingConfigurationProperty"]]:
6083
+ '''Details about how to chunk the documents in the data source.
6084
+
6085
+ A *chunk* refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried.
6086
+
6087
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-chunkingconfiguration
6088
+ '''
6089
+ result = self._values.get("chunking_configuration")
6090
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ChunkingConfigurationProperty"]], result)
6091
+
6092
+ @builtins.property
6093
+ def custom_transformation_configuration(
6094
+ self,
6095
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.CustomTransformationConfigurationProperty"]]:
6096
+ '''A custom document transformer for parsed data source documents.
6097
+
6098
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-customtransformationconfiguration
6099
+ '''
6100
+ result = self._values.get("custom_transformation_configuration")
6101
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.CustomTransformationConfigurationProperty"]], result)
6102
+
6103
+ @builtins.property
6104
+ def parsing_configuration(
6105
+ self,
6106
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ParsingConfigurationProperty"]]:
6107
+ '''A custom parser for data source documents.
6108
+
6109
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-parsingconfiguration
6110
+ '''
6111
+ result = self._values.get("parsing_configuration")
6112
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ParsingConfigurationProperty"]], result)
6113
+
6114
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6115
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6116
+
6117
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6118
+ return not (rhs == self)
6119
+
6120
+ def __repr__(self) -> str:
6121
+ return "VectorIngestionConfigurationProperty(%s)" % ", ".join(
6122
+ k + "=" + repr(v) for k, v in self._values.items()
6123
+ )
6124
+
6125
+ @jsii.data_type(
6126
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.WebCrawlerConfigurationProperty",
6127
+ jsii_struct_bases=[],
6128
+ name_mapping={
6129
+ "crawler_limits": "crawlerLimits",
6130
+ "exclusion_filters": "exclusionFilters",
6131
+ "inclusion_filters": "inclusionFilters",
6132
+ "scope": "scope",
6133
+ },
6134
+ )
6135
+ class WebCrawlerConfigurationProperty:
6136
+ def __init__(
6137
+ self,
6138
+ *,
6139
+ crawler_limits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.WebCrawlerLimitsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6140
+ exclusion_filters: typing.Optional[typing.Sequence[builtins.str]] = None,
6141
+ inclusion_filters: typing.Optional[typing.Sequence[builtins.str]] = None,
6142
+ scope: typing.Optional[builtins.str] = None,
6143
+ ) -> None:
6144
+ '''The configuration of web URLs that you want to crawl.
6145
+
6146
+ You should be authorized to crawl the URLs.
6147
+
6148
+ :param crawler_limits: The configuration of crawl limits for the web URLs.
6149
+ :param exclusion_filters: A list of one or more exclusion regular expression patterns to exclude certain URLs. If you specify an inclusion and exclusion filter/pattern and both match a URL, the exclusion filter takes precedence and the web content of the URL isn’t crawled.
6150
+ :param inclusion_filters: A list of one or more inclusion regular expression patterns to include certain URLs. If you specify an inclusion and exclusion filter/pattern and both match a URL, the exclusion filter takes precedence and the web content of the URL isn’t crawled.
6151
+ :param scope: The scope of what is crawled for your URLs. You can choose to crawl only web pages that belong to the same host or primary domain. For example, only web pages that contain the seed URL "https://docs.aws.amazon.com/bedrock/latest/userguide/" and no other domains. You can choose to include sub domains in addition to the host or primary domain. For example, web pages that contain "aws.amazon.com" can also include sub domain "docs.aws.amazon.com".
6152
+
6153
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html
6154
+ :exampleMetadata: fixture=_generated
6155
+
6156
+ Example::
6157
+
6158
+ # The code below shows an example of how to instantiate this type.
6159
+ # The values are placeholders you should change.
6160
+ from aws_cdk import aws_bedrock as bedrock
6161
+
6162
+ web_crawler_configuration_property = bedrock.CfnDataSource.WebCrawlerConfigurationProperty(
6163
+ crawler_limits=bedrock.CfnDataSource.WebCrawlerLimitsProperty(
6164
+ rate_limit=123
6165
+ ),
6166
+ exclusion_filters=["exclusionFilters"],
6167
+ inclusion_filters=["inclusionFilters"],
6168
+ scope="scope"
6169
+ )
6170
+ '''
6171
+ if __debug__:
6172
+ type_hints = typing.get_type_hints(_typecheckingstub__19f2bf049e2cc7c767a94b404cf6594346506f3a78f18601159a383fa27572d2)
6173
+ check_type(argname="argument crawler_limits", value=crawler_limits, expected_type=type_hints["crawler_limits"])
6174
+ check_type(argname="argument exclusion_filters", value=exclusion_filters, expected_type=type_hints["exclusion_filters"])
6175
+ check_type(argname="argument inclusion_filters", value=inclusion_filters, expected_type=type_hints["inclusion_filters"])
6176
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
6177
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6178
+ if crawler_limits is not None:
6179
+ self._values["crawler_limits"] = crawler_limits
6180
+ if exclusion_filters is not None:
6181
+ self._values["exclusion_filters"] = exclusion_filters
6182
+ if inclusion_filters is not None:
6183
+ self._values["inclusion_filters"] = inclusion_filters
6184
+ if scope is not None:
6185
+ self._values["scope"] = scope
6186
+
6187
+ @builtins.property
6188
+ def crawler_limits(
6189
+ self,
6190
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.WebCrawlerLimitsProperty"]]:
6191
+ '''The configuration of crawl limits for the web URLs.
6192
+
6193
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-crawlerlimits
6194
+ '''
6195
+ result = self._values.get("crawler_limits")
6196
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.WebCrawlerLimitsProperty"]], result)
6197
+
6198
+ @builtins.property
6199
+ def exclusion_filters(self) -> typing.Optional[typing.List[builtins.str]]:
6200
+ '''A list of one or more exclusion regular expression patterns to exclude certain URLs.
6201
+
6202
+ If you specify an inclusion and exclusion filter/pattern and both match a URL, the exclusion filter takes precedence and the web content of the URL isn’t crawled.
6203
+
6204
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-exclusionfilters
6205
+ '''
6206
+ result = self._values.get("exclusion_filters")
6207
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6208
+
6209
+ @builtins.property
6210
+ def inclusion_filters(self) -> typing.Optional[typing.List[builtins.str]]:
6211
+ '''A list of one or more inclusion regular expression patterns to include certain URLs.
6212
+
6213
+ If you specify an inclusion and exclusion filter/pattern and both match a URL, the exclusion filter takes precedence and the web content of the URL isn’t crawled.
6214
+
6215
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-inclusionfilters
6216
+ '''
6217
+ result = self._values.get("inclusion_filters")
6218
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6219
+
6220
+ @builtins.property
6221
+ def scope(self) -> typing.Optional[builtins.str]:
6222
+ '''The scope of what is crawled for your URLs.
6223
+
6224
+ You can choose to crawl only web pages that belong to the same host or primary domain. For example, only web pages that contain the seed URL "https://docs.aws.amazon.com/bedrock/latest/userguide/" and no other domains. You can choose to include sub domains in addition to the host or primary domain. For example, web pages that contain "aws.amazon.com" can also include sub domain "docs.aws.amazon.com".
6225
+
6226
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-scope
6227
+ '''
6228
+ result = self._values.get("scope")
6229
+ return typing.cast(typing.Optional[builtins.str], result)
6230
+
6231
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6232
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6233
+
6234
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6235
+ return not (rhs == self)
6236
+
6237
+ def __repr__(self) -> str:
6238
+ return "WebCrawlerConfigurationProperty(%s)" % ", ".join(
6239
+ k + "=" + repr(v) for k, v in self._values.items()
6240
+ )
6241
+
6242
+ @jsii.data_type(
6243
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.WebCrawlerLimitsProperty",
6244
+ jsii_struct_bases=[],
6245
+ name_mapping={"rate_limit": "rateLimit"},
6246
+ )
6247
+ class WebCrawlerLimitsProperty:
6248
+ def __init__(self, *, rate_limit: typing.Optional[jsii.Number] = None) -> None:
6249
+ '''The rate limits for the URLs that you want to crawl.
6250
+
6251
+ You should be authorized to crawl the URLs.
6252
+
6253
+ :param rate_limit: The max rate at which pages are crawled, up to 300 per minute per host.
6254
+
6255
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerlimits.html
6256
+ :exampleMetadata: fixture=_generated
6257
+
6258
+ Example::
6259
+
6260
+ # The code below shows an example of how to instantiate this type.
6261
+ # The values are placeholders you should change.
6262
+ from aws_cdk import aws_bedrock as bedrock
6263
+
6264
+ web_crawler_limits_property = bedrock.CfnDataSource.WebCrawlerLimitsProperty(
6265
+ rate_limit=123
6266
+ )
6267
+ '''
6268
+ if __debug__:
6269
+ type_hints = typing.get_type_hints(_typecheckingstub__e3c7708618964f317da86f69cc51ebbcf99d7ff170204876d29a3e67fdbefcf9)
6270
+ check_type(argname="argument rate_limit", value=rate_limit, expected_type=type_hints["rate_limit"])
6271
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6272
+ if rate_limit is not None:
6273
+ self._values["rate_limit"] = rate_limit
6274
+
6275
+ @builtins.property
6276
+ def rate_limit(self) -> typing.Optional[jsii.Number]:
6277
+ '''The max rate at which pages are crawled, up to 300 per minute per host.
6278
+
6279
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerlimits.html#cfn-bedrock-datasource-webcrawlerlimits-ratelimit
6280
+ '''
6281
+ result = self._values.get("rate_limit")
6282
+ return typing.cast(typing.Optional[jsii.Number], result)
6283
+
6284
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6285
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6286
+
6287
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6288
+ return not (rhs == self)
6289
+
6290
+ def __repr__(self) -> str:
6291
+ return "WebCrawlerLimitsProperty(%s)" % ", ".join(
6292
+ k + "=" + repr(v) for k, v in self._values.items()
6293
+ )
6294
+
6295
+ @jsii.data_type(
6296
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.WebDataSourceConfigurationProperty",
6297
+ jsii_struct_bases=[],
6298
+ name_mapping={
6299
+ "source_configuration": "sourceConfiguration",
6300
+ "crawler_configuration": "crawlerConfiguration",
6301
+ },
6302
+ )
6303
+ class WebDataSourceConfigurationProperty:
6304
+ def __init__(
6305
+ self,
6306
+ *,
6307
+ source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.WebSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
6308
+ crawler_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.WebCrawlerConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6309
+ ) -> None:
6310
+ '''The configuration details for the web data source.
6311
+
6312
+ :param source_configuration: The source configuration details for the web data source.
6313
+ :param crawler_configuration: The Web Crawler configuration details for the web data source.
6314
+
6315
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webdatasourceconfiguration.html
6316
+ :exampleMetadata: fixture=_generated
6317
+
6318
+ Example::
6319
+
6320
+ # The code below shows an example of how to instantiate this type.
6321
+ # The values are placeholders you should change.
6322
+ from aws_cdk import aws_bedrock as bedrock
6323
+
6324
+ web_data_source_configuration_property = bedrock.CfnDataSource.WebDataSourceConfigurationProperty(
6325
+ source_configuration=bedrock.CfnDataSource.WebSourceConfigurationProperty(
6326
+ url_configuration=bedrock.CfnDataSource.UrlConfigurationProperty(
6327
+ seed_urls=[bedrock.CfnDataSource.SeedUrlProperty(
6328
+ url="url"
6329
+ )]
4327
6330
  )
6331
+ ),
6332
+
6333
+ # the properties below are optional
6334
+ crawler_configuration=bedrock.CfnDataSource.WebCrawlerConfigurationProperty(
6335
+ crawler_limits=bedrock.CfnDataSource.WebCrawlerLimitsProperty(
6336
+ rate_limit=123
6337
+ ),
6338
+ exclusion_filters=["exclusionFilters"],
6339
+ inclusion_filters=["inclusionFilters"],
6340
+ scope="scope"
4328
6341
  )
4329
6342
  )
4330
6343
  '''
4331
6344
  if __debug__:
4332
- type_hints = typing.get_type_hints(_typecheckingstub__37255db3e7cacfdeadc2d28bfe7938fd13ab4a2cd72190024a531eddf1fd9ec0)
4333
- check_type(argname="argument chunking_configuration", value=chunking_configuration, expected_type=type_hints["chunking_configuration"])
4334
- check_type(argname="argument custom_transformation_configuration", value=custom_transformation_configuration, expected_type=type_hints["custom_transformation_configuration"])
4335
- check_type(argname="argument parsing_configuration", value=parsing_configuration, expected_type=type_hints["parsing_configuration"])
4336
- self._values: typing.Dict[builtins.str, typing.Any] = {}
4337
- if chunking_configuration is not None:
4338
- self._values["chunking_configuration"] = chunking_configuration
4339
- if custom_transformation_configuration is not None:
4340
- self._values["custom_transformation_configuration"] = custom_transformation_configuration
4341
- if parsing_configuration is not None:
4342
- self._values["parsing_configuration"] = parsing_configuration
6345
+ type_hints = typing.get_type_hints(_typecheckingstub__b1f60d9766ca17f5c37478ae610f90aa4019525520dc8ade1276a6b78c4f8330)
6346
+ check_type(argname="argument source_configuration", value=source_configuration, expected_type=type_hints["source_configuration"])
6347
+ check_type(argname="argument crawler_configuration", value=crawler_configuration, expected_type=type_hints["crawler_configuration"])
6348
+ self._values: typing.Dict[builtins.str, typing.Any] = {
6349
+ "source_configuration": source_configuration,
6350
+ }
6351
+ if crawler_configuration is not None:
6352
+ self._values["crawler_configuration"] = crawler_configuration
4343
6353
 
4344
6354
  @builtins.property
4345
- def chunking_configuration(
6355
+ def source_configuration(
4346
6356
  self,
4347
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ChunkingConfigurationProperty"]]:
4348
- '''Details about how to chunk the documents in the data source.
4349
-
4350
- A *chunk* refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried.
6357
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.WebSourceConfigurationProperty"]:
6358
+ '''The source configuration details for the web data source.
4351
6359
 
4352
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-chunkingconfiguration
6360
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webdatasourceconfiguration.html#cfn-bedrock-datasource-webdatasourceconfiguration-sourceconfiguration
4353
6361
  '''
4354
- result = self._values.get("chunking_configuration")
4355
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ChunkingConfigurationProperty"]], result)
6362
+ result = self._values.get("source_configuration")
6363
+ assert result is not None, "Required property 'source_configuration' is missing"
6364
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.WebSourceConfigurationProperty"], result)
4356
6365
 
4357
6366
  @builtins.property
4358
- def custom_transformation_configuration(
6367
+ def crawler_configuration(
4359
6368
  self,
4360
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.CustomTransformationConfigurationProperty"]]:
4361
- '''A custom document transformer for parsed data source documents.
6369
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.WebCrawlerConfigurationProperty"]]:
6370
+ '''The Web Crawler configuration details for the web data source.
4362
6371
 
4363
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-customtransformationconfiguration
6372
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webdatasourceconfiguration.html#cfn-bedrock-datasource-webdatasourceconfiguration-crawlerconfiguration
4364
6373
  '''
4365
- result = self._values.get("custom_transformation_configuration")
4366
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.CustomTransformationConfigurationProperty"]], result)
6374
+ result = self._values.get("crawler_configuration")
6375
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.WebCrawlerConfigurationProperty"]], result)
6376
+
6377
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6378
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6379
+
6380
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6381
+ return not (rhs == self)
6382
+
6383
+ def __repr__(self) -> str:
6384
+ return "WebDataSourceConfigurationProperty(%s)" % ", ".join(
6385
+ k + "=" + repr(v) for k, v in self._values.items()
6386
+ )
6387
+
6388
+ @jsii.data_type(
6389
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.WebSourceConfigurationProperty",
6390
+ jsii_struct_bases=[],
6391
+ name_mapping={"url_configuration": "urlConfiguration"},
6392
+ )
6393
+ class WebSourceConfigurationProperty:
6394
+ def __init__(
6395
+ self,
6396
+ *,
6397
+ url_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.UrlConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
6398
+ ) -> None:
6399
+ '''The configuration of the URL/URLs for the web content that you want to crawl.
6400
+
6401
+ You should be authorized to crawl the URLs.
6402
+
6403
+ :param url_configuration: The configuration of the URL/URLs.
6404
+
6405
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-websourceconfiguration.html
6406
+ :exampleMetadata: fixture=_generated
6407
+
6408
+ Example::
6409
+
6410
+ # The code below shows an example of how to instantiate this type.
6411
+ # The values are placeholders you should change.
6412
+ from aws_cdk import aws_bedrock as bedrock
6413
+
6414
+ web_source_configuration_property = bedrock.CfnDataSource.WebSourceConfigurationProperty(
6415
+ url_configuration=bedrock.CfnDataSource.UrlConfigurationProperty(
6416
+ seed_urls=[bedrock.CfnDataSource.SeedUrlProperty(
6417
+ url="url"
6418
+ )]
6419
+ )
6420
+ )
6421
+ '''
6422
+ if __debug__:
6423
+ type_hints = typing.get_type_hints(_typecheckingstub__eed5469efe26ecca30b65f76f177d0a63ddfd391d6f79ab740dabde0e6ae1c45)
6424
+ check_type(argname="argument url_configuration", value=url_configuration, expected_type=type_hints["url_configuration"])
6425
+ self._values: typing.Dict[builtins.str, typing.Any] = {
6426
+ "url_configuration": url_configuration,
6427
+ }
4367
6428
 
4368
6429
  @builtins.property
4369
- def parsing_configuration(
6430
+ def url_configuration(
4370
6431
  self,
4371
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ParsingConfigurationProperty"]]:
4372
- '''A custom parser for data source documents.
6432
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.UrlConfigurationProperty"]:
6433
+ '''The configuration of the URL/URLs.
4373
6434
 
4374
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-parsingconfiguration
6435
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-websourceconfiguration.html#cfn-bedrock-datasource-websourceconfiguration-urlconfiguration
4375
6436
  '''
4376
- result = self._values.get("parsing_configuration")
4377
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ParsingConfigurationProperty"]], result)
6437
+ result = self._values.get("url_configuration")
6438
+ assert result is not None, "Required property 'url_configuration' is missing"
6439
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.UrlConfigurationProperty"], result)
4378
6440
 
4379
6441
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
4380
6442
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -4383,7 +6445,7 @@ class CfnDataSource(
4383
6445
  return not (rhs == self)
4384
6446
 
4385
6447
  def __repr__(self) -> str:
4386
- return "VectorIngestionConfigurationProperty(%s)" % ", ".join(
6448
+ return "WebSourceConfigurationProperty(%s)" % ", ".join(
4387
6449
  k + "=" + repr(v) for k, v in self._values.items()
4388
6450
  )
4389
6451
 
@@ -4392,6 +6454,7 @@ class CfnDataSource(
4392
6454
  jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSourceProps",
4393
6455
  jsii_struct_bases=[],
4394
6456
  name_mapping={
6457
+ "data_source_configuration": "dataSourceConfiguration",
4395
6458
  "knowledge_base_id": "knowledgeBaseId",
4396
6459
  "name": "name",
4397
6460
  "data_deletion_policy": "dataDeletionPolicy",
@@ -4404,6 +6467,7 @@ class CfnDataSourceProps:
4404
6467
  def __init__(
4405
6468
  self,
4406
6469
  *,
6470
+ data_source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.DataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
4407
6471
  knowledge_base_id: builtins.str,
4408
6472
  name: builtins.str,
4409
6473
  data_deletion_policy: typing.Optional[builtins.str] = None,
@@ -4413,6 +6477,7 @@ class CfnDataSourceProps:
4413
6477
  ) -> None:
4414
6478
  '''Properties for defining a ``CfnDataSource``.
4415
6479
 
6480
+ :param data_source_configuration: The connection configuration for the data source.
4416
6481
  :param knowledge_base_id: The unique identifier of the knowledge base to which the data source belongs.
4417
6482
  :param name: The name of the data source.
4418
6483
  :param data_deletion_policy: The data deletion policy for the data source.
@@ -4430,6 +6495,118 @@ class CfnDataSourceProps:
4430
6495
  from aws_cdk import aws_bedrock as bedrock
4431
6496
 
4432
6497
  cfn_data_source_props = bedrock.CfnDataSourceProps(
6498
+ data_source_configuration=bedrock.CfnDataSource.DataSourceConfigurationProperty(
6499
+ type="type",
6500
+
6501
+ # the properties below are optional
6502
+ confluence_configuration=bedrock.CfnDataSource.ConfluenceDataSourceConfigurationProperty(
6503
+ source_configuration=bedrock.CfnDataSource.ConfluenceSourceConfigurationProperty(
6504
+ auth_type="authType",
6505
+ credentials_secret_arn="credentialsSecretArn",
6506
+ host_type="hostType",
6507
+ host_url="hostUrl"
6508
+ ),
6509
+
6510
+ # the properties below are optional
6511
+ crawler_configuration=bedrock.CfnDataSource.ConfluenceCrawlerConfigurationProperty(
6512
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
6513
+ type="type",
6514
+
6515
+ # the properties below are optional
6516
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
6517
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
6518
+ object_type="objectType",
6519
+
6520
+ # the properties below are optional
6521
+ exclusion_filters=["exclusionFilters"],
6522
+ inclusion_filters=["inclusionFilters"]
6523
+ )]
6524
+ )
6525
+ )
6526
+ )
6527
+ ),
6528
+ s3_configuration=bedrock.CfnDataSource.S3DataSourceConfigurationProperty(
6529
+ bucket_arn="bucketArn",
6530
+
6531
+ # the properties below are optional
6532
+ bucket_owner_account_id="bucketOwnerAccountId",
6533
+ inclusion_prefixes=["inclusionPrefixes"]
6534
+ ),
6535
+ salesforce_configuration=bedrock.CfnDataSource.SalesforceDataSourceConfigurationProperty(
6536
+ source_configuration=bedrock.CfnDataSource.SalesforceSourceConfigurationProperty(
6537
+ auth_type="authType",
6538
+ credentials_secret_arn="credentialsSecretArn",
6539
+ host_url="hostUrl"
6540
+ ),
6541
+
6542
+ # the properties below are optional
6543
+ crawler_configuration=bedrock.CfnDataSource.SalesforceCrawlerConfigurationProperty(
6544
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
6545
+ type="type",
6546
+
6547
+ # the properties below are optional
6548
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
6549
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
6550
+ object_type="objectType",
6551
+
6552
+ # the properties below are optional
6553
+ exclusion_filters=["exclusionFilters"],
6554
+ inclusion_filters=["inclusionFilters"]
6555
+ )]
6556
+ )
6557
+ )
6558
+ )
6559
+ ),
6560
+ share_point_configuration=bedrock.CfnDataSource.SharePointDataSourceConfigurationProperty(
6561
+ source_configuration=bedrock.CfnDataSource.SharePointSourceConfigurationProperty(
6562
+ auth_type="authType",
6563
+ credentials_secret_arn="credentialsSecretArn",
6564
+ domain="domain",
6565
+ host_type="hostType",
6566
+ site_urls=["siteUrls"],
6567
+
6568
+ # the properties below are optional
6569
+ tenant_id="tenantId"
6570
+ ),
6571
+
6572
+ # the properties below are optional
6573
+ crawler_configuration=bedrock.CfnDataSource.SharePointCrawlerConfigurationProperty(
6574
+ filter_configuration=bedrock.CfnDataSource.CrawlFilterConfigurationProperty(
6575
+ type="type",
6576
+
6577
+ # the properties below are optional
6578
+ pattern_object_filter=bedrock.CfnDataSource.PatternObjectFilterConfigurationProperty(
6579
+ filters=[bedrock.CfnDataSource.PatternObjectFilterProperty(
6580
+ object_type="objectType",
6581
+
6582
+ # the properties below are optional
6583
+ exclusion_filters=["exclusionFilters"],
6584
+ inclusion_filters=["inclusionFilters"]
6585
+ )]
6586
+ )
6587
+ )
6588
+ )
6589
+ ),
6590
+ web_configuration=bedrock.CfnDataSource.WebDataSourceConfigurationProperty(
6591
+ source_configuration=bedrock.CfnDataSource.WebSourceConfigurationProperty(
6592
+ url_configuration=bedrock.CfnDataSource.UrlConfigurationProperty(
6593
+ seed_urls=[bedrock.CfnDataSource.SeedUrlProperty(
6594
+ url="url"
6595
+ )]
6596
+ )
6597
+ ),
6598
+
6599
+ # the properties below are optional
6600
+ crawler_configuration=bedrock.CfnDataSource.WebCrawlerConfigurationProperty(
6601
+ crawler_limits=bedrock.CfnDataSource.WebCrawlerLimitsProperty(
6602
+ rate_limit=123
6603
+ ),
6604
+ exclusion_filters=["exclusionFilters"],
6605
+ inclusion_filters=["inclusionFilters"],
6606
+ scope="scope"
6607
+ )
6608
+ )
6609
+ ),
4433
6610
  knowledge_base_id="knowledgeBaseId",
4434
6611
  name="name",
4435
6612
 
@@ -4493,6 +6670,7 @@ class CfnDataSourceProps:
4493
6670
  '''
4494
6671
  if __debug__:
4495
6672
  type_hints = typing.get_type_hints(_typecheckingstub__4beca3e3b31c91619a3fa9da2bf185ffd738124b7965f1c90a191b43c7b62664)
6673
+ check_type(argname="argument data_source_configuration", value=data_source_configuration, expected_type=type_hints["data_source_configuration"])
4496
6674
  check_type(argname="argument knowledge_base_id", value=knowledge_base_id, expected_type=type_hints["knowledge_base_id"])
4497
6675
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
4498
6676
  check_type(argname="argument data_deletion_policy", value=data_deletion_policy, expected_type=type_hints["data_deletion_policy"])
@@ -4500,6 +6678,7 @@ class CfnDataSourceProps:
4500
6678
  check_type(argname="argument server_side_encryption_configuration", value=server_side_encryption_configuration, expected_type=type_hints["server_side_encryption_configuration"])
4501
6679
  check_type(argname="argument vector_ingestion_configuration", value=vector_ingestion_configuration, expected_type=type_hints["vector_ingestion_configuration"])
4502
6680
  self._values: typing.Dict[builtins.str, typing.Any] = {
6681
+ "data_source_configuration": data_source_configuration,
4503
6682
  "knowledge_base_id": knowledge_base_id,
4504
6683
  "name": name,
4505
6684
  }
@@ -4512,6 +6691,18 @@ class CfnDataSourceProps:
4512
6691
  if vector_ingestion_configuration is not None:
4513
6692
  self._values["vector_ingestion_configuration"] = vector_ingestion_configuration
4514
6693
 
6694
+ @builtins.property
6695
+ def data_source_configuration(
6696
+ self,
6697
+ ) -> typing.Union[_IResolvable_da3f097b, CfnDataSource.DataSourceConfigurationProperty]:
6698
+ '''The connection configuration for the data source.
6699
+
6700
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-datasourceconfiguration
6701
+ '''
6702
+ result = self._values.get("data_source_configuration")
6703
+ assert result is not None, "Required property 'data_source_configuration' is missing"
6704
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnDataSource.DataSourceConfigurationProperty], result)
6705
+
4515
6706
  @builtins.property
4516
6707
  def knowledge_base_id(self) -> builtins.str:
4517
6708
  '''The unique identifier of the knowledge base to which the data source belongs.
@@ -16986,6 +19177,7 @@ def _typecheckingstub__8b6230da788965416b3262c41917eaab2193b3cfccf7a03f313a8c191
16986
19177
  scope: _constructs_77d1e7e8.Construct,
16987
19178
  id: builtins.str,
16988
19179
  *,
19180
+ data_source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.DataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
16989
19181
  knowledge_base_id: builtins.str,
16990
19182
  name: builtins.str,
16991
19183
  data_deletion_policy: typing.Optional[builtins.str] = None,
@@ -17008,6 +19200,12 @@ def _typecheckingstub__b23978dd788bb65ad2e2571764c987a4729f9d5c9d17c903f53a10cd4
17008
19200
  """Type checking stubs"""
17009
19201
  pass
17010
19202
 
19203
+ def _typecheckingstub__a387108ccda2b96813f79478d4429abb297f766ce080c3bf9b77d03af3db534c(
19204
+ value: typing.Union[_IResolvable_da3f097b, CfnDataSource.DataSourceConfigurationProperty],
19205
+ ) -> None:
19206
+ """Type checking stubs"""
19207
+ pass
19208
+
17011
19209
  def _typecheckingstub__62d585d364d6684899cbce3ae80a62858e2f256e166c889705e2ecb2040e935d(
17012
19210
  value: builtins.str,
17013
19211
  ) -> None:
@@ -17062,6 +19260,39 @@ def _typecheckingstub__8beec747a0f57f641fd4bd3b03f73b678c8e286785d948f80998682f0
17062
19260
  """Type checking stubs"""
17063
19261
  pass
17064
19262
 
19263
+ def _typecheckingstub__bd96cc70a533ca8725fe3ea6bf1237979d5f80d5f174652557eff27fb9b78e45(
19264
+ *,
19265
+ filter_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.CrawlFilterConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19266
+ ) -> None:
19267
+ """Type checking stubs"""
19268
+ pass
19269
+
19270
+ def _typecheckingstub__6012c6084fea535f9557ea06362a962b55ea34a970b8275cb8328381138ea3b2(
19271
+ *,
19272
+ source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.ConfluenceSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
19273
+ crawler_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.ConfluenceCrawlerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19274
+ ) -> None:
19275
+ """Type checking stubs"""
19276
+ pass
19277
+
19278
+ def _typecheckingstub__f6b1b77774988ec57c830fc9a0a2a7c4c9f4497cdb86ab6c5fa2ebbb15d01b54(
19279
+ *,
19280
+ auth_type: builtins.str,
19281
+ credentials_secret_arn: builtins.str,
19282
+ host_type: builtins.str,
19283
+ host_url: builtins.str,
19284
+ ) -> None:
19285
+ """Type checking stubs"""
19286
+ pass
19287
+
19288
+ def _typecheckingstub__df771f43b4edc46788782c796b78e1b33220d226fe90547899ccc3c75ce15ac8(
19289
+ *,
19290
+ type: builtins.str,
19291
+ pattern_object_filter: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.PatternObjectFilterConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19292
+ ) -> None:
19293
+ """Type checking stubs"""
19294
+ pass
19295
+
17065
19296
  def _typecheckingstub__888c8bb26072cb69c76ae9aeabf049ae5233c6a3f34f832513f1399aea8240f7(
17066
19297
  *,
17067
19298
  intermediate_storage: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.IntermediateStorageProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -17070,6 +19301,18 @@ def _typecheckingstub__888c8bb26072cb69c76ae9aeabf049ae5233c6a3f34f832513f1399ae
17070
19301
  """Type checking stubs"""
17071
19302
  pass
17072
19303
 
19304
+ def _typecheckingstub__a2e1b0c807d6904904c91cc13a2f47ee5db24090758446e26a864b57b3d36117(
19305
+ *,
19306
+ type: builtins.str,
19307
+ confluence_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.ConfluenceDataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19308
+ s3_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.S3DataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19309
+ salesforce_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.SalesforceDataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19310
+ share_point_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.SharePointDataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19311
+ web_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.WebDataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19312
+ ) -> None:
19313
+ """Type checking stubs"""
19314
+ pass
19315
+
17073
19316
  def _typecheckingstub__7b9e8054cbf79d2292e738f1061947914954b89440b15bf572c87c9695aaf7bc(
17074
19317
  *,
17075
19318
  max_tokens: jsii.Number,
@@ -17115,6 +19358,31 @@ def _typecheckingstub__57c952f819fbd492c40906223d7646e286faeaf1492ccfe1a050c776f
17115
19358
  """Type checking stubs"""
17116
19359
  pass
17117
19360
 
19361
+ def _typecheckingstub__3ced151210973a4135e752b7dc574bfd684559819a7a07720ae710370867eba6(
19362
+ *,
19363
+ filters: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.PatternObjectFilterProperty, typing.Dict[builtins.str, typing.Any]]]]],
19364
+ ) -> None:
19365
+ """Type checking stubs"""
19366
+ pass
19367
+
19368
+ def _typecheckingstub__7dd7a9d6c2e0d5d05d02a68d2dea721b600e4ddae8bf5dcf24f149b9e9319bd5(
19369
+ *,
19370
+ object_type: builtins.str,
19371
+ exclusion_filters: typing.Optional[typing.Sequence[builtins.str]] = None,
19372
+ inclusion_filters: typing.Optional[typing.Sequence[builtins.str]] = None,
19373
+ ) -> None:
19374
+ """Type checking stubs"""
19375
+ pass
19376
+
19377
+ def _typecheckingstub__6b4929296343a5ea55bce5d28d11b34fa10885df35596a08102658f8bcbc8c5b(
19378
+ *,
19379
+ bucket_arn: builtins.str,
19380
+ bucket_owner_account_id: typing.Optional[builtins.str] = None,
19381
+ inclusion_prefixes: typing.Optional[typing.Sequence[builtins.str]] = None,
19382
+ ) -> None:
19383
+ """Type checking stubs"""
19384
+ pass
19385
+
17118
19386
  def _typecheckingstub__d638c12879ec4e653848ff096c94119612fc29f6181050c0a7980f3714ced173(
17119
19387
  *,
17120
19388
  uri: builtins.str,
@@ -17122,6 +19390,37 @@ def _typecheckingstub__d638c12879ec4e653848ff096c94119612fc29f6181050c0a7980f371
17122
19390
  """Type checking stubs"""
17123
19391
  pass
17124
19392
 
19393
+ def _typecheckingstub__dcf2c72ca7f7035009e0a5f42f7687d9e34922f1d08c1037a18768fdbbcd714b(
19394
+ *,
19395
+ filter_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.CrawlFilterConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19396
+ ) -> None:
19397
+ """Type checking stubs"""
19398
+ pass
19399
+
19400
+ def _typecheckingstub__19e91cc5df4de808fbd82c02038242b17f720e32ff1b1c457240b738983c4e56(
19401
+ *,
19402
+ source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.SalesforceSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
19403
+ crawler_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.SalesforceCrawlerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19404
+ ) -> None:
19405
+ """Type checking stubs"""
19406
+ pass
19407
+
19408
+ def _typecheckingstub__10d168ba87dbfa2820a4a25447b46f7077984592e3b4d5a50f59c6f822487578(
19409
+ *,
19410
+ auth_type: builtins.str,
19411
+ credentials_secret_arn: builtins.str,
19412
+ host_url: builtins.str,
19413
+ ) -> None:
19414
+ """Type checking stubs"""
19415
+ pass
19416
+
19417
+ def _typecheckingstub__cf8c0f6926d3f02906dd411ea53c5df121a2ab8fd6cb1cc29270d45f47907263(
19418
+ *,
19419
+ url: builtins.str,
19420
+ ) -> None:
19421
+ """Type checking stubs"""
19422
+ pass
19423
+
17125
19424
  def _typecheckingstub__5fbe19246811c798768255282a758b9afc14da2c6d7c0419553a9ac98be7f99e(
17126
19425
  *,
17127
19426
  breakpoint_percentile_threshold: jsii.Number,
@@ -17138,6 +19437,33 @@ def _typecheckingstub__e7bf662e3d628b0671b547dd26face3c322a93684b4b5578ec4cda109
17138
19437
  """Type checking stubs"""
17139
19438
  pass
17140
19439
 
19440
+ def _typecheckingstub__738da86cc405fddc64a59295a3d62b697bd1f304c3a1a23dd8387bf4807e5bfc(
19441
+ *,
19442
+ filter_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.CrawlFilterConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19443
+ ) -> None:
19444
+ """Type checking stubs"""
19445
+ pass
19446
+
19447
+ def _typecheckingstub__0cd4cda882e18a91758d0c55ba62239b7f2a738f332f000e150340d38474c549(
19448
+ *,
19449
+ source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.SharePointSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
19450
+ crawler_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.SharePointCrawlerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19451
+ ) -> None:
19452
+ """Type checking stubs"""
19453
+ pass
19454
+
19455
+ def _typecheckingstub__48994fdcb11091f4caa0fb5753c7af914ae9816931a2bef7e3f3324c63e6e07c(
19456
+ *,
19457
+ auth_type: builtins.str,
19458
+ credentials_secret_arn: builtins.str,
19459
+ domain: builtins.str,
19460
+ host_type: builtins.str,
19461
+ site_urls: typing.Sequence[builtins.str],
19462
+ tenant_id: typing.Optional[builtins.str] = None,
19463
+ ) -> None:
19464
+ """Type checking stubs"""
19465
+ pass
19466
+
17141
19467
  def _typecheckingstub__b12219aac867927e5b39fb3f23bae62881fb2b3683eda8f7c5b4f84aa1b85b35(
17142
19468
  *,
17143
19469
  transformation_lambda_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.TransformationLambdaConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -17160,6 +19486,13 @@ def _typecheckingstub__b6f1d625210f565b8ded52de7c03c9e5f0e0c6b790365d2f0f995f9dd
17160
19486
  """Type checking stubs"""
17161
19487
  pass
17162
19488
 
19489
+ def _typecheckingstub__33e4e6226e3e29b9d96cc7d5d58f6d2d4062908e865a2e74a0c3a6b363de5062(
19490
+ *,
19491
+ seed_urls: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.SeedUrlProperty, typing.Dict[builtins.str, typing.Any]]]]],
19492
+ ) -> None:
19493
+ """Type checking stubs"""
19494
+ pass
19495
+
17163
19496
  def _typecheckingstub__37255db3e7cacfdeadc2d28bfe7938fd13ab4a2cd72190024a531eddf1fd9ec0(
17164
19497
  *,
17165
19498
  chunking_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.ChunkingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -17169,8 +19502,41 @@ def _typecheckingstub__37255db3e7cacfdeadc2d28bfe7938fd13ab4a2cd72190024a531eddf
17169
19502
  """Type checking stubs"""
17170
19503
  pass
17171
19504
 
19505
+ def _typecheckingstub__19f2bf049e2cc7c767a94b404cf6594346506f3a78f18601159a383fa27572d2(
19506
+ *,
19507
+ crawler_limits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.WebCrawlerLimitsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19508
+ exclusion_filters: typing.Optional[typing.Sequence[builtins.str]] = None,
19509
+ inclusion_filters: typing.Optional[typing.Sequence[builtins.str]] = None,
19510
+ scope: typing.Optional[builtins.str] = None,
19511
+ ) -> None:
19512
+ """Type checking stubs"""
19513
+ pass
19514
+
19515
+ def _typecheckingstub__e3c7708618964f317da86f69cc51ebbcf99d7ff170204876d29a3e67fdbefcf9(
19516
+ *,
19517
+ rate_limit: typing.Optional[jsii.Number] = None,
19518
+ ) -> None:
19519
+ """Type checking stubs"""
19520
+ pass
19521
+
19522
+ def _typecheckingstub__b1f60d9766ca17f5c37478ae610f90aa4019525520dc8ade1276a6b78c4f8330(
19523
+ *,
19524
+ source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.WebSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
19525
+ crawler_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.WebCrawlerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19526
+ ) -> None:
19527
+ """Type checking stubs"""
19528
+ pass
19529
+
19530
+ def _typecheckingstub__eed5469efe26ecca30b65f76f177d0a63ddfd391d6f79ab740dabde0e6ae1c45(
19531
+ *,
19532
+ url_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.UrlConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
19533
+ ) -> None:
19534
+ """Type checking stubs"""
19535
+ pass
19536
+
17172
19537
  def _typecheckingstub__4beca3e3b31c91619a3fa9da2bf185ffd738124b7965f1c90a191b43c7b62664(
17173
19538
  *,
19539
+ data_source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.DataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
17174
19540
  knowledge_base_id: builtins.str,
17175
19541
  name: builtins.str,
17176
19542
  data_deletion_policy: typing.Optional[builtins.str] = None,