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,614 @@
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__ = ['AgentcoreMemoryArgs', 'AgentcoreMemory']
20
+
21
+ @pulumi.input_type
22
+ class AgentcoreMemoryArgs:
23
+ def __init__(__self__, *,
24
+ event_expiry_duration: pulumi.Input[_builtins.int],
25
+ description: Optional[pulumi.Input[_builtins.str]] = None,
26
+ encryption_key_arn: Optional[pulumi.Input[_builtins.str]] = None,
27
+ memory_execution_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
28
+ name: Optional[pulumi.Input[_builtins.str]] = None,
29
+ region: Optional[pulumi.Input[_builtins.str]] = None,
30
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
31
+ timeouts: Optional[pulumi.Input['AgentcoreMemoryTimeoutsArgs']] = None):
32
+ """
33
+ The set of arguments for constructing a AgentcoreMemory resource.
34
+ :param pulumi.Input[_builtins.int] event_expiry_duration: Number of minutes after which memory events expire. Must be a positive integer.
35
+
36
+ The following arguments are optional:
37
+ :param pulumi.Input[_builtins.str] description: Description of the memory.
38
+ :param pulumi.Input[_builtins.str] encryption_key_arn: ARN of the KMS key used to encrypt the memory. If not provided, AWS managed encryption is used.
39
+ :param pulumi.Input[_builtins.str] memory_execution_role_arn: ARN of the IAM role that the memory service assumes to perform operations. Required when using custom memory strategies with model processing.
40
+ :param pulumi.Input[_builtins.str] name: Name of the memory.
41
+ :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.
42
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
43
+ """
44
+ pulumi.set(__self__, "event_expiry_duration", event_expiry_duration)
45
+ if description is not None:
46
+ pulumi.set(__self__, "description", description)
47
+ if encryption_key_arn is not None:
48
+ pulumi.set(__self__, "encryption_key_arn", encryption_key_arn)
49
+ if memory_execution_role_arn is not None:
50
+ pulumi.set(__self__, "memory_execution_role_arn", memory_execution_role_arn)
51
+ if name is not None:
52
+ pulumi.set(__self__, "name", name)
53
+ if region is not None:
54
+ pulumi.set(__self__, "region", region)
55
+ if tags is not None:
56
+ pulumi.set(__self__, "tags", tags)
57
+ if timeouts is not None:
58
+ pulumi.set(__self__, "timeouts", timeouts)
59
+
60
+ @_builtins.property
61
+ @pulumi.getter(name="eventExpiryDuration")
62
+ def event_expiry_duration(self) -> pulumi.Input[_builtins.int]:
63
+ """
64
+ Number of minutes after which memory events expire. Must be a positive integer.
65
+
66
+ The following arguments are optional:
67
+ """
68
+ return pulumi.get(self, "event_expiry_duration")
69
+
70
+ @event_expiry_duration.setter
71
+ def event_expiry_duration(self, value: pulumi.Input[_builtins.int]):
72
+ pulumi.set(self, "event_expiry_duration", value)
73
+
74
+ @_builtins.property
75
+ @pulumi.getter
76
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
77
+ """
78
+ Description of the memory.
79
+ """
80
+ return pulumi.get(self, "description")
81
+
82
+ @description.setter
83
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
84
+ pulumi.set(self, "description", value)
85
+
86
+ @_builtins.property
87
+ @pulumi.getter(name="encryptionKeyArn")
88
+ def encryption_key_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
89
+ """
90
+ ARN of the KMS key used to encrypt the memory. If not provided, AWS managed encryption is used.
91
+ """
92
+ return pulumi.get(self, "encryption_key_arn")
93
+
94
+ @encryption_key_arn.setter
95
+ def encryption_key_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
96
+ pulumi.set(self, "encryption_key_arn", value)
97
+
98
+ @_builtins.property
99
+ @pulumi.getter(name="memoryExecutionRoleArn")
100
+ def memory_execution_role_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
101
+ """
102
+ ARN of the IAM role that the memory service assumes to perform operations. Required when using custom memory strategies with model processing.
103
+ """
104
+ return pulumi.get(self, "memory_execution_role_arn")
105
+
106
+ @memory_execution_role_arn.setter
107
+ def memory_execution_role_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
108
+ pulumi.set(self, "memory_execution_role_arn", value)
109
+
110
+ @_builtins.property
111
+ @pulumi.getter
112
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
113
+ """
114
+ Name of the memory.
115
+ """
116
+ return pulumi.get(self, "name")
117
+
118
+ @name.setter
119
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
120
+ pulumi.set(self, "name", value)
121
+
122
+ @_builtins.property
123
+ @pulumi.getter
124
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
125
+ """
126
+ 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.
127
+ """
128
+ return pulumi.get(self, "region")
129
+
130
+ @region.setter
131
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
132
+ pulumi.set(self, "region", value)
133
+
134
+ @_builtins.property
135
+ @pulumi.getter
136
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
137
+ """
138
+ Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
139
+ """
140
+ return pulumi.get(self, "tags")
141
+
142
+ @tags.setter
143
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
144
+ pulumi.set(self, "tags", value)
145
+
146
+ @_builtins.property
147
+ @pulumi.getter
148
+ def timeouts(self) -> Optional[pulumi.Input['AgentcoreMemoryTimeoutsArgs']]:
149
+ return pulumi.get(self, "timeouts")
150
+
151
+ @timeouts.setter
152
+ def timeouts(self, value: Optional[pulumi.Input['AgentcoreMemoryTimeoutsArgs']]):
153
+ pulumi.set(self, "timeouts", value)
154
+
155
+
156
+ @pulumi.input_type
157
+ class _AgentcoreMemoryState:
158
+ def __init__(__self__, *,
159
+ arn: Optional[pulumi.Input[_builtins.str]] = None,
160
+ description: Optional[pulumi.Input[_builtins.str]] = None,
161
+ encryption_key_arn: Optional[pulumi.Input[_builtins.str]] = None,
162
+ event_expiry_duration: Optional[pulumi.Input[_builtins.int]] = None,
163
+ memory_execution_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
164
+ name: Optional[pulumi.Input[_builtins.str]] = None,
165
+ region: Optional[pulumi.Input[_builtins.str]] = None,
166
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
167
+ tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
168
+ timeouts: Optional[pulumi.Input['AgentcoreMemoryTimeoutsArgs']] = None):
169
+ """
170
+ Input properties used for looking up and filtering AgentcoreMemory resources.
171
+ :param pulumi.Input[_builtins.str] arn: ARN of the Memory.
172
+ :param pulumi.Input[_builtins.str] description: Description of the memory.
173
+ :param pulumi.Input[_builtins.str] encryption_key_arn: ARN of the KMS key used to encrypt the memory. If not provided, AWS managed encryption is used.
174
+ :param pulumi.Input[_builtins.int] event_expiry_duration: Number of minutes after which memory events expire. Must be a positive integer.
175
+
176
+ The following arguments are optional:
177
+ :param pulumi.Input[_builtins.str] memory_execution_role_arn: ARN of the IAM role that the memory service assumes to perform operations. Required when using custom memory strategies with model processing.
178
+ :param pulumi.Input[_builtins.str] name: Name of the memory.
179
+ :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.
180
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
181
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
182
+ """
183
+ if arn is not None:
184
+ pulumi.set(__self__, "arn", arn)
185
+ if description is not None:
186
+ pulumi.set(__self__, "description", description)
187
+ if encryption_key_arn is not None:
188
+ pulumi.set(__self__, "encryption_key_arn", encryption_key_arn)
189
+ if event_expiry_duration is not None:
190
+ pulumi.set(__self__, "event_expiry_duration", event_expiry_duration)
191
+ if memory_execution_role_arn is not None:
192
+ pulumi.set(__self__, "memory_execution_role_arn", memory_execution_role_arn)
193
+ if name is not None:
194
+ pulumi.set(__self__, "name", name)
195
+ if region is not None:
196
+ pulumi.set(__self__, "region", region)
197
+ if tags is not None:
198
+ pulumi.set(__self__, "tags", tags)
199
+ if tags_all is not None:
200
+ pulumi.set(__self__, "tags_all", tags_all)
201
+ if timeouts is not None:
202
+ pulumi.set(__self__, "timeouts", timeouts)
203
+
204
+ @_builtins.property
205
+ @pulumi.getter
206
+ def arn(self) -> Optional[pulumi.Input[_builtins.str]]:
207
+ """
208
+ ARN of the Memory.
209
+ """
210
+ return pulumi.get(self, "arn")
211
+
212
+ @arn.setter
213
+ def arn(self, value: Optional[pulumi.Input[_builtins.str]]):
214
+ pulumi.set(self, "arn", value)
215
+
216
+ @_builtins.property
217
+ @pulumi.getter
218
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
219
+ """
220
+ Description of the memory.
221
+ """
222
+ return pulumi.get(self, "description")
223
+
224
+ @description.setter
225
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
226
+ pulumi.set(self, "description", value)
227
+
228
+ @_builtins.property
229
+ @pulumi.getter(name="encryptionKeyArn")
230
+ def encryption_key_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
231
+ """
232
+ ARN of the KMS key used to encrypt the memory. If not provided, AWS managed encryption is used.
233
+ """
234
+ return pulumi.get(self, "encryption_key_arn")
235
+
236
+ @encryption_key_arn.setter
237
+ def encryption_key_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
238
+ pulumi.set(self, "encryption_key_arn", value)
239
+
240
+ @_builtins.property
241
+ @pulumi.getter(name="eventExpiryDuration")
242
+ def event_expiry_duration(self) -> Optional[pulumi.Input[_builtins.int]]:
243
+ """
244
+ Number of minutes after which memory events expire. Must be a positive integer.
245
+
246
+ The following arguments are optional:
247
+ """
248
+ return pulumi.get(self, "event_expiry_duration")
249
+
250
+ @event_expiry_duration.setter
251
+ def event_expiry_duration(self, value: Optional[pulumi.Input[_builtins.int]]):
252
+ pulumi.set(self, "event_expiry_duration", value)
253
+
254
+ @_builtins.property
255
+ @pulumi.getter(name="memoryExecutionRoleArn")
256
+ def memory_execution_role_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
257
+ """
258
+ ARN of the IAM role that the memory service assumes to perform operations. Required when using custom memory strategies with model processing.
259
+ """
260
+ return pulumi.get(self, "memory_execution_role_arn")
261
+
262
+ @memory_execution_role_arn.setter
263
+ def memory_execution_role_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
264
+ pulumi.set(self, "memory_execution_role_arn", value)
265
+
266
+ @_builtins.property
267
+ @pulumi.getter
268
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
269
+ """
270
+ Name of the memory.
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 region(self) -> Optional[pulumi.Input[_builtins.str]]:
281
+ """
282
+ 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.
283
+ """
284
+ return pulumi.get(self, "region")
285
+
286
+ @region.setter
287
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
288
+ pulumi.set(self, "region", value)
289
+
290
+ @_builtins.property
291
+ @pulumi.getter
292
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
293
+ """
294
+ Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
295
+ """
296
+ return pulumi.get(self, "tags")
297
+
298
+ @tags.setter
299
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
300
+ pulumi.set(self, "tags", value)
301
+
302
+ @_builtins.property
303
+ @pulumi.getter(name="tagsAll")
304
+ def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
305
+ """
306
+ A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
307
+ """
308
+ return pulumi.get(self, "tags_all")
309
+
310
+ @tags_all.setter
311
+ def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
312
+ pulumi.set(self, "tags_all", value)
313
+
314
+ @_builtins.property
315
+ @pulumi.getter
316
+ def timeouts(self) -> Optional[pulumi.Input['AgentcoreMemoryTimeoutsArgs']]:
317
+ return pulumi.get(self, "timeouts")
318
+
319
+ @timeouts.setter
320
+ def timeouts(self, value: Optional[pulumi.Input['AgentcoreMemoryTimeoutsArgs']]):
321
+ pulumi.set(self, "timeouts", value)
322
+
323
+
324
+ @pulumi.type_token("aws:bedrock/agentcoreMemory:AgentcoreMemory")
325
+ class AgentcoreMemory(pulumi.CustomResource):
326
+ @overload
327
+ def __init__(__self__,
328
+ resource_name: str,
329
+ opts: Optional[pulumi.ResourceOptions] = None,
330
+ description: Optional[pulumi.Input[_builtins.str]] = None,
331
+ encryption_key_arn: Optional[pulumi.Input[_builtins.str]] = None,
332
+ event_expiry_duration: Optional[pulumi.Input[_builtins.int]] = None,
333
+ memory_execution_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
334
+ name: Optional[pulumi.Input[_builtins.str]] = None,
335
+ region: Optional[pulumi.Input[_builtins.str]] = None,
336
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
337
+ timeouts: Optional[pulumi.Input[Union['AgentcoreMemoryTimeoutsArgs', 'AgentcoreMemoryTimeoutsArgsDict']]] = None,
338
+ __props__=None):
339
+ """
340
+ Manages an AWS Bedrock AgentCore Memory. Memory provides persistent storage for AI agent interactions, allowing agents to retain context across conversations and sessions.
341
+
342
+ ## Example Usage
343
+
344
+ ### Basic Usage
345
+
346
+ ```python
347
+ import pulumi
348
+ import pulumi_aws as aws
349
+
350
+ assume_role = aws.iam.get_policy_document(statements=[{
351
+ "effect": "Allow",
352
+ "actions": ["sts:AssumeRole"],
353
+ "principals": [{
354
+ "type": "Service",
355
+ "identifiers": ["bedrock-agentcore.amazonaws.com"],
356
+ }],
357
+ }])
358
+ example = aws.iam.Role("example",
359
+ name="bedrock-agentcore-memory-role",
360
+ assume_role_policy=assume_role.json)
361
+ example_role_policy_attachment = aws.iam.RolePolicyAttachment("example",
362
+ role=example.name,
363
+ policy_arn="arn:aws:iam::aws:policy/AmazonBedrockAgentCoreMemoryBedrockModelInferenceExecutionRolePolicy")
364
+ example_agentcore_memory = aws.bedrock.AgentcoreMemory("example",
365
+ name="example-memory",
366
+ event_expiry_duration=30)
367
+ ```
368
+
369
+ ### Memory with Custom Encryption and Role
370
+
371
+ ## Import
372
+
373
+ Using `pulumi import`, import Bedrock AgentCore Memory using the memory ID. For example:
374
+
375
+ ```sh
376
+ $ pulumi import aws:bedrock/agentcoreMemory:AgentcoreMemory example MEMORY1234567890
377
+ ```
378
+
379
+ :param str resource_name: The name of the resource.
380
+ :param pulumi.ResourceOptions opts: Options for the resource.
381
+ :param pulumi.Input[_builtins.str] description: Description of the memory.
382
+ :param pulumi.Input[_builtins.str] encryption_key_arn: ARN of the KMS key used to encrypt the memory. If not provided, AWS managed encryption is used.
383
+ :param pulumi.Input[_builtins.int] event_expiry_duration: Number of minutes after which memory events expire. Must be a positive integer.
384
+
385
+ The following arguments are optional:
386
+ :param pulumi.Input[_builtins.str] memory_execution_role_arn: ARN of the IAM role that the memory service assumes to perform operations. Required when using custom memory strategies with model processing.
387
+ :param pulumi.Input[_builtins.str] name: Name of the memory.
388
+ :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.
389
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
390
+ """
391
+ ...
392
+ @overload
393
+ def __init__(__self__,
394
+ resource_name: str,
395
+ args: AgentcoreMemoryArgs,
396
+ opts: Optional[pulumi.ResourceOptions] = None):
397
+ """
398
+ Manages an AWS Bedrock AgentCore Memory. Memory provides persistent storage for AI agent interactions, allowing agents to retain context across conversations and sessions.
399
+
400
+ ## Example Usage
401
+
402
+ ### Basic Usage
403
+
404
+ ```python
405
+ import pulumi
406
+ import pulumi_aws as aws
407
+
408
+ assume_role = aws.iam.get_policy_document(statements=[{
409
+ "effect": "Allow",
410
+ "actions": ["sts:AssumeRole"],
411
+ "principals": [{
412
+ "type": "Service",
413
+ "identifiers": ["bedrock-agentcore.amazonaws.com"],
414
+ }],
415
+ }])
416
+ example = aws.iam.Role("example",
417
+ name="bedrock-agentcore-memory-role",
418
+ assume_role_policy=assume_role.json)
419
+ example_role_policy_attachment = aws.iam.RolePolicyAttachment("example",
420
+ role=example.name,
421
+ policy_arn="arn:aws:iam::aws:policy/AmazonBedrockAgentCoreMemoryBedrockModelInferenceExecutionRolePolicy")
422
+ example_agentcore_memory = aws.bedrock.AgentcoreMemory("example",
423
+ name="example-memory",
424
+ event_expiry_duration=30)
425
+ ```
426
+
427
+ ### Memory with Custom Encryption and Role
428
+
429
+ ## Import
430
+
431
+ Using `pulumi import`, import Bedrock AgentCore Memory using the memory ID. For example:
432
+
433
+ ```sh
434
+ $ pulumi import aws:bedrock/agentcoreMemory:AgentcoreMemory example MEMORY1234567890
435
+ ```
436
+
437
+ :param str resource_name: The name of the resource.
438
+ :param AgentcoreMemoryArgs args: The arguments to use to populate this resource's properties.
439
+ :param pulumi.ResourceOptions opts: Options for the resource.
440
+ """
441
+ ...
442
+ def __init__(__self__, resource_name: str, *args, **kwargs):
443
+ resource_args, opts = _utilities.get_resource_args_opts(AgentcoreMemoryArgs, pulumi.ResourceOptions, *args, **kwargs)
444
+ if resource_args is not None:
445
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
446
+ else:
447
+ __self__._internal_init(resource_name, *args, **kwargs)
448
+
449
+ def _internal_init(__self__,
450
+ resource_name: str,
451
+ opts: Optional[pulumi.ResourceOptions] = None,
452
+ description: Optional[pulumi.Input[_builtins.str]] = None,
453
+ encryption_key_arn: Optional[pulumi.Input[_builtins.str]] = None,
454
+ event_expiry_duration: Optional[pulumi.Input[_builtins.int]] = None,
455
+ memory_execution_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
456
+ name: Optional[pulumi.Input[_builtins.str]] = None,
457
+ region: Optional[pulumi.Input[_builtins.str]] = None,
458
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
459
+ timeouts: Optional[pulumi.Input[Union['AgentcoreMemoryTimeoutsArgs', 'AgentcoreMemoryTimeoutsArgsDict']]] = None,
460
+ __props__=None):
461
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
462
+ if not isinstance(opts, pulumi.ResourceOptions):
463
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
464
+ if opts.id is None:
465
+ if __props__ is not None:
466
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
467
+ __props__ = AgentcoreMemoryArgs.__new__(AgentcoreMemoryArgs)
468
+
469
+ __props__.__dict__["description"] = description
470
+ __props__.__dict__["encryption_key_arn"] = encryption_key_arn
471
+ if event_expiry_duration is None and not opts.urn:
472
+ raise TypeError("Missing required property 'event_expiry_duration'")
473
+ __props__.__dict__["event_expiry_duration"] = event_expiry_duration
474
+ __props__.__dict__["memory_execution_role_arn"] = memory_execution_role_arn
475
+ __props__.__dict__["name"] = name
476
+ __props__.__dict__["region"] = region
477
+ __props__.__dict__["tags"] = tags
478
+ __props__.__dict__["timeouts"] = timeouts
479
+ __props__.__dict__["arn"] = None
480
+ __props__.__dict__["tags_all"] = None
481
+ super(AgentcoreMemory, __self__).__init__(
482
+ 'aws:bedrock/agentcoreMemory:AgentcoreMemory',
483
+ resource_name,
484
+ __props__,
485
+ opts)
486
+
487
+ @staticmethod
488
+ def get(resource_name: str,
489
+ id: pulumi.Input[str],
490
+ opts: Optional[pulumi.ResourceOptions] = None,
491
+ arn: Optional[pulumi.Input[_builtins.str]] = None,
492
+ description: Optional[pulumi.Input[_builtins.str]] = None,
493
+ encryption_key_arn: Optional[pulumi.Input[_builtins.str]] = None,
494
+ event_expiry_duration: Optional[pulumi.Input[_builtins.int]] = None,
495
+ memory_execution_role_arn: Optional[pulumi.Input[_builtins.str]] = None,
496
+ name: Optional[pulumi.Input[_builtins.str]] = None,
497
+ region: Optional[pulumi.Input[_builtins.str]] = None,
498
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
499
+ tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
500
+ timeouts: Optional[pulumi.Input[Union['AgentcoreMemoryTimeoutsArgs', 'AgentcoreMemoryTimeoutsArgsDict']]] = None) -> 'AgentcoreMemory':
501
+ """
502
+ Get an existing AgentcoreMemory resource's state with the given name, id, and optional extra
503
+ properties used to qualify the lookup.
504
+
505
+ :param str resource_name: The unique name of the resulting resource.
506
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
507
+ :param pulumi.ResourceOptions opts: Options for the resource.
508
+ :param pulumi.Input[_builtins.str] arn: ARN of the Memory.
509
+ :param pulumi.Input[_builtins.str] description: Description of the memory.
510
+ :param pulumi.Input[_builtins.str] encryption_key_arn: ARN of the KMS key used to encrypt the memory. If not provided, AWS managed encryption is used.
511
+ :param pulumi.Input[_builtins.int] event_expiry_duration: Number of minutes after which memory events expire. Must be a positive integer.
512
+
513
+ The following arguments are optional:
514
+ :param pulumi.Input[_builtins.str] memory_execution_role_arn: ARN of the IAM role that the memory service assumes to perform operations. Required when using custom memory strategies with model processing.
515
+ :param pulumi.Input[_builtins.str] name: Name of the memory.
516
+ :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.
517
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
518
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
519
+ """
520
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
521
+
522
+ __props__ = _AgentcoreMemoryState.__new__(_AgentcoreMemoryState)
523
+
524
+ __props__.__dict__["arn"] = arn
525
+ __props__.__dict__["description"] = description
526
+ __props__.__dict__["encryption_key_arn"] = encryption_key_arn
527
+ __props__.__dict__["event_expiry_duration"] = event_expiry_duration
528
+ __props__.__dict__["memory_execution_role_arn"] = memory_execution_role_arn
529
+ __props__.__dict__["name"] = name
530
+ __props__.__dict__["region"] = region
531
+ __props__.__dict__["tags"] = tags
532
+ __props__.__dict__["tags_all"] = tags_all
533
+ __props__.__dict__["timeouts"] = timeouts
534
+ return AgentcoreMemory(resource_name, opts=opts, __props__=__props__)
535
+
536
+ @_builtins.property
537
+ @pulumi.getter
538
+ def arn(self) -> pulumi.Output[_builtins.str]:
539
+ """
540
+ ARN of the Memory.
541
+ """
542
+ return pulumi.get(self, "arn")
543
+
544
+ @_builtins.property
545
+ @pulumi.getter
546
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
547
+ """
548
+ Description of the memory.
549
+ """
550
+ return pulumi.get(self, "description")
551
+
552
+ @_builtins.property
553
+ @pulumi.getter(name="encryptionKeyArn")
554
+ def encryption_key_arn(self) -> pulumi.Output[Optional[_builtins.str]]:
555
+ """
556
+ ARN of the KMS key used to encrypt the memory. If not provided, AWS managed encryption is used.
557
+ """
558
+ return pulumi.get(self, "encryption_key_arn")
559
+
560
+ @_builtins.property
561
+ @pulumi.getter(name="eventExpiryDuration")
562
+ def event_expiry_duration(self) -> pulumi.Output[_builtins.int]:
563
+ """
564
+ Number of minutes after which memory events expire. Must be a positive integer.
565
+
566
+ The following arguments are optional:
567
+ """
568
+ return pulumi.get(self, "event_expiry_duration")
569
+
570
+ @_builtins.property
571
+ @pulumi.getter(name="memoryExecutionRoleArn")
572
+ def memory_execution_role_arn(self) -> pulumi.Output[Optional[_builtins.str]]:
573
+ """
574
+ ARN of the IAM role that the memory service assumes to perform operations. Required when using custom memory strategies with model processing.
575
+ """
576
+ return pulumi.get(self, "memory_execution_role_arn")
577
+
578
+ @_builtins.property
579
+ @pulumi.getter
580
+ def name(self) -> pulumi.Output[_builtins.str]:
581
+ """
582
+ Name of the memory.
583
+ """
584
+ return pulumi.get(self, "name")
585
+
586
+ @_builtins.property
587
+ @pulumi.getter
588
+ def region(self) -> pulumi.Output[_builtins.str]:
589
+ """
590
+ 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.
591
+ """
592
+ return pulumi.get(self, "region")
593
+
594
+ @_builtins.property
595
+ @pulumi.getter
596
+ def tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
597
+ """
598
+ Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
599
+ """
600
+ return pulumi.get(self, "tags")
601
+
602
+ @_builtins.property
603
+ @pulumi.getter(name="tagsAll")
604
+ def tags_all(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
605
+ """
606
+ A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
607
+ """
608
+ return pulumi.get(self, "tags_all")
609
+
610
+ @_builtins.property
611
+ @pulumi.getter
612
+ def timeouts(self) -> pulumi.Output[Optional['outputs.AgentcoreMemoryTimeouts']]:
613
+ return pulumi.get(self, "timeouts")
614
+