Class: AWSCDK::BedrockAgentCore::CfnGatewayProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
bedrock_agent_core/cfn_gateway_props.rb

Overview

Properties for defining a CfnGateway.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(authorizer_type:, name:, role_arn:, authorizer_configuration: nil, description: nil, exception_level: nil, interceptor_configurations: nil, kms_key_arn: nil, policy_engine_configuration: nil, protocol_configuration: nil, protocol_type: nil, tags: nil) ⇒ CfnGatewayProps

Returns a new instance of CfnGatewayProps.

Parameters:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 21

def initialize(authorizer_type:, name:, role_arn:, authorizer_configuration: nil, description: nil, exception_level: nil, interceptor_configurations: nil, kms_key_arn: nil, policy_engine_configuration: nil, protocol_configuration: nil, protocol_type: nil, tags: nil)
  @authorizer_type = authorizer_type
  Jsii::Type.check_type(@authorizer_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "authorizerType")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn")
  @authorizer_configuration = authorizer_configuration.is_a?(Hash) ? ::AWSCDK::BedrockAgentCore::CfnGateway::AuthorizerConfigurationProperty.new(**authorizer_configuration.transform_keys(&:to_sym)) : authorizer_configuration
  Jsii::Type.check_type(@authorizer_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrYWdlbnRjb3JlLkNmbkdhdGV3YXkuQXV0aG9yaXplckNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "authorizerConfiguration") unless @authorizer_configuration.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @exception_level = exception_level
  Jsii::Type.check_type(@exception_level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "exceptionLevel") unless @exception_level.nil?
  @interceptor_configurations = interceptor_configurations
  Jsii::Type.check_type(@interceptor_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmVkcm9ja2FnZW50Y29yZS5DZm5HYXRld2F5LkdhdGV3YXlJbnRlcmNlcHRvckNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "interceptorConfigurations") unless @interceptor_configurations.nil?
  @kms_key_arn = kms_key_arn
  Jsii::Type.check_type(@kms_key_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyArn") unless @kms_key_arn.nil?
  @policy_engine_configuration = policy_engine_configuration.is_a?(Hash) ? ::AWSCDK::BedrockAgentCore::CfnGateway::GatewayPolicyEngineConfigurationProperty.new(**policy_engine_configuration.transform_keys(&:to_sym)) : policy_engine_configuration
  Jsii::Type.check_type(@policy_engine_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrYWdlbnRjb3JlLkNmbkdhdGV3YXkuR2F0ZXdheVBvbGljeUVuZ2luZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "policyEngineConfiguration") unless @policy_engine_configuration.nil?
  @protocol_configuration = protocol_configuration.is_a?(Hash) ? ::AWSCDK::BedrockAgentCore::CfnGateway::GatewayProtocolConfigurationProperty.new(**protocol_configuration.transform_keys(&:to_sym)) : protocol_configuration
  Jsii::Type.check_type(@protocol_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrYWdlbnRjb3JlLkNmbkdhdGV3YXkuR2F0ZXdheVByb3RvY29sQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "protocolConfiguration") unless @protocol_configuration.nil?
  @protocol_type = protocol_type
  Jsii::Type.check_type(@protocol_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "protocolType") unless @protocol_type.nil?
  @tags = tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "tags") unless @tags.nil?
end

Instance Attribute Details

#authorizer_configurationAWSCDK::IResolvable, ... (readonly)



63
64
65
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 63

def authorizer_configuration
  @authorizer_configuration
end

#authorizer_typeString (readonly)

The authorizer type for the gateway.



52
53
54
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 52

def authorizer_type
  @authorizer_type
end

#descriptionString? (readonly)

The description for the gateway.



68
69
70
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 68

def description
  @description
end

#exception_levelString? (readonly)

The exception level for the gateway.



73
74
75
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 73

def exception_level
  @exception_level
end

#interceptor_configurationsAWSCDK::IResolvable, ... (readonly)



76
77
78
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 76

def interceptor_configurations
  @interceptor_configurations
end

#kms_key_arnString? (readonly)

The KMS key ARN for the gateway.



81
82
83
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 81

def kms_key_arn
  @kms_key_arn
end

#nameString (readonly)

The name for the gateway.



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

def name
  @name
end

#policy_engine_configurationAWSCDK::IResolvable, ... (readonly)

The configuration for a policy engine associated with a gateway.

A policy engine is a collection of policies that evaluates and authorizes agent tool calls. When associated with a gateway, the policy engine intercepts all agent requests and determines whether to allow or deny each action based on the defined policies.



88
89
90
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 88

def policy_engine_configuration
  @policy_engine_configuration
end

#protocol_configurationAWSCDK::IResolvable, ... (readonly)

The protocol configuration for the gateway target.



93
94
95
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 93

def protocol_configuration
  @protocol_configuration
end

#protocol_typeString? (readonly)

The protocol type for the gateway target.



98
99
100
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 98

def protocol_type
  @protocol_type
end

#role_arnString (readonly)



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

def role_arn
  @role_arn
end

#tagsHash{String => String}? (readonly)

The tags for the gateway.



103
104
105
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 103

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 105

def self.jsii_properties
  {
    :authorizer_type => "authorizerType",
    :name => "name",
    :role_arn => "roleArn",
    :authorizer_configuration => "authorizerConfiguration",
    :description => "description",
    :exception_level => "exceptionLevel",
    :interceptor_configurations => "interceptorConfigurations",
    :kms_key_arn => "kmsKeyArn",
    :policy_engine_configuration => "policyEngineConfiguration",
    :protocol_configuration => "protocolConfiguration",
    :protocol_type => "protocolType",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# File 'bedrock_agent_core/cfn_gateway_props.rb', line 122

def to_jsii
  result = {}
  result.merge!({
    "authorizerType" => @authorizer_type,
    "name" => @name,
    "roleArn" => @role_arn,
    "authorizerConfiguration" => @authorizer_configuration,
    "description" => @description,
    "exceptionLevel" => @exception_level,
    "interceptorConfigurations" => @interceptor_configurations,
    "kmsKeyArn" => @kms_key_arn,
    "policyEngineConfiguration" => @policy_engine_configuration,
    "protocolConfiguration" => @protocol_configuration,
    "protocolType" => @protocol_type,
    "tags" => @tags,
  })
  result.compact
end