Class: AWSCDK::BedrockAgentCore::Memory

Inherits:
MemoryBase
  • Object
show all
Defined in:
bedrock_agent_core/memory.rb

Overview

Long-term memory store for extracted insights like user preferences, semantic facts and summaries.

Enables knowledge retention across sessions by storing user preferences (e.g. coding style), semantic facts (e.g. learned info) and interaction summaries for context optimization.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope, id, props = nil) ⇒ Memory

Returns a new instance of Memory.

Parameters:



16
17
18
19
20
21
22
# File 'bedrock_agent_core/memory.rb', line 16

def initialize(scope, id, props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::BedrockAgentCore::MemoryProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmVkcm9ja2FnZW50Y29yZS5NZW1vcnlQcm9wcyJ9")), "props") unless props.nil?
  Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props)
end

Class Method Details

.from_memory_attributes(scope, id, attrs) ⇒ AWSCDK::BedrockAgentCore::IMemory

Creates an Memory reference from an existing memory's attributes.

Parameters:

Returns:



79
80
81
82
83
84
85
# File 'bedrock_agent_core/memory.rb', line 79

def self.from_memory_attributes(scope, id, attrs)
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  attrs = attrs.is_a?(Hash) ? ::AWSCDK::BedrockAgentCore::MemoryAttributes.new(**attrs.transform_keys(&:to_sym)) : attrs
  Jsii::Type.check_type(attrs, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmVkcm9ja2FnZW50Y29yZS5NZW1vcnlBdHRyaWJ1dGVzIn0=")), "attrs")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_bedrockagentcore.Memory", "fromMemoryAttributes", [scope, id, attrs])
end

.jsii_overridable_methodsObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'bedrock_agent_core/memory.rb', line 24

def self.jsii_overridable_methods
  {
    :node => { kind: :property, name: "node", is_optional: false },
    :env => { kind: :property, name: "env", is_optional: false },
    :physical_name => { kind: :property, name: "physicalName", is_optional: false },
    :stack => { kind: :property, name: "stack", is_optional: false },
    :grant_principal => { kind: :property, name: "grantPrincipal", is_optional: false },
    :memory_arn => { kind: :property, name: "memoryArn", is_optional: false },
    :memory_id => { kind: :property, name: "memoryId", is_optional: false },
    :memory_ref => { kind: :property, name: "memoryRef", is_optional: false },
    :created_at => { kind: :property, name: "createdAt", is_optional: true },
    :execution_role => { kind: :property, name: "executionRole", is_optional: true },
    :kms_key => { kind: :property, name: "kmsKey", is_optional: true },
    :status => { kind: :property, name: "status", is_optional: true },
    :updated_at => { kind: :property, name: "updatedAt", is_optional: true },
    :memory_name => { kind: :property, name: "memoryName", is_optional: false },
    :memory_strategies => { kind: :property, name: "memoryStrategies", is_optional: false },
    :description => { kind: :property, name: "description", is_optional: true },
    :expiration_duration => { kind: :property, name: "expirationDuration", is_optional: true },
    :failure_reason => { kind: :property, name: "failureReason", is_optional: true },
    :tags => { kind: :property, name: "tags", is_optional: true },
    :to_string => { kind: :method, name: "toString", is_optional: false },
    :with => { kind: :method, name: "with", is_optional: false },
    :apply_cross_stack_reference_strength => { kind: :method, name: "applyCrossStackReferenceStrength", is_optional: false },
    :apply_removal_policy => { kind: :method, name: "applyRemovalPolicy", is_optional: false },
    :generate_physical_name => { kind: :method, name: "generatePhysicalName", is_optional: false },
    :get_resource_arn_attribute => { kind: :method, name: "getResourceArnAttribute", is_optional: false },
    :get_resource_name_attribute => { kind: :method, name: "getResourceNameAttribute", is_optional: false },
    :grant => { kind: :method, name: "grant", is_optional: false },
    :grant_admin => { kind: :method, name: "grantAdmin", is_optional: false },
    :grant_delete => { kind: :method, name: "grantDelete", is_optional: false },
    :grant_delete_long_term_memory => { kind: :method, name: "grantDeleteLongTermMemory", is_optional: false },
    :grant_delete_short_term_memory => { kind: :method, name: "grantDeleteShortTermMemory", is_optional: false },
    :grant_full_access => { kind: :method, name: "grantFullAccess", is_optional: false },
    :grant_read => { kind: :method, name: "grantRead", is_optional: false },
    :grant_read_long_term_memory => { kind: :method, name: "grantReadLongTermMemory", is_optional: false },
    :grant_read_short_term_memory => { kind: :method, name: "grantReadShortTermMemory", is_optional: false },
    :grant_write => { kind: :method, name: "grantWrite", is_optional: false },
    :metric => { kind: :method, name: "metric", is_optional: false },
    :metric_errors_for_api_operation => { kind: :method, name: "metricErrorsForApiOperation", is_optional: false },
    :metric_event_creation_count => { kind: :method, name: "metricEventCreationCount", is_optional: false },
    :metric_for_api_operation => { kind: :method, name: "metricForApiOperation", is_optional: false },
    :metric_invocations_for_api_operation => { kind: :method, name: "metricInvocationsForApiOperation", is_optional: false },
    :metric_latency_for_api_operation => { kind: :method, name: "metricLatencyForApiOperation", is_optional: false },
    :metric_memory_record_creation_count => { kind: :method, name: "metricMemoryRecordCreationCount", is_optional: false },
    :add_memory_strategy => { kind: :method, name: "addMemoryStrategy", is_optional: false },
  }
end

.PROPERTY_INJECTION_IDString

Uniquely identifies this class.

Returns:

  • (String)


196
197
198
# File 'bedrock_agent_core/memory.rb', line 196

def self.PROPERTY_INJECTION_ID()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_bedrockagentcore.Memory", "PROPERTY_INJECTION_ID")
end

Instance Method Details

#add_memory_strategy(memory_strategy) ⇒ void

Note:

Default: - No memory strategies.

This method returns an undefined value.

Add memory strategy to the memory.

Parameters:



556
557
558
559
# File 'bedrock_agent_core/memory.rb', line 556

def add_memory_strategy(memory_strategy)
  Jsii::Type.check_type(memory_strategy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmVkcm9ja2FnZW50Y29yZS5JTWVtb3J5U3RyYXRlZ3kifQ==")), "memoryStrategy")
  jsii_call_method("addMemoryStrategy", [memory_strategy])
end

#apply_cross_stack_reference_strength(strength) ⇒ void

This method returns an undefined value.

Override the cross-stack reference strength for this resource.

When set, any cross-stack reference to this resource will use the specified mechanism instead of the global default determined by the @aws-cdk/core:defaultCrossStackReferences context key. This is useful for selectively weakening specific references to avoid the "deadly embrace" problem without changing the app-wide default.

Parameters:



276
277
278
279
# File 'bedrock_agent_core/memory.rb', line 276

def apply_cross_stack_reference_strength(strength)
  Jsii::Type.check_type(strength, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZWZlcmVuY2VTdHJlbmd0aCJ9")), "strength")
  jsii_call_method("applyCrossStackReferenceStrength", [strength])
end

#apply_removal_policy(policy) ⇒ void

This method returns an undefined value.

Apply the given removal policy to this resource.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).

Parameters:



293
294
295
296
# File 'bedrock_agent_core/memory.rb', line 293

def apply_removal_policy(policy)
  Jsii::Type.check_type(policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "policy")
  jsii_call_method("applyRemovalPolicy", [policy])
end

#created_atString?

The created timestamp of the memory.

Returns:

  • (String, nil)


161
162
163
# File 'bedrock_agent_core/memory.rb', line 161

def created_at()
  jsii_get_property("createdAt")
end

#descriptionString?

The description of the memory.

Returns:

  • (String, nil)


217
218
219
# File 'bedrock_agent_core/memory.rb', line 217

def description()
  jsii_get_property("description")
end

#envAWSCDK::Interfaces::ResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed in a Stack (those created by creating new class instances like new Role(), new Bucket(), etc.), this is always the same as the environment of the stack they belong to.

For referenced resources (those obtained from referencing methods like Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be different than the stack they were imported into.



105
106
107
# File 'bedrock_agent_core/memory.rb', line 105

def env()
  jsii_get_property("env")
end

#execution_roleAWSCDK::IAM::IRole?

The execution role of the memory.

Returns:



168
169
170
# File 'bedrock_agent_core/memory.rb', line 168

def execution_role()
  jsii_get_property("executionRole")
end

#expiration_durationAWSCDK::Duration?

The expiration days of the memory.

Returns:



224
225
226
# File 'bedrock_agent_core/memory.rb', line 224

def expiration_duration()
  jsii_get_property("expirationDuration")
end

#failure_reasonString?

The failure reason of the browser.

Returns:

  • (String, nil)


231
232
233
# File 'bedrock_agent_core/memory.rb', line 231

def failure_reason()
  jsii_get_property("failureReason")
end

#generate_physical_nameString

Returns:

  • (String)


299
300
301
# File 'bedrock_agent_core/memory.rb', line 299

def generate_physical_name()
  jsii_call_method("generatePhysicalName", [])
end

#get_resource_arn_attribute(arn_attr, arn_components) ⇒ String

Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. bucket.bucketArn).

Normally, this token will resolve to arn_attr, but if the resource is referenced across environments, arn_components will be used to synthesize a concrete ARN with the resource's physical name. Make sure to reference this.physicalName in arn_components.

Parameters:

  • arn_attr (String)

    The CFN attribute which resolves to the ARN of the resource.

  • arn_components (AWSCDK::ARNComponents)

    The format of the ARN of this resource.

Returns:

  • (String)


313
314
315
316
317
318
# File 'bedrock_agent_core/memory.rb', line 313

def get_resource_arn_attribute(arn_attr, arn_components)
  Jsii::Type.check_type(arn_attr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "arnAttr")
  arn_components = arn_components.is_a?(Hash) ? ::AWSCDK::ARNComponents.new(**arn_components.transform_keys(&:to_sym)) : arn_components
  Jsii::Type.check_type(arn_components, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5Bcm5Db21wb25lbnRzIn0=")), "arnComponents")
  jsii_call_method("getResourceArnAttribute", [arn_attr, arn_components])
end

#get_resource_name_attribute(name_attr) ⇒ String

Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. bucket.bucketName).

Normally, this token will resolve to name_attr, but if the resource is referenced across environments, it will be resolved to this.physicalName, which will be a concrete name.

Parameters:

  • name_attr (String)

    The CFN attribute which resolves to the resource's name.

Returns:

  • (String)


328
329
330
331
# File 'bedrock_agent_core/memory.rb', line 328

def get_resource_name_attribute(name_attr)
  Jsii::Type.check_type(name_attr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "nameAttr")
  jsii_call_method("getResourceNameAttribute", [name_attr])
end

#grant(grantee, *actions) ⇒ AWSCDK::IAM::Grant

Grants IAM actions to the IAM Principal.

[disable-awslint:no-grants]

Parameters:

  • grantee (AWSCDK::IAM::IGrantable)
    • The IAM principal to grant permissions to.
  • actions (Array<String>)
    • The actions to grant.

Returns:



340
341
342
343
344
345
346
# File 'bedrock_agent_core/memory.rb', line 340

def grant(grantee, *actions)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  actions.each_with_index do |item, index|
    Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "actions[#{index}]")
  end
  jsii_call_method("grant", [grantee, *actions])
end

#grant_admin(grantee) ⇒ AWSCDK::IAM::Grant

Note:

Default: - Default grant configuration: - actions: ['bedrock-agentcore:CreateMemory', 'bedrock-agentcore:GetMemory', 'bedrock-agentcore:DeleteMemory', 'bedrock-agentcore:UpdateMemory'] on this.memoryArn

Grant the given principal identity permissions to manage the control plane of this memory.

[disable-awslint:no-grants]

Parameters:

Returns:



355
356
357
358
# File 'bedrock_agent_core/memory.rb', line 355

def grant_admin(grantee)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  jsii_call_method("grantAdmin", [grantee])
end

#grant_delete(grantee) ⇒ AWSCDK::IAM::Grant

Note:

Default: - Default grant configuration: - actions: ['bedrock-agentcore:DeleteEvent', 'bedrock-agentcore:DeleteMemoryRecord'] on this.memoryArn

Grant the given principal identity permissions to delete content on this memory.

Both Short-Term Memory (STM) and Long-Term Memory (LTM).

[disable-awslint:no-grants]

Parameters:

Returns:



369
370
371
372
# File 'bedrock_agent_core/memory.rb', line 369

def grant_delete(grantee)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  jsii_call_method("grantDelete", [grantee])
end

#grant_delete_long_term_memory(grantee) ⇒ AWSCDK::IAM::Grant

Note:

Default: - Default grant configuration: - actions: ['bedrock-agentcore:DeleteMemoryRecord'] on this.memoryArn

Grant the given principal identity permissions to delete Long-Term Memory (LTM) content on this memory.

[disable-awslint:no-grants]

Parameters:

Returns:



381
382
383
384
# File 'bedrock_agent_core/memory.rb', line 381

def grant_delete_long_term_memory(grantee)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  jsii_call_method("grantDeleteLongTermMemory", [grantee])
end

#grant_delete_short_term_memory(grantee) ⇒ AWSCDK::IAM::Grant

Note:

Default: - Default grant configuration: - actions: ['bedrock-agentcore:DeleteEvent'] on this.memoryArn

Grant the given principal identity permissions to delete Short-Term Memory (STM) content on this memory.

[disable-awslint:no-grants]

Parameters:

Returns:



393
394
395
396
# File 'bedrock_agent_core/memory.rb', line 393

def grant_delete_short_term_memory(grantee)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  jsii_call_method("grantDeleteShortTermMemory", [grantee])
end

#grant_full_access(grantee) ⇒ AWSCDK::IAM::Grant

Note:

Default: - Default grant configuration: - actions: ['bedrock-agentcore:CreateEvent', 'bedrock-agentcore:GetEvent', 'bedrock-agentcore:DeleteEvent', 'bedrock-agentcore:GetMemoryRecord', 'bedrock-agentcore:RetrieveMemoryRecords', 'bedrock-agentcore:ListMemoryRecords', 'bedrock-agentcore:ListActors', 'bedrock-agentcore:ListSessions', 'bedrock-agentcore:CreateMemory', 'bedrock-agentcore:GetMemory', 'bedrock-agentcore:DeleteMemory', 'bedrock-agentcore:UpdateMemory'] on this.memoryArn

Grant the given principal identity permissions to do every action on this memory.

[disable-awslint:no-grants]

Parameters:

Returns:



405
406
407
408
# File 'bedrock_agent_core/memory.rb', line 405

def grant_full_access(grantee)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  jsii_call_method("grantFullAccess", [grantee])
end

#grant_principalAWSCDK::IAM::IPrincipal

The principal to grant permissions to.



133
134
135
# File 'bedrock_agent_core/memory.rb', line 133

def grant_principal()
  jsii_get_property("grantPrincipal")
end

#grant_read(grantee) ⇒ AWSCDK::IAM::Grant

Note:

Default: - Default grant configuration: - actions: ['bedrock-agentcore:GetMemoryRecord', 'bedrock-agentcore:RetrieveMemoryRecords', 'bedrock-agentcore:ListMemoryRecords', 'bedrock-agentcore:ListActors', 'bedrock-agentcore:ListSessions] on this.memoryArn

Grant the given principal identity permissions to read the contents of this memory.

Both Short-Term Memory (STM) and Long-Term Memory (LTM).

[disable-awslint:no-grants]

Parameters:

Returns:



419
420
421
422
# File 'bedrock_agent_core/memory.rb', line 419

def grant_read(grantee)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  jsii_call_method("grantRead", [grantee])
end

#grant_read_long_term_memory(grantee) ⇒ AWSCDK::IAM::Grant

Note:

Default: - Default grant configuration: - actions: ['bedrock-agentcore:GetMemoryRecord', 'bedrock-agentcore:RetrieveMemoryRecords', 'bedrock-agentcore:ListMemoryRecords', 'bedrock-agentcore:ListActors', 'bedrock-agentcore:ListSessions',] on this.memoryArn

Grant the given principal identity permissions to read the Long-Term Memory (LTM) contents of this memory.

[disable-awslint:no-grants]

Parameters:

Returns:



431
432
433
434
# File 'bedrock_agent_core/memory.rb', line 431

def grant_read_long_term_memory(grantee)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  jsii_call_method("grantReadLongTermMemory", [grantee])
end

#grant_read_short_term_memory(grantee) ⇒ AWSCDK::IAM::Grant

Note:

Default: - Default grant configuration: - actions: ['bedrock-agentcore:GetEvent', 'bedrock-agentcore:ListEvents', 'bedrock-agentcore:ListActors', 'bedrock-agentcore:ListSessions',] on this.memoryArn

Grant the given principal identity permissions to read the Short-Term Memory (STM) contents of this memory.

[disable-awslint:no-grants]

Parameters:

Returns:



443
444
445
446
# File 'bedrock_agent_core/memory.rb', line 443

def grant_read_short_term_memory(grantee)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  jsii_call_method("grantReadShortTermMemory", [grantee])
end

#grant_write(grantee) ⇒ AWSCDK::IAM::Grant

Note:

Default: - Default grant configuration: - actions: ['bedrock-agentcore:CreateEvent'] on this.memoryArn

Grant the given principal identity permissions to write content to short-term memory.

[disable-awslint:no-grants]

Parameters:

Returns:



455
456
457
458
# File 'bedrock_agent_core/memory.rb', line 455

def grant_write(grantee)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  jsii_call_method("grantWrite", [grantee])
end

#kms_keyAWSCDK::KMS::IKey?

The KMS key used to encrypt the memory.

Returns:



175
176
177
# File 'bedrock_agent_core/memory.rb', line 175

def kms_key()
  jsii_get_property("kmsKey")
end

#memory_arnString

The ARN of the memory resource.

Returns:

  • (String)


140
141
142
# File 'bedrock_agent_core/memory.rb', line 140

def memory_arn()
  jsii_get_property("memoryArn")
end

#memory_idString

The id of the memory.

Returns:

  • (String)


147
148
149
# File 'bedrock_agent_core/memory.rb', line 147

def memory_id()
  jsii_get_property("memoryId")
end

#memory_nameString

The name of the memory.

Returns:

  • (String)


203
204
205
# File 'bedrock_agent_core/memory.rb', line 203

def memory_name()
  jsii_get_property("memoryName")
end

#memory_refAWSCDK::Interfaces::AWSBedrockagentcore::MemoryReference

A reference to a Memory resource.



154
155
156
# File 'bedrock_agent_core/memory.rb', line 154

def memory_ref()
  jsii_get_property("memoryRef")
end

#memory_strategiesArray<AWSCDK::BedrockAgentCore::IMemoryStrategy>

The memory strategies used by the memory.



210
211
212
# File 'bedrock_agent_core/memory.rb', line 210

def memory_strategies()
  jsii_get_property("memoryStrategies")
end

#metric(metric_name, props = nil) ⇒ AWSCDK::CloudWatch::Metric

Return the given named metric for this memory.

By default, the metric will be calculated as a sum over a period of 5 minutes. You can customize this by using the statistic and period properties.

Parameters:

Returns:



468
469
470
471
472
473
# File 'bedrock_agent_core/memory.rb', line 468

def metric(metric_name, props = nil)
  Jsii::Type.check_type(metric_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "metricName")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metric", [metric_name, props])
end

#metric_errors_for_api_operation(operation, props = nil) ⇒ AWSCDK::CloudWatch::Metric

Return a metric containing the number of errors for a specific API operation performed on this memory.

Parameters:

Returns:



480
481
482
483
484
485
# File 'bedrock_agent_core/memory.rb', line 480

def metric_errors_for_api_operation(operation, props = nil)
  Jsii::Type.check_type(operation, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "operation")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricErrorsForApiOperation", [operation, props])
end

#metric_event_creation_count(props = nil) ⇒ AWSCDK::CloudWatch::Metric

Returns the metric containing the number of short-term memory events.

Parameters:

Returns:



491
492
493
494
495
# File 'bedrock_agent_core/memory.rb', line 491

def metric_event_creation_count(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricEventCreationCount", [props])
end

#metric_for_api_operation(metric_name, operation, props = nil) ⇒ AWSCDK::CloudWatch::Metric

Return the given named metric related to the API operation performed on this memory.

Parameters:

Returns:



503
504
505
506
507
508
509
# File 'bedrock_agent_core/memory.rb', line 503

def metric_for_api_operation(metric_name, operation, props = nil)
  Jsii::Type.check_type(metric_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "metricName")
  Jsii::Type.check_type(operation, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "operation")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricForApiOperation", [metric_name, operation, props])
end

#metric_invocations_for_api_operation(operation, props = nil) ⇒ AWSCDK::CloudWatch::Metric

Return a metric containing the total number of API requests made for a specific memory operation like CreateEvent, ListEvents, RetrieveMemoryRecords ...

Parameters:

Returns:



516
517
518
519
520
521
# File 'bedrock_agent_core/memory.rb', line 516

def metric_invocations_for_api_operation(operation, props = nil)
  Jsii::Type.check_type(operation, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "operation")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricInvocationsForApiOperation", [operation, props])
end

#metric_latency_for_api_operation(operation, props = nil) ⇒ AWSCDK::CloudWatch::Metric

Return a metric measuring the latency of a specific API operation performed on this memory.

The latency metric represents the total time elapsed between receiving the request and sending the final response token, measuring complete end-to-end processing time.

For memory creation events specifically, this measures the time from the last CreateEvent that met strategy criteria until memory storage is completed.

Parameters:

Returns:



534
535
536
537
538
539
# File 'bedrock_agent_core/memory.rb', line 534

def metric_latency_for_api_operation(operation, props = nil)
  Jsii::Type.check_type(operation, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "operation")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricLatencyForApiOperation", [operation, props])
end

#metric_memory_record_creation_count(props = nil) ⇒ AWSCDK::CloudWatch::Metric

Returns the metric containing the number of long-term memory records created by the long-term extraction strategies.

Parameters:

Returns:



545
546
547
548
549
# File 'bedrock_agent_core/memory.rb', line 545

def metric_memory_record_creation_count(props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil?
  jsii_call_method("metricMemoryRecordCreationCount", [props])
end

#nodeConstructs::Node

The tree node.

Returns:

  • (Constructs::Node)


90
91
92
# File 'bedrock_agent_core/memory.rb', line 90

def node()
  jsii_get_property("node")
end

#physical_nameString

Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.

This value will resolve to one of the following:

  • a concrete value (e.g. "my-awesome-bucket")
  • undefined, when a name should be generated by CloudFormation
  • a concrete name generated automatically during synthesis, in cross-environment scenarios.

Returns:

  • (String)


119
120
121
# File 'bedrock_agent_core/memory.rb', line 119

def physical_name()
  jsii_get_property("physicalName")
end

#stackAWSCDK::Stack

The stack in which this resource is defined.

Returns:



126
127
128
# File 'bedrock_agent_core/memory.rb', line 126

def stack()
  jsii_get_property("stack")
end

#statusString?

The status of the memory.

Returns:

  • (String, nil)


182
183
184
# File 'bedrock_agent_core/memory.rb', line 182

def status()
  jsii_get_property("status")
end

#tagsHash{String => String}?

Note:

Default: - No tags applied

Tags applied to this browser resource A map of key-value pairs for resource tagging.

Returns:

  • (Hash{String => String}, nil)


239
240
241
# File 'bedrock_agent_core/memory.rb', line 239

def tags()
  jsii_get_property("tags")
end

#to_stringString

Returns a string representation of this construct.

Returns:

  • (String)


246
247
248
# File 'bedrock_agent_core/memory.rb', line 246

def to_string()
  jsii_call_method("toString", [])
end

#updated_atString?

The updated at timestamp of the memory.

Returns:

  • (String, nil)


189
190
191
# File 'bedrock_agent_core/memory.rb', line 189

def updated_at()
  jsii_get_property("updatedAt")
end

#with(*mixins) ⇒ Constructs::IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

Parameters:

  • mixins (Array<Constructs::IMixin>)

Returns:

  • (Constructs::IConstruct)


259
260
261
262
263
264
# File 'bedrock_agent_core/memory.rb', line 259

def with(*mixins)
  mixins.each_with_index do |item, index|
    Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]")
  end
  jsii_call_method("with", [*mixins])
end