aws-cdk-lib 2.138.0__py3-none-any.whl → 2.139.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 (37) hide show
  1. aws_cdk/_jsii/__init__.py +1 -1
  2. aws_cdk/_jsii/{aws-cdk-lib@2.138.0.jsii.tgz → aws-cdk-lib@2.139.0.jsii.tgz} +0 -0
  3. aws_cdk/aws_apigateway/__init__.py +29 -16
  4. aws_cdk/aws_appconfig/__init__.py +289 -44
  5. aws_cdk/aws_appintegrations/__init__.py +55 -6
  6. aws_cdk/aws_autoscaling/__init__.py +62 -60
  7. aws_cdk/aws_backup/__init__.py +34 -42
  8. aws_cdk/aws_batch/__init__.py +9 -3
  9. aws_cdk/aws_bedrock/__init__.py +4144 -0
  10. aws_cdk/aws_cloudwatch/__init__.py +120 -0
  11. aws_cdk/aws_datazone/__init__.py +22 -0
  12. aws_cdk/aws_dms/__init__.py +2 -4
  13. aws_cdk/aws_ec2/__init__.py +123 -84
  14. aws_cdk/aws_ecr/__init__.py +630 -0
  15. aws_cdk/aws_ecs/__init__.py +121 -19
  16. aws_cdk/aws_efs/__init__.py +592 -0
  17. aws_cdk/aws_elasticloadbalancingv2/__init__.py +23 -8
  18. aws_cdk/aws_events_targets/__init__.py +17 -4
  19. aws_cdk/aws_kms/__init__.py +44 -0
  20. aws_cdk/aws_lambda/__init__.py +9 -0
  21. aws_cdk/aws_oam/__init__.py +204 -0
  22. aws_cdk/aws_rds/__init__.py +15 -11
  23. aws_cdk/aws_redshiftserverless/__init__.py +157 -0
  24. aws_cdk/aws_securitylake/__init__.py +160 -105
  25. aws_cdk/aws_ses_actions/__init__.py +155 -0
  26. aws_cdk/aws_ssm/__init__.py +5 -2
  27. aws_cdk/aws_timestream/__init__.py +1045 -0
  28. aws_cdk/aws_transfer/__init__.py +15 -6
  29. aws_cdk/aws_wisdom/__init__.py +2 -2
  30. aws_cdk/custom_resources/__init__.py +440 -0
  31. aws_cdk/cx_api/__init__.py +17 -0
  32. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/METADATA +1 -1
  33. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/RECORD +37 -37
  34. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/LICENSE +0 -0
  35. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/NOTICE +0 -0
  36. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/WHEEL +0 -0
  37. {aws_cdk_lib-2.138.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/top_level.txt +0 -0
@@ -44,6 +44,3611 @@ from typeguard import check_type
44
44
  from .._jsii import *
45
45
 
46
46
  import constructs as _constructs_77d1e7e8
47
+ from .. import (
48
+ CfnResource as _CfnResource_9df397a6,
49
+ IInspectable as _IInspectable_c2943556,
50
+ IResolvable as _IResolvable_da3f097b,
51
+ ITaggableV2 as _ITaggableV2_4e6798f8,
52
+ TagManager as _TagManager_0a598cb3,
53
+ TreeInspector as _TreeInspector_488e0dd5,
54
+ )
55
+
56
+
57
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
58
+ class CfnAgent(
59
+ _CfnResource_9df397a6,
60
+ metaclass=jsii.JSIIMeta,
61
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgent",
62
+ ):
63
+ '''Specifies an agent as a resource in a top-level template. Minimally, you must specify the following properties:.
64
+
65
+ - AgentName – Specify a name for the agent.
66
+ - AgentResourceRoleArn – Specify the Amazon Resource Name (ARN) of the service role with permissions to invoke API operations on the agent. For more information, see `Create a service role for Agents for Amazon Bedrock <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-permissions.html>`_ .
67
+ - FoundationModel – Specify the model ID of a foundation model to use when invoking the agent. For more information, see `Supported regions and models for Agents for Amazon Bedrock <https://docs.aws.amazon.com//bedrock/latest/userguide/agents-supported.html>`_ .
68
+
69
+ For more information about using agents in Amazon Bedrock , see `Agents for Amazon Bedrock <https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html>`_ .
70
+
71
+ See the *Properties* section below for descriptions of both the required and optional properties.
72
+
73
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html
74
+ :cloudformationResource: AWS::Bedrock::Agent
75
+ :exampleMetadata: fixture=_generated
76
+
77
+ Example::
78
+
79
+ # The code below shows an example of how to instantiate this type.
80
+ # The values are placeholders you should change.
81
+ from aws_cdk import aws_bedrock as bedrock
82
+
83
+ cfn_agent = bedrock.CfnAgent(self, "MyCfnAgent",
84
+ agent_name="agentName",
85
+
86
+ # the properties below are optional
87
+ action_groups=[bedrock.CfnAgent.AgentActionGroupProperty(
88
+ action_group_name="actionGroupName",
89
+
90
+ # the properties below are optional
91
+ action_group_executor=bedrock.CfnAgent.ActionGroupExecutorProperty(
92
+ lambda_="lambda"
93
+ ),
94
+ action_group_state="actionGroupState",
95
+ api_schema=bedrock.CfnAgent.APISchemaProperty(
96
+ payload="payload",
97
+ s3=bedrock.CfnAgent.S3IdentifierProperty(
98
+ s3_bucket_name="s3BucketName",
99
+ s3_object_key="s3ObjectKey"
100
+ )
101
+ ),
102
+ description="description",
103
+ parent_action_group_signature="parentActionGroupSignature",
104
+ skip_resource_in_use_check_on_delete=False
105
+ )],
106
+ agent_resource_role_arn="agentResourceRoleArn",
107
+ auto_prepare=False,
108
+ customer_encryption_key_arn="customerEncryptionKeyArn",
109
+ description="description",
110
+ foundation_model="foundationModel",
111
+ idle_session_ttl_in_seconds=123,
112
+ instruction="instruction",
113
+ knowledge_bases=[bedrock.CfnAgent.AgentKnowledgeBaseProperty(
114
+ description="description",
115
+ knowledge_base_id="knowledgeBaseId",
116
+
117
+ # the properties below are optional
118
+ knowledge_base_state="knowledgeBaseState"
119
+ )],
120
+ prompt_override_configuration=bedrock.CfnAgent.PromptOverrideConfigurationProperty(
121
+ prompt_configurations=[bedrock.CfnAgent.PromptConfigurationProperty(
122
+ base_prompt_template="basePromptTemplate",
123
+ inference_configuration=bedrock.CfnAgent.InferenceConfigurationProperty(
124
+ maximum_length=123,
125
+ stop_sequences=["stopSequences"],
126
+ temperature=123,
127
+ top_k=123,
128
+ top_p=123
129
+ ),
130
+ parser_mode="parserMode",
131
+ prompt_creation_mode="promptCreationMode",
132
+ prompt_state="promptState",
133
+ prompt_type="promptType"
134
+ )],
135
+
136
+ # the properties below are optional
137
+ override_lambda="overrideLambda"
138
+ ),
139
+ skip_resource_in_use_check_on_delete=False,
140
+ tags={
141
+ "tags_key": "tags"
142
+ }
143
+ )
144
+ '''
145
+
146
+ def __init__(
147
+ self,
148
+ scope: _constructs_77d1e7e8.Construct,
149
+ id: builtins.str,
150
+ *,
151
+ agent_name: builtins.str,
152
+ action_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAgent.AgentActionGroupProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
153
+ agent_resource_role_arn: typing.Optional[builtins.str] = None,
154
+ auto_prepare: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
155
+ customer_encryption_key_arn: typing.Optional[builtins.str] = None,
156
+ description: typing.Optional[builtins.str] = None,
157
+ foundation_model: typing.Optional[builtins.str] = None,
158
+ idle_session_ttl_in_seconds: typing.Optional[jsii.Number] = None,
159
+ instruction: typing.Optional[builtins.str] = None,
160
+ knowledge_bases: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAgent.AgentKnowledgeBaseProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
161
+ prompt_override_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAgent.PromptOverrideConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
162
+ skip_resource_in_use_check_on_delete: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
163
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
164
+ ) -> None:
165
+ '''
166
+ :param scope: Scope in which this resource is defined.
167
+ :param id: Construct identifier for this resource (unique in its scope).
168
+ :param agent_name: The name of the agent.
169
+ :param action_groups: The action groups that belong to an agent.
170
+ :param agent_resource_role_arn: The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.
171
+ :param auto_prepare: Specifies whether to automatically update the ``DRAFT`` version of the agent after making changes to the agent. The ``DRAFT`` version can be continually iterated upon during internal development. By default, this value is ``false`` . Default: - false
172
+ :param customer_encryption_key_arn: The Amazon Resource Name (ARN) of the AWS KMS key that encrypts the agent.
173
+ :param description: The description of the agent.
174
+ :param foundation_model: The foundation model used for orchestration by the agent.
175
+ :param idle_session_ttl_in_seconds: The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout.
176
+ :param instruction: Instructions that tell the agent what it should do and how it should interact with users.
177
+ :param knowledge_bases: The knowledge bases associated with the agent.
178
+ :param prompt_override_configuration: Contains configurations to override prompt templates in different parts of an agent sequence. For more information, see `Advanced prompts <https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html>`_ .
179
+ :param skip_resource_in_use_check_on_delete: Specifies whether to delete the resource even if it's in use. By default, this value is ``false`` . Default: - false
180
+ :param tags: Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:. - `Tag naming limits and requirements <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions>`_ - `Tagging best practices <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices>`_
181
+ '''
182
+ if __debug__:
183
+ type_hints = typing.get_type_hints(_typecheckingstub__facaad57ffe16da42f099d2b7997f3e6fd3b9eba46fd226d8fb5afe286371e74)
184
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
185
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
186
+ props = CfnAgentProps(
187
+ agent_name=agent_name,
188
+ action_groups=action_groups,
189
+ agent_resource_role_arn=agent_resource_role_arn,
190
+ auto_prepare=auto_prepare,
191
+ customer_encryption_key_arn=customer_encryption_key_arn,
192
+ description=description,
193
+ foundation_model=foundation_model,
194
+ idle_session_ttl_in_seconds=idle_session_ttl_in_seconds,
195
+ instruction=instruction,
196
+ knowledge_bases=knowledge_bases,
197
+ prompt_override_configuration=prompt_override_configuration,
198
+ skip_resource_in_use_check_on_delete=skip_resource_in_use_check_on_delete,
199
+ tags=tags,
200
+ )
201
+
202
+ jsii.create(self.__class__, self, [scope, id, props])
203
+
204
+ @jsii.member(jsii_name="inspect")
205
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
206
+ '''Examines the CloudFormation resource and discloses attributes.
207
+
208
+ :param inspector: tree inspector to collect and process attributes.
209
+ '''
210
+ if __debug__:
211
+ type_hints = typing.get_type_hints(_typecheckingstub__c671dddc0216853bf62cdd51e6c2889b8dfe0d7819a455df2ad71c5b8d67daba)
212
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
213
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
214
+
215
+ @jsii.member(jsii_name="renderProperties")
216
+ def _render_properties(
217
+ self,
218
+ props: typing.Mapping[builtins.str, typing.Any],
219
+ ) -> typing.Mapping[builtins.str, typing.Any]:
220
+ '''
221
+ :param props: -
222
+ '''
223
+ if __debug__:
224
+ type_hints = typing.get_type_hints(_typecheckingstub__0633cd876f44b7c72e1346d6b26f361a0d1afbb01604add4ba48210303ccc35c)
225
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
226
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
227
+
228
+ @jsii.python.classproperty
229
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
230
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
231
+ '''The CloudFormation resource type name for this resource class.'''
232
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
233
+
234
+ @builtins.property
235
+ @jsii.member(jsii_name="attrAgentArn")
236
+ def attr_agent_arn(self) -> builtins.str:
237
+ '''The Amazon Resource Name (ARN) of the agent.
238
+
239
+ :cloudformationAttribute: AgentArn
240
+ '''
241
+ return typing.cast(builtins.str, jsii.get(self, "attrAgentArn"))
242
+
243
+ @builtins.property
244
+ @jsii.member(jsii_name="attrAgentId")
245
+ def attr_agent_id(self) -> builtins.str:
246
+ '''The unique identifier of the agent.
247
+
248
+ :cloudformationAttribute: AgentId
249
+ '''
250
+ return typing.cast(builtins.str, jsii.get(self, "attrAgentId"))
251
+
252
+ @builtins.property
253
+ @jsii.member(jsii_name="attrAgentStatus")
254
+ def attr_agent_status(self) -> builtins.str:
255
+ '''The status of the agent and whether it is ready for use. The following statuses are possible:.
256
+
257
+ - CREATING – The agent is being created.
258
+ - PREPARING – The agent is being prepared.
259
+ - PREPARED – The agent is prepared and ready to be invoked.
260
+ - NOT_PREPARED – The agent has been created but not yet prepared.
261
+ - FAILED – The agent API operation failed.
262
+ - UPDATING – The agent is being updated.
263
+ - DELETING – The agent is being deleted.
264
+
265
+ :cloudformationAttribute: AgentStatus
266
+ '''
267
+ return typing.cast(builtins.str, jsii.get(self, "attrAgentStatus"))
268
+
269
+ @builtins.property
270
+ @jsii.member(jsii_name="attrAgentVersion")
271
+ def attr_agent_version(self) -> builtins.str:
272
+ '''The version of the agent.
273
+
274
+ :cloudformationAttribute: AgentVersion
275
+ '''
276
+ return typing.cast(builtins.str, jsii.get(self, "attrAgentVersion"))
277
+
278
+ @builtins.property
279
+ @jsii.member(jsii_name="attrCreatedAt")
280
+ def attr_created_at(self) -> builtins.str:
281
+ '''The time at which the agent was created.
282
+
283
+ :cloudformationAttribute: CreatedAt
284
+ '''
285
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
286
+
287
+ @builtins.property
288
+ @jsii.member(jsii_name="attrFailureReasons")
289
+ def attr_failure_reasons(self) -> typing.List[builtins.str]:
290
+ '''Contains reasons that the agent-related API that you invoked failed.
291
+
292
+ :cloudformationAttribute: FailureReasons
293
+ '''
294
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrFailureReasons"))
295
+
296
+ @builtins.property
297
+ @jsii.member(jsii_name="attrPreparedAt")
298
+ def attr_prepared_at(self) -> builtins.str:
299
+ '''The time at which the agent was last prepared.
300
+
301
+ :cloudformationAttribute: PreparedAt
302
+ '''
303
+ return typing.cast(builtins.str, jsii.get(self, "attrPreparedAt"))
304
+
305
+ @builtins.property
306
+ @jsii.member(jsii_name="attrRecommendedActions")
307
+ def attr_recommended_actions(self) -> typing.List[builtins.str]:
308
+ '''Contains recommended actions to take for the agent-related API that you invoked to succeed.
309
+
310
+ :cloudformationAttribute: RecommendedActions
311
+ '''
312
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrRecommendedActions"))
313
+
314
+ @builtins.property
315
+ @jsii.member(jsii_name="attrUpdatedAt")
316
+ def attr_updated_at(self) -> builtins.str:
317
+ '''The time at which the agent was last updated.
318
+
319
+ :cloudformationAttribute: UpdatedAt
320
+ '''
321
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
322
+
323
+ @builtins.property
324
+ @jsii.member(jsii_name="cdkTagManager")
325
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
326
+ '''Tag Manager which manages the tags for this resource.'''
327
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
328
+
329
+ @builtins.property
330
+ @jsii.member(jsii_name="cfnProperties")
331
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
332
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
333
+
334
+ @builtins.property
335
+ @jsii.member(jsii_name="agentName")
336
+ def agent_name(self) -> builtins.str:
337
+ '''The name of the agent.'''
338
+ return typing.cast(builtins.str, jsii.get(self, "agentName"))
339
+
340
+ @agent_name.setter
341
+ def agent_name(self, value: builtins.str) -> None:
342
+ if __debug__:
343
+ type_hints = typing.get_type_hints(_typecheckingstub__89c19306b2dfaafb18e03ff6cb134d14ba6e0563e4a2c79c53886ba8207714cc)
344
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
345
+ jsii.set(self, "agentName", value)
346
+
347
+ @builtins.property
348
+ @jsii.member(jsii_name="actionGroups")
349
+ def action_groups(
350
+ self,
351
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgent.AgentActionGroupProperty"]]]]:
352
+ '''The action groups that belong to an agent.'''
353
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgent.AgentActionGroupProperty"]]]], jsii.get(self, "actionGroups"))
354
+
355
+ @action_groups.setter
356
+ def action_groups(
357
+ self,
358
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgent.AgentActionGroupProperty"]]]],
359
+ ) -> None:
360
+ if __debug__:
361
+ type_hints = typing.get_type_hints(_typecheckingstub__f670733e4a574d57292a648f4a8ad68ef64492d8f6667729aee160997a190e16)
362
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
363
+ jsii.set(self, "actionGroups", value)
364
+
365
+ @builtins.property
366
+ @jsii.member(jsii_name="agentResourceRoleArn")
367
+ def agent_resource_role_arn(self) -> typing.Optional[builtins.str]:
368
+ '''The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.'''
369
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "agentResourceRoleArn"))
370
+
371
+ @agent_resource_role_arn.setter
372
+ def agent_resource_role_arn(self, value: typing.Optional[builtins.str]) -> None:
373
+ if __debug__:
374
+ type_hints = typing.get_type_hints(_typecheckingstub__36b021046f759c8bbfbfb02bceb7d337926c83d3e866d3dcd420bb7819e254ca)
375
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
376
+ jsii.set(self, "agentResourceRoleArn", value)
377
+
378
+ @builtins.property
379
+ @jsii.member(jsii_name="autoPrepare")
380
+ def auto_prepare(
381
+ self,
382
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
383
+ '''Specifies whether to automatically update the ``DRAFT`` version of the agent after making changes to the agent.'''
384
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "autoPrepare"))
385
+
386
+ @auto_prepare.setter
387
+ def auto_prepare(
388
+ self,
389
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
390
+ ) -> None:
391
+ if __debug__:
392
+ type_hints = typing.get_type_hints(_typecheckingstub__8dc98d7cbd7435359b362ef11a9b384386d54f878814d4c596d3dfa290281e67)
393
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
394
+ jsii.set(self, "autoPrepare", value)
395
+
396
+ @builtins.property
397
+ @jsii.member(jsii_name="customerEncryptionKeyArn")
398
+ def customer_encryption_key_arn(self) -> typing.Optional[builtins.str]:
399
+ '''The Amazon Resource Name (ARN) of the AWS KMS key that encrypts the agent.'''
400
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "customerEncryptionKeyArn"))
401
+
402
+ @customer_encryption_key_arn.setter
403
+ def customer_encryption_key_arn(self, value: typing.Optional[builtins.str]) -> None:
404
+ if __debug__:
405
+ type_hints = typing.get_type_hints(_typecheckingstub__ea763219d3fed10a3841f0a137399ddf8f575abf9b1691273415e66f4f0763c2)
406
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
407
+ jsii.set(self, "customerEncryptionKeyArn", value)
408
+
409
+ @builtins.property
410
+ @jsii.member(jsii_name="description")
411
+ def description(self) -> typing.Optional[builtins.str]:
412
+ '''The description of the agent.'''
413
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
414
+
415
+ @description.setter
416
+ def description(self, value: typing.Optional[builtins.str]) -> None:
417
+ if __debug__:
418
+ type_hints = typing.get_type_hints(_typecheckingstub__0bd6874957339badfe5e02e7733947f3ba0b1fdc8c597003bfe10fc7ff96c537)
419
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
420
+ jsii.set(self, "description", value)
421
+
422
+ @builtins.property
423
+ @jsii.member(jsii_name="foundationModel")
424
+ def foundation_model(self) -> typing.Optional[builtins.str]:
425
+ '''The foundation model used for orchestration by the agent.'''
426
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "foundationModel"))
427
+
428
+ @foundation_model.setter
429
+ def foundation_model(self, value: typing.Optional[builtins.str]) -> None:
430
+ if __debug__:
431
+ type_hints = typing.get_type_hints(_typecheckingstub__75110aa6cf6cc2a463a78a36e9a6327c59875b1ef94d53da3047b8ec62c79fd4)
432
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
433
+ jsii.set(self, "foundationModel", value)
434
+
435
+ @builtins.property
436
+ @jsii.member(jsii_name="idleSessionTtlInSeconds")
437
+ def idle_session_ttl_in_seconds(self) -> typing.Optional[jsii.Number]:
438
+ '''The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent.'''
439
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "idleSessionTtlInSeconds"))
440
+
441
+ @idle_session_ttl_in_seconds.setter
442
+ def idle_session_ttl_in_seconds(self, value: typing.Optional[jsii.Number]) -> None:
443
+ if __debug__:
444
+ type_hints = typing.get_type_hints(_typecheckingstub__e29f42af6a8bf7aee6adb6b35e7809da69175082446368854bd402491896a71f)
445
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
446
+ jsii.set(self, "idleSessionTtlInSeconds", value)
447
+
448
+ @builtins.property
449
+ @jsii.member(jsii_name="instruction")
450
+ def instruction(self) -> typing.Optional[builtins.str]:
451
+ '''Instructions that tell the agent what it should do and how it should interact with users.'''
452
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "instruction"))
453
+
454
+ @instruction.setter
455
+ def instruction(self, value: typing.Optional[builtins.str]) -> None:
456
+ if __debug__:
457
+ type_hints = typing.get_type_hints(_typecheckingstub__51c531a159f9cc0e23a07b5bc12cf53006e4207dd460e3ce580c57fa76109e86)
458
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
459
+ jsii.set(self, "instruction", value)
460
+
461
+ @builtins.property
462
+ @jsii.member(jsii_name="knowledgeBases")
463
+ def knowledge_bases(
464
+ self,
465
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgent.AgentKnowledgeBaseProperty"]]]]:
466
+ '''The knowledge bases associated with the agent.'''
467
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgent.AgentKnowledgeBaseProperty"]]]], jsii.get(self, "knowledgeBases"))
468
+
469
+ @knowledge_bases.setter
470
+ def knowledge_bases(
471
+ self,
472
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgent.AgentKnowledgeBaseProperty"]]]],
473
+ ) -> None:
474
+ if __debug__:
475
+ type_hints = typing.get_type_hints(_typecheckingstub__8842d93181ada69f14f22e8ff6855e528b858dd0baf705a1ae228b3d96ef38d6)
476
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
477
+ jsii.set(self, "knowledgeBases", value)
478
+
479
+ @builtins.property
480
+ @jsii.member(jsii_name="promptOverrideConfiguration")
481
+ def prompt_override_configuration(
482
+ self,
483
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgent.PromptOverrideConfigurationProperty"]]:
484
+ '''Contains configurations to override prompt templates in different parts of an agent sequence.'''
485
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgent.PromptOverrideConfigurationProperty"]], jsii.get(self, "promptOverrideConfiguration"))
486
+
487
+ @prompt_override_configuration.setter
488
+ def prompt_override_configuration(
489
+ self,
490
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgent.PromptOverrideConfigurationProperty"]],
491
+ ) -> None:
492
+ if __debug__:
493
+ type_hints = typing.get_type_hints(_typecheckingstub__0d115c78c31e0cc4b4828b953c3afd44f4b9271c4e3aaad46777846216d6e9b8)
494
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
495
+ jsii.set(self, "promptOverrideConfiguration", value)
496
+
497
+ @builtins.property
498
+ @jsii.member(jsii_name="skipResourceInUseCheckOnDelete")
499
+ def skip_resource_in_use_check_on_delete(
500
+ self,
501
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
502
+ '''Specifies whether to delete the resource even if it's in use.'''
503
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "skipResourceInUseCheckOnDelete"))
504
+
505
+ @skip_resource_in_use_check_on_delete.setter
506
+ def skip_resource_in_use_check_on_delete(
507
+ self,
508
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
509
+ ) -> None:
510
+ if __debug__:
511
+ type_hints = typing.get_type_hints(_typecheckingstub__b8f4401bf1c7d6b30870233c265d99a973b05e80ad9e53ab7945a82208a3bf49)
512
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
513
+ jsii.set(self, "skipResourceInUseCheckOnDelete", value)
514
+
515
+ @builtins.property
516
+ @jsii.member(jsii_name="tags")
517
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
518
+ '''Metadata that you can assign to a resource as key-value pairs.
519
+
520
+ For more information, see the following resources:.
521
+ '''
522
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
523
+
524
+ @tags.setter
525
+ def tags(
526
+ self,
527
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
528
+ ) -> None:
529
+ if __debug__:
530
+ type_hints = typing.get_type_hints(_typecheckingstub__f9e79489cae3525b40539f62fddb8a1f8b194bc0b1d166146c12f85a52d978be)
531
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
532
+ jsii.set(self, "tags", value)
533
+
534
+ @jsii.data_type(
535
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgent.APISchemaProperty",
536
+ jsii_struct_bases=[],
537
+ name_mapping={"payload": "payload", "s3": "s3"},
538
+ )
539
+ class APISchemaProperty:
540
+ def __init__(
541
+ self,
542
+ *,
543
+ payload: typing.Optional[builtins.str] = None,
544
+ s3: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAgent.S3IdentifierProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
545
+ ) -> None:
546
+ '''Contains details about the OpenAPI schema for the action group.
547
+
548
+ For more information, see `Action group OpenAPI schemas <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html>`_ . You can either include the schema directly in the ``payload`` field or you can upload it to an S3 bucket and specify the S3 bucket location in the ``s3`` field.
549
+
550
+ :param payload: The JSON or YAML-formatted payload defining the OpenAPI schema for the action group. For more information, see `Action group OpenAPI schemas <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html>`_ .
551
+ :param s3: Contains details about the S3 object containing the OpenAPI schema for the action group. For more information, see `Action group OpenAPI schemas <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html>`_ .
552
+
553
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-apischema.html
554
+ :exampleMetadata: fixture=_generated
555
+
556
+ Example::
557
+
558
+ # The code below shows an example of how to instantiate this type.
559
+ # The values are placeholders you should change.
560
+ from aws_cdk import aws_bedrock as bedrock
561
+
562
+ a_pISchema_property = bedrock.CfnAgent.APISchemaProperty(
563
+ payload="payload",
564
+ s3=bedrock.CfnAgent.S3IdentifierProperty(
565
+ s3_bucket_name="s3BucketName",
566
+ s3_object_key="s3ObjectKey"
567
+ )
568
+ )
569
+ '''
570
+ if __debug__:
571
+ type_hints = typing.get_type_hints(_typecheckingstub__537a89983eef4dfdf436d52865dbd27f462f778f0de6c8ec6162918153faf331)
572
+ check_type(argname="argument payload", value=payload, expected_type=type_hints["payload"])
573
+ check_type(argname="argument s3", value=s3, expected_type=type_hints["s3"])
574
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
575
+ if payload is not None:
576
+ self._values["payload"] = payload
577
+ if s3 is not None:
578
+ self._values["s3"] = s3
579
+
580
+ @builtins.property
581
+ def payload(self) -> typing.Optional[builtins.str]:
582
+ '''The JSON or YAML-formatted payload defining the OpenAPI schema for the action group.
583
+
584
+ For more information, see `Action group OpenAPI schemas <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html>`_ .
585
+
586
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-apischema.html#cfn-bedrock-agent-apischema-payload
587
+ '''
588
+ result = self._values.get("payload")
589
+ return typing.cast(typing.Optional[builtins.str], result)
590
+
591
+ @builtins.property
592
+ def s3(
593
+ self,
594
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgent.S3IdentifierProperty"]]:
595
+ '''Contains details about the S3 object containing the OpenAPI schema for the action group.
596
+
597
+ For more information, see `Action group OpenAPI schemas <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html>`_ .
598
+
599
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-apischema.html#cfn-bedrock-agent-apischema-s3
600
+ '''
601
+ result = self._values.get("s3")
602
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgent.S3IdentifierProperty"]], result)
603
+
604
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
605
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
606
+
607
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
608
+ return not (rhs == self)
609
+
610
+ def __repr__(self) -> str:
611
+ return "APISchemaProperty(%s)" % ", ".join(
612
+ k + "=" + repr(v) for k, v in self._values.items()
613
+ )
614
+
615
+ @jsii.data_type(
616
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgent.ActionGroupExecutorProperty",
617
+ jsii_struct_bases=[],
618
+ name_mapping={"lambda_": "lambda"},
619
+ )
620
+ class ActionGroupExecutorProperty:
621
+ def __init__(self, *, lambda_: builtins.str) -> None:
622
+ '''Contains details about the Lambda function containing the business logic that is carried out upon invoking the action.
623
+
624
+ :param lambda_: The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action.
625
+
626
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-actiongroupexecutor.html
627
+ :exampleMetadata: fixture=_generated
628
+
629
+ Example::
630
+
631
+ # The code below shows an example of how to instantiate this type.
632
+ # The values are placeholders you should change.
633
+ from aws_cdk import aws_bedrock as bedrock
634
+
635
+ action_group_executor_property = bedrock.CfnAgent.ActionGroupExecutorProperty(
636
+ lambda_="lambda"
637
+ )
638
+ '''
639
+ if __debug__:
640
+ type_hints = typing.get_type_hints(_typecheckingstub__27e0c43d5a1e3dda92d710404aea51beb5f30a149322d9ec3e8d354b889735eb)
641
+ check_type(argname="argument lambda_", value=lambda_, expected_type=type_hints["lambda_"])
642
+ self._values: typing.Dict[builtins.str, typing.Any] = {
643
+ "lambda_": lambda_,
644
+ }
645
+
646
+ @builtins.property
647
+ def lambda_(self) -> builtins.str:
648
+ '''The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action.
649
+
650
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-actiongroupexecutor.html#cfn-bedrock-agent-actiongroupexecutor-lambda
651
+ '''
652
+ result = self._values.get("lambda_")
653
+ assert result is not None, "Required property 'lambda_' is missing"
654
+ return typing.cast(builtins.str, result)
655
+
656
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
657
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
658
+
659
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
660
+ return not (rhs == self)
661
+
662
+ def __repr__(self) -> str:
663
+ return "ActionGroupExecutorProperty(%s)" % ", ".join(
664
+ k + "=" + repr(v) for k, v in self._values.items()
665
+ )
666
+
667
+ @jsii.data_type(
668
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgent.AgentActionGroupProperty",
669
+ jsii_struct_bases=[],
670
+ name_mapping={
671
+ "action_group_name": "actionGroupName",
672
+ "action_group_executor": "actionGroupExecutor",
673
+ "action_group_state": "actionGroupState",
674
+ "api_schema": "apiSchema",
675
+ "description": "description",
676
+ "parent_action_group_signature": "parentActionGroupSignature",
677
+ "skip_resource_in_use_check_on_delete": "skipResourceInUseCheckOnDelete",
678
+ },
679
+ )
680
+ class AgentActionGroupProperty:
681
+ def __init__(
682
+ self,
683
+ *,
684
+ action_group_name: builtins.str,
685
+ action_group_executor: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAgent.ActionGroupExecutorProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
686
+ action_group_state: typing.Optional[builtins.str] = None,
687
+ api_schema: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAgent.APISchemaProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
688
+ description: typing.Optional[builtins.str] = None,
689
+ parent_action_group_signature: typing.Optional[builtins.str] = None,
690
+ skip_resource_in_use_check_on_delete: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
691
+ ) -> None:
692
+ '''Contains details about an action group.
693
+
694
+ :param action_group_name: The name of the action group.
695
+ :param action_group_executor: The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action.
696
+ :param action_group_state: Specifies whether the action group is available for the agent to invoke or not when sending an `InvokeAgent <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html>`_ request.
697
+ :param api_schema: Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema. For more information, see `Action group OpenAPI schemas <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html>`_ .
698
+ :param description: The description of the action group.
699
+ :param parent_action_group_signature: If this field is set as ``AMAZON.UserInput`` , the agent can request the user for additional information when trying to complete a task. The ``description`` , ``apiSchema`` , and ``actionGroupExecutor`` fields must be blank for this action group. During orchestration, if the agent determines that it needs to invoke an API in an action group, but doesn't have enough information to complete the API request, it will invoke this action group instead and return an `Observation <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Observation.html>`_ reprompting the user for more information.
700
+ :param skip_resource_in_use_check_on_delete: Specifies whether to delete the resource even if it's in use. By default, this value is ``false`` . Default: - false
701
+
702
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html
703
+ :exampleMetadata: fixture=_generated
704
+
705
+ Example::
706
+
707
+ # The code below shows an example of how to instantiate this type.
708
+ # The values are placeholders you should change.
709
+ from aws_cdk import aws_bedrock as bedrock
710
+
711
+ agent_action_group_property = bedrock.CfnAgent.AgentActionGroupProperty(
712
+ action_group_name="actionGroupName",
713
+
714
+ # the properties below are optional
715
+ action_group_executor=bedrock.CfnAgent.ActionGroupExecutorProperty(
716
+ lambda_="lambda"
717
+ ),
718
+ action_group_state="actionGroupState",
719
+ api_schema=bedrock.CfnAgent.APISchemaProperty(
720
+ payload="payload",
721
+ s3=bedrock.CfnAgent.S3IdentifierProperty(
722
+ s3_bucket_name="s3BucketName",
723
+ s3_object_key="s3ObjectKey"
724
+ )
725
+ ),
726
+ description="description",
727
+ parent_action_group_signature="parentActionGroupSignature",
728
+ skip_resource_in_use_check_on_delete=False
729
+ )
730
+ '''
731
+ if __debug__:
732
+ type_hints = typing.get_type_hints(_typecheckingstub__adb9c2568194cbbe9c081f2a8339eaee9966d82b8c5c5ffbc732275ef4a1b76a)
733
+ check_type(argname="argument action_group_name", value=action_group_name, expected_type=type_hints["action_group_name"])
734
+ check_type(argname="argument action_group_executor", value=action_group_executor, expected_type=type_hints["action_group_executor"])
735
+ check_type(argname="argument action_group_state", value=action_group_state, expected_type=type_hints["action_group_state"])
736
+ check_type(argname="argument api_schema", value=api_schema, expected_type=type_hints["api_schema"])
737
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
738
+ check_type(argname="argument parent_action_group_signature", value=parent_action_group_signature, expected_type=type_hints["parent_action_group_signature"])
739
+ check_type(argname="argument skip_resource_in_use_check_on_delete", value=skip_resource_in_use_check_on_delete, expected_type=type_hints["skip_resource_in_use_check_on_delete"])
740
+ self._values: typing.Dict[builtins.str, typing.Any] = {
741
+ "action_group_name": action_group_name,
742
+ }
743
+ if action_group_executor is not None:
744
+ self._values["action_group_executor"] = action_group_executor
745
+ if action_group_state is not None:
746
+ self._values["action_group_state"] = action_group_state
747
+ if api_schema is not None:
748
+ self._values["api_schema"] = api_schema
749
+ if description is not None:
750
+ self._values["description"] = description
751
+ if parent_action_group_signature is not None:
752
+ self._values["parent_action_group_signature"] = parent_action_group_signature
753
+ if skip_resource_in_use_check_on_delete is not None:
754
+ self._values["skip_resource_in_use_check_on_delete"] = skip_resource_in_use_check_on_delete
755
+
756
+ @builtins.property
757
+ def action_group_name(self) -> builtins.str:
758
+ '''The name of the action group.
759
+
760
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-actiongroupname
761
+ '''
762
+ result = self._values.get("action_group_name")
763
+ assert result is not None, "Required property 'action_group_name' is missing"
764
+ return typing.cast(builtins.str, result)
765
+
766
+ @builtins.property
767
+ def action_group_executor(
768
+ self,
769
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgent.ActionGroupExecutorProperty"]]:
770
+ '''The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action.
771
+
772
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-actiongroupexecutor
773
+ '''
774
+ result = self._values.get("action_group_executor")
775
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgent.ActionGroupExecutorProperty"]], result)
776
+
777
+ @builtins.property
778
+ def action_group_state(self) -> typing.Optional[builtins.str]:
779
+ '''Specifies whether the action group is available for the agent to invoke or not when sending an `InvokeAgent <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html>`_ request.
780
+
781
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-actiongroupstate
782
+ '''
783
+ result = self._values.get("action_group_state")
784
+ return typing.cast(typing.Optional[builtins.str], result)
785
+
786
+ @builtins.property
787
+ def api_schema(
788
+ self,
789
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgent.APISchemaProperty"]]:
790
+ '''Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema.
791
+
792
+ For more information, see `Action group OpenAPI schemas <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html>`_ .
793
+
794
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-apischema
795
+ '''
796
+ result = self._values.get("api_schema")
797
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgent.APISchemaProperty"]], result)
798
+
799
+ @builtins.property
800
+ def description(self) -> typing.Optional[builtins.str]:
801
+ '''The description of the action group.
802
+
803
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-description
804
+ '''
805
+ result = self._values.get("description")
806
+ return typing.cast(typing.Optional[builtins.str], result)
807
+
808
+ @builtins.property
809
+ def parent_action_group_signature(self) -> typing.Optional[builtins.str]:
810
+ '''If this field is set as ``AMAZON.UserInput`` , the agent can request the user for additional information when trying to complete a task. The ``description`` , ``apiSchema`` , and ``actionGroupExecutor`` fields must be blank for this action group.
811
+
812
+ During orchestration, if the agent determines that it needs to invoke an API in an action group, but doesn't have enough information to complete the API request, it will invoke this action group instead and return an `Observation <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Observation.html>`_ reprompting the user for more information.
813
+
814
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-parentactiongroupsignature
815
+ '''
816
+ result = self._values.get("parent_action_group_signature")
817
+ return typing.cast(typing.Optional[builtins.str], result)
818
+
819
+ @builtins.property
820
+ def skip_resource_in_use_check_on_delete(
821
+ self,
822
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
823
+ '''Specifies whether to delete the resource even if it's in use.
824
+
825
+ By default, this value is ``false`` .
826
+
827
+ :default: - false
828
+
829
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-skipresourceinusecheckondelete
830
+ '''
831
+ result = self._values.get("skip_resource_in_use_check_on_delete")
832
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
833
+
834
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
835
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
836
+
837
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
838
+ return not (rhs == self)
839
+
840
+ def __repr__(self) -> str:
841
+ return "AgentActionGroupProperty(%s)" % ", ".join(
842
+ k + "=" + repr(v) for k, v in self._values.items()
843
+ )
844
+
845
+ @jsii.data_type(
846
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgent.AgentKnowledgeBaseProperty",
847
+ jsii_struct_bases=[],
848
+ name_mapping={
849
+ "description": "description",
850
+ "knowledge_base_id": "knowledgeBaseId",
851
+ "knowledge_base_state": "knowledgeBaseState",
852
+ },
853
+ )
854
+ class AgentKnowledgeBaseProperty:
855
+ def __init__(
856
+ self,
857
+ *,
858
+ description: builtins.str,
859
+ knowledge_base_id: builtins.str,
860
+ knowledge_base_state: typing.Optional[builtins.str] = None,
861
+ ) -> None:
862
+ '''Contains details about a knowledge base that is associated with an agent.
863
+
864
+ :param description: The description of the association between the agent and the knowledge base.
865
+ :param knowledge_base_id: The unique identifier of the association between the agent and the knowledge base.
866
+ :param knowledge_base_state: Specifies whether to use the knowledge base or not when sending an `InvokeAgent <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html>`_ request.
867
+
868
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html
869
+ :exampleMetadata: fixture=_generated
870
+
871
+ Example::
872
+
873
+ # The code below shows an example of how to instantiate this type.
874
+ # The values are placeholders you should change.
875
+ from aws_cdk import aws_bedrock as bedrock
876
+
877
+ agent_knowledge_base_property = bedrock.CfnAgent.AgentKnowledgeBaseProperty(
878
+ description="description",
879
+ knowledge_base_id="knowledgeBaseId",
880
+
881
+ # the properties below are optional
882
+ knowledge_base_state="knowledgeBaseState"
883
+ )
884
+ '''
885
+ if __debug__:
886
+ type_hints = typing.get_type_hints(_typecheckingstub__45f582a007ade3e95453c6c5cd09673a7089ab2673014cc97bc0c1eee1d85391)
887
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
888
+ check_type(argname="argument knowledge_base_id", value=knowledge_base_id, expected_type=type_hints["knowledge_base_id"])
889
+ check_type(argname="argument knowledge_base_state", value=knowledge_base_state, expected_type=type_hints["knowledge_base_state"])
890
+ self._values: typing.Dict[builtins.str, typing.Any] = {
891
+ "description": description,
892
+ "knowledge_base_id": knowledge_base_id,
893
+ }
894
+ if knowledge_base_state is not None:
895
+ self._values["knowledge_base_state"] = knowledge_base_state
896
+
897
+ @builtins.property
898
+ def description(self) -> builtins.str:
899
+ '''The description of the association between the agent and the knowledge base.
900
+
901
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html#cfn-bedrock-agent-agentknowledgebase-description
902
+ '''
903
+ result = self._values.get("description")
904
+ assert result is not None, "Required property 'description' is missing"
905
+ return typing.cast(builtins.str, result)
906
+
907
+ @builtins.property
908
+ def knowledge_base_id(self) -> builtins.str:
909
+ '''The unique identifier of the association between the agent and the knowledge base.
910
+
911
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html#cfn-bedrock-agent-agentknowledgebase-knowledgebaseid
912
+ '''
913
+ result = self._values.get("knowledge_base_id")
914
+ assert result is not None, "Required property 'knowledge_base_id' is missing"
915
+ return typing.cast(builtins.str, result)
916
+
917
+ @builtins.property
918
+ def knowledge_base_state(self) -> typing.Optional[builtins.str]:
919
+ '''Specifies whether to use the knowledge base or not when sending an `InvokeAgent <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html>`_ request.
920
+
921
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html#cfn-bedrock-agent-agentknowledgebase-knowledgebasestate
922
+ '''
923
+ result = self._values.get("knowledge_base_state")
924
+ return typing.cast(typing.Optional[builtins.str], result)
925
+
926
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
927
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
928
+
929
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
930
+ return not (rhs == self)
931
+
932
+ def __repr__(self) -> str:
933
+ return "AgentKnowledgeBaseProperty(%s)" % ", ".join(
934
+ k + "=" + repr(v) for k, v in self._values.items()
935
+ )
936
+
937
+ @jsii.data_type(
938
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgent.InferenceConfigurationProperty",
939
+ jsii_struct_bases=[],
940
+ name_mapping={
941
+ "maximum_length": "maximumLength",
942
+ "stop_sequences": "stopSequences",
943
+ "temperature": "temperature",
944
+ "top_k": "topK",
945
+ "top_p": "topP",
946
+ },
947
+ )
948
+ class InferenceConfigurationProperty:
949
+ def __init__(
950
+ self,
951
+ *,
952
+ maximum_length: typing.Optional[jsii.Number] = None,
953
+ stop_sequences: typing.Optional[typing.Sequence[builtins.str]] = None,
954
+ temperature: typing.Optional[jsii.Number] = None,
955
+ top_k: typing.Optional[jsii.Number] = None,
956
+ top_p: typing.Optional[jsii.Number] = None,
957
+ ) -> None:
958
+ '''Contains inference parameters to use when the agent invokes a foundation model in the part of the agent sequence defined by the ``promptType`` .
959
+
960
+ For more information, see `Inference parameters for foundation models <https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html>`_ .
961
+
962
+ :param maximum_length: The maximum number of tokens to allow in the generated response.
963
+ :param stop_sequences: A list of stop sequences. A stop sequence is a sequence of characters that causes the model to stop generating the response.
964
+ :param temperature: The likelihood of the model selecting higher-probability options while generating a response. A lower value makes the model more likely to choose higher-probability options, while a higher value makes the model more likely to choose lower-probability options.
965
+ :param top_k: While generating a response, the model determines the probability of the following token at each point of generation. The value that you set for ``topK`` is the number of most-likely candidates from which the model chooses the next token in the sequence. For example, if you set ``topK`` to 50, the model selects the next token from among the top 50 most likely choices.
966
+ :param top_p: While generating a response, the model determines the probability of the following token at each point of generation. The value that you set for ``Top P`` determines the number of most-likely candidates from which the model chooses the next token in the sequence. For example, if you set ``topP`` to 80, the model only selects the next token from the top 80% of the probability distribution of next tokens.
967
+
968
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html
969
+ :exampleMetadata: fixture=_generated
970
+
971
+ Example::
972
+
973
+ # The code below shows an example of how to instantiate this type.
974
+ # The values are placeholders you should change.
975
+ from aws_cdk import aws_bedrock as bedrock
976
+
977
+ inference_configuration_property = bedrock.CfnAgent.InferenceConfigurationProperty(
978
+ maximum_length=123,
979
+ stop_sequences=["stopSequences"],
980
+ temperature=123,
981
+ top_k=123,
982
+ top_p=123
983
+ )
984
+ '''
985
+ if __debug__:
986
+ type_hints = typing.get_type_hints(_typecheckingstub__0b8b0e306d1a46c4fdcedd77b9e6caf3ca221fe8133fe3ce29c1e5e779cc3189)
987
+ check_type(argname="argument maximum_length", value=maximum_length, expected_type=type_hints["maximum_length"])
988
+ check_type(argname="argument stop_sequences", value=stop_sequences, expected_type=type_hints["stop_sequences"])
989
+ check_type(argname="argument temperature", value=temperature, expected_type=type_hints["temperature"])
990
+ check_type(argname="argument top_k", value=top_k, expected_type=type_hints["top_k"])
991
+ check_type(argname="argument top_p", value=top_p, expected_type=type_hints["top_p"])
992
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
993
+ if maximum_length is not None:
994
+ self._values["maximum_length"] = maximum_length
995
+ if stop_sequences is not None:
996
+ self._values["stop_sequences"] = stop_sequences
997
+ if temperature is not None:
998
+ self._values["temperature"] = temperature
999
+ if top_k is not None:
1000
+ self._values["top_k"] = top_k
1001
+ if top_p is not None:
1002
+ self._values["top_p"] = top_p
1003
+
1004
+ @builtins.property
1005
+ def maximum_length(self) -> typing.Optional[jsii.Number]:
1006
+ '''The maximum number of tokens to allow in the generated response.
1007
+
1008
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-maximumlength
1009
+ '''
1010
+ result = self._values.get("maximum_length")
1011
+ return typing.cast(typing.Optional[jsii.Number], result)
1012
+
1013
+ @builtins.property
1014
+ def stop_sequences(self) -> typing.Optional[typing.List[builtins.str]]:
1015
+ '''A list of stop sequences.
1016
+
1017
+ A stop sequence is a sequence of characters that causes the model to stop generating the response.
1018
+
1019
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-stopsequences
1020
+ '''
1021
+ result = self._values.get("stop_sequences")
1022
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1023
+
1024
+ @builtins.property
1025
+ def temperature(self) -> typing.Optional[jsii.Number]:
1026
+ '''The likelihood of the model selecting higher-probability options while generating a response.
1027
+
1028
+ A lower value makes the model more likely to choose higher-probability options, while a higher value makes the model more likely to choose lower-probability options.
1029
+
1030
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-temperature
1031
+ '''
1032
+ result = self._values.get("temperature")
1033
+ return typing.cast(typing.Optional[jsii.Number], result)
1034
+
1035
+ @builtins.property
1036
+ def top_k(self) -> typing.Optional[jsii.Number]:
1037
+ '''While generating a response, the model determines the probability of the following token at each point of generation.
1038
+
1039
+ The value that you set for ``topK`` is the number of most-likely candidates from which the model chooses the next token in the sequence. For example, if you set ``topK`` to 50, the model selects the next token from among the top 50 most likely choices.
1040
+
1041
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-topk
1042
+ '''
1043
+ result = self._values.get("top_k")
1044
+ return typing.cast(typing.Optional[jsii.Number], result)
1045
+
1046
+ @builtins.property
1047
+ def top_p(self) -> typing.Optional[jsii.Number]:
1048
+ '''While generating a response, the model determines the probability of the following token at each point of generation.
1049
+
1050
+ The value that you set for ``Top P`` determines the number of most-likely candidates from which the model chooses the next token in the sequence. For example, if you set ``topP`` to 80, the model only selects the next token from the top 80% of the probability distribution of next tokens.
1051
+
1052
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-topp
1053
+ '''
1054
+ result = self._values.get("top_p")
1055
+ return typing.cast(typing.Optional[jsii.Number], result)
1056
+
1057
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1058
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1059
+
1060
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1061
+ return not (rhs == self)
1062
+
1063
+ def __repr__(self) -> str:
1064
+ return "InferenceConfigurationProperty(%s)" % ", ".join(
1065
+ k + "=" + repr(v) for k, v in self._values.items()
1066
+ )
1067
+
1068
+ @jsii.data_type(
1069
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgent.PromptConfigurationProperty",
1070
+ jsii_struct_bases=[],
1071
+ name_mapping={
1072
+ "base_prompt_template": "basePromptTemplate",
1073
+ "inference_configuration": "inferenceConfiguration",
1074
+ "parser_mode": "parserMode",
1075
+ "prompt_creation_mode": "promptCreationMode",
1076
+ "prompt_state": "promptState",
1077
+ "prompt_type": "promptType",
1078
+ },
1079
+ )
1080
+ class PromptConfigurationProperty:
1081
+ def __init__(
1082
+ self,
1083
+ *,
1084
+ base_prompt_template: typing.Optional[builtins.str] = None,
1085
+ inference_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAgent.InferenceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1086
+ parser_mode: typing.Optional[builtins.str] = None,
1087
+ prompt_creation_mode: typing.Optional[builtins.str] = None,
1088
+ prompt_state: typing.Optional[builtins.str] = None,
1089
+ prompt_type: typing.Optional[builtins.str] = None,
1090
+ ) -> None:
1091
+ '''Contains configurations to override a prompt template in one part of an agent sequence.
1092
+
1093
+ For more information, see `Advanced prompts <https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html>`_ .
1094
+
1095
+ :param base_prompt_template: Defines the prompt template with which to replace the default prompt template. You can use placeholder variables in the base prompt template to customize the prompt. For more information, see `Prompt template placeholder variables <https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html>`_ .
1096
+ :param inference_configuration: Contains inference parameters to use when the agent invokes a foundation model in the part of the agent sequence defined by the ``promptType`` . For more information, see `Inference parameters for foundation models <https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html>`_ .
1097
+ :param parser_mode: Specifies whether to override the default parser Lambda function when parsing the raw foundation model output in the part of the agent sequence defined by the ``promptType`` . If you set the field as ``OVERRIDEN`` , the ``overrideLambda`` field in the `PromptOverrideConfiguration <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html>`_ must be specified with the ARN of a Lambda function.
1098
+ :param prompt_creation_mode: Specifies whether to override the default prompt template for this ``promptType`` . Set this value to ``OVERRIDDEN`` to use the prompt that you provide in the ``basePromptTemplate`` . If you leave it as ``DEFAULT`` , the agent uses a default prompt template.
1099
+ :param prompt_state: Specifies whether to allow the agent to carry out the step specified in the ``promptType`` . If you set this value to ``DISABLED`` , the agent skips that step. The default state for each ``promptType`` is as follows. - ``PRE_PROCESSING`` – ``ENABLED`` - ``ORCHESTRATION`` – ``ENABLED`` - ``KNOWLEDGE_BASE_RESPONSE_GENERATION`` – ``ENABLED`` - ``POST_PROCESSING`` – ``DISABLED``
1100
+ :param prompt_type: The step in the agent sequence that this prompt configuration applies to.
1101
+
1102
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html
1103
+ :exampleMetadata: fixture=_generated
1104
+
1105
+ Example::
1106
+
1107
+ # The code below shows an example of how to instantiate this type.
1108
+ # The values are placeholders you should change.
1109
+ from aws_cdk import aws_bedrock as bedrock
1110
+
1111
+ prompt_configuration_property = bedrock.CfnAgent.PromptConfigurationProperty(
1112
+ base_prompt_template="basePromptTemplate",
1113
+ inference_configuration=bedrock.CfnAgent.InferenceConfigurationProperty(
1114
+ maximum_length=123,
1115
+ stop_sequences=["stopSequences"],
1116
+ temperature=123,
1117
+ top_k=123,
1118
+ top_p=123
1119
+ ),
1120
+ parser_mode="parserMode",
1121
+ prompt_creation_mode="promptCreationMode",
1122
+ prompt_state="promptState",
1123
+ prompt_type="promptType"
1124
+ )
1125
+ '''
1126
+ if __debug__:
1127
+ type_hints = typing.get_type_hints(_typecheckingstub__072678823f2b5bb708860fe2f54d37c6a24153ba05ec6c798f1cbb1222e7cd7b)
1128
+ check_type(argname="argument base_prompt_template", value=base_prompt_template, expected_type=type_hints["base_prompt_template"])
1129
+ check_type(argname="argument inference_configuration", value=inference_configuration, expected_type=type_hints["inference_configuration"])
1130
+ check_type(argname="argument parser_mode", value=parser_mode, expected_type=type_hints["parser_mode"])
1131
+ check_type(argname="argument prompt_creation_mode", value=prompt_creation_mode, expected_type=type_hints["prompt_creation_mode"])
1132
+ check_type(argname="argument prompt_state", value=prompt_state, expected_type=type_hints["prompt_state"])
1133
+ check_type(argname="argument prompt_type", value=prompt_type, expected_type=type_hints["prompt_type"])
1134
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1135
+ if base_prompt_template is not None:
1136
+ self._values["base_prompt_template"] = base_prompt_template
1137
+ if inference_configuration is not None:
1138
+ self._values["inference_configuration"] = inference_configuration
1139
+ if parser_mode is not None:
1140
+ self._values["parser_mode"] = parser_mode
1141
+ if prompt_creation_mode is not None:
1142
+ self._values["prompt_creation_mode"] = prompt_creation_mode
1143
+ if prompt_state is not None:
1144
+ self._values["prompt_state"] = prompt_state
1145
+ if prompt_type is not None:
1146
+ self._values["prompt_type"] = prompt_type
1147
+
1148
+ @builtins.property
1149
+ def base_prompt_template(self) -> typing.Optional[builtins.str]:
1150
+ '''Defines the prompt template with which to replace the default prompt template.
1151
+
1152
+ You can use placeholder variables in the base prompt template to customize the prompt. For more information, see `Prompt template placeholder variables <https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html>`_ .
1153
+
1154
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-baseprompttemplate
1155
+ '''
1156
+ result = self._values.get("base_prompt_template")
1157
+ return typing.cast(typing.Optional[builtins.str], result)
1158
+
1159
+ @builtins.property
1160
+ def inference_configuration(
1161
+ self,
1162
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgent.InferenceConfigurationProperty"]]:
1163
+ '''Contains inference parameters to use when the agent invokes a foundation model in the part of the agent sequence defined by the ``promptType`` .
1164
+
1165
+ For more information, see `Inference parameters for foundation models <https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html>`_ .
1166
+
1167
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-inferenceconfiguration
1168
+ '''
1169
+ result = self._values.get("inference_configuration")
1170
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgent.InferenceConfigurationProperty"]], result)
1171
+
1172
+ @builtins.property
1173
+ def parser_mode(self) -> typing.Optional[builtins.str]:
1174
+ '''Specifies whether to override the default parser Lambda function when parsing the raw foundation model output in the part of the agent sequence defined by the ``promptType`` .
1175
+
1176
+ If you set the field as ``OVERRIDEN`` , the ``overrideLambda`` field in the `PromptOverrideConfiguration <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html>`_ must be specified with the ARN of a Lambda function.
1177
+
1178
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-parsermode
1179
+ '''
1180
+ result = self._values.get("parser_mode")
1181
+ return typing.cast(typing.Optional[builtins.str], result)
1182
+
1183
+ @builtins.property
1184
+ def prompt_creation_mode(self) -> typing.Optional[builtins.str]:
1185
+ '''Specifies whether to override the default prompt template for this ``promptType`` .
1186
+
1187
+ Set this value to ``OVERRIDDEN`` to use the prompt that you provide in the ``basePromptTemplate`` . If you leave it as ``DEFAULT`` , the agent uses a default prompt template.
1188
+
1189
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-promptcreationmode
1190
+ '''
1191
+ result = self._values.get("prompt_creation_mode")
1192
+ return typing.cast(typing.Optional[builtins.str], result)
1193
+
1194
+ @builtins.property
1195
+ def prompt_state(self) -> typing.Optional[builtins.str]:
1196
+ '''Specifies whether to allow the agent to carry out the step specified in the ``promptType`` .
1197
+
1198
+ If you set this value to ``DISABLED`` , the agent skips that step. The default state for each ``promptType`` is as follows.
1199
+
1200
+ - ``PRE_PROCESSING`` – ``ENABLED``
1201
+ - ``ORCHESTRATION`` – ``ENABLED``
1202
+ - ``KNOWLEDGE_BASE_RESPONSE_GENERATION`` – ``ENABLED``
1203
+ - ``POST_PROCESSING`` – ``DISABLED``
1204
+
1205
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-promptstate
1206
+ '''
1207
+ result = self._values.get("prompt_state")
1208
+ return typing.cast(typing.Optional[builtins.str], result)
1209
+
1210
+ @builtins.property
1211
+ def prompt_type(self) -> typing.Optional[builtins.str]:
1212
+ '''The step in the agent sequence that this prompt configuration applies to.
1213
+
1214
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-prompttype
1215
+ '''
1216
+ result = self._values.get("prompt_type")
1217
+ return typing.cast(typing.Optional[builtins.str], result)
1218
+
1219
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1220
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1221
+
1222
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1223
+ return not (rhs == self)
1224
+
1225
+ def __repr__(self) -> str:
1226
+ return "PromptConfigurationProperty(%s)" % ", ".join(
1227
+ k + "=" + repr(v) for k, v in self._values.items()
1228
+ )
1229
+
1230
+ @jsii.data_type(
1231
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgent.PromptOverrideConfigurationProperty",
1232
+ jsii_struct_bases=[],
1233
+ name_mapping={
1234
+ "prompt_configurations": "promptConfigurations",
1235
+ "override_lambda": "overrideLambda",
1236
+ },
1237
+ )
1238
+ class PromptOverrideConfigurationProperty:
1239
+ def __init__(
1240
+ self,
1241
+ *,
1242
+ prompt_configurations: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAgent.PromptConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]],
1243
+ override_lambda: typing.Optional[builtins.str] = None,
1244
+ ) -> None:
1245
+ '''Contains configurations to override prompts in different parts of an agent sequence.
1246
+
1247
+ For more information, see `Advanced prompts <https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html>`_ .
1248
+
1249
+ :param prompt_configurations: Contains configurations to override a prompt template in one part of an agent sequence. For more information, see `Advanced prompts <https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html>`_ .
1250
+ :param override_lambda: The ARN of the Lambda function to use when parsing the raw foundation model output in parts of the agent sequence. If you specify this field, at least one of the ``promptConfigurations`` must contain a ``parserMode`` value that is set to ``OVERRIDDEN`` .
1251
+
1252
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptoverrideconfiguration.html
1253
+ :exampleMetadata: fixture=_generated
1254
+
1255
+ Example::
1256
+
1257
+ # The code below shows an example of how to instantiate this type.
1258
+ # The values are placeholders you should change.
1259
+ from aws_cdk import aws_bedrock as bedrock
1260
+
1261
+ prompt_override_configuration_property = bedrock.CfnAgent.PromptOverrideConfigurationProperty(
1262
+ prompt_configurations=[bedrock.CfnAgent.PromptConfigurationProperty(
1263
+ base_prompt_template="basePromptTemplate",
1264
+ inference_configuration=bedrock.CfnAgent.InferenceConfigurationProperty(
1265
+ maximum_length=123,
1266
+ stop_sequences=["stopSequences"],
1267
+ temperature=123,
1268
+ top_k=123,
1269
+ top_p=123
1270
+ ),
1271
+ parser_mode="parserMode",
1272
+ prompt_creation_mode="promptCreationMode",
1273
+ prompt_state="promptState",
1274
+ prompt_type="promptType"
1275
+ )],
1276
+
1277
+ # the properties below are optional
1278
+ override_lambda="overrideLambda"
1279
+ )
1280
+ '''
1281
+ if __debug__:
1282
+ type_hints = typing.get_type_hints(_typecheckingstub__79a38248b49cbea1e103efe955cc12c1bd5e500b242bd9490c1c81253830d77d)
1283
+ check_type(argname="argument prompt_configurations", value=prompt_configurations, expected_type=type_hints["prompt_configurations"])
1284
+ check_type(argname="argument override_lambda", value=override_lambda, expected_type=type_hints["override_lambda"])
1285
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1286
+ "prompt_configurations": prompt_configurations,
1287
+ }
1288
+ if override_lambda is not None:
1289
+ self._values["override_lambda"] = override_lambda
1290
+
1291
+ @builtins.property
1292
+ def prompt_configurations(
1293
+ self,
1294
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgent.PromptConfigurationProperty"]]]:
1295
+ '''Contains configurations to override a prompt template in one part of an agent sequence.
1296
+
1297
+ For more information, see `Advanced prompts <https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html>`_ .
1298
+
1299
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptoverrideconfiguration.html#cfn-bedrock-agent-promptoverrideconfiguration-promptconfigurations
1300
+ '''
1301
+ result = self._values.get("prompt_configurations")
1302
+ assert result is not None, "Required property 'prompt_configurations' is missing"
1303
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgent.PromptConfigurationProperty"]]], result)
1304
+
1305
+ @builtins.property
1306
+ def override_lambda(self) -> typing.Optional[builtins.str]:
1307
+ '''The ARN of the Lambda function to use when parsing the raw foundation model output in parts of the agent sequence.
1308
+
1309
+ If you specify this field, at least one of the ``promptConfigurations`` must contain a ``parserMode`` value that is set to ``OVERRIDDEN`` .
1310
+
1311
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptoverrideconfiguration.html#cfn-bedrock-agent-promptoverrideconfiguration-overridelambda
1312
+ '''
1313
+ result = self._values.get("override_lambda")
1314
+ return typing.cast(typing.Optional[builtins.str], result)
1315
+
1316
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1317
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1318
+
1319
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1320
+ return not (rhs == self)
1321
+
1322
+ def __repr__(self) -> str:
1323
+ return "PromptOverrideConfigurationProperty(%s)" % ", ".join(
1324
+ k + "=" + repr(v) for k, v in self._values.items()
1325
+ )
1326
+
1327
+ @jsii.data_type(
1328
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgent.S3IdentifierProperty",
1329
+ jsii_struct_bases=[],
1330
+ name_mapping={
1331
+ "s3_bucket_name": "s3BucketName",
1332
+ "s3_object_key": "s3ObjectKey",
1333
+ },
1334
+ )
1335
+ class S3IdentifierProperty:
1336
+ def __init__(
1337
+ self,
1338
+ *,
1339
+ s3_bucket_name: typing.Optional[builtins.str] = None,
1340
+ s3_object_key: typing.Optional[builtins.str] = None,
1341
+ ) -> None:
1342
+ '''Contains information about the S3 object containing the resource.
1343
+
1344
+ :param s3_bucket_name: The name of the S3 bucket.
1345
+ :param s3_object_key: The S3 object key containing the resource.
1346
+
1347
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-s3identifier.html
1348
+ :exampleMetadata: fixture=_generated
1349
+
1350
+ Example::
1351
+
1352
+ # The code below shows an example of how to instantiate this type.
1353
+ # The values are placeholders you should change.
1354
+ from aws_cdk import aws_bedrock as bedrock
1355
+
1356
+ s3_identifier_property = bedrock.CfnAgent.S3IdentifierProperty(
1357
+ s3_bucket_name="s3BucketName",
1358
+ s3_object_key="s3ObjectKey"
1359
+ )
1360
+ '''
1361
+ if __debug__:
1362
+ type_hints = typing.get_type_hints(_typecheckingstub__1e9a91ab9025dd36217ed95088c50220259ce5115620391445737700490cba60)
1363
+ check_type(argname="argument s3_bucket_name", value=s3_bucket_name, expected_type=type_hints["s3_bucket_name"])
1364
+ check_type(argname="argument s3_object_key", value=s3_object_key, expected_type=type_hints["s3_object_key"])
1365
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1366
+ if s3_bucket_name is not None:
1367
+ self._values["s3_bucket_name"] = s3_bucket_name
1368
+ if s3_object_key is not None:
1369
+ self._values["s3_object_key"] = s3_object_key
1370
+
1371
+ @builtins.property
1372
+ def s3_bucket_name(self) -> typing.Optional[builtins.str]:
1373
+ '''The name of the S3 bucket.
1374
+
1375
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-s3identifier.html#cfn-bedrock-agent-s3identifier-s3bucketname
1376
+ '''
1377
+ result = self._values.get("s3_bucket_name")
1378
+ return typing.cast(typing.Optional[builtins.str], result)
1379
+
1380
+ @builtins.property
1381
+ def s3_object_key(self) -> typing.Optional[builtins.str]:
1382
+ '''The S3 object key containing the resource.
1383
+
1384
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-s3identifier.html#cfn-bedrock-agent-s3identifier-s3objectkey
1385
+ '''
1386
+ result = self._values.get("s3_object_key")
1387
+ return typing.cast(typing.Optional[builtins.str], result)
1388
+
1389
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1390
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1391
+
1392
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1393
+ return not (rhs == self)
1394
+
1395
+ def __repr__(self) -> str:
1396
+ return "S3IdentifierProperty(%s)" % ", ".join(
1397
+ k + "=" + repr(v) for k, v in self._values.items()
1398
+ )
1399
+
1400
+
1401
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
1402
+ class CfnAgentAlias(
1403
+ _CfnResource_9df397a6,
1404
+ metaclass=jsii.JSIIMeta,
1405
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgentAlias",
1406
+ ):
1407
+ '''Specifies an agent alias as a resource in a top-level template. Minimally, you must specify the following properties:.
1408
+
1409
+ - AgentAliasName – Specify a name for the alias.
1410
+
1411
+ For more information about creating aliases for an agent in Amazon Bedrock , see `Deploy an Amazon Bedrock agent <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-deploy.html>`_ .
1412
+
1413
+ See the *Properties* section below for descriptions of both the required and optional properties.
1414
+
1415
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html
1416
+ :cloudformationResource: AWS::Bedrock::AgentAlias
1417
+ :exampleMetadata: fixture=_generated
1418
+
1419
+ Example::
1420
+
1421
+ # The code below shows an example of how to instantiate this type.
1422
+ # The values are placeholders you should change.
1423
+ from aws_cdk import aws_bedrock as bedrock
1424
+
1425
+ cfn_agent_alias = bedrock.CfnAgentAlias(self, "MyCfnAgentAlias",
1426
+ agent_alias_name="agentAliasName",
1427
+ agent_id="agentId",
1428
+
1429
+ # the properties below are optional
1430
+ description="description",
1431
+ routing_configuration=[bedrock.CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty(
1432
+ agent_version="agentVersion"
1433
+ )],
1434
+ tags={
1435
+ "tags_key": "tags"
1436
+ }
1437
+ )
1438
+ '''
1439
+
1440
+ def __init__(
1441
+ self,
1442
+ scope: _constructs_77d1e7e8.Construct,
1443
+ id: builtins.str,
1444
+ *,
1445
+ agent_alias_name: builtins.str,
1446
+ agent_id: builtins.str,
1447
+ description: typing.Optional[builtins.str] = None,
1448
+ routing_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1449
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1450
+ ) -> None:
1451
+ '''
1452
+ :param scope: Scope in which this resource is defined.
1453
+ :param id: Construct identifier for this resource (unique in its scope).
1454
+ :param agent_alias_name: The name of the alias of the agent.
1455
+ :param agent_id: The unique identifier of the agent.
1456
+ :param description: The description of the alias of the agent.
1457
+ :param routing_configuration: Contains details about the routing configuration of the alias.
1458
+ :param tags: Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:. - `Tag naming limits and requirements <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions>`_ - `Tagging best practices <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices>`_
1459
+ '''
1460
+ if __debug__:
1461
+ type_hints = typing.get_type_hints(_typecheckingstub__9a8230a990c5fac91dc09e3de4211aa6f82fce95537f199a7987ca92f4722ee0)
1462
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1463
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1464
+ props = CfnAgentAliasProps(
1465
+ agent_alias_name=agent_alias_name,
1466
+ agent_id=agent_id,
1467
+ description=description,
1468
+ routing_configuration=routing_configuration,
1469
+ tags=tags,
1470
+ )
1471
+
1472
+ jsii.create(self.__class__, self, [scope, id, props])
1473
+
1474
+ @jsii.member(jsii_name="inspect")
1475
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1476
+ '''Examines the CloudFormation resource and discloses attributes.
1477
+
1478
+ :param inspector: tree inspector to collect and process attributes.
1479
+ '''
1480
+ if __debug__:
1481
+ type_hints = typing.get_type_hints(_typecheckingstub__881be8885c059b078e3110beb1aed396db2ce3f0505bec32be8cedeba399356d)
1482
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1483
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1484
+
1485
+ @jsii.member(jsii_name="renderProperties")
1486
+ def _render_properties(
1487
+ self,
1488
+ props: typing.Mapping[builtins.str, typing.Any],
1489
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1490
+ '''
1491
+ :param props: -
1492
+ '''
1493
+ if __debug__:
1494
+ type_hints = typing.get_type_hints(_typecheckingstub__a7100eb19771c4ffaea3a7323fe3cb5fcb6702a3fa7fdaf66bc8a4db1eae875c)
1495
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1496
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1497
+
1498
+ @jsii.python.classproperty
1499
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1500
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1501
+ '''The CloudFormation resource type name for this resource class.'''
1502
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1503
+
1504
+ @builtins.property
1505
+ @jsii.member(jsii_name="attrAgentAliasArn")
1506
+ def attr_agent_alias_arn(self) -> builtins.str:
1507
+ '''The Amazon Resource Name (ARN) of the alias of the agent.
1508
+
1509
+ :cloudformationAttribute: AgentAliasArn
1510
+ '''
1511
+ return typing.cast(builtins.str, jsii.get(self, "attrAgentAliasArn"))
1512
+
1513
+ @builtins.property
1514
+ @jsii.member(jsii_name="attrAgentAliasHistoryEvents")
1515
+ def attr_agent_alias_history_events(self) -> _IResolvable_da3f097b:
1516
+ '''Contains details about the history of the alias.
1517
+
1518
+ :cloudformationAttribute: AgentAliasHistoryEvents
1519
+ '''
1520
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrAgentAliasHistoryEvents"))
1521
+
1522
+ @builtins.property
1523
+ @jsii.member(jsii_name="attrAgentAliasId")
1524
+ def attr_agent_alias_id(self) -> builtins.str:
1525
+ '''The unique identifier of the alias of the agent.
1526
+
1527
+ :cloudformationAttribute: AgentAliasId
1528
+ '''
1529
+ return typing.cast(builtins.str, jsii.get(self, "attrAgentAliasId"))
1530
+
1531
+ @builtins.property
1532
+ @jsii.member(jsii_name="attrAgentAliasStatus")
1533
+ def attr_agent_alias_status(self) -> builtins.str:
1534
+ '''The status of the alias of the agent and whether it is ready for use.
1535
+
1536
+ The following statuses are possible:
1537
+
1538
+ - CREATING – The agent alias is being created.
1539
+ - PREPARED – The agent alias is finished being created or updated and is ready to be invoked.
1540
+ - FAILED – The agent alias API operation failed.
1541
+ - UPDATING – The agent alias is being updated.
1542
+ - DELETING – The agent alias is being deleted.
1543
+
1544
+ :cloudformationAttribute: AgentAliasStatus
1545
+ '''
1546
+ return typing.cast(builtins.str, jsii.get(self, "attrAgentAliasStatus"))
1547
+
1548
+ @builtins.property
1549
+ @jsii.member(jsii_name="attrCreatedAt")
1550
+ def attr_created_at(self) -> builtins.str:
1551
+ '''The time at which the alias of the agent was created.
1552
+
1553
+ :cloudformationAttribute: CreatedAt
1554
+ '''
1555
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
1556
+
1557
+ @builtins.property
1558
+ @jsii.member(jsii_name="attrUpdatedAt")
1559
+ def attr_updated_at(self) -> builtins.str:
1560
+ '''The time at which the alias was last updated.
1561
+
1562
+ :cloudformationAttribute: UpdatedAt
1563
+ '''
1564
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
1565
+
1566
+ @builtins.property
1567
+ @jsii.member(jsii_name="cdkTagManager")
1568
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1569
+ '''Tag Manager which manages the tags for this resource.'''
1570
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1571
+
1572
+ @builtins.property
1573
+ @jsii.member(jsii_name="cfnProperties")
1574
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1575
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1576
+
1577
+ @builtins.property
1578
+ @jsii.member(jsii_name="agentAliasName")
1579
+ def agent_alias_name(self) -> builtins.str:
1580
+ '''The name of the alias of the agent.'''
1581
+ return typing.cast(builtins.str, jsii.get(self, "agentAliasName"))
1582
+
1583
+ @agent_alias_name.setter
1584
+ def agent_alias_name(self, value: builtins.str) -> None:
1585
+ if __debug__:
1586
+ type_hints = typing.get_type_hints(_typecheckingstub__4929f9d1fe1c750108b588135fd2420ee93abad44713bd60a4f90bf0bab64e78)
1587
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1588
+ jsii.set(self, "agentAliasName", value)
1589
+
1590
+ @builtins.property
1591
+ @jsii.member(jsii_name="agentId")
1592
+ def agent_id(self) -> builtins.str:
1593
+ '''The unique identifier of the agent.'''
1594
+ return typing.cast(builtins.str, jsii.get(self, "agentId"))
1595
+
1596
+ @agent_id.setter
1597
+ def agent_id(self, value: builtins.str) -> None:
1598
+ if __debug__:
1599
+ type_hints = typing.get_type_hints(_typecheckingstub__b10c310fa33a8cb7b52c456850e88b42ea1b312acb49b915241cc6f52ef15136)
1600
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1601
+ jsii.set(self, "agentId", value)
1602
+
1603
+ @builtins.property
1604
+ @jsii.member(jsii_name="description")
1605
+ def description(self) -> typing.Optional[builtins.str]:
1606
+ '''The description of the alias of the agent.'''
1607
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
1608
+
1609
+ @description.setter
1610
+ def description(self, value: typing.Optional[builtins.str]) -> None:
1611
+ if __debug__:
1612
+ type_hints = typing.get_type_hints(_typecheckingstub__57ab6386ae765e3eaf37d16d7a5314cdca1d8b60ea095a4fa303d13c84722e78)
1613
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1614
+ jsii.set(self, "description", value)
1615
+
1616
+ @builtins.property
1617
+ @jsii.member(jsii_name="routingConfiguration")
1618
+ def routing_configuration(
1619
+ self,
1620
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty"]]]]:
1621
+ '''Contains details about the routing configuration of the alias.'''
1622
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty"]]]], jsii.get(self, "routingConfiguration"))
1623
+
1624
+ @routing_configuration.setter
1625
+ def routing_configuration(
1626
+ self,
1627
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty"]]]],
1628
+ ) -> None:
1629
+ if __debug__:
1630
+ type_hints = typing.get_type_hints(_typecheckingstub__ca75abf30c6951a069bde3673588677ff723ad86067bf5365bb584482bed50a8)
1631
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1632
+ jsii.set(self, "routingConfiguration", value)
1633
+
1634
+ @builtins.property
1635
+ @jsii.member(jsii_name="tags")
1636
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
1637
+ '''Metadata that you can assign to a resource as key-value pairs.
1638
+
1639
+ For more information, see the following resources:.
1640
+ '''
1641
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
1642
+
1643
+ @tags.setter
1644
+ def tags(
1645
+ self,
1646
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
1647
+ ) -> None:
1648
+ if __debug__:
1649
+ type_hints = typing.get_type_hints(_typecheckingstub__cf90503b3b2050ab4f0f6ba0bf057a037193369214d4f027b567d3062bda19b8)
1650
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1651
+ jsii.set(self, "tags", value)
1652
+
1653
+ @jsii.data_type(
1654
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgentAlias.AgentAliasHistoryEventProperty",
1655
+ jsii_struct_bases=[],
1656
+ name_mapping={
1657
+ "end_date": "endDate",
1658
+ "routing_configuration": "routingConfiguration",
1659
+ "start_date": "startDate",
1660
+ },
1661
+ )
1662
+ class AgentAliasHistoryEventProperty:
1663
+ def __init__(
1664
+ self,
1665
+ *,
1666
+ end_date: typing.Optional[builtins.str] = None,
1667
+ routing_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1668
+ start_date: typing.Optional[builtins.str] = None,
1669
+ ) -> None:
1670
+ '''Contains details about the history of the alias.
1671
+
1672
+ :param end_date: The date that the alias stopped being associated to the version in the ``routingConfiguration`` object.
1673
+ :param routing_configuration: Contains details about the version of the agent with which the alias is associated.
1674
+ :param start_date: The date that the alias began being associated to the version in the ``routingConfiguration`` object.
1675
+
1676
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html
1677
+ :exampleMetadata: fixture=_generated
1678
+
1679
+ Example::
1680
+
1681
+ # The code below shows an example of how to instantiate this type.
1682
+ # The values are placeholders you should change.
1683
+ from aws_cdk import aws_bedrock as bedrock
1684
+
1685
+ agent_alias_history_event_property = bedrock.CfnAgentAlias.AgentAliasHistoryEventProperty(
1686
+ end_date="endDate",
1687
+ routing_configuration=[bedrock.CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty(
1688
+ agent_version="agentVersion"
1689
+ )],
1690
+ start_date="startDate"
1691
+ )
1692
+ '''
1693
+ if __debug__:
1694
+ type_hints = typing.get_type_hints(_typecheckingstub__4220f7b3bb12c49a75057af394368ca2d4de63c53d832e73767eb01f3bccb2ce)
1695
+ check_type(argname="argument end_date", value=end_date, expected_type=type_hints["end_date"])
1696
+ check_type(argname="argument routing_configuration", value=routing_configuration, expected_type=type_hints["routing_configuration"])
1697
+ check_type(argname="argument start_date", value=start_date, expected_type=type_hints["start_date"])
1698
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1699
+ if end_date is not None:
1700
+ self._values["end_date"] = end_date
1701
+ if routing_configuration is not None:
1702
+ self._values["routing_configuration"] = routing_configuration
1703
+ if start_date is not None:
1704
+ self._values["start_date"] = start_date
1705
+
1706
+ @builtins.property
1707
+ def end_date(self) -> typing.Optional[builtins.str]:
1708
+ '''The date that the alias stopped being associated to the version in the ``routingConfiguration`` object.
1709
+
1710
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html#cfn-bedrock-agentalias-agentaliashistoryevent-enddate
1711
+ '''
1712
+ result = self._values.get("end_date")
1713
+ return typing.cast(typing.Optional[builtins.str], result)
1714
+
1715
+ @builtins.property
1716
+ def routing_configuration(
1717
+ self,
1718
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty"]]]]:
1719
+ '''Contains details about the version of the agent with which the alias is associated.
1720
+
1721
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html#cfn-bedrock-agentalias-agentaliashistoryevent-routingconfiguration
1722
+ '''
1723
+ result = self._values.get("routing_configuration")
1724
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty"]]]], result)
1725
+
1726
+ @builtins.property
1727
+ def start_date(self) -> typing.Optional[builtins.str]:
1728
+ '''The date that the alias began being associated to the version in the ``routingConfiguration`` object.
1729
+
1730
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html#cfn-bedrock-agentalias-agentaliashistoryevent-startdate
1731
+ '''
1732
+ result = self._values.get("start_date")
1733
+ return typing.cast(typing.Optional[builtins.str], result)
1734
+
1735
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1736
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1737
+
1738
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1739
+ return not (rhs == self)
1740
+
1741
+ def __repr__(self) -> str:
1742
+ return "AgentAliasHistoryEventProperty(%s)" % ", ".join(
1743
+ k + "=" + repr(v) for k, v in self._values.items()
1744
+ )
1745
+
1746
+ @jsii.data_type(
1747
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty",
1748
+ jsii_struct_bases=[],
1749
+ name_mapping={"agent_version": "agentVersion"},
1750
+ )
1751
+ class AgentAliasRoutingConfigurationListItemProperty:
1752
+ def __init__(self, *, agent_version: builtins.str) -> None:
1753
+ '''Contains details about the routing configuration of the alias.
1754
+
1755
+ :param agent_version: The version of the agent with which the alias is associated.
1756
+
1757
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliasroutingconfigurationlistitem.html
1758
+ :exampleMetadata: fixture=_generated
1759
+
1760
+ Example::
1761
+
1762
+ # The code below shows an example of how to instantiate this type.
1763
+ # The values are placeholders you should change.
1764
+ from aws_cdk import aws_bedrock as bedrock
1765
+
1766
+ agent_alias_routing_configuration_list_item_property = bedrock.CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty(
1767
+ agent_version="agentVersion"
1768
+ )
1769
+ '''
1770
+ if __debug__:
1771
+ type_hints = typing.get_type_hints(_typecheckingstub__846d3bcc8614fd45d175f992a20505b220910c107392df0930556bb43637fc79)
1772
+ check_type(argname="argument agent_version", value=agent_version, expected_type=type_hints["agent_version"])
1773
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1774
+ "agent_version": agent_version,
1775
+ }
1776
+
1777
+ @builtins.property
1778
+ def agent_version(self) -> builtins.str:
1779
+ '''The version of the agent with which the alias is associated.
1780
+
1781
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliasroutingconfigurationlistitem.html#cfn-bedrock-agentalias-agentaliasroutingconfigurationlistitem-agentversion
1782
+ '''
1783
+ result = self._values.get("agent_version")
1784
+ assert result is not None, "Required property 'agent_version' is missing"
1785
+ return typing.cast(builtins.str, result)
1786
+
1787
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1788
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1789
+
1790
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1791
+ return not (rhs == self)
1792
+
1793
+ def __repr__(self) -> str:
1794
+ return "AgentAliasRoutingConfigurationListItemProperty(%s)" % ", ".join(
1795
+ k + "=" + repr(v) for k, v in self._values.items()
1796
+ )
1797
+
1798
+
1799
+ @jsii.data_type(
1800
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgentAliasProps",
1801
+ jsii_struct_bases=[],
1802
+ name_mapping={
1803
+ "agent_alias_name": "agentAliasName",
1804
+ "agent_id": "agentId",
1805
+ "description": "description",
1806
+ "routing_configuration": "routingConfiguration",
1807
+ "tags": "tags",
1808
+ },
1809
+ )
1810
+ class CfnAgentAliasProps:
1811
+ def __init__(
1812
+ self,
1813
+ *,
1814
+ agent_alias_name: builtins.str,
1815
+ agent_id: builtins.str,
1816
+ description: typing.Optional[builtins.str] = None,
1817
+ routing_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1818
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1819
+ ) -> None:
1820
+ '''Properties for defining a ``CfnAgentAlias``.
1821
+
1822
+ :param agent_alias_name: The name of the alias of the agent.
1823
+ :param agent_id: The unique identifier of the agent.
1824
+ :param description: The description of the alias of the agent.
1825
+ :param routing_configuration: Contains details about the routing configuration of the alias.
1826
+ :param tags: Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:. - `Tag naming limits and requirements <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions>`_ - `Tagging best practices <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices>`_
1827
+
1828
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html
1829
+ :exampleMetadata: fixture=_generated
1830
+
1831
+ Example::
1832
+
1833
+ # The code below shows an example of how to instantiate this type.
1834
+ # The values are placeholders you should change.
1835
+ from aws_cdk import aws_bedrock as bedrock
1836
+
1837
+ cfn_agent_alias_props = bedrock.CfnAgentAliasProps(
1838
+ agent_alias_name="agentAliasName",
1839
+ agent_id="agentId",
1840
+
1841
+ # the properties below are optional
1842
+ description="description",
1843
+ routing_configuration=[bedrock.CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty(
1844
+ agent_version="agentVersion"
1845
+ )],
1846
+ tags={
1847
+ "tags_key": "tags"
1848
+ }
1849
+ )
1850
+ '''
1851
+ if __debug__:
1852
+ type_hints = typing.get_type_hints(_typecheckingstub__c3144a1c66c11b4a2b15be859f361c848648aefb3df04b8fce2befe94f215c68)
1853
+ check_type(argname="argument agent_alias_name", value=agent_alias_name, expected_type=type_hints["agent_alias_name"])
1854
+ check_type(argname="argument agent_id", value=agent_id, expected_type=type_hints["agent_id"])
1855
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
1856
+ check_type(argname="argument routing_configuration", value=routing_configuration, expected_type=type_hints["routing_configuration"])
1857
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1858
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1859
+ "agent_alias_name": agent_alias_name,
1860
+ "agent_id": agent_id,
1861
+ }
1862
+ if description is not None:
1863
+ self._values["description"] = description
1864
+ if routing_configuration is not None:
1865
+ self._values["routing_configuration"] = routing_configuration
1866
+ if tags is not None:
1867
+ self._values["tags"] = tags
1868
+
1869
+ @builtins.property
1870
+ def agent_alias_name(self) -> builtins.str:
1871
+ '''The name of the alias of the agent.
1872
+
1873
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-agentaliasname
1874
+ '''
1875
+ result = self._values.get("agent_alias_name")
1876
+ assert result is not None, "Required property 'agent_alias_name' is missing"
1877
+ return typing.cast(builtins.str, result)
1878
+
1879
+ @builtins.property
1880
+ def agent_id(self) -> builtins.str:
1881
+ '''The unique identifier of the agent.
1882
+
1883
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-agentid
1884
+ '''
1885
+ result = self._values.get("agent_id")
1886
+ assert result is not None, "Required property 'agent_id' is missing"
1887
+ return typing.cast(builtins.str, result)
1888
+
1889
+ @builtins.property
1890
+ def description(self) -> typing.Optional[builtins.str]:
1891
+ '''The description of the alias of the agent.
1892
+
1893
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-description
1894
+ '''
1895
+ result = self._values.get("description")
1896
+ return typing.cast(typing.Optional[builtins.str], result)
1897
+
1898
+ @builtins.property
1899
+ def routing_configuration(
1900
+ self,
1901
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty]]]]:
1902
+ '''Contains details about the routing configuration of the alias.
1903
+
1904
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-routingconfiguration
1905
+ '''
1906
+ result = self._values.get("routing_configuration")
1907
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty]]]], result)
1908
+
1909
+ @builtins.property
1910
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
1911
+ '''Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:.
1912
+
1913
+ - `Tag naming limits and requirements <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions>`_
1914
+ - `Tagging best practices <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices>`_
1915
+
1916
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-tags
1917
+ '''
1918
+ result = self._values.get("tags")
1919
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
1920
+
1921
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1922
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1923
+
1924
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1925
+ return not (rhs == self)
1926
+
1927
+ def __repr__(self) -> str:
1928
+ return "CfnAgentAliasProps(%s)" % ", ".join(
1929
+ k + "=" + repr(v) for k, v in self._values.items()
1930
+ )
1931
+
1932
+
1933
+ @jsii.data_type(
1934
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnAgentProps",
1935
+ jsii_struct_bases=[],
1936
+ name_mapping={
1937
+ "agent_name": "agentName",
1938
+ "action_groups": "actionGroups",
1939
+ "agent_resource_role_arn": "agentResourceRoleArn",
1940
+ "auto_prepare": "autoPrepare",
1941
+ "customer_encryption_key_arn": "customerEncryptionKeyArn",
1942
+ "description": "description",
1943
+ "foundation_model": "foundationModel",
1944
+ "idle_session_ttl_in_seconds": "idleSessionTtlInSeconds",
1945
+ "instruction": "instruction",
1946
+ "knowledge_bases": "knowledgeBases",
1947
+ "prompt_override_configuration": "promptOverrideConfiguration",
1948
+ "skip_resource_in_use_check_on_delete": "skipResourceInUseCheckOnDelete",
1949
+ "tags": "tags",
1950
+ },
1951
+ )
1952
+ class CfnAgentProps:
1953
+ def __init__(
1954
+ self,
1955
+ *,
1956
+ agent_name: builtins.str,
1957
+ action_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.AgentActionGroupProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1958
+ agent_resource_role_arn: typing.Optional[builtins.str] = None,
1959
+ auto_prepare: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1960
+ customer_encryption_key_arn: typing.Optional[builtins.str] = None,
1961
+ description: typing.Optional[builtins.str] = None,
1962
+ foundation_model: typing.Optional[builtins.str] = None,
1963
+ idle_session_ttl_in_seconds: typing.Optional[jsii.Number] = None,
1964
+ instruction: typing.Optional[builtins.str] = None,
1965
+ knowledge_bases: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.AgentKnowledgeBaseProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1966
+ prompt_override_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.PromptOverrideConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1967
+ skip_resource_in_use_check_on_delete: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1968
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1969
+ ) -> None:
1970
+ '''Properties for defining a ``CfnAgent``.
1971
+
1972
+ :param agent_name: The name of the agent.
1973
+ :param action_groups: The action groups that belong to an agent.
1974
+ :param agent_resource_role_arn: The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.
1975
+ :param auto_prepare: Specifies whether to automatically update the ``DRAFT`` version of the agent after making changes to the agent. The ``DRAFT`` version can be continually iterated upon during internal development. By default, this value is ``false`` . Default: - false
1976
+ :param customer_encryption_key_arn: The Amazon Resource Name (ARN) of the AWS KMS key that encrypts the agent.
1977
+ :param description: The description of the agent.
1978
+ :param foundation_model: The foundation model used for orchestration by the agent.
1979
+ :param idle_session_ttl_in_seconds: The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout.
1980
+ :param instruction: Instructions that tell the agent what it should do and how it should interact with users.
1981
+ :param knowledge_bases: The knowledge bases associated with the agent.
1982
+ :param prompt_override_configuration: Contains configurations to override prompt templates in different parts of an agent sequence. For more information, see `Advanced prompts <https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html>`_ .
1983
+ :param skip_resource_in_use_check_on_delete: Specifies whether to delete the resource even if it's in use. By default, this value is ``false`` . Default: - false
1984
+ :param tags: Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:. - `Tag naming limits and requirements <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions>`_ - `Tagging best practices <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices>`_
1985
+
1986
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html
1987
+ :exampleMetadata: fixture=_generated
1988
+
1989
+ Example::
1990
+
1991
+ # The code below shows an example of how to instantiate this type.
1992
+ # The values are placeholders you should change.
1993
+ from aws_cdk import aws_bedrock as bedrock
1994
+
1995
+ cfn_agent_props = bedrock.CfnAgentProps(
1996
+ agent_name="agentName",
1997
+
1998
+ # the properties below are optional
1999
+ action_groups=[bedrock.CfnAgent.AgentActionGroupProperty(
2000
+ action_group_name="actionGroupName",
2001
+
2002
+ # the properties below are optional
2003
+ action_group_executor=bedrock.CfnAgent.ActionGroupExecutorProperty(
2004
+ lambda_="lambda"
2005
+ ),
2006
+ action_group_state="actionGroupState",
2007
+ api_schema=bedrock.CfnAgent.APISchemaProperty(
2008
+ payload="payload",
2009
+ s3=bedrock.CfnAgent.S3IdentifierProperty(
2010
+ s3_bucket_name="s3BucketName",
2011
+ s3_object_key="s3ObjectKey"
2012
+ )
2013
+ ),
2014
+ description="description",
2015
+ parent_action_group_signature="parentActionGroupSignature",
2016
+ skip_resource_in_use_check_on_delete=False
2017
+ )],
2018
+ agent_resource_role_arn="agentResourceRoleArn",
2019
+ auto_prepare=False,
2020
+ customer_encryption_key_arn="customerEncryptionKeyArn",
2021
+ description="description",
2022
+ foundation_model="foundationModel",
2023
+ idle_session_ttl_in_seconds=123,
2024
+ instruction="instruction",
2025
+ knowledge_bases=[bedrock.CfnAgent.AgentKnowledgeBaseProperty(
2026
+ description="description",
2027
+ knowledge_base_id="knowledgeBaseId",
2028
+
2029
+ # the properties below are optional
2030
+ knowledge_base_state="knowledgeBaseState"
2031
+ )],
2032
+ prompt_override_configuration=bedrock.CfnAgent.PromptOverrideConfigurationProperty(
2033
+ prompt_configurations=[bedrock.CfnAgent.PromptConfigurationProperty(
2034
+ base_prompt_template="basePromptTemplate",
2035
+ inference_configuration=bedrock.CfnAgent.InferenceConfigurationProperty(
2036
+ maximum_length=123,
2037
+ stop_sequences=["stopSequences"],
2038
+ temperature=123,
2039
+ top_k=123,
2040
+ top_p=123
2041
+ ),
2042
+ parser_mode="parserMode",
2043
+ prompt_creation_mode="promptCreationMode",
2044
+ prompt_state="promptState",
2045
+ prompt_type="promptType"
2046
+ )],
2047
+
2048
+ # the properties below are optional
2049
+ override_lambda="overrideLambda"
2050
+ ),
2051
+ skip_resource_in_use_check_on_delete=False,
2052
+ tags={
2053
+ "tags_key": "tags"
2054
+ }
2055
+ )
2056
+ '''
2057
+ if __debug__:
2058
+ type_hints = typing.get_type_hints(_typecheckingstub__b4f714080f6d4f9b0a3fe85a8425a8ba69698695e35d6fbd9d710ca5d99ba6e8)
2059
+ check_type(argname="argument agent_name", value=agent_name, expected_type=type_hints["agent_name"])
2060
+ check_type(argname="argument action_groups", value=action_groups, expected_type=type_hints["action_groups"])
2061
+ check_type(argname="argument agent_resource_role_arn", value=agent_resource_role_arn, expected_type=type_hints["agent_resource_role_arn"])
2062
+ check_type(argname="argument auto_prepare", value=auto_prepare, expected_type=type_hints["auto_prepare"])
2063
+ check_type(argname="argument customer_encryption_key_arn", value=customer_encryption_key_arn, expected_type=type_hints["customer_encryption_key_arn"])
2064
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
2065
+ check_type(argname="argument foundation_model", value=foundation_model, expected_type=type_hints["foundation_model"])
2066
+ check_type(argname="argument idle_session_ttl_in_seconds", value=idle_session_ttl_in_seconds, expected_type=type_hints["idle_session_ttl_in_seconds"])
2067
+ check_type(argname="argument instruction", value=instruction, expected_type=type_hints["instruction"])
2068
+ check_type(argname="argument knowledge_bases", value=knowledge_bases, expected_type=type_hints["knowledge_bases"])
2069
+ check_type(argname="argument prompt_override_configuration", value=prompt_override_configuration, expected_type=type_hints["prompt_override_configuration"])
2070
+ check_type(argname="argument skip_resource_in_use_check_on_delete", value=skip_resource_in_use_check_on_delete, expected_type=type_hints["skip_resource_in_use_check_on_delete"])
2071
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2072
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2073
+ "agent_name": agent_name,
2074
+ }
2075
+ if action_groups is not None:
2076
+ self._values["action_groups"] = action_groups
2077
+ if agent_resource_role_arn is not None:
2078
+ self._values["agent_resource_role_arn"] = agent_resource_role_arn
2079
+ if auto_prepare is not None:
2080
+ self._values["auto_prepare"] = auto_prepare
2081
+ if customer_encryption_key_arn is not None:
2082
+ self._values["customer_encryption_key_arn"] = customer_encryption_key_arn
2083
+ if description is not None:
2084
+ self._values["description"] = description
2085
+ if foundation_model is not None:
2086
+ self._values["foundation_model"] = foundation_model
2087
+ if idle_session_ttl_in_seconds is not None:
2088
+ self._values["idle_session_ttl_in_seconds"] = idle_session_ttl_in_seconds
2089
+ if instruction is not None:
2090
+ self._values["instruction"] = instruction
2091
+ if knowledge_bases is not None:
2092
+ self._values["knowledge_bases"] = knowledge_bases
2093
+ if prompt_override_configuration is not None:
2094
+ self._values["prompt_override_configuration"] = prompt_override_configuration
2095
+ if skip_resource_in_use_check_on_delete is not None:
2096
+ self._values["skip_resource_in_use_check_on_delete"] = skip_resource_in_use_check_on_delete
2097
+ if tags is not None:
2098
+ self._values["tags"] = tags
2099
+
2100
+ @builtins.property
2101
+ def agent_name(self) -> builtins.str:
2102
+ '''The name of the agent.
2103
+
2104
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-agentname
2105
+ '''
2106
+ result = self._values.get("agent_name")
2107
+ assert result is not None, "Required property 'agent_name' is missing"
2108
+ return typing.cast(builtins.str, result)
2109
+
2110
+ @builtins.property
2111
+ def action_groups(
2112
+ self,
2113
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAgent.AgentActionGroupProperty]]]]:
2114
+ '''The action groups that belong to an agent.
2115
+
2116
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-actiongroups
2117
+ '''
2118
+ result = self._values.get("action_groups")
2119
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAgent.AgentActionGroupProperty]]]], result)
2120
+
2121
+ @builtins.property
2122
+ def agent_resource_role_arn(self) -> typing.Optional[builtins.str]:
2123
+ '''The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.
2124
+
2125
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-agentresourcerolearn
2126
+ '''
2127
+ result = self._values.get("agent_resource_role_arn")
2128
+ return typing.cast(typing.Optional[builtins.str], result)
2129
+
2130
+ @builtins.property
2131
+ def auto_prepare(
2132
+ self,
2133
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2134
+ '''Specifies whether to automatically update the ``DRAFT`` version of the agent after making changes to the agent.
2135
+
2136
+ The ``DRAFT`` version can be continually iterated upon during internal development. By default, this value is ``false`` .
2137
+
2138
+ :default: - false
2139
+
2140
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-autoprepare
2141
+ '''
2142
+ result = self._values.get("auto_prepare")
2143
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2144
+
2145
+ @builtins.property
2146
+ def customer_encryption_key_arn(self) -> typing.Optional[builtins.str]:
2147
+ '''The Amazon Resource Name (ARN) of the AWS KMS key that encrypts the agent.
2148
+
2149
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-customerencryptionkeyarn
2150
+ '''
2151
+ result = self._values.get("customer_encryption_key_arn")
2152
+ return typing.cast(typing.Optional[builtins.str], result)
2153
+
2154
+ @builtins.property
2155
+ def description(self) -> typing.Optional[builtins.str]:
2156
+ '''The description of the agent.
2157
+
2158
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-description
2159
+ '''
2160
+ result = self._values.get("description")
2161
+ return typing.cast(typing.Optional[builtins.str], result)
2162
+
2163
+ @builtins.property
2164
+ def foundation_model(self) -> typing.Optional[builtins.str]:
2165
+ '''The foundation model used for orchestration by the agent.
2166
+
2167
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-foundationmodel
2168
+ '''
2169
+ result = self._values.get("foundation_model")
2170
+ return typing.cast(typing.Optional[builtins.str], result)
2171
+
2172
+ @builtins.property
2173
+ def idle_session_ttl_in_seconds(self) -> typing.Optional[jsii.Number]:
2174
+ '''The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent.
2175
+
2176
+ A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout.
2177
+
2178
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-idlesessionttlinseconds
2179
+ '''
2180
+ result = self._values.get("idle_session_ttl_in_seconds")
2181
+ return typing.cast(typing.Optional[jsii.Number], result)
2182
+
2183
+ @builtins.property
2184
+ def instruction(self) -> typing.Optional[builtins.str]:
2185
+ '''Instructions that tell the agent what it should do and how it should interact with users.
2186
+
2187
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-instruction
2188
+ '''
2189
+ result = self._values.get("instruction")
2190
+ return typing.cast(typing.Optional[builtins.str], result)
2191
+
2192
+ @builtins.property
2193
+ def knowledge_bases(
2194
+ self,
2195
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAgent.AgentKnowledgeBaseProperty]]]]:
2196
+ '''The knowledge bases associated with the agent.
2197
+
2198
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-knowledgebases
2199
+ '''
2200
+ result = self._values.get("knowledge_bases")
2201
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAgent.AgentKnowledgeBaseProperty]]]], result)
2202
+
2203
+ @builtins.property
2204
+ def prompt_override_configuration(
2205
+ self,
2206
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAgent.PromptOverrideConfigurationProperty]]:
2207
+ '''Contains configurations to override prompt templates in different parts of an agent sequence.
2208
+
2209
+ For more information, see `Advanced prompts <https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html>`_ .
2210
+
2211
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-promptoverrideconfiguration
2212
+ '''
2213
+ result = self._values.get("prompt_override_configuration")
2214
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAgent.PromptOverrideConfigurationProperty]], result)
2215
+
2216
+ @builtins.property
2217
+ def skip_resource_in_use_check_on_delete(
2218
+ self,
2219
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2220
+ '''Specifies whether to delete the resource even if it's in use.
2221
+
2222
+ By default, this value is ``false`` .
2223
+
2224
+ :default: - false
2225
+
2226
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-skipresourceinusecheckondelete
2227
+ '''
2228
+ result = self._values.get("skip_resource_in_use_check_on_delete")
2229
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2230
+
2231
+ @builtins.property
2232
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
2233
+ '''Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:.
2234
+
2235
+ - `Tag naming limits and requirements <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions>`_
2236
+ - `Tagging best practices <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices>`_
2237
+
2238
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-tags
2239
+ '''
2240
+ result = self._values.get("tags")
2241
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
2242
+
2243
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2244
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2245
+
2246
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2247
+ return not (rhs == self)
2248
+
2249
+ def __repr__(self) -> str:
2250
+ return "CfnAgentProps(%s)" % ", ".join(
2251
+ k + "=" + repr(v) for k, v in self._values.items()
2252
+ )
2253
+
2254
+
2255
+ @jsii.implements(_IInspectable_c2943556)
2256
+ class CfnDataSource(
2257
+ _CfnResource_9df397a6,
2258
+ metaclass=jsii.JSIIMeta,
2259
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource",
2260
+ ):
2261
+ '''Specifies a data source as a resource in a top-level template. Minimally, you must specify the following properties:.
2262
+
2263
+ - Name – Specify a name for the data source.
2264
+ - KnowledgeBaseId – Specify the ID of the knowledge base for the data source to belong to.
2265
+ - DataSourceConfiguration – Specify information about the Amazon S3 bucket containing the data source. The following sub-properties are required:
2266
+ - Type – Specify the value ``S3`` .
2267
+
2268
+ For more information about setting up data sources in Amazon Bedrock , see `Set up a data source for your knowledge base <https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html>`_ .
2269
+
2270
+ See the *Properties* section below for descriptions of both the required and optional properties.
2271
+
2272
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html
2273
+ :cloudformationResource: AWS::Bedrock::DataSource
2274
+ :exampleMetadata: fixture=_generated
2275
+
2276
+ Example::
2277
+
2278
+ # The code below shows an example of how to instantiate this type.
2279
+ # The values are placeholders you should change.
2280
+ from aws_cdk import aws_bedrock as bedrock
2281
+
2282
+ cfn_data_source = bedrock.CfnDataSource(self, "MyCfnDataSource",
2283
+ data_source_configuration=bedrock.CfnDataSource.DataSourceConfigurationProperty(
2284
+ s3_configuration=bedrock.CfnDataSource.S3DataSourceConfigurationProperty(
2285
+ bucket_arn="bucketArn",
2286
+
2287
+ # the properties below are optional
2288
+ inclusion_prefixes=["inclusionPrefixes"]
2289
+ ),
2290
+ type="type"
2291
+ ),
2292
+ knowledge_base_id="knowledgeBaseId",
2293
+ name="name",
2294
+
2295
+ # the properties below are optional
2296
+ description="description",
2297
+ server_side_encryption_configuration=bedrock.CfnDataSource.ServerSideEncryptionConfigurationProperty(
2298
+ kms_key_arn="kmsKeyArn"
2299
+ ),
2300
+ vector_ingestion_configuration=bedrock.CfnDataSource.VectorIngestionConfigurationProperty(
2301
+ chunking_configuration=bedrock.CfnDataSource.ChunkingConfigurationProperty(
2302
+ chunking_strategy="chunkingStrategy",
2303
+
2304
+ # the properties below are optional
2305
+ fixed_size_chunking_configuration=bedrock.CfnDataSource.FixedSizeChunkingConfigurationProperty(
2306
+ max_tokens=123,
2307
+ overlap_percentage=123
2308
+ )
2309
+ )
2310
+ )
2311
+ )
2312
+ '''
2313
+
2314
+ def __init__(
2315
+ self,
2316
+ scope: _constructs_77d1e7e8.Construct,
2317
+ id: builtins.str,
2318
+ *,
2319
+ data_source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.DataSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
2320
+ knowledge_base_id: builtins.str,
2321
+ name: builtins.str,
2322
+ description: typing.Optional[builtins.str] = None,
2323
+ server_side_encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.ServerSideEncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2324
+ vector_ingestion_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.VectorIngestionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2325
+ ) -> None:
2326
+ '''
2327
+ :param scope: Scope in which this resource is defined.
2328
+ :param id: Construct identifier for this resource (unique in its scope).
2329
+ :param data_source_configuration: Contains details about how the data source is stored.
2330
+ :param knowledge_base_id: The unique identifier of the knowledge base to which the data source belongs.
2331
+ :param name: The name of the data source.
2332
+ :param description: The description of the data source.
2333
+ :param server_side_encryption_configuration: Contains details about the configuration of the server-side encryption.
2334
+ :param vector_ingestion_configuration: Contains details about how to ingest the documents in the data source.
2335
+ '''
2336
+ if __debug__:
2337
+ type_hints = typing.get_type_hints(_typecheckingstub__8b6230da788965416b3262c41917eaab2193b3cfccf7a03f313a8c19186a6b75)
2338
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2339
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2340
+ props = CfnDataSourceProps(
2341
+ data_source_configuration=data_source_configuration,
2342
+ knowledge_base_id=knowledge_base_id,
2343
+ name=name,
2344
+ description=description,
2345
+ server_side_encryption_configuration=server_side_encryption_configuration,
2346
+ vector_ingestion_configuration=vector_ingestion_configuration,
2347
+ )
2348
+
2349
+ jsii.create(self.__class__, self, [scope, id, props])
2350
+
2351
+ @jsii.member(jsii_name="inspect")
2352
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2353
+ '''Examines the CloudFormation resource and discloses attributes.
2354
+
2355
+ :param inspector: tree inspector to collect and process attributes.
2356
+ '''
2357
+ if __debug__:
2358
+ type_hints = typing.get_type_hints(_typecheckingstub__e68a33df1c2e42bd5580cdec505e709cbe6a0663b8142f6fb3ba8e70911ceb85)
2359
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2360
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2361
+
2362
+ @jsii.member(jsii_name="renderProperties")
2363
+ def _render_properties(
2364
+ self,
2365
+ props: typing.Mapping[builtins.str, typing.Any],
2366
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2367
+ '''
2368
+ :param props: -
2369
+ '''
2370
+ if __debug__:
2371
+ type_hints = typing.get_type_hints(_typecheckingstub__b23978dd788bb65ad2e2571764c987a4729f9d5c9d17c903f53a10cd4e3ad3e7)
2372
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2373
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2374
+
2375
+ @jsii.python.classproperty
2376
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2377
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2378
+ '''The CloudFormation resource type name for this resource class.'''
2379
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2380
+
2381
+ @builtins.property
2382
+ @jsii.member(jsii_name="attrCreatedAt")
2383
+ def attr_created_at(self) -> builtins.str:
2384
+ '''The time at which the data source was created.
2385
+
2386
+ :cloudformationAttribute: CreatedAt
2387
+ '''
2388
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
2389
+
2390
+ @builtins.property
2391
+ @jsii.member(jsii_name="attrDataSourceId")
2392
+ def attr_data_source_id(self) -> builtins.str:
2393
+ '''The unique identifier of the data source.
2394
+
2395
+ :cloudformationAttribute: DataSourceId
2396
+ '''
2397
+ return typing.cast(builtins.str, jsii.get(self, "attrDataSourceId"))
2398
+
2399
+ @builtins.property
2400
+ @jsii.member(jsii_name="attrDataSourceStatus")
2401
+ def attr_data_source_status(self) -> builtins.str:
2402
+ '''The status of the data source. The following statuses are possible:.
2403
+
2404
+ - Available – The data source has been created and is ready for ingestion into the knowledge base.
2405
+ - Deleting – The data source is being deleted.
2406
+
2407
+ :cloudformationAttribute: DataSourceStatus
2408
+ '''
2409
+ return typing.cast(builtins.str, jsii.get(self, "attrDataSourceStatus"))
2410
+
2411
+ @builtins.property
2412
+ @jsii.member(jsii_name="attrUpdatedAt")
2413
+ def attr_updated_at(self) -> builtins.str:
2414
+ '''The time at which the data source was last updated.
2415
+
2416
+ :cloudformationAttribute: UpdatedAt
2417
+ '''
2418
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
2419
+
2420
+ @builtins.property
2421
+ @jsii.member(jsii_name="cfnProperties")
2422
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2423
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2424
+
2425
+ @builtins.property
2426
+ @jsii.member(jsii_name="dataSourceConfiguration")
2427
+ def data_source_configuration(
2428
+ self,
2429
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.DataSourceConfigurationProperty"]:
2430
+ '''Contains details about how the data source is stored.'''
2431
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.DataSourceConfigurationProperty"], jsii.get(self, "dataSourceConfiguration"))
2432
+
2433
+ @data_source_configuration.setter
2434
+ def data_source_configuration(
2435
+ self,
2436
+ value: typing.Union[_IResolvable_da3f097b, "CfnDataSource.DataSourceConfigurationProperty"],
2437
+ ) -> None:
2438
+ if __debug__:
2439
+ type_hints = typing.get_type_hints(_typecheckingstub__a387108ccda2b96813f79478d4429abb297f766ce080c3bf9b77d03af3db534c)
2440
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2441
+ jsii.set(self, "dataSourceConfiguration", value)
2442
+
2443
+ @builtins.property
2444
+ @jsii.member(jsii_name="knowledgeBaseId")
2445
+ def knowledge_base_id(self) -> builtins.str:
2446
+ '''The unique identifier of the knowledge base to which the data source belongs.'''
2447
+ return typing.cast(builtins.str, jsii.get(self, "knowledgeBaseId"))
2448
+
2449
+ @knowledge_base_id.setter
2450
+ def knowledge_base_id(self, value: builtins.str) -> None:
2451
+ if __debug__:
2452
+ type_hints = typing.get_type_hints(_typecheckingstub__62d585d364d6684899cbce3ae80a62858e2f256e166c889705e2ecb2040e935d)
2453
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2454
+ jsii.set(self, "knowledgeBaseId", value)
2455
+
2456
+ @builtins.property
2457
+ @jsii.member(jsii_name="name")
2458
+ def name(self) -> builtins.str:
2459
+ '''The name of the data source.'''
2460
+ return typing.cast(builtins.str, jsii.get(self, "name"))
2461
+
2462
+ @name.setter
2463
+ def name(self, value: builtins.str) -> None:
2464
+ if __debug__:
2465
+ type_hints = typing.get_type_hints(_typecheckingstub__99613771dd63beb77d047c2f17b9362e99ec38dd6fb89ec0c78f690f7847fc0b)
2466
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2467
+ jsii.set(self, "name", value)
2468
+
2469
+ @builtins.property
2470
+ @jsii.member(jsii_name="description")
2471
+ def description(self) -> typing.Optional[builtins.str]:
2472
+ '''The description of the data source.'''
2473
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
2474
+
2475
+ @description.setter
2476
+ def description(self, value: typing.Optional[builtins.str]) -> None:
2477
+ if __debug__:
2478
+ type_hints = typing.get_type_hints(_typecheckingstub__7fc31b7620f239d59ff8a40cb711119c09cf659e115e22ba5d86a3d2a36aa17b)
2479
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2480
+ jsii.set(self, "description", value)
2481
+
2482
+ @builtins.property
2483
+ @jsii.member(jsii_name="serverSideEncryptionConfiguration")
2484
+ def server_side_encryption_configuration(
2485
+ self,
2486
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ServerSideEncryptionConfigurationProperty"]]:
2487
+ '''Contains details about the configuration of the server-side encryption.'''
2488
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ServerSideEncryptionConfigurationProperty"]], jsii.get(self, "serverSideEncryptionConfiguration"))
2489
+
2490
+ @server_side_encryption_configuration.setter
2491
+ def server_side_encryption_configuration(
2492
+ self,
2493
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ServerSideEncryptionConfigurationProperty"]],
2494
+ ) -> None:
2495
+ if __debug__:
2496
+ type_hints = typing.get_type_hints(_typecheckingstub__1fe19aafcbb9637979bddaf7a230433b26f791bb09744dabcf0e95496322565d)
2497
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2498
+ jsii.set(self, "serverSideEncryptionConfiguration", value)
2499
+
2500
+ @builtins.property
2501
+ @jsii.member(jsii_name="vectorIngestionConfiguration")
2502
+ def vector_ingestion_configuration(
2503
+ self,
2504
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.VectorIngestionConfigurationProperty"]]:
2505
+ '''Contains details about how to ingest the documents in the data source.'''
2506
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.VectorIngestionConfigurationProperty"]], jsii.get(self, "vectorIngestionConfiguration"))
2507
+
2508
+ @vector_ingestion_configuration.setter
2509
+ def vector_ingestion_configuration(
2510
+ self,
2511
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.VectorIngestionConfigurationProperty"]],
2512
+ ) -> None:
2513
+ if __debug__:
2514
+ type_hints = typing.get_type_hints(_typecheckingstub__033990e14b671fe96b02a12658cd4beadf8bae975b4e0c94984d3e41913522c8)
2515
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2516
+ jsii.set(self, "vectorIngestionConfiguration", value)
2517
+
2518
+ @jsii.data_type(
2519
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.ChunkingConfigurationProperty",
2520
+ jsii_struct_bases=[],
2521
+ name_mapping={
2522
+ "chunking_strategy": "chunkingStrategy",
2523
+ "fixed_size_chunking_configuration": "fixedSizeChunkingConfiguration",
2524
+ },
2525
+ )
2526
+ class ChunkingConfigurationProperty:
2527
+ def __init__(
2528
+ self,
2529
+ *,
2530
+ chunking_strategy: builtins.str,
2531
+ fixed_size_chunking_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.FixedSizeChunkingConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2532
+ ) -> None:
2533
+ '''Details about how to chunk the documents in the data source.
2534
+
2535
+ A *chunk* refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried.
2536
+
2537
+ :param chunking_strategy: Knowledge base can split your source data into chunks. A *chunk* refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried. You have the following options for chunking your data. If you opt for ``NONE`` , then you may want to pre-process your files by splitting them up such that each file corresponds to a chunk. - ``FIXED_SIZE`` – Amazon Bedrock splits your source data into chunks of the approximate size that you set in the ``fixedSizeChunkingConfiguration`` . - ``NONE`` – Amazon Bedrock treats each file as one chunk. If you choose this option, you may want to pre-process your documents by splitting them into separate files.
2538
+ :param fixed_size_chunking_configuration: Configurations for when you choose fixed-size chunking. If you set the ``chunkingStrategy`` as ``NONE`` , exclude this field.
2539
+
2540
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html
2541
+ :exampleMetadata: fixture=_generated
2542
+
2543
+ Example::
2544
+
2545
+ # The code below shows an example of how to instantiate this type.
2546
+ # The values are placeholders you should change.
2547
+ from aws_cdk import aws_bedrock as bedrock
2548
+
2549
+ chunking_configuration_property = bedrock.CfnDataSource.ChunkingConfigurationProperty(
2550
+ chunking_strategy="chunkingStrategy",
2551
+
2552
+ # the properties below are optional
2553
+ fixed_size_chunking_configuration=bedrock.CfnDataSource.FixedSizeChunkingConfigurationProperty(
2554
+ max_tokens=123,
2555
+ overlap_percentage=123
2556
+ )
2557
+ )
2558
+ '''
2559
+ if __debug__:
2560
+ type_hints = typing.get_type_hints(_typecheckingstub__8beec747a0f57f641fd4bd3b03f73b678c8e286785d948f80998682f0c0a40e5)
2561
+ check_type(argname="argument chunking_strategy", value=chunking_strategy, expected_type=type_hints["chunking_strategy"])
2562
+ check_type(argname="argument fixed_size_chunking_configuration", value=fixed_size_chunking_configuration, expected_type=type_hints["fixed_size_chunking_configuration"])
2563
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2564
+ "chunking_strategy": chunking_strategy,
2565
+ }
2566
+ if fixed_size_chunking_configuration is not None:
2567
+ self._values["fixed_size_chunking_configuration"] = fixed_size_chunking_configuration
2568
+
2569
+ @builtins.property
2570
+ def chunking_strategy(self) -> builtins.str:
2571
+ '''Knowledge base can split your source data into chunks.
2572
+
2573
+ A *chunk* refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried. You have the following options for chunking your data. If you opt for ``NONE`` , then you may want to pre-process your files by splitting them up such that each file corresponds to a chunk.
2574
+
2575
+ - ``FIXED_SIZE`` – Amazon Bedrock splits your source data into chunks of the approximate size that you set in the ``fixedSizeChunkingConfiguration`` .
2576
+ - ``NONE`` – Amazon Bedrock treats each file as one chunk. If you choose this option, you may want to pre-process your documents by splitting them into separate files.
2577
+
2578
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html#cfn-bedrock-datasource-chunkingconfiguration-chunkingstrategy
2579
+ '''
2580
+ result = self._values.get("chunking_strategy")
2581
+ assert result is not None, "Required property 'chunking_strategy' is missing"
2582
+ return typing.cast(builtins.str, result)
2583
+
2584
+ @builtins.property
2585
+ def fixed_size_chunking_configuration(
2586
+ self,
2587
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.FixedSizeChunkingConfigurationProperty"]]:
2588
+ '''Configurations for when you choose fixed-size chunking.
2589
+
2590
+ If you set the ``chunkingStrategy`` as ``NONE`` , exclude this field.
2591
+
2592
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html#cfn-bedrock-datasource-chunkingconfiguration-fixedsizechunkingconfiguration
2593
+ '''
2594
+ result = self._values.get("fixed_size_chunking_configuration")
2595
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.FixedSizeChunkingConfigurationProperty"]], result)
2596
+
2597
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2598
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2599
+
2600
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2601
+ return not (rhs == self)
2602
+
2603
+ def __repr__(self) -> str:
2604
+ return "ChunkingConfigurationProperty(%s)" % ", ".join(
2605
+ k + "=" + repr(v) for k, v in self._values.items()
2606
+ )
2607
+
2608
+ @jsii.data_type(
2609
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.DataSourceConfigurationProperty",
2610
+ jsii_struct_bases=[],
2611
+ name_mapping={"s3_configuration": "s3Configuration", "type": "type"},
2612
+ )
2613
+ class DataSourceConfigurationProperty:
2614
+ def __init__(
2615
+ self,
2616
+ *,
2617
+ s3_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.S3DataSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
2618
+ type: builtins.str,
2619
+ ) -> None:
2620
+ '''Contains details about how a data source is stored.
2621
+
2622
+ :param s3_configuration: Contains details about the configuration of the S3 object containing the data source.
2623
+ :param type: The type of storage for the data source.
2624
+
2625
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html
2626
+ :exampleMetadata: fixture=_generated
2627
+
2628
+ Example::
2629
+
2630
+ # The code below shows an example of how to instantiate this type.
2631
+ # The values are placeholders you should change.
2632
+ from aws_cdk import aws_bedrock as bedrock
2633
+
2634
+ data_source_configuration_property = bedrock.CfnDataSource.DataSourceConfigurationProperty(
2635
+ s3_configuration=bedrock.CfnDataSource.S3DataSourceConfigurationProperty(
2636
+ bucket_arn="bucketArn",
2637
+
2638
+ # the properties below are optional
2639
+ inclusion_prefixes=["inclusionPrefixes"]
2640
+ ),
2641
+ type="type"
2642
+ )
2643
+ '''
2644
+ if __debug__:
2645
+ type_hints = typing.get_type_hints(_typecheckingstub__a2e1b0c807d6904904c91cc13a2f47ee5db24090758446e26a864b57b3d36117)
2646
+ check_type(argname="argument s3_configuration", value=s3_configuration, expected_type=type_hints["s3_configuration"])
2647
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
2648
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2649
+ "s3_configuration": s3_configuration,
2650
+ "type": type,
2651
+ }
2652
+
2653
+ @builtins.property
2654
+ def s3_configuration(
2655
+ self,
2656
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDataSource.S3DataSourceConfigurationProperty"]:
2657
+ '''Contains details about the configuration of the S3 object containing the data source.
2658
+
2659
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-s3configuration
2660
+ '''
2661
+ result = self._values.get("s3_configuration")
2662
+ assert result is not None, "Required property 's3_configuration' is missing"
2663
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDataSource.S3DataSourceConfigurationProperty"], result)
2664
+
2665
+ @builtins.property
2666
+ def type(self) -> builtins.str:
2667
+ '''The type of storage for the data source.
2668
+
2669
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-type
2670
+ '''
2671
+ result = self._values.get("type")
2672
+ assert result is not None, "Required property 'type' is missing"
2673
+ return typing.cast(builtins.str, result)
2674
+
2675
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2676
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2677
+
2678
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2679
+ return not (rhs == self)
2680
+
2681
+ def __repr__(self) -> str:
2682
+ return "DataSourceConfigurationProperty(%s)" % ", ".join(
2683
+ k + "=" + repr(v) for k, v in self._values.items()
2684
+ )
2685
+
2686
+ @jsii.data_type(
2687
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.FixedSizeChunkingConfigurationProperty",
2688
+ jsii_struct_bases=[],
2689
+ name_mapping={
2690
+ "max_tokens": "maxTokens",
2691
+ "overlap_percentage": "overlapPercentage",
2692
+ },
2693
+ )
2694
+ class FixedSizeChunkingConfigurationProperty:
2695
+ def __init__(
2696
+ self,
2697
+ *,
2698
+ max_tokens: jsii.Number,
2699
+ overlap_percentage: jsii.Number,
2700
+ ) -> None:
2701
+ '''Configurations for when you choose fixed-size chunking.
2702
+
2703
+ If you set the ``chunkingStrategy`` as ``NONE`` , exclude this field.
2704
+
2705
+ :param max_tokens: The maximum number of tokens to include in a chunk.
2706
+ :param overlap_percentage: The percentage of overlap between adjacent chunks of a data source.
2707
+
2708
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html
2709
+ :exampleMetadata: fixture=_generated
2710
+
2711
+ Example::
2712
+
2713
+ # The code below shows an example of how to instantiate this type.
2714
+ # The values are placeholders you should change.
2715
+ from aws_cdk import aws_bedrock as bedrock
2716
+
2717
+ fixed_size_chunking_configuration_property = bedrock.CfnDataSource.FixedSizeChunkingConfigurationProperty(
2718
+ max_tokens=123,
2719
+ overlap_percentage=123
2720
+ )
2721
+ '''
2722
+ if __debug__:
2723
+ type_hints = typing.get_type_hints(_typecheckingstub__7b9e8054cbf79d2292e738f1061947914954b89440b15bf572c87c9695aaf7bc)
2724
+ check_type(argname="argument max_tokens", value=max_tokens, expected_type=type_hints["max_tokens"])
2725
+ check_type(argname="argument overlap_percentage", value=overlap_percentage, expected_type=type_hints["overlap_percentage"])
2726
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2727
+ "max_tokens": max_tokens,
2728
+ "overlap_percentage": overlap_percentage,
2729
+ }
2730
+
2731
+ @builtins.property
2732
+ def max_tokens(self) -> jsii.Number:
2733
+ '''The maximum number of tokens to include in a chunk.
2734
+
2735
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-maxtokens
2736
+ '''
2737
+ result = self._values.get("max_tokens")
2738
+ assert result is not None, "Required property 'max_tokens' is missing"
2739
+ return typing.cast(jsii.Number, result)
2740
+
2741
+ @builtins.property
2742
+ def overlap_percentage(self) -> jsii.Number:
2743
+ '''The percentage of overlap between adjacent chunks of a data source.
2744
+
2745
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-overlappercentage
2746
+ '''
2747
+ result = self._values.get("overlap_percentage")
2748
+ assert result is not None, "Required property 'overlap_percentage' is missing"
2749
+ return typing.cast(jsii.Number, result)
2750
+
2751
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2752
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2753
+
2754
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2755
+ return not (rhs == self)
2756
+
2757
+ def __repr__(self) -> str:
2758
+ return "FixedSizeChunkingConfigurationProperty(%s)" % ", ".join(
2759
+ k + "=" + repr(v) for k, v in self._values.items()
2760
+ )
2761
+
2762
+ @jsii.data_type(
2763
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.S3DataSourceConfigurationProperty",
2764
+ jsii_struct_bases=[],
2765
+ name_mapping={
2766
+ "bucket_arn": "bucketArn",
2767
+ "inclusion_prefixes": "inclusionPrefixes",
2768
+ },
2769
+ )
2770
+ class S3DataSourceConfigurationProperty:
2771
+ def __init__(
2772
+ self,
2773
+ *,
2774
+ bucket_arn: builtins.str,
2775
+ inclusion_prefixes: typing.Optional[typing.Sequence[builtins.str]] = None,
2776
+ ) -> None:
2777
+ '''Contains information about the S3 configuration of the data source.
2778
+
2779
+ :param bucket_arn: The Amazon Resource Name (ARN) of the bucket that contains the data source.
2780
+ :param inclusion_prefixes: A list of S3 prefixes that define the object containing the data sources. For more information, see `Organizing objects using prefixes <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html>`_ .
2781
+
2782
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html
2783
+ :exampleMetadata: fixture=_generated
2784
+
2785
+ Example::
2786
+
2787
+ # The code below shows an example of how to instantiate this type.
2788
+ # The values are placeholders you should change.
2789
+ from aws_cdk import aws_bedrock as bedrock
2790
+
2791
+ s3_data_source_configuration_property = bedrock.CfnDataSource.S3DataSourceConfigurationProperty(
2792
+ bucket_arn="bucketArn",
2793
+
2794
+ # the properties below are optional
2795
+ inclusion_prefixes=["inclusionPrefixes"]
2796
+ )
2797
+ '''
2798
+ if __debug__:
2799
+ type_hints = typing.get_type_hints(_typecheckingstub__6b4929296343a5ea55bce5d28d11b34fa10885df35596a08102658f8bcbc8c5b)
2800
+ check_type(argname="argument bucket_arn", value=bucket_arn, expected_type=type_hints["bucket_arn"])
2801
+ check_type(argname="argument inclusion_prefixes", value=inclusion_prefixes, expected_type=type_hints["inclusion_prefixes"])
2802
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2803
+ "bucket_arn": bucket_arn,
2804
+ }
2805
+ if inclusion_prefixes is not None:
2806
+ self._values["inclusion_prefixes"] = inclusion_prefixes
2807
+
2808
+ @builtins.property
2809
+ def bucket_arn(self) -> builtins.str:
2810
+ '''The Amazon Resource Name (ARN) of the bucket that contains the data source.
2811
+
2812
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html#cfn-bedrock-datasource-s3datasourceconfiguration-bucketarn
2813
+ '''
2814
+ result = self._values.get("bucket_arn")
2815
+ assert result is not None, "Required property 'bucket_arn' is missing"
2816
+ return typing.cast(builtins.str, result)
2817
+
2818
+ @builtins.property
2819
+ def inclusion_prefixes(self) -> typing.Optional[typing.List[builtins.str]]:
2820
+ '''A list of S3 prefixes that define the object containing the data sources.
2821
+
2822
+ For more information, see `Organizing objects using prefixes <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html>`_ .
2823
+
2824
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html#cfn-bedrock-datasource-s3datasourceconfiguration-inclusionprefixes
2825
+ '''
2826
+ result = self._values.get("inclusion_prefixes")
2827
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2828
+
2829
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2830
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2831
+
2832
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2833
+ return not (rhs == self)
2834
+
2835
+ def __repr__(self) -> str:
2836
+ return "S3DataSourceConfigurationProperty(%s)" % ", ".join(
2837
+ k + "=" + repr(v) for k, v in self._values.items()
2838
+ )
2839
+
2840
+ @jsii.data_type(
2841
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.ServerSideEncryptionConfigurationProperty",
2842
+ jsii_struct_bases=[],
2843
+ name_mapping={"kms_key_arn": "kmsKeyArn"},
2844
+ )
2845
+ class ServerSideEncryptionConfigurationProperty:
2846
+ def __init__(
2847
+ self,
2848
+ *,
2849
+ kms_key_arn: typing.Optional[builtins.str] = None,
2850
+ ) -> None:
2851
+ '''Contains the configuration for server-side encryption.
2852
+
2853
+ :param kms_key_arn: The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt the resource.
2854
+
2855
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-serversideencryptionconfiguration.html
2856
+ :exampleMetadata: fixture=_generated
2857
+
2858
+ Example::
2859
+
2860
+ # The code below shows an example of how to instantiate this type.
2861
+ # The values are placeholders you should change.
2862
+ from aws_cdk import aws_bedrock as bedrock
2863
+
2864
+ server_side_encryption_configuration_property = bedrock.CfnDataSource.ServerSideEncryptionConfigurationProperty(
2865
+ kms_key_arn="kmsKeyArn"
2866
+ )
2867
+ '''
2868
+ if __debug__:
2869
+ type_hints = typing.get_type_hints(_typecheckingstub__e7bf662e3d628b0671b547dd26face3c322a93684b4b5578ec4cda1099b30e6a)
2870
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
2871
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2872
+ if kms_key_arn is not None:
2873
+ self._values["kms_key_arn"] = kms_key_arn
2874
+
2875
+ @builtins.property
2876
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
2877
+ '''The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt the resource.
2878
+
2879
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-serversideencryptionconfiguration.html#cfn-bedrock-datasource-serversideencryptionconfiguration-kmskeyarn
2880
+ '''
2881
+ result = self._values.get("kms_key_arn")
2882
+ return typing.cast(typing.Optional[builtins.str], result)
2883
+
2884
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2885
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2886
+
2887
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2888
+ return not (rhs == self)
2889
+
2890
+ def __repr__(self) -> str:
2891
+ return "ServerSideEncryptionConfigurationProperty(%s)" % ", ".join(
2892
+ k + "=" + repr(v) for k, v in self._values.items()
2893
+ )
2894
+
2895
+ @jsii.data_type(
2896
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSource.VectorIngestionConfigurationProperty",
2897
+ jsii_struct_bases=[],
2898
+ name_mapping={"chunking_configuration": "chunkingConfiguration"},
2899
+ )
2900
+ class VectorIngestionConfigurationProperty:
2901
+ def __init__(
2902
+ self,
2903
+ *,
2904
+ chunking_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataSource.ChunkingConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2905
+ ) -> None:
2906
+ '''Contains details about how to ingest the documents in a data source.
2907
+
2908
+ :param chunking_configuration: Details about how to chunk the documents in the data source. A *chunk* refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried.
2909
+
2910
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html
2911
+ :exampleMetadata: fixture=_generated
2912
+
2913
+ Example::
2914
+
2915
+ # The code below shows an example of how to instantiate this type.
2916
+ # The values are placeholders you should change.
2917
+ from aws_cdk import aws_bedrock as bedrock
2918
+
2919
+ vector_ingestion_configuration_property = bedrock.CfnDataSource.VectorIngestionConfigurationProperty(
2920
+ chunking_configuration=bedrock.CfnDataSource.ChunkingConfigurationProperty(
2921
+ chunking_strategy="chunkingStrategy",
2922
+
2923
+ # the properties below are optional
2924
+ fixed_size_chunking_configuration=bedrock.CfnDataSource.FixedSizeChunkingConfigurationProperty(
2925
+ max_tokens=123,
2926
+ overlap_percentage=123
2927
+ )
2928
+ )
2929
+ )
2930
+ '''
2931
+ if __debug__:
2932
+ type_hints = typing.get_type_hints(_typecheckingstub__37255db3e7cacfdeadc2d28bfe7938fd13ab4a2cd72190024a531eddf1fd9ec0)
2933
+ check_type(argname="argument chunking_configuration", value=chunking_configuration, expected_type=type_hints["chunking_configuration"])
2934
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2935
+ if chunking_configuration is not None:
2936
+ self._values["chunking_configuration"] = chunking_configuration
2937
+
2938
+ @builtins.property
2939
+ def chunking_configuration(
2940
+ self,
2941
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ChunkingConfigurationProperty"]]:
2942
+ '''Details about how to chunk the documents in the data source.
2943
+
2944
+ A *chunk* refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried.
2945
+
2946
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-chunkingconfiguration
2947
+ '''
2948
+ result = self._values.get("chunking_configuration")
2949
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataSource.ChunkingConfigurationProperty"]], result)
2950
+
2951
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2952
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2953
+
2954
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2955
+ return not (rhs == self)
2956
+
2957
+ def __repr__(self) -> str:
2958
+ return "VectorIngestionConfigurationProperty(%s)" % ", ".join(
2959
+ k + "=" + repr(v) for k, v in self._values.items()
2960
+ )
2961
+
2962
+
2963
+ @jsii.data_type(
2964
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnDataSourceProps",
2965
+ jsii_struct_bases=[],
2966
+ name_mapping={
2967
+ "data_source_configuration": "dataSourceConfiguration",
2968
+ "knowledge_base_id": "knowledgeBaseId",
2969
+ "name": "name",
2970
+ "description": "description",
2971
+ "server_side_encryption_configuration": "serverSideEncryptionConfiguration",
2972
+ "vector_ingestion_configuration": "vectorIngestionConfiguration",
2973
+ },
2974
+ )
2975
+ class CfnDataSourceProps:
2976
+ def __init__(
2977
+ self,
2978
+ *,
2979
+ data_source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.DataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
2980
+ knowledge_base_id: builtins.str,
2981
+ name: builtins.str,
2982
+ description: typing.Optional[builtins.str] = None,
2983
+ server_side_encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.ServerSideEncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2984
+ vector_ingestion_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.VectorIngestionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2985
+ ) -> None:
2986
+ '''Properties for defining a ``CfnDataSource``.
2987
+
2988
+ :param data_source_configuration: Contains details about how the data source is stored.
2989
+ :param knowledge_base_id: The unique identifier of the knowledge base to which the data source belongs.
2990
+ :param name: The name of the data source.
2991
+ :param description: The description of the data source.
2992
+ :param server_side_encryption_configuration: Contains details about the configuration of the server-side encryption.
2993
+ :param vector_ingestion_configuration: Contains details about how to ingest the documents in the data source.
2994
+
2995
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html
2996
+ :exampleMetadata: fixture=_generated
2997
+
2998
+ Example::
2999
+
3000
+ # The code below shows an example of how to instantiate this type.
3001
+ # The values are placeholders you should change.
3002
+ from aws_cdk import aws_bedrock as bedrock
3003
+
3004
+ cfn_data_source_props = bedrock.CfnDataSourceProps(
3005
+ data_source_configuration=bedrock.CfnDataSource.DataSourceConfigurationProperty(
3006
+ s3_configuration=bedrock.CfnDataSource.S3DataSourceConfigurationProperty(
3007
+ bucket_arn="bucketArn",
3008
+
3009
+ # the properties below are optional
3010
+ inclusion_prefixes=["inclusionPrefixes"]
3011
+ ),
3012
+ type="type"
3013
+ ),
3014
+ knowledge_base_id="knowledgeBaseId",
3015
+ name="name",
3016
+
3017
+ # the properties below are optional
3018
+ description="description",
3019
+ server_side_encryption_configuration=bedrock.CfnDataSource.ServerSideEncryptionConfigurationProperty(
3020
+ kms_key_arn="kmsKeyArn"
3021
+ ),
3022
+ vector_ingestion_configuration=bedrock.CfnDataSource.VectorIngestionConfigurationProperty(
3023
+ chunking_configuration=bedrock.CfnDataSource.ChunkingConfigurationProperty(
3024
+ chunking_strategy="chunkingStrategy",
3025
+
3026
+ # the properties below are optional
3027
+ fixed_size_chunking_configuration=bedrock.CfnDataSource.FixedSizeChunkingConfigurationProperty(
3028
+ max_tokens=123,
3029
+ overlap_percentage=123
3030
+ )
3031
+ )
3032
+ )
3033
+ )
3034
+ '''
3035
+ if __debug__:
3036
+ type_hints = typing.get_type_hints(_typecheckingstub__4beca3e3b31c91619a3fa9da2bf185ffd738124b7965f1c90a191b43c7b62664)
3037
+ check_type(argname="argument data_source_configuration", value=data_source_configuration, expected_type=type_hints["data_source_configuration"])
3038
+ check_type(argname="argument knowledge_base_id", value=knowledge_base_id, expected_type=type_hints["knowledge_base_id"])
3039
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3040
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
3041
+ check_type(argname="argument server_side_encryption_configuration", value=server_side_encryption_configuration, expected_type=type_hints["server_side_encryption_configuration"])
3042
+ check_type(argname="argument vector_ingestion_configuration", value=vector_ingestion_configuration, expected_type=type_hints["vector_ingestion_configuration"])
3043
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3044
+ "data_source_configuration": data_source_configuration,
3045
+ "knowledge_base_id": knowledge_base_id,
3046
+ "name": name,
3047
+ }
3048
+ if description is not None:
3049
+ self._values["description"] = description
3050
+ if server_side_encryption_configuration is not None:
3051
+ self._values["server_side_encryption_configuration"] = server_side_encryption_configuration
3052
+ if vector_ingestion_configuration is not None:
3053
+ self._values["vector_ingestion_configuration"] = vector_ingestion_configuration
3054
+
3055
+ @builtins.property
3056
+ def data_source_configuration(
3057
+ self,
3058
+ ) -> typing.Union[_IResolvable_da3f097b, CfnDataSource.DataSourceConfigurationProperty]:
3059
+ '''Contains details about how the data source is stored.
3060
+
3061
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-datasourceconfiguration
3062
+ '''
3063
+ result = self._values.get("data_source_configuration")
3064
+ assert result is not None, "Required property 'data_source_configuration' is missing"
3065
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnDataSource.DataSourceConfigurationProperty], result)
3066
+
3067
+ @builtins.property
3068
+ def knowledge_base_id(self) -> builtins.str:
3069
+ '''The unique identifier of the knowledge base to which the data source belongs.
3070
+
3071
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-knowledgebaseid
3072
+ '''
3073
+ result = self._values.get("knowledge_base_id")
3074
+ assert result is not None, "Required property 'knowledge_base_id' is missing"
3075
+ return typing.cast(builtins.str, result)
3076
+
3077
+ @builtins.property
3078
+ def name(self) -> builtins.str:
3079
+ '''The name of the data source.
3080
+
3081
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-name
3082
+ '''
3083
+ result = self._values.get("name")
3084
+ assert result is not None, "Required property 'name' is missing"
3085
+ return typing.cast(builtins.str, result)
3086
+
3087
+ @builtins.property
3088
+ def description(self) -> typing.Optional[builtins.str]:
3089
+ '''The description of the data source.
3090
+
3091
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-description
3092
+ '''
3093
+ result = self._values.get("description")
3094
+ return typing.cast(typing.Optional[builtins.str], result)
3095
+
3096
+ @builtins.property
3097
+ def server_side_encryption_configuration(
3098
+ self,
3099
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataSource.ServerSideEncryptionConfigurationProperty]]:
3100
+ '''Contains details about the configuration of the server-side encryption.
3101
+
3102
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-serversideencryptionconfiguration
3103
+ '''
3104
+ result = self._values.get("server_side_encryption_configuration")
3105
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataSource.ServerSideEncryptionConfigurationProperty]], result)
3106
+
3107
+ @builtins.property
3108
+ def vector_ingestion_configuration(
3109
+ self,
3110
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataSource.VectorIngestionConfigurationProperty]]:
3111
+ '''Contains details about how to ingest the documents in the data source.
3112
+
3113
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-vectoringestionconfiguration
3114
+ '''
3115
+ result = self._values.get("vector_ingestion_configuration")
3116
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataSource.VectorIngestionConfigurationProperty]], result)
3117
+
3118
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3119
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3120
+
3121
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3122
+ return not (rhs == self)
3123
+
3124
+ def __repr__(self) -> str:
3125
+ return "CfnDataSourceProps(%s)" % ", ".join(
3126
+ k + "=" + repr(v) for k, v in self._values.items()
3127
+ )
3128
+
3129
+
3130
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
3131
+ class CfnKnowledgeBase(
3132
+ _CfnResource_9df397a6,
3133
+ metaclass=jsii.JSIIMeta,
3134
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnKnowledgeBase",
3135
+ ):
3136
+ '''Specifies a knowledge base as a resource in a top-level template. Minimally, you must specify the following properties:.
3137
+
3138
+ - Name – Specify a name for the knowledge base.
3139
+ - RoleArn – Specify the Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base. For more information, see `Create a service role for Knowledge base for Amazon Bedrock <https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html>`_ .
3140
+ - KnowledgeBaseConfiguration – Specify the embeddings configuration of the knowledge base. The following sub-properties are required:
3141
+ - Type – Specify the value ``VECTOR`` .
3142
+ - StorageConfiguration – Specify information about the vector store in which the data source is stored. The following sub-properties are required:
3143
+ - Type – Specify the vector store service that you are using.
3144
+
3145
+ .. epigraph::
3146
+
3147
+ Redis Enterprise Cloud vector stores are currently unsupported in AWS CloudFormation .
3148
+
3149
+ For more information about using knowledge bases in Amazon Bedrock , see `Knowledge base for Amazon Bedrock <https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html>`_ .
3150
+
3151
+ See the *Properties* section below for descriptions of both the required and optional properties.
3152
+
3153
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html
3154
+ :cloudformationResource: AWS::Bedrock::KnowledgeBase
3155
+ :exampleMetadata: fixture=_generated
3156
+
3157
+ Example::
3158
+
3159
+ # The code below shows an example of how to instantiate this type.
3160
+ # The values are placeholders you should change.
3161
+ from aws_cdk import aws_bedrock as bedrock
3162
+
3163
+ cfn_knowledge_base = bedrock.CfnKnowledgeBase(self, "MyCfnKnowledgeBase",
3164
+ knowledge_base_configuration=bedrock.CfnKnowledgeBase.KnowledgeBaseConfigurationProperty(
3165
+ type="type",
3166
+ vector_knowledge_base_configuration=bedrock.CfnKnowledgeBase.VectorKnowledgeBaseConfigurationProperty(
3167
+ embedding_model_arn="embeddingModelArn"
3168
+ )
3169
+ ),
3170
+ name="name",
3171
+ role_arn="roleArn",
3172
+
3173
+ # the properties below are optional
3174
+ description="description",
3175
+ tags={
3176
+ "tags_key": "tags"
3177
+ }
3178
+ )
3179
+ '''
3180
+
3181
+ def __init__(
3182
+ self,
3183
+ scope: _constructs_77d1e7e8.Construct,
3184
+ id: builtins.str,
3185
+ *,
3186
+ knowledge_base_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnKnowledgeBase.KnowledgeBaseConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
3187
+ name: builtins.str,
3188
+ role_arn: builtins.str,
3189
+ description: typing.Optional[builtins.str] = None,
3190
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3191
+ ) -> None:
3192
+ '''
3193
+ :param scope: Scope in which this resource is defined.
3194
+ :param id: Construct identifier for this resource (unique in its scope).
3195
+ :param knowledge_base_configuration: Contains details about the embeddings configuration of the knowledge base.
3196
+ :param name: The name of the knowledge base.
3197
+ :param role_arn: The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base.
3198
+ :param description: The description of the knowledge base.
3199
+ :param tags: Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:. - `Tag naming limits and requirements <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions>`_ - `Tagging best practices <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices>`_
3200
+ '''
3201
+ if __debug__:
3202
+ type_hints = typing.get_type_hints(_typecheckingstub__6ef81b8dcbedbd76b5a39a6fd5a967ba49aa887b63aad45e2bc246c96c7abcec)
3203
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3204
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3205
+ props = CfnKnowledgeBaseProps(
3206
+ knowledge_base_configuration=knowledge_base_configuration,
3207
+ name=name,
3208
+ role_arn=role_arn,
3209
+ description=description,
3210
+ tags=tags,
3211
+ )
3212
+
3213
+ jsii.create(self.__class__, self, [scope, id, props])
3214
+
3215
+ @jsii.member(jsii_name="inspect")
3216
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
3217
+ '''Examines the CloudFormation resource and discloses attributes.
3218
+
3219
+ :param inspector: tree inspector to collect and process attributes.
3220
+ '''
3221
+ if __debug__:
3222
+ type_hints = typing.get_type_hints(_typecheckingstub__ff4bc276c76fa89d7e7e13dc3bbd6542bf9248bddf93da183855dfef109357e1)
3223
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
3224
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
3225
+
3226
+ @jsii.member(jsii_name="renderProperties")
3227
+ def _render_properties(
3228
+ self,
3229
+ props: typing.Mapping[builtins.str, typing.Any],
3230
+ ) -> typing.Mapping[builtins.str, typing.Any]:
3231
+ '''
3232
+ :param props: -
3233
+ '''
3234
+ if __debug__:
3235
+ type_hints = typing.get_type_hints(_typecheckingstub__ba3c6a8c48301959ccf4c8e325f203936e57edbf8199458a5d3f47355924370f)
3236
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
3237
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
3238
+
3239
+ @jsii.python.classproperty
3240
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
3241
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
3242
+ '''The CloudFormation resource type name for this resource class.'''
3243
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3244
+
3245
+ @builtins.property
3246
+ @jsii.member(jsii_name="attrCreatedAt")
3247
+ def attr_created_at(self) -> builtins.str:
3248
+ '''The time at which the knowledge base was created.
3249
+
3250
+ :cloudformationAttribute: CreatedAt
3251
+ '''
3252
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
3253
+
3254
+ @builtins.property
3255
+ @jsii.member(jsii_name="attrFailureReasons")
3256
+ def attr_failure_reasons(self) -> typing.List[builtins.str]:
3257
+ '''A list of reasons that the API operation on the knowledge base failed.
3258
+
3259
+ :cloudformationAttribute: FailureReasons
3260
+ '''
3261
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrFailureReasons"))
3262
+
3263
+ @builtins.property
3264
+ @jsii.member(jsii_name="attrKnowledgeBaseArn")
3265
+ def attr_knowledge_base_arn(self) -> builtins.str:
3266
+ '''The Amazon Resource Name (ARN) of the knowledge base.
3267
+
3268
+ :cloudformationAttribute: KnowledgeBaseArn
3269
+ '''
3270
+ return typing.cast(builtins.str, jsii.get(self, "attrKnowledgeBaseArn"))
3271
+
3272
+ @builtins.property
3273
+ @jsii.member(jsii_name="attrKnowledgeBaseId")
3274
+ def attr_knowledge_base_id(self) -> builtins.str:
3275
+ '''The unique identifier of the knowledge base.
3276
+
3277
+ :cloudformationAttribute: KnowledgeBaseId
3278
+ '''
3279
+ return typing.cast(builtins.str, jsii.get(self, "attrKnowledgeBaseId"))
3280
+
3281
+ @builtins.property
3282
+ @jsii.member(jsii_name="attrStatus")
3283
+ def attr_status(self) -> builtins.str:
3284
+ '''The status of the knowledge base.
3285
+
3286
+ :cloudformationAttribute: Status
3287
+ '''
3288
+ return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
3289
+
3290
+ @builtins.property
3291
+ @jsii.member(jsii_name="attrUpdatedAt")
3292
+ def attr_updated_at(self) -> builtins.str:
3293
+ '''The time at which the knowledge base was last updated.
3294
+
3295
+ :cloudformationAttribute: UpdatedAt
3296
+ '''
3297
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
3298
+
3299
+ @builtins.property
3300
+ @jsii.member(jsii_name="cdkTagManager")
3301
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
3302
+ '''Tag Manager which manages the tags for this resource.'''
3303
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
3304
+
3305
+ @builtins.property
3306
+ @jsii.member(jsii_name="cfnProperties")
3307
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3308
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3309
+
3310
+ @builtins.property
3311
+ @jsii.member(jsii_name="knowledgeBaseConfiguration")
3312
+ def knowledge_base_configuration(
3313
+ self,
3314
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnKnowledgeBase.KnowledgeBaseConfigurationProperty"]:
3315
+ '''Contains details about the embeddings configuration of the knowledge base.'''
3316
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnKnowledgeBase.KnowledgeBaseConfigurationProperty"], jsii.get(self, "knowledgeBaseConfiguration"))
3317
+
3318
+ @knowledge_base_configuration.setter
3319
+ def knowledge_base_configuration(
3320
+ self,
3321
+ value: typing.Union[_IResolvable_da3f097b, "CfnKnowledgeBase.KnowledgeBaseConfigurationProperty"],
3322
+ ) -> None:
3323
+ if __debug__:
3324
+ type_hints = typing.get_type_hints(_typecheckingstub__cc53309d6eb9442404b7a33330dfd3740f0c9d24afff9f19814de1a0a0e51d32)
3325
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3326
+ jsii.set(self, "knowledgeBaseConfiguration", value)
3327
+
3328
+ @builtins.property
3329
+ @jsii.member(jsii_name="name")
3330
+ def name(self) -> builtins.str:
3331
+ '''The name of the knowledge base.'''
3332
+ return typing.cast(builtins.str, jsii.get(self, "name"))
3333
+
3334
+ @name.setter
3335
+ def name(self, value: builtins.str) -> None:
3336
+ if __debug__:
3337
+ type_hints = typing.get_type_hints(_typecheckingstub__98ce011ed3a47084236afba28b5e5d0da34db483b792c0f0dd621b409474b6fb)
3338
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3339
+ jsii.set(self, "name", value)
3340
+
3341
+ @builtins.property
3342
+ @jsii.member(jsii_name="roleArn")
3343
+ def role_arn(self) -> builtins.str:
3344
+ '''The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base.'''
3345
+ return typing.cast(builtins.str, jsii.get(self, "roleArn"))
3346
+
3347
+ @role_arn.setter
3348
+ def role_arn(self, value: builtins.str) -> None:
3349
+ if __debug__:
3350
+ type_hints = typing.get_type_hints(_typecheckingstub__e6281f2d1ed9a2f71b02754159fe6b2d8c70d3527e97d2d060434dc3483f2ad5)
3351
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3352
+ jsii.set(self, "roleArn", value)
3353
+
3354
+ @builtins.property
3355
+ @jsii.member(jsii_name="description")
3356
+ def description(self) -> typing.Optional[builtins.str]:
3357
+ '''The description of the knowledge base.'''
3358
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
3359
+
3360
+ @description.setter
3361
+ def description(self, value: typing.Optional[builtins.str]) -> None:
3362
+ if __debug__:
3363
+ type_hints = typing.get_type_hints(_typecheckingstub__f9fef7f262d2bad58c7f37c90b8756dd028b772a93aa036a4caf0c9565a7fff1)
3364
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3365
+ jsii.set(self, "description", value)
3366
+
3367
+ @builtins.property
3368
+ @jsii.member(jsii_name="tags")
3369
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
3370
+ '''Metadata that you can assign to a resource as key-value pairs.
3371
+
3372
+ For more information, see the following resources:.
3373
+ '''
3374
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
3375
+
3376
+ @tags.setter
3377
+ def tags(
3378
+ self,
3379
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
3380
+ ) -> None:
3381
+ if __debug__:
3382
+ type_hints = typing.get_type_hints(_typecheckingstub__3aaa5f9544be44cbc2ddb7d96026222438266e370aa05113a01af8f251b7286f)
3383
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3384
+ jsii.set(self, "tags", value)
3385
+
3386
+ @jsii.data_type(
3387
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnKnowledgeBase.KnowledgeBaseConfigurationProperty",
3388
+ jsii_struct_bases=[],
3389
+ name_mapping={
3390
+ "type": "type",
3391
+ "vector_knowledge_base_configuration": "vectorKnowledgeBaseConfiguration",
3392
+ },
3393
+ )
3394
+ class KnowledgeBaseConfigurationProperty:
3395
+ def __init__(
3396
+ self,
3397
+ *,
3398
+ type: builtins.str,
3399
+ vector_knowledge_base_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnKnowledgeBase.VectorKnowledgeBaseConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
3400
+ ) -> None:
3401
+ '''Contains details about the embeddings configuration of the knowledge base.
3402
+
3403
+ :param type: The type of data that the data source is converted into for the knowledge base.
3404
+ :param vector_knowledge_base_configuration: Contains details about the embeddings model that'sused to convert the data source.
3405
+
3406
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-knowledgebaseconfiguration.html
3407
+ :exampleMetadata: fixture=_generated
3408
+
3409
+ Example::
3410
+
3411
+ # The code below shows an example of how to instantiate this type.
3412
+ # The values are placeholders you should change.
3413
+ from aws_cdk import aws_bedrock as bedrock
3414
+
3415
+ knowledge_base_configuration_property = bedrock.CfnKnowledgeBase.KnowledgeBaseConfigurationProperty(
3416
+ type="type",
3417
+ vector_knowledge_base_configuration=bedrock.CfnKnowledgeBase.VectorKnowledgeBaseConfigurationProperty(
3418
+ embedding_model_arn="embeddingModelArn"
3419
+ )
3420
+ )
3421
+ '''
3422
+ if __debug__:
3423
+ type_hints = typing.get_type_hints(_typecheckingstub__f2ca26f28cc4cf3a289e62f58643faf6a7d98ea3e55e7ff4f0f77530fa0294b4)
3424
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
3425
+ check_type(argname="argument vector_knowledge_base_configuration", value=vector_knowledge_base_configuration, expected_type=type_hints["vector_knowledge_base_configuration"])
3426
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3427
+ "type": type,
3428
+ "vector_knowledge_base_configuration": vector_knowledge_base_configuration,
3429
+ }
3430
+
3431
+ @builtins.property
3432
+ def type(self) -> builtins.str:
3433
+ '''The type of data that the data source is converted into for the knowledge base.
3434
+
3435
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-knowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-knowledgebaseconfiguration-type
3436
+ '''
3437
+ result = self._values.get("type")
3438
+ assert result is not None, "Required property 'type' is missing"
3439
+ return typing.cast(builtins.str, result)
3440
+
3441
+ @builtins.property
3442
+ def vector_knowledge_base_configuration(
3443
+ self,
3444
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnKnowledgeBase.VectorKnowledgeBaseConfigurationProperty"]:
3445
+ '''Contains details about the embeddings model that'sused to convert the data source.
3446
+
3447
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-knowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-knowledgebaseconfiguration-vectorknowledgebaseconfiguration
3448
+ '''
3449
+ result = self._values.get("vector_knowledge_base_configuration")
3450
+ assert result is not None, "Required property 'vector_knowledge_base_configuration' is missing"
3451
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnKnowledgeBase.VectorKnowledgeBaseConfigurationProperty"], result)
3452
+
3453
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3454
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3455
+
3456
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3457
+ return not (rhs == self)
3458
+
3459
+ def __repr__(self) -> str:
3460
+ return "KnowledgeBaseConfigurationProperty(%s)" % ", ".join(
3461
+ k + "=" + repr(v) for k, v in self._values.items()
3462
+ )
3463
+
3464
+ @jsii.data_type(
3465
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnKnowledgeBase.VectorKnowledgeBaseConfigurationProperty",
3466
+ jsii_struct_bases=[],
3467
+ name_mapping={"embedding_model_arn": "embeddingModelArn"},
3468
+ )
3469
+ class VectorKnowledgeBaseConfigurationProperty:
3470
+ def __init__(self, *, embedding_model_arn: builtins.str) -> None:
3471
+ '''Contains details about the model used to create vector embeddings for the knowledge base.
3472
+
3473
+ :param embedding_model_arn: The Amazon Resource Name (ARN) of the model used to create vector embeddings for the knowledge base.
3474
+
3475
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-vectorknowledgebaseconfiguration.html
3476
+ :exampleMetadata: fixture=_generated
3477
+
3478
+ Example::
3479
+
3480
+ # The code below shows an example of how to instantiate this type.
3481
+ # The values are placeholders you should change.
3482
+ from aws_cdk import aws_bedrock as bedrock
3483
+
3484
+ vector_knowledge_base_configuration_property = bedrock.CfnKnowledgeBase.VectorKnowledgeBaseConfigurationProperty(
3485
+ embedding_model_arn="embeddingModelArn"
3486
+ )
3487
+ '''
3488
+ if __debug__:
3489
+ type_hints = typing.get_type_hints(_typecheckingstub__53b08e209954b21c35b746e5eee517d51370af30630f5f17b3e5435150898236)
3490
+ check_type(argname="argument embedding_model_arn", value=embedding_model_arn, expected_type=type_hints["embedding_model_arn"])
3491
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3492
+ "embedding_model_arn": embedding_model_arn,
3493
+ }
3494
+
3495
+ @builtins.property
3496
+ def embedding_model_arn(self) -> builtins.str:
3497
+ '''The Amazon Resource Name (ARN) of the model used to create vector embeddings for the knowledge base.
3498
+
3499
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-vectorknowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-vectorknowledgebaseconfiguration-embeddingmodelarn
3500
+ '''
3501
+ result = self._values.get("embedding_model_arn")
3502
+ assert result is not None, "Required property 'embedding_model_arn' is missing"
3503
+ return typing.cast(builtins.str, result)
3504
+
3505
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3506
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3507
+
3508
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3509
+ return not (rhs == self)
3510
+
3511
+ def __repr__(self) -> str:
3512
+ return "VectorKnowledgeBaseConfigurationProperty(%s)" % ", ".join(
3513
+ k + "=" + repr(v) for k, v in self._values.items()
3514
+ )
3515
+
3516
+
3517
+ @jsii.data_type(
3518
+ jsii_type="aws-cdk-lib.aws_bedrock.CfnKnowledgeBaseProps",
3519
+ jsii_struct_bases=[],
3520
+ name_mapping={
3521
+ "knowledge_base_configuration": "knowledgeBaseConfiguration",
3522
+ "name": "name",
3523
+ "role_arn": "roleArn",
3524
+ "description": "description",
3525
+ "tags": "tags",
3526
+ },
3527
+ )
3528
+ class CfnKnowledgeBaseProps:
3529
+ def __init__(
3530
+ self,
3531
+ *,
3532
+ knowledge_base_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnKnowledgeBase.KnowledgeBaseConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
3533
+ name: builtins.str,
3534
+ role_arn: builtins.str,
3535
+ description: typing.Optional[builtins.str] = None,
3536
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3537
+ ) -> None:
3538
+ '''Properties for defining a ``CfnKnowledgeBase``.
3539
+
3540
+ :param knowledge_base_configuration: Contains details about the embeddings configuration of the knowledge base.
3541
+ :param name: The name of the knowledge base.
3542
+ :param role_arn: The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base.
3543
+ :param description: The description of the knowledge base.
3544
+ :param tags: Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:. - `Tag naming limits and requirements <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions>`_ - `Tagging best practices <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices>`_
3545
+
3546
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html
3547
+ :exampleMetadata: fixture=_generated
3548
+
3549
+ Example::
3550
+
3551
+ # The code below shows an example of how to instantiate this type.
3552
+ # The values are placeholders you should change.
3553
+ from aws_cdk import aws_bedrock as bedrock
3554
+
3555
+ cfn_knowledge_base_props = bedrock.CfnKnowledgeBaseProps(
3556
+ knowledge_base_configuration=bedrock.CfnKnowledgeBase.KnowledgeBaseConfigurationProperty(
3557
+ type="type",
3558
+ vector_knowledge_base_configuration=bedrock.CfnKnowledgeBase.VectorKnowledgeBaseConfigurationProperty(
3559
+ embedding_model_arn="embeddingModelArn"
3560
+ )
3561
+ ),
3562
+ name="name",
3563
+ role_arn="roleArn",
3564
+
3565
+ # the properties below are optional
3566
+ description="description",
3567
+ tags={
3568
+ "tags_key": "tags"
3569
+ }
3570
+ )
3571
+ '''
3572
+ if __debug__:
3573
+ type_hints = typing.get_type_hints(_typecheckingstub__a5f6560ff734e79a877ac4cd934408cd79b9c6a6c1dac195972f27ac455fce2f)
3574
+ check_type(argname="argument knowledge_base_configuration", value=knowledge_base_configuration, expected_type=type_hints["knowledge_base_configuration"])
3575
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3576
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
3577
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
3578
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3579
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3580
+ "knowledge_base_configuration": knowledge_base_configuration,
3581
+ "name": name,
3582
+ "role_arn": role_arn,
3583
+ }
3584
+ if description is not None:
3585
+ self._values["description"] = description
3586
+ if tags is not None:
3587
+ self._values["tags"] = tags
3588
+
3589
+ @builtins.property
3590
+ def knowledge_base_configuration(
3591
+ self,
3592
+ ) -> typing.Union[_IResolvable_da3f097b, CfnKnowledgeBase.KnowledgeBaseConfigurationProperty]:
3593
+ '''Contains details about the embeddings configuration of the knowledge base.
3594
+
3595
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-knowledgebaseconfiguration
3596
+ '''
3597
+ result = self._values.get("knowledge_base_configuration")
3598
+ assert result is not None, "Required property 'knowledge_base_configuration' is missing"
3599
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnKnowledgeBase.KnowledgeBaseConfigurationProperty], result)
3600
+
3601
+ @builtins.property
3602
+ def name(self) -> builtins.str:
3603
+ '''The name of the knowledge base.
3604
+
3605
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-name
3606
+ '''
3607
+ result = self._values.get("name")
3608
+ assert result is not None, "Required property 'name' is missing"
3609
+ return typing.cast(builtins.str, result)
3610
+
3611
+ @builtins.property
3612
+ def role_arn(self) -> builtins.str:
3613
+ '''The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base.
3614
+
3615
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-rolearn
3616
+ '''
3617
+ result = self._values.get("role_arn")
3618
+ assert result is not None, "Required property 'role_arn' is missing"
3619
+ return typing.cast(builtins.str, result)
3620
+
3621
+ @builtins.property
3622
+ def description(self) -> typing.Optional[builtins.str]:
3623
+ '''The description of the knowledge base.
3624
+
3625
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-description
3626
+ '''
3627
+ result = self._values.get("description")
3628
+ return typing.cast(typing.Optional[builtins.str], result)
3629
+
3630
+ @builtins.property
3631
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
3632
+ '''Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:.
3633
+
3634
+ - `Tag naming limits and requirements <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions>`_
3635
+ - `Tagging best practices <https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices>`_
3636
+
3637
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-tags
3638
+ '''
3639
+ result = self._values.get("tags")
3640
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
3641
+
3642
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3643
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3644
+
3645
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3646
+ return not (rhs == self)
3647
+
3648
+ def __repr__(self) -> str:
3649
+ return "CfnKnowledgeBaseProps(%s)" % ", ".join(
3650
+ k + "=" + repr(v) for k, v in self._values.items()
3651
+ )
47
3652
 
48
3653
 
49
3654
  class FoundationModelIdentifier(
@@ -181,12 +3786,54 @@ class FoundationModelIdentifier(
181
3786
  '''Base model "amazon.titan-tg1-large".'''
182
3787
  return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "AMAZON_TITAN_TG1_LARGE"))
183
3788
 
3789
+ @jsii.python.classproperty
3790
+ @jsii.member(jsii_name="ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0")
3791
+ def ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0(cls) -> "FoundationModelIdentifier":
3792
+ '''Base model "anthropic.claude-3-haiku-20240307-v1:0".'''
3793
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0"))
3794
+
3795
+ @jsii.python.classproperty
3796
+ @jsii.member(jsii_name="ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0_200K")
3797
+ def ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0_200_K(
3798
+ cls,
3799
+ ) -> "FoundationModelIdentifier":
3800
+ '''Base model "anthropic.claude-3-haiku-20240307-v1:0:200k".'''
3801
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0_200K"))
3802
+
3803
+ @jsii.python.classproperty
3804
+ @jsii.member(jsii_name="ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0_48K")
3805
+ def ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0_48_K(cls) -> "FoundationModelIdentifier":
3806
+ '''Base model "anthropic.claude-3-haiku-20240307-v1:0:48k".'''
3807
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0_48K"))
3808
+
3809
+ @jsii.python.classproperty
3810
+ @jsii.member(jsii_name="ANTHROPIC_CLAUDE_3_OPUS_20240229_V1_0")
3811
+ def ANTHROPIC_CLAUDE_3_OPUS_20240229_V1_0(cls) -> "FoundationModelIdentifier":
3812
+ '''Base model "anthropic.claude-3-opus-20240229-v1:0".'''
3813
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_3_OPUS_20240229_V1_0"))
3814
+
184
3815
  @jsii.python.classproperty
185
3816
  @jsii.member(jsii_name="ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0")
186
3817
  def ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0(cls) -> "FoundationModelIdentifier":
187
3818
  '''Base model "anthropic.claude-3-sonnet-20240229-v1:0".'''
188
3819
  return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0"))
189
3820
 
3821
+ @jsii.python.classproperty
3822
+ @jsii.member(jsii_name="ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0_200K")
3823
+ def ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0_200_K(
3824
+ cls,
3825
+ ) -> "FoundationModelIdentifier":
3826
+ '''Base model "anthropic.claude-3-sonnet-20240229-v1:0:200k".'''
3827
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0_200K"))
3828
+
3829
+ @jsii.python.classproperty
3830
+ @jsii.member(jsii_name="ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0_28K")
3831
+ def ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0_28_K(
3832
+ cls,
3833
+ ) -> "FoundationModelIdentifier":
3834
+ '''Base model "anthropic.claude-3-sonnet-20240229-v1:0:28k".'''
3835
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0_28K"))
3836
+
190
3837
  @jsii.python.classproperty
191
3838
  @jsii.member(jsii_name="ANTHROPIC_CLAUDE_INSTANT_V1")
192
3839
  def ANTHROPIC_CLAUDE_INSTANT_V1(cls) -> "FoundationModelIdentifier":
@@ -534,6 +4181,14 @@ class FoundationModel(
534
4181
 
535
4182
 
536
4183
  __all__ = [
4184
+ "CfnAgent",
4185
+ "CfnAgentAlias",
4186
+ "CfnAgentAliasProps",
4187
+ "CfnAgentProps",
4188
+ "CfnDataSource",
4189
+ "CfnDataSourceProps",
4190
+ "CfnKnowledgeBase",
4191
+ "CfnKnowledgeBaseProps",
537
4192
  "FoundationModel",
538
4193
  "FoundationModelIdentifier",
539
4194
  "IModel",
@@ -542,6 +4197,495 @@ __all__ = [
542
4197
 
543
4198
  publication.publish()
544
4199
 
4200
+ def _typecheckingstub__facaad57ffe16da42f099d2b7997f3e6fd3b9eba46fd226d8fb5afe286371e74(
4201
+ scope: _constructs_77d1e7e8.Construct,
4202
+ id: builtins.str,
4203
+ *,
4204
+ agent_name: builtins.str,
4205
+ action_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.AgentActionGroupProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4206
+ agent_resource_role_arn: typing.Optional[builtins.str] = None,
4207
+ auto_prepare: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4208
+ customer_encryption_key_arn: typing.Optional[builtins.str] = None,
4209
+ description: typing.Optional[builtins.str] = None,
4210
+ foundation_model: typing.Optional[builtins.str] = None,
4211
+ idle_session_ttl_in_seconds: typing.Optional[jsii.Number] = None,
4212
+ instruction: typing.Optional[builtins.str] = None,
4213
+ knowledge_bases: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.AgentKnowledgeBaseProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4214
+ prompt_override_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.PromptOverrideConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4215
+ skip_resource_in_use_check_on_delete: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4216
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4217
+ ) -> None:
4218
+ """Type checking stubs"""
4219
+ pass
4220
+
4221
+ def _typecheckingstub__c671dddc0216853bf62cdd51e6c2889b8dfe0d7819a455df2ad71c5b8d67daba(
4222
+ inspector: _TreeInspector_488e0dd5,
4223
+ ) -> None:
4224
+ """Type checking stubs"""
4225
+ pass
4226
+
4227
+ def _typecheckingstub__0633cd876f44b7c72e1346d6b26f361a0d1afbb01604add4ba48210303ccc35c(
4228
+ props: typing.Mapping[builtins.str, typing.Any],
4229
+ ) -> None:
4230
+ """Type checking stubs"""
4231
+ pass
4232
+
4233
+ def _typecheckingstub__89c19306b2dfaafb18e03ff6cb134d14ba6e0563e4a2c79c53886ba8207714cc(
4234
+ value: builtins.str,
4235
+ ) -> None:
4236
+ """Type checking stubs"""
4237
+ pass
4238
+
4239
+ def _typecheckingstub__f670733e4a574d57292a648f4a8ad68ef64492d8f6667729aee160997a190e16(
4240
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAgent.AgentActionGroupProperty]]]],
4241
+ ) -> None:
4242
+ """Type checking stubs"""
4243
+ pass
4244
+
4245
+ def _typecheckingstub__36b021046f759c8bbfbfb02bceb7d337926c83d3e866d3dcd420bb7819e254ca(
4246
+ value: typing.Optional[builtins.str],
4247
+ ) -> None:
4248
+ """Type checking stubs"""
4249
+ pass
4250
+
4251
+ def _typecheckingstub__8dc98d7cbd7435359b362ef11a9b384386d54f878814d4c596d3dfa290281e67(
4252
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
4253
+ ) -> None:
4254
+ """Type checking stubs"""
4255
+ pass
4256
+
4257
+ def _typecheckingstub__ea763219d3fed10a3841f0a137399ddf8f575abf9b1691273415e66f4f0763c2(
4258
+ value: typing.Optional[builtins.str],
4259
+ ) -> None:
4260
+ """Type checking stubs"""
4261
+ pass
4262
+
4263
+ def _typecheckingstub__0bd6874957339badfe5e02e7733947f3ba0b1fdc8c597003bfe10fc7ff96c537(
4264
+ value: typing.Optional[builtins.str],
4265
+ ) -> None:
4266
+ """Type checking stubs"""
4267
+ pass
4268
+
4269
+ def _typecheckingstub__75110aa6cf6cc2a463a78a36e9a6327c59875b1ef94d53da3047b8ec62c79fd4(
4270
+ value: typing.Optional[builtins.str],
4271
+ ) -> None:
4272
+ """Type checking stubs"""
4273
+ pass
4274
+
4275
+ def _typecheckingstub__e29f42af6a8bf7aee6adb6b35e7809da69175082446368854bd402491896a71f(
4276
+ value: typing.Optional[jsii.Number],
4277
+ ) -> None:
4278
+ """Type checking stubs"""
4279
+ pass
4280
+
4281
+ def _typecheckingstub__51c531a159f9cc0e23a07b5bc12cf53006e4207dd460e3ce580c57fa76109e86(
4282
+ value: typing.Optional[builtins.str],
4283
+ ) -> None:
4284
+ """Type checking stubs"""
4285
+ pass
4286
+
4287
+ def _typecheckingstub__8842d93181ada69f14f22e8ff6855e528b858dd0baf705a1ae228b3d96ef38d6(
4288
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAgent.AgentKnowledgeBaseProperty]]]],
4289
+ ) -> None:
4290
+ """Type checking stubs"""
4291
+ pass
4292
+
4293
+ def _typecheckingstub__0d115c78c31e0cc4b4828b953c3afd44f4b9271c4e3aaad46777846216d6e9b8(
4294
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAgent.PromptOverrideConfigurationProperty]],
4295
+ ) -> None:
4296
+ """Type checking stubs"""
4297
+ pass
4298
+
4299
+ def _typecheckingstub__b8f4401bf1c7d6b30870233c265d99a973b05e80ad9e53ab7945a82208a3bf49(
4300
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
4301
+ ) -> None:
4302
+ """Type checking stubs"""
4303
+ pass
4304
+
4305
+ def _typecheckingstub__f9e79489cae3525b40539f62fddb8a1f8b194bc0b1d166146c12f85a52d978be(
4306
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
4307
+ ) -> None:
4308
+ """Type checking stubs"""
4309
+ pass
4310
+
4311
+ def _typecheckingstub__537a89983eef4dfdf436d52865dbd27f462f778f0de6c8ec6162918153faf331(
4312
+ *,
4313
+ payload: typing.Optional[builtins.str] = None,
4314
+ s3: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.S3IdentifierProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4315
+ ) -> None:
4316
+ """Type checking stubs"""
4317
+ pass
4318
+
4319
+ def _typecheckingstub__27e0c43d5a1e3dda92d710404aea51beb5f30a149322d9ec3e8d354b889735eb(
4320
+ *,
4321
+ lambda_: builtins.str,
4322
+ ) -> None:
4323
+ """Type checking stubs"""
4324
+ pass
4325
+
4326
+ def _typecheckingstub__adb9c2568194cbbe9c081f2a8339eaee9966d82b8c5c5ffbc732275ef4a1b76a(
4327
+ *,
4328
+ action_group_name: builtins.str,
4329
+ action_group_executor: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.ActionGroupExecutorProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4330
+ action_group_state: typing.Optional[builtins.str] = None,
4331
+ api_schema: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.APISchemaProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4332
+ description: typing.Optional[builtins.str] = None,
4333
+ parent_action_group_signature: typing.Optional[builtins.str] = None,
4334
+ skip_resource_in_use_check_on_delete: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4335
+ ) -> None:
4336
+ """Type checking stubs"""
4337
+ pass
4338
+
4339
+ def _typecheckingstub__45f582a007ade3e95453c6c5cd09673a7089ab2673014cc97bc0c1eee1d85391(
4340
+ *,
4341
+ description: builtins.str,
4342
+ knowledge_base_id: builtins.str,
4343
+ knowledge_base_state: typing.Optional[builtins.str] = None,
4344
+ ) -> None:
4345
+ """Type checking stubs"""
4346
+ pass
4347
+
4348
+ def _typecheckingstub__0b8b0e306d1a46c4fdcedd77b9e6caf3ca221fe8133fe3ce29c1e5e779cc3189(
4349
+ *,
4350
+ maximum_length: typing.Optional[jsii.Number] = None,
4351
+ stop_sequences: typing.Optional[typing.Sequence[builtins.str]] = None,
4352
+ temperature: typing.Optional[jsii.Number] = None,
4353
+ top_k: typing.Optional[jsii.Number] = None,
4354
+ top_p: typing.Optional[jsii.Number] = None,
4355
+ ) -> None:
4356
+ """Type checking stubs"""
4357
+ pass
4358
+
4359
+ def _typecheckingstub__072678823f2b5bb708860fe2f54d37c6a24153ba05ec6c798f1cbb1222e7cd7b(
4360
+ *,
4361
+ base_prompt_template: typing.Optional[builtins.str] = None,
4362
+ inference_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.InferenceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4363
+ parser_mode: typing.Optional[builtins.str] = None,
4364
+ prompt_creation_mode: typing.Optional[builtins.str] = None,
4365
+ prompt_state: typing.Optional[builtins.str] = None,
4366
+ prompt_type: typing.Optional[builtins.str] = None,
4367
+ ) -> None:
4368
+ """Type checking stubs"""
4369
+ pass
4370
+
4371
+ def _typecheckingstub__79a38248b49cbea1e103efe955cc12c1bd5e500b242bd9490c1c81253830d77d(
4372
+ *,
4373
+ prompt_configurations: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.PromptConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]],
4374
+ override_lambda: typing.Optional[builtins.str] = None,
4375
+ ) -> None:
4376
+ """Type checking stubs"""
4377
+ pass
4378
+
4379
+ def _typecheckingstub__1e9a91ab9025dd36217ed95088c50220259ce5115620391445737700490cba60(
4380
+ *,
4381
+ s3_bucket_name: typing.Optional[builtins.str] = None,
4382
+ s3_object_key: typing.Optional[builtins.str] = None,
4383
+ ) -> None:
4384
+ """Type checking stubs"""
4385
+ pass
4386
+
4387
+ def _typecheckingstub__9a8230a990c5fac91dc09e3de4211aa6f82fce95537f199a7987ca92f4722ee0(
4388
+ scope: _constructs_77d1e7e8.Construct,
4389
+ id: builtins.str,
4390
+ *,
4391
+ agent_alias_name: builtins.str,
4392
+ agent_id: builtins.str,
4393
+ description: typing.Optional[builtins.str] = None,
4394
+ routing_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4395
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4396
+ ) -> None:
4397
+ """Type checking stubs"""
4398
+ pass
4399
+
4400
+ def _typecheckingstub__881be8885c059b078e3110beb1aed396db2ce3f0505bec32be8cedeba399356d(
4401
+ inspector: _TreeInspector_488e0dd5,
4402
+ ) -> None:
4403
+ """Type checking stubs"""
4404
+ pass
4405
+
4406
+ def _typecheckingstub__a7100eb19771c4ffaea3a7323fe3cb5fcb6702a3fa7fdaf66bc8a4db1eae875c(
4407
+ props: typing.Mapping[builtins.str, typing.Any],
4408
+ ) -> None:
4409
+ """Type checking stubs"""
4410
+ pass
4411
+
4412
+ def _typecheckingstub__4929f9d1fe1c750108b588135fd2420ee93abad44713bd60a4f90bf0bab64e78(
4413
+ value: builtins.str,
4414
+ ) -> None:
4415
+ """Type checking stubs"""
4416
+ pass
4417
+
4418
+ def _typecheckingstub__b10c310fa33a8cb7b52c456850e88b42ea1b312acb49b915241cc6f52ef15136(
4419
+ value: builtins.str,
4420
+ ) -> None:
4421
+ """Type checking stubs"""
4422
+ pass
4423
+
4424
+ def _typecheckingstub__57ab6386ae765e3eaf37d16d7a5314cdca1d8b60ea095a4fa303d13c84722e78(
4425
+ value: typing.Optional[builtins.str],
4426
+ ) -> None:
4427
+ """Type checking stubs"""
4428
+ pass
4429
+
4430
+ def _typecheckingstub__ca75abf30c6951a069bde3673588677ff723ad86067bf5365bb584482bed50a8(
4431
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty]]]],
4432
+ ) -> None:
4433
+ """Type checking stubs"""
4434
+ pass
4435
+
4436
+ def _typecheckingstub__cf90503b3b2050ab4f0f6ba0bf057a037193369214d4f027b567d3062bda19b8(
4437
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
4438
+ ) -> None:
4439
+ """Type checking stubs"""
4440
+ pass
4441
+
4442
+ def _typecheckingstub__4220f7b3bb12c49a75057af394368ca2d4de63c53d832e73767eb01f3bccb2ce(
4443
+ *,
4444
+ end_date: typing.Optional[builtins.str] = None,
4445
+ routing_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4446
+ start_date: typing.Optional[builtins.str] = None,
4447
+ ) -> None:
4448
+ """Type checking stubs"""
4449
+ pass
4450
+
4451
+ def _typecheckingstub__846d3bcc8614fd45d175f992a20505b220910c107392df0930556bb43637fc79(
4452
+ *,
4453
+ agent_version: builtins.str,
4454
+ ) -> None:
4455
+ """Type checking stubs"""
4456
+ pass
4457
+
4458
+ def _typecheckingstub__c3144a1c66c11b4a2b15be859f361c848648aefb3df04b8fce2befe94f215c68(
4459
+ *,
4460
+ agent_alias_name: builtins.str,
4461
+ agent_id: builtins.str,
4462
+ description: typing.Optional[builtins.str] = None,
4463
+ routing_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgentAlias.AgentAliasRoutingConfigurationListItemProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4464
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4465
+ ) -> None:
4466
+ """Type checking stubs"""
4467
+ pass
4468
+
4469
+ def _typecheckingstub__b4f714080f6d4f9b0a3fe85a8425a8ba69698695e35d6fbd9d710ca5d99ba6e8(
4470
+ *,
4471
+ agent_name: builtins.str,
4472
+ action_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.AgentActionGroupProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4473
+ agent_resource_role_arn: typing.Optional[builtins.str] = None,
4474
+ auto_prepare: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4475
+ customer_encryption_key_arn: typing.Optional[builtins.str] = None,
4476
+ description: typing.Optional[builtins.str] = None,
4477
+ foundation_model: typing.Optional[builtins.str] = None,
4478
+ idle_session_ttl_in_seconds: typing.Optional[jsii.Number] = None,
4479
+ instruction: typing.Optional[builtins.str] = None,
4480
+ knowledge_bases: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.AgentKnowledgeBaseProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4481
+ prompt_override_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgent.PromptOverrideConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4482
+ skip_resource_in_use_check_on_delete: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4483
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4484
+ ) -> None:
4485
+ """Type checking stubs"""
4486
+ pass
4487
+
4488
+ def _typecheckingstub__8b6230da788965416b3262c41917eaab2193b3cfccf7a03f313a8c19186a6b75(
4489
+ scope: _constructs_77d1e7e8.Construct,
4490
+ id: builtins.str,
4491
+ *,
4492
+ data_source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.DataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
4493
+ knowledge_base_id: builtins.str,
4494
+ name: builtins.str,
4495
+ description: typing.Optional[builtins.str] = None,
4496
+ server_side_encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.ServerSideEncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4497
+ vector_ingestion_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.VectorIngestionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4498
+ ) -> None:
4499
+ """Type checking stubs"""
4500
+ pass
4501
+
4502
+ def _typecheckingstub__e68a33df1c2e42bd5580cdec505e709cbe6a0663b8142f6fb3ba8e70911ceb85(
4503
+ inspector: _TreeInspector_488e0dd5,
4504
+ ) -> None:
4505
+ """Type checking stubs"""
4506
+ pass
4507
+
4508
+ def _typecheckingstub__b23978dd788bb65ad2e2571764c987a4729f9d5c9d17c903f53a10cd4e3ad3e7(
4509
+ props: typing.Mapping[builtins.str, typing.Any],
4510
+ ) -> None:
4511
+ """Type checking stubs"""
4512
+ pass
4513
+
4514
+ def _typecheckingstub__a387108ccda2b96813f79478d4429abb297f766ce080c3bf9b77d03af3db534c(
4515
+ value: typing.Union[_IResolvable_da3f097b, CfnDataSource.DataSourceConfigurationProperty],
4516
+ ) -> None:
4517
+ """Type checking stubs"""
4518
+ pass
4519
+
4520
+ def _typecheckingstub__62d585d364d6684899cbce3ae80a62858e2f256e166c889705e2ecb2040e935d(
4521
+ value: builtins.str,
4522
+ ) -> None:
4523
+ """Type checking stubs"""
4524
+ pass
4525
+
4526
+ def _typecheckingstub__99613771dd63beb77d047c2f17b9362e99ec38dd6fb89ec0c78f690f7847fc0b(
4527
+ value: builtins.str,
4528
+ ) -> None:
4529
+ """Type checking stubs"""
4530
+ pass
4531
+
4532
+ def _typecheckingstub__7fc31b7620f239d59ff8a40cb711119c09cf659e115e22ba5d86a3d2a36aa17b(
4533
+ value: typing.Optional[builtins.str],
4534
+ ) -> None:
4535
+ """Type checking stubs"""
4536
+ pass
4537
+
4538
+ def _typecheckingstub__1fe19aafcbb9637979bddaf7a230433b26f791bb09744dabcf0e95496322565d(
4539
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataSource.ServerSideEncryptionConfigurationProperty]],
4540
+ ) -> None:
4541
+ """Type checking stubs"""
4542
+ pass
4543
+
4544
+ def _typecheckingstub__033990e14b671fe96b02a12658cd4beadf8bae975b4e0c94984d3e41913522c8(
4545
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataSource.VectorIngestionConfigurationProperty]],
4546
+ ) -> None:
4547
+ """Type checking stubs"""
4548
+ pass
4549
+
4550
+ def _typecheckingstub__8beec747a0f57f641fd4bd3b03f73b678c8e286785d948f80998682f0c0a40e5(
4551
+ *,
4552
+ chunking_strategy: builtins.str,
4553
+ fixed_size_chunking_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.FixedSizeChunkingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4554
+ ) -> None:
4555
+ """Type checking stubs"""
4556
+ pass
4557
+
4558
+ def _typecheckingstub__a2e1b0c807d6904904c91cc13a2f47ee5db24090758446e26a864b57b3d36117(
4559
+ *,
4560
+ s3_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.S3DataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
4561
+ type: builtins.str,
4562
+ ) -> None:
4563
+ """Type checking stubs"""
4564
+ pass
4565
+
4566
+ def _typecheckingstub__7b9e8054cbf79d2292e738f1061947914954b89440b15bf572c87c9695aaf7bc(
4567
+ *,
4568
+ max_tokens: jsii.Number,
4569
+ overlap_percentage: jsii.Number,
4570
+ ) -> None:
4571
+ """Type checking stubs"""
4572
+ pass
4573
+
4574
+ def _typecheckingstub__6b4929296343a5ea55bce5d28d11b34fa10885df35596a08102658f8bcbc8c5b(
4575
+ *,
4576
+ bucket_arn: builtins.str,
4577
+ inclusion_prefixes: typing.Optional[typing.Sequence[builtins.str]] = None,
4578
+ ) -> None:
4579
+ """Type checking stubs"""
4580
+ pass
4581
+
4582
+ def _typecheckingstub__e7bf662e3d628b0671b547dd26face3c322a93684b4b5578ec4cda1099b30e6a(
4583
+ *,
4584
+ kms_key_arn: typing.Optional[builtins.str] = None,
4585
+ ) -> None:
4586
+ """Type checking stubs"""
4587
+ pass
4588
+
4589
+ def _typecheckingstub__37255db3e7cacfdeadc2d28bfe7938fd13ab4a2cd72190024a531eddf1fd9ec0(
4590
+ *,
4591
+ chunking_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.ChunkingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4592
+ ) -> None:
4593
+ """Type checking stubs"""
4594
+ pass
4595
+
4596
+ def _typecheckingstub__4beca3e3b31c91619a3fa9da2bf185ffd738124b7965f1c90a191b43c7b62664(
4597
+ *,
4598
+ data_source_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.DataSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
4599
+ knowledge_base_id: builtins.str,
4600
+ name: builtins.str,
4601
+ description: typing.Optional[builtins.str] = None,
4602
+ server_side_encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.ServerSideEncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4603
+ vector_ingestion_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataSource.VectorIngestionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4604
+ ) -> None:
4605
+ """Type checking stubs"""
4606
+ pass
4607
+
4608
+ def _typecheckingstub__6ef81b8dcbedbd76b5a39a6fd5a967ba49aa887b63aad45e2bc246c96c7abcec(
4609
+ scope: _constructs_77d1e7e8.Construct,
4610
+ id: builtins.str,
4611
+ *,
4612
+ knowledge_base_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnKnowledgeBase.KnowledgeBaseConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
4613
+ name: builtins.str,
4614
+ role_arn: builtins.str,
4615
+ description: typing.Optional[builtins.str] = None,
4616
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4617
+ ) -> None:
4618
+ """Type checking stubs"""
4619
+ pass
4620
+
4621
+ def _typecheckingstub__ff4bc276c76fa89d7e7e13dc3bbd6542bf9248bddf93da183855dfef109357e1(
4622
+ inspector: _TreeInspector_488e0dd5,
4623
+ ) -> None:
4624
+ """Type checking stubs"""
4625
+ pass
4626
+
4627
+ def _typecheckingstub__ba3c6a8c48301959ccf4c8e325f203936e57edbf8199458a5d3f47355924370f(
4628
+ props: typing.Mapping[builtins.str, typing.Any],
4629
+ ) -> None:
4630
+ """Type checking stubs"""
4631
+ pass
4632
+
4633
+ def _typecheckingstub__cc53309d6eb9442404b7a33330dfd3740f0c9d24afff9f19814de1a0a0e51d32(
4634
+ value: typing.Union[_IResolvable_da3f097b, CfnKnowledgeBase.KnowledgeBaseConfigurationProperty],
4635
+ ) -> None:
4636
+ """Type checking stubs"""
4637
+ pass
4638
+
4639
+ def _typecheckingstub__98ce011ed3a47084236afba28b5e5d0da34db483b792c0f0dd621b409474b6fb(
4640
+ value: builtins.str,
4641
+ ) -> None:
4642
+ """Type checking stubs"""
4643
+ pass
4644
+
4645
+ def _typecheckingstub__e6281f2d1ed9a2f71b02754159fe6b2d8c70d3527e97d2d060434dc3483f2ad5(
4646
+ value: builtins.str,
4647
+ ) -> None:
4648
+ """Type checking stubs"""
4649
+ pass
4650
+
4651
+ def _typecheckingstub__f9fef7f262d2bad58c7f37c90b8756dd028b772a93aa036a4caf0c9565a7fff1(
4652
+ value: typing.Optional[builtins.str],
4653
+ ) -> None:
4654
+ """Type checking stubs"""
4655
+ pass
4656
+
4657
+ def _typecheckingstub__3aaa5f9544be44cbc2ddb7d96026222438266e370aa05113a01af8f251b7286f(
4658
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
4659
+ ) -> None:
4660
+ """Type checking stubs"""
4661
+ pass
4662
+
4663
+ def _typecheckingstub__f2ca26f28cc4cf3a289e62f58643faf6a7d98ea3e55e7ff4f0f77530fa0294b4(
4664
+ *,
4665
+ type: builtins.str,
4666
+ vector_knowledge_base_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnKnowledgeBase.VectorKnowledgeBaseConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
4667
+ ) -> None:
4668
+ """Type checking stubs"""
4669
+ pass
4670
+
4671
+ def _typecheckingstub__53b08e209954b21c35b746e5eee517d51370af30630f5f17b3e5435150898236(
4672
+ *,
4673
+ embedding_model_arn: builtins.str,
4674
+ ) -> None:
4675
+ """Type checking stubs"""
4676
+ pass
4677
+
4678
+ def _typecheckingstub__a5f6560ff734e79a877ac4cd934408cd79b9c6a6c1dac195972f27ac455fce2f(
4679
+ *,
4680
+ knowledge_base_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnKnowledgeBase.KnowledgeBaseConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
4681
+ name: builtins.str,
4682
+ role_arn: builtins.str,
4683
+ description: typing.Optional[builtins.str] = None,
4684
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4685
+ ) -> None:
4686
+ """Type checking stubs"""
4687
+ pass
4688
+
545
4689
  def _typecheckingstub__f232d69e34e8936af6b25fbb89b759790a47e68b671d931582f63554dd4bae52(
546
4690
  model_id: builtins.str,
547
4691
  ) -> None: