pulumi-aws 7.9.1__py3-none-any.whl → 7.10.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.
Files changed (42) hide show
  1. pulumi_aws/__init__.py +40 -0
  2. pulumi_aws/_inputs.py +40 -0
  3. pulumi_aws/appstream/_inputs.py +54 -0
  4. pulumi_aws/appstream/directory_config.py +55 -0
  5. pulumi_aws/appstream/outputs.py +49 -0
  6. pulumi_aws/bedrock/__init__.py +5 -0
  7. pulumi_aws/bedrock/_inputs.py +2097 -0
  8. pulumi_aws/bedrock/agent_agent.py +9 -7
  9. pulumi_aws/bedrock/agentcore_api_key_credential_provider.py +122 -1
  10. pulumi_aws/bedrock/agentcore_memory.py +614 -0
  11. pulumi_aws/bedrock/agentcore_memory_strategy.py +800 -0
  12. pulumi_aws/bedrock/agentcore_oauth2_credential_provider.py +477 -0
  13. pulumi_aws/bedrock/agentcore_token_vault_cmk.py +291 -0
  14. pulumi_aws/bedrock/agentcore_workload_identity.py +359 -0
  15. pulumi_aws/bedrock/outputs.py +1739 -0
  16. pulumi_aws/cloudtrail/trail.py +7 -7
  17. pulumi_aws/config/outputs.py +24 -0
  18. pulumi_aws/docdb/cluster.py +109 -1
  19. pulumi_aws/ec2/route.py +12 -0
  20. pulumi_aws/ecs/task_definition.py +7 -7
  21. pulumi_aws/fis/_inputs.py +3 -3
  22. pulumi_aws/fis/outputs.py +2 -2
  23. pulumi_aws/kms/key_policy.py +7 -7
  24. pulumi_aws/odb/network.py +47 -0
  25. pulumi_aws/organizations/_inputs.py +170 -42
  26. pulumi_aws/organizations/account.py +57 -8
  27. pulumi_aws/organizations/get_organization.py +7 -7
  28. pulumi_aws/organizations/organization.py +27 -27
  29. pulumi_aws/organizations/outputs.py +310 -62
  30. pulumi_aws/pulumi-plugin.json +1 -1
  31. pulumi_aws/rds/cluster.py +102 -1
  32. pulumi_aws/rds/instance.py +102 -1
  33. pulumi_aws/redshift/cluster.py +130 -1
  34. pulumi_aws/redshiftserverless/namespace.py +109 -1
  35. pulumi_aws/secretsmanager/secret_version.py +122 -1
  36. pulumi_aws/ssm/parameter.py +145 -2
  37. pulumi_aws/transfer/host_key.py +75 -1
  38. pulumi_aws/workspaces/get_workspace.py +19 -0
  39. {pulumi_aws-7.9.1.dist-info → pulumi_aws-7.10.0.dist-info}/METADATA +1 -1
  40. {pulumi_aws-7.9.1.dist-info → pulumi_aws-7.10.0.dist-info}/RECORD +42 -37
  41. {pulumi_aws-7.9.1.dist-info → pulumi_aws-7.10.0.dist-info}/WHEEL +0 -0
  42. {pulumi_aws-7.9.1.dist-info → pulumi_aws-7.10.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,800 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['AgentcoreMemoryStrategyArgs', 'AgentcoreMemoryStrategy']
20
+
21
+ @pulumi.input_type
22
+ class AgentcoreMemoryStrategyArgs:
23
+ def __init__(__self__, *,
24
+ memory_id: pulumi.Input[_builtins.str],
25
+ namespaces: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
26
+ type: pulumi.Input[_builtins.str],
27
+ configuration: Optional[pulumi.Input['AgentcoreMemoryStrategyConfigurationArgs']] = None,
28
+ description: Optional[pulumi.Input[_builtins.str]] = None,
29
+ memory_execution_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
30
+ name: Optional[pulumi.Input[_builtins.str]] = None,
31
+ region: Optional[pulumi.Input[_builtins.str]] = None,
32
+ timeouts: Optional[pulumi.Input['AgentcoreMemoryStrategyTimeoutsArgs']] = None):
33
+ """
34
+ The set of arguments for constructing a AgentcoreMemoryStrategy resource.
35
+ :param pulumi.Input[_builtins.str] memory_id: ID of the memory to associate with this strategy. Changing this forces a new resource.
36
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Set of namespace identifiers where this strategy applies. Namespaces help organize and scope memory content.
37
+
38
+ The following arguments are optional:
39
+ :param pulumi.Input[_builtins.str] type: Type of memory strategy. Valid values: `SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`, `CUSTOM`. Changing this forces a new resource. Note that only one strategy of each built-in type (`SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`) can exist per memory.
40
+ :param pulumi.Input['AgentcoreMemoryStrategyConfigurationArgs'] configuration: Custom configuration block. Required when `type` is `CUSTOM`, must be omitted for other types. See `configuration` below.
41
+ :param pulumi.Input[_builtins.str] description: Description of the memory strategy.
42
+ :param pulumi.Input[_builtins.str] name: Name of the memory strategy.
43
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
44
+ """
45
+ pulumi.set(__self__, "memory_id", memory_id)
46
+ pulumi.set(__self__, "namespaces", namespaces)
47
+ pulumi.set(__self__, "type", type)
48
+ if configuration is not None:
49
+ pulumi.set(__self__, "configuration", configuration)
50
+ if description is not None:
51
+ pulumi.set(__self__, "description", description)
52
+ if memory_execution_role_arn is not None:
53
+ pulumi.set(__self__, "memory_execution_role_arn", memory_execution_role_arn)
54
+ if name is not None:
55
+ pulumi.set(__self__, "name", name)
56
+ if region is not None:
57
+ pulumi.set(__self__, "region", region)
58
+ if timeouts is not None:
59
+ pulumi.set(__self__, "timeouts", timeouts)
60
+
61
+ @_builtins.property
62
+ @pulumi.getter(name="memoryId")
63
+ def memory_id(self) -> pulumi.Input[_builtins.str]:
64
+ """
65
+ ID of the memory to associate with this strategy. Changing this forces a new resource.
66
+ """
67
+ return pulumi.get(self, "memory_id")
68
+
69
+ @memory_id.setter
70
+ def memory_id(self, value: pulumi.Input[_builtins.str]):
71
+ pulumi.set(self, "memory_id", value)
72
+
73
+ @_builtins.property
74
+ @pulumi.getter
75
+ def namespaces(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
76
+ """
77
+ Set of namespace identifiers where this strategy applies. Namespaces help organize and scope memory content.
78
+
79
+ The following arguments are optional:
80
+ """
81
+ return pulumi.get(self, "namespaces")
82
+
83
+ @namespaces.setter
84
+ def namespaces(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
85
+ pulumi.set(self, "namespaces", value)
86
+
87
+ @_builtins.property
88
+ @pulumi.getter
89
+ def type(self) -> pulumi.Input[_builtins.str]:
90
+ """
91
+ Type of memory strategy. Valid values: `SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`, `CUSTOM`. Changing this forces a new resource. Note that only one strategy of each built-in type (`SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`) can exist per memory.
92
+ """
93
+ return pulumi.get(self, "type")
94
+
95
+ @type.setter
96
+ def type(self, value: pulumi.Input[_builtins.str]):
97
+ pulumi.set(self, "type", value)
98
+
99
+ @_builtins.property
100
+ @pulumi.getter
101
+ def configuration(self) -> Optional[pulumi.Input['AgentcoreMemoryStrategyConfigurationArgs']]:
102
+ """
103
+ Custom configuration block. Required when `type` is `CUSTOM`, must be omitted for other types. See `configuration` below.
104
+ """
105
+ return pulumi.get(self, "configuration")
106
+
107
+ @configuration.setter
108
+ def configuration(self, value: Optional[pulumi.Input['AgentcoreMemoryStrategyConfigurationArgs']]):
109
+ pulumi.set(self, "configuration", value)
110
+
111
+ @_builtins.property
112
+ @pulumi.getter
113
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
114
+ """
115
+ Description of the memory strategy.
116
+ """
117
+ return pulumi.get(self, "description")
118
+
119
+ @description.setter
120
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
121
+ pulumi.set(self, "description", value)
122
+
123
+ @_builtins.property
124
+ @pulumi.getter(name="memoryExecutionRoleArn")
125
+ def memory_execution_role_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
126
+ return pulumi.get(self, "memory_execution_role_arn")
127
+
128
+ @memory_execution_role_arn.setter
129
+ def memory_execution_role_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
130
+ pulumi.set(self, "memory_execution_role_arn", value)
131
+
132
+ @_builtins.property
133
+ @pulumi.getter
134
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
135
+ """
136
+ Name of the memory strategy.
137
+ """
138
+ return pulumi.get(self, "name")
139
+
140
+ @name.setter
141
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
142
+ pulumi.set(self, "name", value)
143
+
144
+ @_builtins.property
145
+ @pulumi.getter
146
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
147
+ """
148
+ Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
149
+ """
150
+ return pulumi.get(self, "region")
151
+
152
+ @region.setter
153
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
154
+ pulumi.set(self, "region", value)
155
+
156
+ @_builtins.property
157
+ @pulumi.getter
158
+ def timeouts(self) -> Optional[pulumi.Input['AgentcoreMemoryStrategyTimeoutsArgs']]:
159
+ return pulumi.get(self, "timeouts")
160
+
161
+ @timeouts.setter
162
+ def timeouts(self, value: Optional[pulumi.Input['AgentcoreMemoryStrategyTimeoutsArgs']]):
163
+ pulumi.set(self, "timeouts", value)
164
+
165
+
166
+ @pulumi.input_type
167
+ class _AgentcoreMemoryStrategyState:
168
+ def __init__(__self__, *,
169
+ configuration: Optional[pulumi.Input['AgentcoreMemoryStrategyConfigurationArgs']] = None,
170
+ description: Optional[pulumi.Input[_builtins.str]] = None,
171
+ memory_execution_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
172
+ memory_id: Optional[pulumi.Input[_builtins.str]] = None,
173
+ memory_strategy_id: Optional[pulumi.Input[_builtins.str]] = None,
174
+ name: Optional[pulumi.Input[_builtins.str]] = None,
175
+ namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
176
+ region: Optional[pulumi.Input[_builtins.str]] = None,
177
+ timeouts: Optional[pulumi.Input['AgentcoreMemoryStrategyTimeoutsArgs']] = None,
178
+ type: Optional[pulumi.Input[_builtins.str]] = None):
179
+ """
180
+ Input properties used for looking up and filtering AgentcoreMemoryStrategy resources.
181
+ :param pulumi.Input['AgentcoreMemoryStrategyConfigurationArgs'] configuration: Custom configuration block. Required when `type` is `CUSTOM`, must be omitted for other types. See `configuration` below.
182
+ :param pulumi.Input[_builtins.str] description: Description of the memory strategy.
183
+ :param pulumi.Input[_builtins.str] memory_id: ID of the memory to associate with this strategy. Changing this forces a new resource.
184
+ :param pulumi.Input[_builtins.str] name: Name of the memory strategy.
185
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Set of namespace identifiers where this strategy applies. Namespaces help organize and scope memory content.
186
+
187
+ The following arguments are optional:
188
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
189
+ :param pulumi.Input[_builtins.str] type: Type of memory strategy. Valid values: `SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`, `CUSTOM`. Changing this forces a new resource. Note that only one strategy of each built-in type (`SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`) can exist per memory.
190
+ """
191
+ if configuration is not None:
192
+ pulumi.set(__self__, "configuration", configuration)
193
+ if description is not None:
194
+ pulumi.set(__self__, "description", description)
195
+ if memory_execution_role_arn is not None:
196
+ pulumi.set(__self__, "memory_execution_role_arn", memory_execution_role_arn)
197
+ if memory_id is not None:
198
+ pulumi.set(__self__, "memory_id", memory_id)
199
+ if memory_strategy_id is not None:
200
+ pulumi.set(__self__, "memory_strategy_id", memory_strategy_id)
201
+ if name is not None:
202
+ pulumi.set(__self__, "name", name)
203
+ if namespaces is not None:
204
+ pulumi.set(__self__, "namespaces", namespaces)
205
+ if region is not None:
206
+ pulumi.set(__self__, "region", region)
207
+ if timeouts is not None:
208
+ pulumi.set(__self__, "timeouts", timeouts)
209
+ if type is not None:
210
+ pulumi.set(__self__, "type", type)
211
+
212
+ @_builtins.property
213
+ @pulumi.getter
214
+ def configuration(self) -> Optional[pulumi.Input['AgentcoreMemoryStrategyConfigurationArgs']]:
215
+ """
216
+ Custom configuration block. Required when `type` is `CUSTOM`, must be omitted for other types. See `configuration` below.
217
+ """
218
+ return pulumi.get(self, "configuration")
219
+
220
+ @configuration.setter
221
+ def configuration(self, value: Optional[pulumi.Input['AgentcoreMemoryStrategyConfigurationArgs']]):
222
+ pulumi.set(self, "configuration", value)
223
+
224
+ @_builtins.property
225
+ @pulumi.getter
226
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
227
+ """
228
+ Description of the memory strategy.
229
+ """
230
+ return pulumi.get(self, "description")
231
+
232
+ @description.setter
233
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
234
+ pulumi.set(self, "description", value)
235
+
236
+ @_builtins.property
237
+ @pulumi.getter(name="memoryExecutionRoleArn")
238
+ def memory_execution_role_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
239
+ return pulumi.get(self, "memory_execution_role_arn")
240
+
241
+ @memory_execution_role_arn.setter
242
+ def memory_execution_role_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
243
+ pulumi.set(self, "memory_execution_role_arn", value)
244
+
245
+ @_builtins.property
246
+ @pulumi.getter(name="memoryId")
247
+ def memory_id(self) -> Optional[pulumi.Input[_builtins.str]]:
248
+ """
249
+ ID of the memory to associate with this strategy. Changing this forces a new resource.
250
+ """
251
+ return pulumi.get(self, "memory_id")
252
+
253
+ @memory_id.setter
254
+ def memory_id(self, value: Optional[pulumi.Input[_builtins.str]]):
255
+ pulumi.set(self, "memory_id", value)
256
+
257
+ @_builtins.property
258
+ @pulumi.getter(name="memoryStrategyId")
259
+ def memory_strategy_id(self) -> Optional[pulumi.Input[_builtins.str]]:
260
+ return pulumi.get(self, "memory_strategy_id")
261
+
262
+ @memory_strategy_id.setter
263
+ def memory_strategy_id(self, value: Optional[pulumi.Input[_builtins.str]]):
264
+ pulumi.set(self, "memory_strategy_id", value)
265
+
266
+ @_builtins.property
267
+ @pulumi.getter
268
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
269
+ """
270
+ Name of the memory strategy.
271
+ """
272
+ return pulumi.get(self, "name")
273
+
274
+ @name.setter
275
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
276
+ pulumi.set(self, "name", value)
277
+
278
+ @_builtins.property
279
+ @pulumi.getter
280
+ def namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
281
+ """
282
+ Set of namespace identifiers where this strategy applies. Namespaces help organize and scope memory content.
283
+
284
+ The following arguments are optional:
285
+ """
286
+ return pulumi.get(self, "namespaces")
287
+
288
+ @namespaces.setter
289
+ def namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
290
+ pulumi.set(self, "namespaces", value)
291
+
292
+ @_builtins.property
293
+ @pulumi.getter
294
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
295
+ """
296
+ Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
297
+ """
298
+ return pulumi.get(self, "region")
299
+
300
+ @region.setter
301
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
302
+ pulumi.set(self, "region", value)
303
+
304
+ @_builtins.property
305
+ @pulumi.getter
306
+ def timeouts(self) -> Optional[pulumi.Input['AgentcoreMemoryStrategyTimeoutsArgs']]:
307
+ return pulumi.get(self, "timeouts")
308
+
309
+ @timeouts.setter
310
+ def timeouts(self, value: Optional[pulumi.Input['AgentcoreMemoryStrategyTimeoutsArgs']]):
311
+ pulumi.set(self, "timeouts", value)
312
+
313
+ @_builtins.property
314
+ @pulumi.getter
315
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
316
+ """
317
+ Type of memory strategy. Valid values: `SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`, `CUSTOM`. Changing this forces a new resource. Note that only one strategy of each built-in type (`SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`) can exist per memory.
318
+ """
319
+ return pulumi.get(self, "type")
320
+
321
+ @type.setter
322
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
323
+ pulumi.set(self, "type", value)
324
+
325
+
326
+ @pulumi.type_token("aws:bedrock/agentcoreMemoryStrategy:AgentcoreMemoryStrategy")
327
+ class AgentcoreMemoryStrategy(pulumi.CustomResource):
328
+ @overload
329
+ def __init__(__self__,
330
+ resource_name: str,
331
+ opts: Optional[pulumi.ResourceOptions] = None,
332
+ configuration: Optional[pulumi.Input[Union['AgentcoreMemoryStrategyConfigurationArgs', 'AgentcoreMemoryStrategyConfigurationArgsDict']]] = None,
333
+ description: Optional[pulumi.Input[_builtins.str]] = None,
334
+ memory_execution_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
335
+ memory_id: Optional[pulumi.Input[_builtins.str]] = None,
336
+ name: Optional[pulumi.Input[_builtins.str]] = None,
337
+ namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
338
+ region: Optional[pulumi.Input[_builtins.str]] = None,
339
+ timeouts: Optional[pulumi.Input[Union['AgentcoreMemoryStrategyTimeoutsArgs', 'AgentcoreMemoryStrategyTimeoutsArgsDict']]] = None,
340
+ type: Optional[pulumi.Input[_builtins.str]] = None,
341
+ __props__=None):
342
+ """
343
+ Manages an AWS Bedrock AgentCore Memory Strategy. Memory strategies define how the agent processes and organizes information within a memory, such as semantic understanding, summarization, or custom processing logic.
344
+
345
+ **Important Limitations:**
346
+
347
+ - Each memory can have a maximum of 6 strategies total
348
+ - Only one strategy of each built-in type (`SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`) can exist per memory
349
+ - Multiple `CUSTOM` strategies are allowed (subject to the total limit of 6)
350
+
351
+ ## Example Usage
352
+
353
+ ### Semantic Strategy
354
+
355
+ ```python
356
+ import pulumi
357
+ import pulumi_aws as aws
358
+
359
+ semantic = aws.bedrock.AgentcoreMemoryStrategy("semantic",
360
+ name="semantic-strategy",
361
+ memory_id=example["id"],
362
+ type="SEMANTIC",
363
+ description="Semantic understanding strategy",
364
+ namespaces=["default"])
365
+ ```
366
+
367
+ ### Summarization Strategy
368
+
369
+ ```python
370
+ import pulumi
371
+ import pulumi_aws as aws
372
+
373
+ summary = aws.bedrock.AgentcoreMemoryStrategy("summary",
374
+ name="summary-strategy",
375
+ memory_id=example["id"],
376
+ type="SUMMARIZATION",
377
+ description="Text summarization strategy",
378
+ namespaces=["{sessionId}"])
379
+ ```
380
+
381
+ ### User Preference Strategy
382
+
383
+ ```python
384
+ import pulumi
385
+ import pulumi_aws as aws
386
+
387
+ user_pref = aws.bedrock.AgentcoreMemoryStrategy("user_pref",
388
+ name="user-preference-strategy",
389
+ memory_id=example["id"],
390
+ type="USER_PREFERENCE",
391
+ description="User preference tracking strategy",
392
+ namespaces=["preferences"])
393
+ ```
394
+
395
+ ### Custom Strategy with Semantic Override
396
+
397
+ ```python
398
+ import pulumi
399
+ import pulumi_aws as aws
400
+
401
+ custom_semantic = aws.bedrock.AgentcoreMemoryStrategy("custom_semantic",
402
+ name="custom-semantic-strategy",
403
+ memory_id=example["id"],
404
+ memory_execution_role_arn=example["memoryExecutionRoleArn"],
405
+ type="CUSTOM",
406
+ description="Custom semantic processing strategy",
407
+ namespaces=["{sessionId}"],
408
+ configuration={
409
+ "type": "SEMANTIC_OVERRIDE",
410
+ "consolidation": {
411
+ "append_to_prompt": "Focus on extracting key semantic relationships and concepts",
412
+ "model_id": "anthropic.claude-3-sonnet-20240229-v1:0",
413
+ },
414
+ "extraction": {
415
+ "append_to_prompt": "Extract and categorize semantic information",
416
+ "model_id": "anthropic.claude-3-haiku-20240307-v1:0",
417
+ },
418
+ })
419
+ ```
420
+
421
+ ### Custom Strategy with Summary Override
422
+
423
+ ```python
424
+ import pulumi
425
+ import pulumi_aws as aws
426
+
427
+ custom_summary = aws.bedrock.AgentcoreMemoryStrategy("custom_summary",
428
+ name="custom-summary-strategy",
429
+ memory_id=example["id"],
430
+ type="CUSTOM",
431
+ description="Custom summarization strategy",
432
+ namespaces=["summaries"],
433
+ configuration={
434
+ "type": "SUMMARY_OVERRIDE",
435
+ "consolidation": {
436
+ "append_to_prompt": "Create concise summaries while preserving key details",
437
+ "model_id": "anthropic.claude-3-sonnet-20240229-v1:0",
438
+ },
439
+ })
440
+ ```
441
+
442
+ ### Custom Strategy with User Preference Override
443
+
444
+ ```python
445
+ import pulumi
446
+ import pulumi_aws as aws
447
+
448
+ custom_user_pref = aws.bedrock.AgentcoreMemoryStrategy("custom_user_pref",
449
+ name="custom-user-preference-strategy",
450
+ memory_id=example["id"],
451
+ type="CUSTOM",
452
+ description="Custom user preference tracking strategy",
453
+ namespaces=["user_prefs"],
454
+ configuration={
455
+ "type": "USER_PREFERENCE_OVERRIDE",
456
+ "consolidation": {
457
+ "append_to_prompt": "Consolidate user preferences and behavioral patterns",
458
+ "model_id": "anthropic.claude-3-sonnet-20240229-v1:0",
459
+ },
460
+ "extraction": {
461
+ "append_to_prompt": "Extract user preferences and interaction patterns",
462
+ "model_id": "anthropic.claude-3-haiku-20240307-v1:0",
463
+ },
464
+ })
465
+ ```
466
+
467
+ ## Import
468
+
469
+ Using `pulumi import`, import Bedrock AgentCore Memory Strategy using the `memory_id,strategy_id`. For example:
470
+
471
+ ```sh
472
+ $ pulumi import aws:bedrock/agentcoreMemoryStrategy:AgentcoreMemoryStrategy example MEMORY1234567890,STRATEGY0987654321
473
+ ```
474
+
475
+ :param str resource_name: The name of the resource.
476
+ :param pulumi.ResourceOptions opts: Options for the resource.
477
+ :param pulumi.Input[Union['AgentcoreMemoryStrategyConfigurationArgs', 'AgentcoreMemoryStrategyConfigurationArgsDict']] configuration: Custom configuration block. Required when `type` is `CUSTOM`, must be omitted for other types. See `configuration` below.
478
+ :param pulumi.Input[_builtins.str] description: Description of the memory strategy.
479
+ :param pulumi.Input[_builtins.str] memory_id: ID of the memory to associate with this strategy. Changing this forces a new resource.
480
+ :param pulumi.Input[_builtins.str] name: Name of the memory strategy.
481
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Set of namespace identifiers where this strategy applies. Namespaces help organize and scope memory content.
482
+
483
+ The following arguments are optional:
484
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
485
+ :param pulumi.Input[_builtins.str] type: Type of memory strategy. Valid values: `SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`, `CUSTOM`. Changing this forces a new resource. Note that only one strategy of each built-in type (`SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`) can exist per memory.
486
+ """
487
+ ...
488
+ @overload
489
+ def __init__(__self__,
490
+ resource_name: str,
491
+ args: AgentcoreMemoryStrategyArgs,
492
+ opts: Optional[pulumi.ResourceOptions] = None):
493
+ """
494
+ Manages an AWS Bedrock AgentCore Memory Strategy. Memory strategies define how the agent processes and organizes information within a memory, such as semantic understanding, summarization, or custom processing logic.
495
+
496
+ **Important Limitations:**
497
+
498
+ - Each memory can have a maximum of 6 strategies total
499
+ - Only one strategy of each built-in type (`SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`) can exist per memory
500
+ - Multiple `CUSTOM` strategies are allowed (subject to the total limit of 6)
501
+
502
+ ## Example Usage
503
+
504
+ ### Semantic Strategy
505
+
506
+ ```python
507
+ import pulumi
508
+ import pulumi_aws as aws
509
+
510
+ semantic = aws.bedrock.AgentcoreMemoryStrategy("semantic",
511
+ name="semantic-strategy",
512
+ memory_id=example["id"],
513
+ type="SEMANTIC",
514
+ description="Semantic understanding strategy",
515
+ namespaces=["default"])
516
+ ```
517
+
518
+ ### Summarization Strategy
519
+
520
+ ```python
521
+ import pulumi
522
+ import pulumi_aws as aws
523
+
524
+ summary = aws.bedrock.AgentcoreMemoryStrategy("summary",
525
+ name="summary-strategy",
526
+ memory_id=example["id"],
527
+ type="SUMMARIZATION",
528
+ description="Text summarization strategy",
529
+ namespaces=["{sessionId}"])
530
+ ```
531
+
532
+ ### User Preference Strategy
533
+
534
+ ```python
535
+ import pulumi
536
+ import pulumi_aws as aws
537
+
538
+ user_pref = aws.bedrock.AgentcoreMemoryStrategy("user_pref",
539
+ name="user-preference-strategy",
540
+ memory_id=example["id"],
541
+ type="USER_PREFERENCE",
542
+ description="User preference tracking strategy",
543
+ namespaces=["preferences"])
544
+ ```
545
+
546
+ ### Custom Strategy with Semantic Override
547
+
548
+ ```python
549
+ import pulumi
550
+ import pulumi_aws as aws
551
+
552
+ custom_semantic = aws.bedrock.AgentcoreMemoryStrategy("custom_semantic",
553
+ name="custom-semantic-strategy",
554
+ memory_id=example["id"],
555
+ memory_execution_role_arn=example["memoryExecutionRoleArn"],
556
+ type="CUSTOM",
557
+ description="Custom semantic processing strategy",
558
+ namespaces=["{sessionId}"],
559
+ configuration={
560
+ "type": "SEMANTIC_OVERRIDE",
561
+ "consolidation": {
562
+ "append_to_prompt": "Focus on extracting key semantic relationships and concepts",
563
+ "model_id": "anthropic.claude-3-sonnet-20240229-v1:0",
564
+ },
565
+ "extraction": {
566
+ "append_to_prompt": "Extract and categorize semantic information",
567
+ "model_id": "anthropic.claude-3-haiku-20240307-v1:0",
568
+ },
569
+ })
570
+ ```
571
+
572
+ ### Custom Strategy with Summary Override
573
+
574
+ ```python
575
+ import pulumi
576
+ import pulumi_aws as aws
577
+
578
+ custom_summary = aws.bedrock.AgentcoreMemoryStrategy("custom_summary",
579
+ name="custom-summary-strategy",
580
+ memory_id=example["id"],
581
+ type="CUSTOM",
582
+ description="Custom summarization strategy",
583
+ namespaces=["summaries"],
584
+ configuration={
585
+ "type": "SUMMARY_OVERRIDE",
586
+ "consolidation": {
587
+ "append_to_prompt": "Create concise summaries while preserving key details",
588
+ "model_id": "anthropic.claude-3-sonnet-20240229-v1:0",
589
+ },
590
+ })
591
+ ```
592
+
593
+ ### Custom Strategy with User Preference Override
594
+
595
+ ```python
596
+ import pulumi
597
+ import pulumi_aws as aws
598
+
599
+ custom_user_pref = aws.bedrock.AgentcoreMemoryStrategy("custom_user_pref",
600
+ name="custom-user-preference-strategy",
601
+ memory_id=example["id"],
602
+ type="CUSTOM",
603
+ description="Custom user preference tracking strategy",
604
+ namespaces=["user_prefs"],
605
+ configuration={
606
+ "type": "USER_PREFERENCE_OVERRIDE",
607
+ "consolidation": {
608
+ "append_to_prompt": "Consolidate user preferences and behavioral patterns",
609
+ "model_id": "anthropic.claude-3-sonnet-20240229-v1:0",
610
+ },
611
+ "extraction": {
612
+ "append_to_prompt": "Extract user preferences and interaction patterns",
613
+ "model_id": "anthropic.claude-3-haiku-20240307-v1:0",
614
+ },
615
+ })
616
+ ```
617
+
618
+ ## Import
619
+
620
+ Using `pulumi import`, import Bedrock AgentCore Memory Strategy using the `memory_id,strategy_id`. For example:
621
+
622
+ ```sh
623
+ $ pulumi import aws:bedrock/agentcoreMemoryStrategy:AgentcoreMemoryStrategy example MEMORY1234567890,STRATEGY0987654321
624
+ ```
625
+
626
+ :param str resource_name: The name of the resource.
627
+ :param AgentcoreMemoryStrategyArgs args: The arguments to use to populate this resource's properties.
628
+ :param pulumi.ResourceOptions opts: Options for the resource.
629
+ """
630
+ ...
631
+ def __init__(__self__, resource_name: str, *args, **kwargs):
632
+ resource_args, opts = _utilities.get_resource_args_opts(AgentcoreMemoryStrategyArgs, pulumi.ResourceOptions, *args, **kwargs)
633
+ if resource_args is not None:
634
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
635
+ else:
636
+ __self__._internal_init(resource_name, *args, **kwargs)
637
+
638
+ def _internal_init(__self__,
639
+ resource_name: str,
640
+ opts: Optional[pulumi.ResourceOptions] = None,
641
+ configuration: Optional[pulumi.Input[Union['AgentcoreMemoryStrategyConfigurationArgs', 'AgentcoreMemoryStrategyConfigurationArgsDict']]] = None,
642
+ description: Optional[pulumi.Input[_builtins.str]] = None,
643
+ memory_execution_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
644
+ memory_id: Optional[pulumi.Input[_builtins.str]] = None,
645
+ name: Optional[pulumi.Input[_builtins.str]] = None,
646
+ namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
647
+ region: Optional[pulumi.Input[_builtins.str]] = None,
648
+ timeouts: Optional[pulumi.Input[Union['AgentcoreMemoryStrategyTimeoutsArgs', 'AgentcoreMemoryStrategyTimeoutsArgsDict']]] = None,
649
+ type: Optional[pulumi.Input[_builtins.str]] = None,
650
+ __props__=None):
651
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
652
+ if not isinstance(opts, pulumi.ResourceOptions):
653
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
654
+ if opts.id is None:
655
+ if __props__ is not None:
656
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
657
+ __props__ = AgentcoreMemoryStrategyArgs.__new__(AgentcoreMemoryStrategyArgs)
658
+
659
+ __props__.__dict__["configuration"] = configuration
660
+ __props__.__dict__["description"] = description
661
+ __props__.__dict__["memory_execution_role_arn"] = memory_execution_role_arn
662
+ if memory_id is None and not opts.urn:
663
+ raise TypeError("Missing required property 'memory_id'")
664
+ __props__.__dict__["memory_id"] = memory_id
665
+ __props__.__dict__["name"] = name
666
+ if namespaces is None and not opts.urn:
667
+ raise TypeError("Missing required property 'namespaces'")
668
+ __props__.__dict__["namespaces"] = namespaces
669
+ __props__.__dict__["region"] = region
670
+ __props__.__dict__["timeouts"] = timeouts
671
+ if type is None and not opts.urn:
672
+ raise TypeError("Missing required property 'type'")
673
+ __props__.__dict__["type"] = type
674
+ __props__.__dict__["memory_strategy_id"] = None
675
+ super(AgentcoreMemoryStrategy, __self__).__init__(
676
+ 'aws:bedrock/agentcoreMemoryStrategy:AgentcoreMemoryStrategy',
677
+ resource_name,
678
+ __props__,
679
+ opts)
680
+
681
+ @staticmethod
682
+ def get(resource_name: str,
683
+ id: pulumi.Input[str],
684
+ opts: Optional[pulumi.ResourceOptions] = None,
685
+ configuration: Optional[pulumi.Input[Union['AgentcoreMemoryStrategyConfigurationArgs', 'AgentcoreMemoryStrategyConfigurationArgsDict']]] = None,
686
+ description: Optional[pulumi.Input[_builtins.str]] = None,
687
+ memory_execution_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
688
+ memory_id: Optional[pulumi.Input[_builtins.str]] = None,
689
+ memory_strategy_id: Optional[pulumi.Input[_builtins.str]] = None,
690
+ name: Optional[pulumi.Input[_builtins.str]] = None,
691
+ namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
692
+ region: Optional[pulumi.Input[_builtins.str]] = None,
693
+ timeouts: Optional[pulumi.Input[Union['AgentcoreMemoryStrategyTimeoutsArgs', 'AgentcoreMemoryStrategyTimeoutsArgsDict']]] = None,
694
+ type: Optional[pulumi.Input[_builtins.str]] = None) -> 'AgentcoreMemoryStrategy':
695
+ """
696
+ Get an existing AgentcoreMemoryStrategy resource's state with the given name, id, and optional extra
697
+ properties used to qualify the lookup.
698
+
699
+ :param str resource_name: The unique name of the resulting resource.
700
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
701
+ :param pulumi.ResourceOptions opts: Options for the resource.
702
+ :param pulumi.Input[Union['AgentcoreMemoryStrategyConfigurationArgs', 'AgentcoreMemoryStrategyConfigurationArgsDict']] configuration: Custom configuration block. Required when `type` is `CUSTOM`, must be omitted for other types. See `configuration` below.
703
+ :param pulumi.Input[_builtins.str] description: Description of the memory strategy.
704
+ :param pulumi.Input[_builtins.str] memory_id: ID of the memory to associate with this strategy. Changing this forces a new resource.
705
+ :param pulumi.Input[_builtins.str] name: Name of the memory strategy.
706
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Set of namespace identifiers where this strategy applies. Namespaces help organize and scope memory content.
707
+
708
+ The following arguments are optional:
709
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
710
+ :param pulumi.Input[_builtins.str] type: Type of memory strategy. Valid values: `SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`, `CUSTOM`. Changing this forces a new resource. Note that only one strategy of each built-in type (`SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`) can exist per memory.
711
+ """
712
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
713
+
714
+ __props__ = _AgentcoreMemoryStrategyState.__new__(_AgentcoreMemoryStrategyState)
715
+
716
+ __props__.__dict__["configuration"] = configuration
717
+ __props__.__dict__["description"] = description
718
+ __props__.__dict__["memory_execution_role_arn"] = memory_execution_role_arn
719
+ __props__.__dict__["memory_id"] = memory_id
720
+ __props__.__dict__["memory_strategy_id"] = memory_strategy_id
721
+ __props__.__dict__["name"] = name
722
+ __props__.__dict__["namespaces"] = namespaces
723
+ __props__.__dict__["region"] = region
724
+ __props__.__dict__["timeouts"] = timeouts
725
+ __props__.__dict__["type"] = type
726
+ return AgentcoreMemoryStrategy(resource_name, opts=opts, __props__=__props__)
727
+
728
+ @_builtins.property
729
+ @pulumi.getter
730
+ def configuration(self) -> pulumi.Output[Optional['outputs.AgentcoreMemoryStrategyConfiguration']]:
731
+ """
732
+ Custom configuration block. Required when `type` is `CUSTOM`, must be omitted for other types. See `configuration` below.
733
+ """
734
+ return pulumi.get(self, "configuration")
735
+
736
+ @_builtins.property
737
+ @pulumi.getter
738
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
739
+ """
740
+ Description of the memory strategy.
741
+ """
742
+ return pulumi.get(self, "description")
743
+
744
+ @_builtins.property
745
+ @pulumi.getter(name="memoryExecutionRoleArn")
746
+ def memory_execution_role_arn(self) -> pulumi.Output[Optional[_builtins.str]]:
747
+ return pulumi.get(self, "memory_execution_role_arn")
748
+
749
+ @_builtins.property
750
+ @pulumi.getter(name="memoryId")
751
+ def memory_id(self) -> pulumi.Output[_builtins.str]:
752
+ """
753
+ ID of the memory to associate with this strategy. Changing this forces a new resource.
754
+ """
755
+ return pulumi.get(self, "memory_id")
756
+
757
+ @_builtins.property
758
+ @pulumi.getter(name="memoryStrategyId")
759
+ def memory_strategy_id(self) -> pulumi.Output[_builtins.str]:
760
+ return pulumi.get(self, "memory_strategy_id")
761
+
762
+ @_builtins.property
763
+ @pulumi.getter
764
+ def name(self) -> pulumi.Output[_builtins.str]:
765
+ """
766
+ Name of the memory strategy.
767
+ """
768
+ return pulumi.get(self, "name")
769
+
770
+ @_builtins.property
771
+ @pulumi.getter
772
+ def namespaces(self) -> pulumi.Output[Sequence[_builtins.str]]:
773
+ """
774
+ Set of namespace identifiers where this strategy applies. Namespaces help organize and scope memory content.
775
+
776
+ The following arguments are optional:
777
+ """
778
+ return pulumi.get(self, "namespaces")
779
+
780
+ @_builtins.property
781
+ @pulumi.getter
782
+ def region(self) -> pulumi.Output[_builtins.str]:
783
+ """
784
+ Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
785
+ """
786
+ return pulumi.get(self, "region")
787
+
788
+ @_builtins.property
789
+ @pulumi.getter
790
+ def timeouts(self) -> pulumi.Output[Optional['outputs.AgentcoreMemoryStrategyTimeouts']]:
791
+ return pulumi.get(self, "timeouts")
792
+
793
+ @_builtins.property
794
+ @pulumi.getter
795
+ def type(self) -> pulumi.Output[_builtins.str]:
796
+ """
797
+ Type of memory strategy. Valid values: `SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`, `CUSTOM`. Changing this forces a new resource. Note that only one strategy of each built-in type (`SEMANTIC`, `SUMMARIZATION`, `USER_PREFERENCE`) can exist per memory.
798
+ """
799
+ return pulumi.get(self, "type")
800
+