Class: AWSCDK::BedrockAgentCore::LambdaTargetConfiguration

Inherits:
McpTargetConfiguration
  • Object
show all
Defined in:
bedrock_agent_core/lambda_target_configuration.rb

Overview

Configuration for Lambda-based MCP targets.

This configuration wraps a Lambda function as MCP tools, allowing the gateway to invoke the function to provide tool capabilities.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(lambda_function, tool_schema) ⇒ LambdaTargetConfiguration

Returns a new instance of LambdaTargetConfiguration.

Parameters:



13
14
15
16
17
# File 'bedrock_agent_core/lambda_target_configuration.rb', line 13

def initialize(lambda_function, tool_schema)
  Jsii::Type.check_type(lambda_function, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklGdW5jdGlvbiJ9")), "lambdaFunction")
  Jsii::Type.check_type(tool_schema, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmVkcm9ja2FnZW50Y29yZS5Ub29sU2NoZW1hIn0=")), "toolSchema")
  Jsii::Object.instance_method(:initialize).bind(self).call(lambda_function, tool_schema)
end

Class Method Details

.create(lambda_function, tool_schema) ⇒ AWSCDK::BedrockAgentCore::LambdaTargetConfiguration

Create a Lambda target configuration.

Parameters:

Returns:

  • (AWSCDK::BedrockAgentCore::LambdaTargetConfiguration)

    A new LambdaTargetConfiguration instance



34
35
36
37
38
# File 'bedrock_agent_core/lambda_target_configuration.rb', line 34

def self.create(lambda_function, tool_schema)
  Jsii::Type.check_type(lambda_function, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklGdW5jdGlvbiJ9")), "lambdaFunction")
  Jsii::Type.check_type(tool_schema, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmVkcm9ja2FnZW50Y29yZS5Ub29sU2NoZW1hIn0=")), "toolSchema")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_bedrockagentcore.LambdaTargetConfiguration", "create", [lambda_function, tool_schema])
end

.jsii_overridable_methodsObject



19
20
21
22
23
24
25
26
27
# File 'bedrock_agent_core/lambda_target_configuration.rb', line 19

def self.jsii_overridable_methods
  {
    :target_type => { kind: :property, name: "targetType", is_optional: false },
    :lambda_function => { kind: :property, name: "lambdaFunction", is_optional: false },
    :tool_schema => { kind: :property, name: "toolSchema", is_optional: false },
    :bind => { kind: :method, name: "bind", is_optional: false },
    :render_mcp_configuration => { kind: :method, name: "renderMcpConfiguration", is_optional: false },
  }
end

Instance Method Details

#bind(scope, gateway) ⇒ AWSCDK::BedrockAgentCore::TargetConfigurationConfig

Binds this configuration to a construct scope Sets up necessary permissions for the gateway to invoke the Lambda function.

Parameters:

Returns:



66
67
68
69
70
# File 'bedrock_agent_core/lambda_target_configuration.rb', line 66

def bind(scope, gateway)
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(gateway, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmVkcm9ja2FnZW50Y29yZS5JR2F0ZXdheSJ9")), "gateway")
  jsii_call_method("bind", [scope, gateway])
end

#lambda_functionAWSCDK::Lambda::IFunction

The Lambda function that implements the MCP server logic.



50
51
52
# File 'bedrock_agent_core/lambda_target_configuration.rb', line 50

def lambda_function()
  jsii_get_property("lambdaFunction")
end

#render_mcp_configurationObject

Renders the MCP-specific configuration.

Returns:

  • (Object)


75
76
77
# File 'bedrock_agent_core/lambda_target_configuration.rb', line 75

def render_mcp_configuration()
  jsii_call_method("renderMcpConfiguration", [])
end

#target_typeAWSCDK::BedrockAgentCore::McpTargetType

The target type.



43
44
45
# File 'bedrock_agent_core/lambda_target_configuration.rb', line 43

def target_type()
  jsii_get_property("targetType")
end

#tool_schemaAWSCDK::BedrockAgentCore::ToolSchema

The tool schema that defines the available tools.



57
58
59
# File 'bedrock_agent_core/lambda_target_configuration.rb', line 57

def tool_schema()
  jsii_get_property("toolSchema")
end