Class: AWSCDK::Bedrock::CfnGuardrailProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
bedrock/cfn_guardrail_props.rb

Overview

Properties for defining a CfnGuardrail.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(blocked_input_messaging:, blocked_outputs_messaging:, name:, automated_reasoning_policy_config: nil, content_policy_config: nil, contextual_grounding_policy_config: nil, cross_region_config: nil, description: nil, kms_key_arn: nil, sensitive_information_policy_config: nil, tags: nil, topic_policy_config: nil, word_policy_config: nil) ⇒ CfnGuardrailProps

Returns a new instance of CfnGuardrailProps.

Parameters:



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
47
48
49
# File 'bedrock/cfn_guardrail_props.rb', line 22

def initialize(blocked_input_messaging:, blocked_outputs_messaging:, name:, automated_reasoning_policy_config: nil, content_policy_config: nil, contextual_grounding_policy_config: nil, cross_region_config: nil, description: nil, kms_key_arn: nil, sensitive_information_policy_config: nil, tags: nil, topic_policy_config: nil, word_policy_config: nil)
  @blocked_input_messaging = blocked_input_messaging
  Jsii::Type.check_type(@blocked_input_messaging, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "blockedInputMessaging")
  @blocked_outputs_messaging = blocked_outputs_messaging
  Jsii::Type.check_type(@blocked_outputs_messaging, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "blockedOutputsMessaging")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @automated_reasoning_policy_config = automated_reasoning_policy_config.is_a?(Hash) ? ::AWSCDK::Bedrock::CfnGuardrail::AutomatedReasoningPolicyConfigProperty.new(**automated_reasoning_policy_config.transform_keys(&:to_sym)) : automated_reasoning_policy_config
  Jsii::Type.check_type(@automated_reasoning_policy_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrLkNmbkd1YXJkcmFpbC5BdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lDb25maWdQcm9wZXJ0eSJ9XX19")), "automatedReasoningPolicyConfig") unless @automated_reasoning_policy_config.nil?
  @content_policy_config = content_policy_config.is_a?(Hash) ? ::AWSCDK::Bedrock::CfnGuardrail::ContentPolicyConfigProperty.new(**content_policy_config.transform_keys(&:to_sym)) : content_policy_config
  Jsii::Type.check_type(@content_policy_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrLkNmbkd1YXJkcmFpbC5Db250ZW50UG9saWN5Q29uZmlnUHJvcGVydHkifV19fQ==")), "contentPolicyConfig") unless @content_policy_config.nil?
  @contextual_grounding_policy_config = contextual_grounding_policy_config.is_a?(Hash) ? ::AWSCDK::Bedrock::CfnGuardrail::ContextualGroundingPolicyConfigProperty.new(**contextual_grounding_policy_config.transform_keys(&:to_sym)) : contextual_grounding_policy_config
  Jsii::Type.check_type(@contextual_grounding_policy_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrLkNmbkd1YXJkcmFpbC5Db250ZXh0dWFsR3JvdW5kaW5nUG9saWN5Q29uZmlnUHJvcGVydHkifV19fQ==")), "contextualGroundingPolicyConfig") unless @contextual_grounding_policy_config.nil?
  @cross_region_config = cross_region_config.is_a?(Hash) ? ::AWSCDK::Bedrock::CfnGuardrail::GuardrailCrossRegionConfigProperty.new(**cross_region_config.transform_keys(&:to_sym)) : cross_region_config
  Jsii::Type.check_type(@cross_region_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrLkNmbkd1YXJkcmFpbC5HdWFyZHJhaWxDcm9zc1JlZ2lvbkNvbmZpZ1Byb3BlcnR5In1dfX0=")), "crossRegionConfig") unless @cross_region_config.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.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?
  @sensitive_information_policy_config = sensitive_information_policy_config.is_a?(Hash) ? ::AWSCDK::Bedrock::CfnGuardrail::SensitiveInformationPolicyConfigProperty.new(**sensitive_information_policy_config.transform_keys(&:to_sym)) : sensitive_information_policy_config
  Jsii::Type.check_type(@sensitive_information_policy_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrLkNmbkd1YXJkcmFpbC5TZW5zaXRpdmVJbmZvcm1hdGlvblBvbGljeUNvbmZpZ1Byb3BlcnR5In1dfX0=")), "sensitiveInformationPolicyConfig") unless @sensitive_information_policy_config.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @topic_policy_config = topic_policy_config.is_a?(Hash) ? ::AWSCDK::Bedrock::CfnGuardrail::TopicPolicyConfigProperty.new(**topic_policy_config.transform_keys(&:to_sym)) : topic_policy_config
  Jsii::Type.check_type(@topic_policy_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrLkNmbkd1YXJkcmFpbC5Ub3BpY1BvbGljeUNvbmZpZ1Byb3BlcnR5In1dfX0=")), "topicPolicyConfig") unless @topic_policy_config.nil?
  @word_policy_config = word_policy_config.is_a?(Hash) ? ::AWSCDK::Bedrock::CfnGuardrail::WordPolicyConfigProperty.new(**word_policy_config.transform_keys(&:to_sym)) : word_policy_config
  Jsii::Type.check_type(@word_policy_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iZWRyb2NrLkNmbkd1YXJkcmFpbC5Xb3JkUG9saWN5Q29uZmlnUHJvcGVydHkifV19fQ==")), "wordPolicyConfig") unless @word_policy_config.nil?
end

Instance Attribute Details

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

Configuration settings for integrating Automated Reasoning policies with Amazon Bedrock Guardrails.



70
71
72
# File 'bedrock/cfn_guardrail_props.rb', line 70

def automated_reasoning_policy_config
  @automated_reasoning_policy_config
end

#blocked_input_messagingString (readonly)

The message to return when the guardrail blocks a prompt.



55
56
57
# File 'bedrock/cfn_guardrail_props.rb', line 55

def blocked_input_messaging
  @blocked_input_messaging
end

#blocked_outputs_messagingString (readonly)

The message to return when the guardrail blocks a model response.



60
61
62
# File 'bedrock/cfn_guardrail_props.rb', line 60

def blocked_outputs_messaging
  @blocked_outputs_messaging
end

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

The content filter policies to configure for the guardrail.



75
76
77
# File 'bedrock/cfn_guardrail_props.rb', line 75

def content_policy_config
  @content_policy_config
end

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

Contextual grounding policy config for a guardrail.



80
81
82
# File 'bedrock/cfn_guardrail_props.rb', line 80

def contextual_grounding_policy_config
  @contextual_grounding_policy_config
end

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

The system-defined guardrail profile that you're using with your guardrail.

Guardrail profiles define the destination AWS Regions where guardrail inference requests can be automatically routed. Using guardrail profiles helps maintain guardrail performance and reliability when demand increases.

For more information, see the Amazon Bedrock User Guide .



89
90
91
# File 'bedrock/cfn_guardrail_props.rb', line 89

def cross_region_config
  @cross_region_config
end

#descriptionString? (readonly)

A description of the guardrail.



94
95
96
# File 'bedrock/cfn_guardrail_props.rb', line 94

def description
  @description
end

#kms_key_arnString? (readonly)

The ARN of the AWS key that you use to encrypt the guardrail.



99
100
101
# File 'bedrock/cfn_guardrail_props.rb', line 99

def kms_key_arn
  @kms_key_arn
end

#nameString (readonly)

The name of the guardrail.



65
66
67
# File 'bedrock/cfn_guardrail_props.rb', line 65

def name
  @name
end

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

The sensitive information policy to configure for the guardrail.



104
105
106
# File 'bedrock/cfn_guardrail_props.rb', line 104

def sensitive_information_policy_config
  @sensitive_information_policy_config
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

The tags that you want to attach to the guardrail.



109
110
111
# File 'bedrock/cfn_guardrail_props.rb', line 109

def tags
  @tags
end

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

The topic policies to configure for the guardrail.



114
115
116
# File 'bedrock/cfn_guardrail_props.rb', line 114

def topic_policy_config
  @topic_policy_config
end

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

The word policy you configure for the guardrail.



119
120
121
# File 'bedrock/cfn_guardrail_props.rb', line 119

def word_policy_config
  @word_policy_config
end

Class Method Details

.jsii_propertiesObject



121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'bedrock/cfn_guardrail_props.rb', line 121

def self.jsii_properties
  {
    :blocked_input_messaging => "blockedInputMessaging",
    :blocked_outputs_messaging => "blockedOutputsMessaging",
    :name => "name",
    :automated_reasoning_policy_config => "automatedReasoningPolicyConfig",
    :content_policy_config => "contentPolicyConfig",
    :contextual_grounding_policy_config => "contextualGroundingPolicyConfig",
    :cross_region_config => "crossRegionConfig",
    :description => "description",
    :kms_key_arn => "kmsKeyArn",
    :sensitive_information_policy_config => "sensitiveInformationPolicyConfig",
    :tags => "tags",
    :topic_policy_config => "topicPolicyConfig",
    :word_policy_config => "wordPolicyConfig",
  }
end

Instance Method Details

#to_jsiiObject



139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'bedrock/cfn_guardrail_props.rb', line 139

def to_jsii
  result = {}
  result.merge!({
    "blockedInputMessaging" => @blocked_input_messaging,
    "blockedOutputsMessaging" => @blocked_outputs_messaging,
    "name" => @name,
    "automatedReasoningPolicyConfig" => @automated_reasoning_policy_config,
    "contentPolicyConfig" => @content_policy_config,
    "contextualGroundingPolicyConfig" => @contextual_grounding_policy_config,
    "crossRegionConfig" => @cross_region_config,
    "description" => @description,
    "kmsKeyArn" => @kms_key_arn,
    "sensitiveInformationPolicyConfig" => @sensitive_information_policy_config,
    "tags" => @tags,
    "topicPolicyConfig" => @topic_policy_config,
    "wordPolicyConfig" => @word_policy_config,
  })
  result.compact
end