ToolSchema

class aws_cdk.aws_bedrock_agentcore_alpha.ToolSchema(s3_file=None, bucket_owner_account_id=None, inline_schema=None)

Bases: object

(experimental) ************************************************************************ TOOL SCHEMA CLASS ***********************************************************************.

Stability:

experimental

ExampleMetadata:

fixture=default infused

Example:

gateway = agentcore.Gateway(self, "MyGateway",
    gateway_name="my-gateway"
)

lambda_function = lambda_.Function(self, "MyFunction",
    runtime=lambda_.Runtime.NODEJS_22_X,
    handler="index.handler",
    code=lambda_.Code.from_inline("""
                exports.handler = async (event) => {
                    return {
                        statusCode: 200,
                        body: JSON.stringify({ message: 'Hello from Lambda!' })
                    };
                };
            """)
)

# Create a gateway target with Lambda and tool schema
target = agentcore.GatewayTarget.for_lambda(self, "MyLambdaTarget",
    gateway_target_name="my-lambda-target",
    description="Target for Lambda function integration",
    gateway=gateway,
    lambda_function=lambda_function,
    tool_schema=agentcore.ToolSchema.from_local_asset(
        path.join(__dirname, "schemas", "my-tool-schema.json"))
)
Parameters:
  • s3_file (Union[Location, Dict[str, Any], None])

  • bucket_owner_account_id (Optional[str])

  • inline_schema (Optional[Sequence[Union[ToolDefinition, Dict[str, Any]]]])

Stability:

experimental

Methods

abstractmethod bind(scope)

(experimental) Bind the schema to a construct.

Parameters:

scope (Construct)

Stability:

experimental

Return type:

None

abstractmethod grant_permissions_to_role(role)

(experimental) Grant permissions to the role.

Parameters:

role (IRole)

Stability:

experimental

Return type:

None

Attributes

bucket_owner_account_id

(experimental) The account ID of the S3 bucket owner for cross-account access.

Stability:

experimental

inline_schema

(experimental) The inline tool schema definition as a string, if using an inline schema.

Can be in JSON or YAML format.

Stability:

experimental

s3_file

(experimental) The S3 location of the tool schema file, if using an S3-based schema.

Contains the bucket name and object key information.

Stability:

experimental

Static Methods

classmethod from_inline(schema)

(experimental) Creates a Tool Schema from an inline string.

Parameters:

schema (Sequence[Union[ToolDefinition, Dict[str, Any]]]) –

  • the JSON or YAML payload defining the OpenAPI schema for the action group.

Stability:

experimental

Return type:

InlineToolSchema

classmethod from_local_asset(path)

(experimental) Creates a tool Schema from a local file.

Parameters:

path (str) –

  • the path to the local file containing the function schema for the tool.

Stability:

experimental

Return type:

ToolSchema

classmethod from_s3_file(bucket, object_key, bucket_owner_account_id=None)

(experimental) Creates a Tool Schema from an S3 File.

Parameters:
  • bucket (IBucket) –

    • the bucket containing the local file containing the OpenAPI schema for the action group.

  • object_key (str) –

    • object key in the bucket.

  • bucket_owner_account_id (Optional[str]) –

    • optional The account ID of the Amazon S3 bucket owner. This ID is used for cross-account access to the bucket.

Stability:

experimental

Return type:

S3ToolSchema