UNPKG

@aws-cdk/aws-bedrock-agentcore-alpha

Version:

The CDK Construct Library for Amazon Bedrock

153 lines (152 loc) 6.26 kB
import * as ec2 from 'aws-cdk-lib/aws-ec2'; import { CfnBrowserCustom, CfnCodeInterpreterCustom, CfnRuntime } from 'aws-cdk-lib/aws-bedrockagentcore'; import { Construct } from 'constructs'; /** * VPC configuration properties. * Only used when network mode is VPC. */ export interface VpcConfigProps { /** * The VPC to deploy the resource to. */ readonly vpc: ec2.IVpc; /** * Where to place the network interfaces within the VPC. * * This requires `vpc` to be specified in order for interfaces to actually be * placed in the subnets. If `vpc` is not specify, this will raise an error. * * @default - the Vpc default strategy if not specified */ readonly vpcSubnets?: ec2.SubnetSelection; /** * The list of security groups to associate with the resource's network interfaces. * * Only used if 'vpc' is supplied. * * @default - If the resource is placed within a VPC and a security group is * not specified by this prop, a dedicated security * group will be created for this resource. */ readonly securityGroups?: ec2.ISecurityGroup[]; /** * Whether to allow the resource to send all network traffic (except ipv6) * * If set to false, you must individually add traffic rules to allow the * resource to connect to network targets. * * Do not specify this property if the `securityGroups` property is set. * Instead, configure `allowAllOutbound` directly on the security group. * * @default true */ readonly allowAllOutbound?: boolean; } /** * Abstract base class for network configuration. */ export declare abstract class NetworkConfiguration { /** * The network mode to use. * Configure the security level for agent * execution to control access, isolate resources, and protect sensitive data. */ readonly networkMode: string; /** * The connections object to the network. */ readonly connections: ec2.Connections | undefined; /** * The scope to create the resource in. */ readonly scope?: Construct | undefined; /** * The VPC subnets to use. */ readonly vpcSubnets?: ec2.SubnetSelection; /** * Creates a new network configuration. * @param mode - the network mode to use for the tool. */ protected constructor(mode: string, scope?: Construct, vpcConfig?: VpcConfigProps); /** * Validates the vpc config. */ private _validateAndConfigureVpcConfig; } /** * Network configuration for the Browser tool. */ export declare class BrowserNetworkConfiguration extends NetworkConfiguration { /** * Creates a public network configuration. PUBLIC is the default network mode. * @returns A BrowserNetworkConfiguration. * Run this tool to operate in a public environment with internet access, suitable for less sensitive or open-use scenarios. */ static usingPublicNetwork(): BrowserNetworkConfiguration; /** * Creates a network configuration from a VPC configuration. * @param vpcConfig - The VPC configuration. * @returns A BrowserNetworkConfiguration. */ static usingVpc(scope: Construct, vpcConfig: VpcConfigProps): BrowserNetworkConfiguration; /** * Renders the network configuration as a CloudFormation property. * @param browserConnections - The connections object to the browser. * @internal This is an internal core function and should not be called directly. */ _render(browserConnections?: ec2.Connections): CfnBrowserCustom.BrowserNetworkConfigurationProperty; } /** * Network configuration for the Code Interpreter tool. */ export declare class CodeInterpreterNetworkConfiguration extends NetworkConfiguration { /** * Creates a public network configuration. * @returns A CodeInterpreterNetworkConfiguration. * Run this tool to operate in a public environment with internet access, suitable for less sensitive or open-use scenarios. */ static usingPublicNetwork(): CodeInterpreterNetworkConfiguration; /** * Creates a sandbox network configuration. * @returns A CodeInterpreterNetworkConfiguration. * Run this tool in a restricted environment with limited Permissions and Encryption to enhance safety and reduce potential risks. */ static usingSandboxNetwork(): CodeInterpreterNetworkConfiguration; /** * Creates a network configuration from a VPC configuration. * @param vpcConfig - The VPC configuration. * @returns A CodeInterpreterNetworkConfiguration. */ static usingVpc(scope: Construct, vpcConfig: VpcConfigProps): CodeInterpreterNetworkConfiguration; /** * Renders the network configuration as a CloudFormation property. * @param codeInterpreterConnections - The connections object to the code interpreter. * @internal This is an internal core function and should not be called directly. */ _render(codeInterpreterConnections?: ec2.Connections): CfnCodeInterpreterCustom.CodeInterpreterNetworkConfigurationProperty; } /** * Network configuration for the Runtime. */ export declare class RuntimeNetworkConfiguration extends NetworkConfiguration { /** * Creates a public network configuration. PUBLIC is the default network mode. * @returns A RuntimeNetworkConfiguration. * Run the runtime in a public environment with internet access, suitable for less sensitive or open-use scenarios. */ static usingPublicNetwork(): RuntimeNetworkConfiguration; /** * Creates a network configuration from a VPC configuration. * @param scope - The construct scope for creating resources. * @param vpcConfig - The VPC configuration. * @returns A RuntimeNetworkConfiguration. */ static usingVpc(scope: Construct, vpcConfig: VpcConfigProps): RuntimeNetworkConfiguration; /** * Renders the network configuration as a CloudFormation property. * @param runtimeConnections - The connections object to the runtime. * @internal This is an internal core function and should not be called directly. */ _render(_runtimeConnections?: ec2.Connections): CfnRuntime.NetworkConfigurationProperty; }