Class: AWSCDK::BedrockAgentCore::GatewayTargetAPIGatewayProps

Inherits:
GatewayTargetCommonProps
  • Object
show all
Defined in:
bedrock_agent_core/gateway_target_api_gateway_props.rb

Overview

Properties for creating an API Gateway-based Gateway Target.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(description: nil, gateway_target_name: nil, api_gateway_tool_configuration:, gateway:, rest_api:, credential_provider_configurations: nil, metadata_configuration: nil, stage: nil) ⇒ GatewayTargetAPIGatewayProps

Returns a new instance of GatewayTargetAPIGatewayProps.

Parameters:

  • description (String, nil) (defaults to: nil)

    Optional description for the gateway target The description can have up to 200 characters.

  • gateway_target_name (String, nil) (defaults to: nil)

    The name of the gateway target The name must be unique within the gateway Pattern: ^([0-9a-zA-Z][-]?)1,100$.

  • api_gateway_tool_configuration (AWSCDK::BedrockAgentCore::APIGatewayToolConfiguration)

    Tool configuration defining which operations to expose.

  • gateway (AWSCDK::BedrockAgentCore::IGateway)

    The gateway this target belongs to [disable-awslint:prefer-ref-interface].

  • rest_api (AWSCDK::APIGateway::IRestAPI)

    The REST API to integrate with Must be in the same account and region as the gateway [disable-awslint:prefer-ref-interface].

  • credential_provider_configurations (Array<AWSCDK::BedrockAgentCore::ICredentialProviderConfig>, nil) (defaults to: nil)

    Credential providers for authentication API Gateway targets support IAM and API key authentication.

  • metadata_configuration (AWSCDK::BedrockAgentCore::MetadataConfiguration, nil) (defaults to: nil)

    Metadata configuration for passing headers and query parameters Allows you to pass additional context through headers and query parameters.

  • stage (String, nil) (defaults to: nil)

    The stage name of the REST API.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'bedrock_agent_core/gateway_target_api_gateway_props.rb', line 15

def initialize(description: nil, gateway_target_name: nil, api_gateway_tool_configuration:, gateway:, rest_api:, credential_provider_configurations: nil, metadata_configuration: nil, stage: nil)
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @gateway_target_name = gateway_target_name
  Jsii::Type.check_type(@gateway_target_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "gatewayTargetName") unless @gateway_target_name.nil?
  @api_gateway_tool_configuration = api_gateway_tool_configuration.is_a?(Hash) ? ::AWSCDK::BedrockAgentCore::APIGatewayToolConfiguration.new(**api_gateway_tool_configuration.transform_keys(&:to_sym)) : api_gateway_tool_configuration
  Jsii::Type.check_type(@api_gateway_tool_configuration, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmVkcm9ja2FnZW50Y29yZS5BcGlHYXRld2F5VG9vbENvbmZpZ3VyYXRpb24ifQ==")), "apiGatewayToolConfiguration")
  @gateway = gateway
  Jsii::Type.check_type(@gateway, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmVkcm9ja2FnZW50Y29yZS5JR2F0ZXdheSJ9")), "gateway")
  @rest_api = rest_api
  Jsii::Type.check_type(@rest_api, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheS5JUmVzdEFwaSJ9")), "restApi")
  @credential_provider_configurations = credential_provider_configurations
  Jsii::Type.check_type(@credential_provider_configurations, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrYWdlbnRjb3JlLklDcmVkZW50aWFsUHJvdmlkZXJDb25maWcifSwia2luZCI6ImFycmF5In19")), "credentialProviderConfigurations") unless @credential_provider_configurations.nil?
  @metadata_configuration = .is_a?(Hash) ? ::AWSCDK::BedrockAgentCore::MetadataConfiguration.new(**.transform_keys(&:to_sym)) : 
  Jsii::Type.check_type(@metadata_configuration, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmVkcm9ja2FnZW50Y29yZS5NZXRhZGF0YUNvbmZpZ3VyYXRpb24ifQ==")), "metadataConfiguration") unless @metadata_configuration.nil?
  @stage = stage
  Jsii::Type.check_type(@stage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "stage") unless @stage.nil?
end

Instance Attribute Details

#api_gateway_tool_configurationAWSCDK::BedrockAgentCore::APIGatewayToolConfiguration (readonly)

Tool configuration defining which operations to expose.



47
48
49
# File 'bedrock_agent_core/gateway_target_api_gateway_props.rb', line 47

def api_gateway_tool_configuration
  @api_gateway_tool_configuration
end

#credential_provider_configurationsArray<AWSCDK::BedrockAgentCore::ICredentialProviderConfig>? (readonly)

Note:

Default: - Empty array (service handles IAM automatically)

Credential providers for authentication API Gateway targets support IAM and API key authentication.



60
61
62
# File 'bedrock_agent_core/gateway_target_api_gateway_props.rb', line 60

def credential_provider_configurations
  @credential_provider_configurations
end

#descriptionString? (readonly)

Note:

Default: - No description

Optional description for the gateway target The description can have up to 200 characters.

Returns:

  • (String, nil)


38
39
40
# File 'bedrock_agent_core/gateway_target_api_gateway_props.rb', line 38

def description
  @description
end

#gatewayAWSCDK::BedrockAgentCore::IGateway (readonly)

The gateway this target belongs to [disable-awslint:prefer-ref-interface].



51
52
53
# File 'bedrock_agent_core/gateway_target_api_gateway_props.rb', line 51

def gateway
  @gateway
end

#gateway_target_nameString? (readonly)

Note:

Default: - auto generate

The name of the gateway target The name must be unique within the gateway Pattern: ^([0-9a-zA-Z][-]?)1,100$.

Returns:

  • (String, nil)


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

def gateway_target_name
  @gateway_target_name
end

#metadata_configurationAWSCDK::BedrockAgentCore::MetadataConfiguration? (readonly)

Note:

Default: - No metadata configuration

Metadata configuration for passing headers and query parameters Allows you to pass additional context through headers and query parameters.



65
66
67
# File 'bedrock_agent_core/gateway_target_api_gateway_props.rb', line 65

def 
  @metadata_configuration
end

#rest_apiAWSCDK::APIGateway::IRestAPI (readonly)

The REST API to integrate with Must be in the same account and region as the gateway [disable-awslint:prefer-ref-interface].



55
56
57
# File 'bedrock_agent_core/gateway_target_api_gateway_props.rb', line 55

def rest_api
  @rest_api
end

#stageString? (readonly)

Note:

Default: - Uses the deployment stage from the RestApi (restApi.deploymentStage.stageName)

The stage name of the REST API.

Returns:

  • (String, nil)


70
71
72
# File 'bedrock_agent_core/gateway_target_api_gateway_props.rb', line 70

def stage
  @stage
end

Class Method Details

.jsii_propertiesObject



72
73
74
75
76
77
78
79
80
81
82
83
# File 'bedrock_agent_core/gateway_target_api_gateway_props.rb', line 72

def self.jsii_properties
  {
    :description => "description",
    :gateway_target_name => "gatewayTargetName",
    :api_gateway_tool_configuration => "apiGatewayToolConfiguration",
    :gateway => "gateway",
    :rest_api => "restApi",
    :credential_provider_configurations => "credentialProviderConfigurations",
    :metadata_configuration => "metadataConfiguration",
    :stage => "stage",
  }
end

Instance Method Details

#to_jsiiObject



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'bedrock_agent_core/gateway_target_api_gateway_props.rb', line 85

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "description" => @description,
    "gatewayTargetName" => @gateway_target_name,
    "apiGatewayToolConfiguration" => @api_gateway_tool_configuration,
    "gateway" => @gateway,
    "restApi" => @rest_api,
    "credentialProviderConfigurations" => @credential_provider_configurations,
    "metadataConfiguration" => @metadata_configuration,
    "stage" => @stage,
  })
  result.compact
end