#[allow(missing_docs)] #[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct CreateAiGuardrailInput {
pub client_token: ::std::option::Option<::std::string::String>,
pub assistant_id: ::std::option::Option<::std::string::String>,
pub name: ::std::option::Option<::std::string::String>,
pub blocked_input_messaging: ::std::option::Option<::std::string::String>,
pub blocked_outputs_messaging: ::std::option::Option<::std::string::String>,
pub visibility_status: ::std::option::Option<crate::types::VisibilityStatus>,
pub description: ::std::option::Option<::std::string::String>,
pub topic_policy_config: ::std::option::Option<crate::types::AiGuardrailTopicPolicyConfig>,
pub content_policy_config: ::std::option::Option<crate::types::AiGuardrailContentPolicyConfig>,
pub word_policy_config: ::std::option::Option<crate::types::AiGuardrailWordPolicyConfig>,
pub sensitive_information_policy_config: ::std::option::Option<crate::types::AiGuardrailSensitiveInformationPolicyConfig>,
pub contextual_grounding_policy_config: ::std::option::Option<crate::types::AiGuardrailContextualGroundingPolicyConfig>,
pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl CreateAiGuardrailInput {
pub fn client_token(&self) -> ::std::option::Option<&str> {
self.client_token.as_deref()
}
pub fn assistant_id(&self) -> ::std::option::Option<&str> {
self.assistant_id.as_deref()
}
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
pub fn blocked_input_messaging(&self) -> ::std::option::Option<&str> {
self.blocked_input_messaging.as_deref()
}
pub fn blocked_outputs_messaging(&self) -> ::std::option::Option<&str> {
self.blocked_outputs_messaging.as_deref()
}
pub fn visibility_status(&self) -> ::std::option::Option<&crate::types::VisibilityStatus> {
self.visibility_status.as_ref()
}
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
pub fn topic_policy_config(&self) -> ::std::option::Option<&crate::types::AiGuardrailTopicPolicyConfig> {
self.topic_policy_config.as_ref()
}
pub fn content_policy_config(&self) -> ::std::option::Option<&crate::types::AiGuardrailContentPolicyConfig> {
self.content_policy_config.as_ref()
}
pub fn word_policy_config(&self) -> ::std::option::Option<&crate::types::AiGuardrailWordPolicyConfig> {
self.word_policy_config.as_ref()
}
pub fn sensitive_information_policy_config(&self) -> ::std::option::Option<&crate::types::AiGuardrailSensitiveInformationPolicyConfig> {
self.sensitive_information_policy_config.as_ref()
}
pub fn contextual_grounding_policy_config(&self) -> ::std::option::Option<&crate::types::AiGuardrailContextualGroundingPolicyConfig> {
self.contextual_grounding_policy_config.as_ref()
}
pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.tags.as_ref()
}
}
impl ::std::fmt::Debug for CreateAiGuardrailInput {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("CreateAiGuardrailInput");
formatter.field("client_token", &self.client_token);
formatter.field("assistant_id", &self.assistant_id);
formatter.field("name", &self.name);
formatter.field("blocked_input_messaging", &"*** Sensitive Data Redacted ***");
formatter.field("blocked_outputs_messaging", &"*** Sensitive Data Redacted ***");
formatter.field("visibility_status", &self.visibility_status);
formatter.field("description", &"*** Sensitive Data Redacted ***");
formatter.field("topic_policy_config", &self.topic_policy_config);
formatter.field("content_policy_config", &self.content_policy_config);
formatter.field("word_policy_config", &self.word_policy_config);
formatter.field("sensitive_information_policy_config", &self.sensitive_information_policy_config);
formatter.field("contextual_grounding_policy_config", &self.contextual_grounding_policy_config);
formatter.field("tags", &self.tags);
formatter.finish()
}
}
impl CreateAiGuardrailInput {
pub fn builder() -> crate::operation::create_ai_guardrail::builders::CreateAiGuardrailInputBuilder {
crate::operation::create_ai_guardrail::builders::CreateAiGuardrailInputBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct CreateAiGuardrailInputBuilder {
pub(crate) client_token: ::std::option::Option<::std::string::String>,
pub(crate) assistant_id: ::std::option::Option<::std::string::String>,
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) blocked_input_messaging: ::std::option::Option<::std::string::String>,
pub(crate) blocked_outputs_messaging: ::std::option::Option<::std::string::String>,
pub(crate) visibility_status: ::std::option::Option<crate::types::VisibilityStatus>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) topic_policy_config: ::std::option::Option<crate::types::AiGuardrailTopicPolicyConfig>,
pub(crate) content_policy_config: ::std::option::Option<crate::types::AiGuardrailContentPolicyConfig>,
pub(crate) word_policy_config: ::std::option::Option<crate::types::AiGuardrailWordPolicyConfig>,
pub(crate) sensitive_information_policy_config: ::std::option::Option<crate::types::AiGuardrailSensitiveInformationPolicyConfig>,
pub(crate) contextual_grounding_policy_config: ::std::option::Option<crate::types::AiGuardrailContextualGroundingPolicyConfig>,
pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl CreateAiGuardrailInputBuilder {
pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.client_token = ::std::option::Option::Some(input.into());
self
}
pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.client_token = input;
self
}
pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
&self.client_token
}
pub fn assistant_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.assistant_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_assistant_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.assistant_id = input;
self
}
pub fn get_assistant_id(&self) -> &::std::option::Option<::std::string::String> {
&self.assistant_id
}
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
pub fn blocked_input_messaging(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.blocked_input_messaging = ::std::option::Option::Some(input.into());
self
}
pub fn set_blocked_input_messaging(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.blocked_input_messaging = input;
self
}
pub fn get_blocked_input_messaging(&self) -> &::std::option::Option<::std::string::String> {
&self.blocked_input_messaging
}
pub fn blocked_outputs_messaging(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.blocked_outputs_messaging = ::std::option::Option::Some(input.into());
self
}
pub fn set_blocked_outputs_messaging(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.blocked_outputs_messaging = input;
self
}
pub fn get_blocked_outputs_messaging(&self) -> &::std::option::Option<::std::string::String> {
&self.blocked_outputs_messaging
}
pub fn visibility_status(mut self, input: crate::types::VisibilityStatus) -> Self {
self.visibility_status = ::std::option::Option::Some(input);
self
}
pub fn set_visibility_status(mut self, input: ::std::option::Option<crate::types::VisibilityStatus>) -> Self {
self.visibility_status = input;
self
}
pub fn get_visibility_status(&self) -> &::std::option::Option<crate::types::VisibilityStatus> {
&self.visibility_status
}
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
pub fn topic_policy_config(mut self, input: crate::types::AiGuardrailTopicPolicyConfig) -> Self {
self.topic_policy_config = ::std::option::Option::Some(input);
self
}
pub fn set_topic_policy_config(mut self, input: ::std::option::Option<crate::types::AiGuardrailTopicPolicyConfig>) -> Self {
self.topic_policy_config = input;
self
}
pub fn get_topic_policy_config(&self) -> &::std::option::Option<crate::types::AiGuardrailTopicPolicyConfig> {
&self.topic_policy_config
}
pub fn content_policy_config(mut self, input: crate::types::AiGuardrailContentPolicyConfig) -> Self {
self.content_policy_config = ::std::option::Option::Some(input);
self
}
pub fn set_content_policy_config(mut self, input: ::std::option::Option<crate::types::AiGuardrailContentPolicyConfig>) -> Self {
self.content_policy_config = input;
self
}
pub fn get_content_policy_config(&self) -> &::std::option::Option<crate::types::AiGuardrailContentPolicyConfig> {
&self.content_policy_config
}
pub fn word_policy_config(mut self, input: crate::types::AiGuardrailWordPolicyConfig) -> Self {
self.word_policy_config = ::std::option::Option::Some(input);
self
}
pub fn set_word_policy_config(mut self, input: ::std::option::Option<crate::types::AiGuardrailWordPolicyConfig>) -> Self {
self.word_policy_config = input;
self
}
pub fn get_word_policy_config(&self) -> &::std::option::Option<crate::types::AiGuardrailWordPolicyConfig> {
&self.word_policy_config
}
pub fn sensitive_information_policy_config(mut self, input: crate::types::AiGuardrailSensitiveInformationPolicyConfig) -> Self {
self.sensitive_information_policy_config = ::std::option::Option::Some(input);
self
}
pub fn set_sensitive_information_policy_config(
mut self,
input: ::std::option::Option<crate::types::AiGuardrailSensitiveInformationPolicyConfig>,
) -> Self {
self.sensitive_information_policy_config = input;
self
}
pub fn get_sensitive_information_policy_config(&self) -> &::std::option::Option<crate::types::AiGuardrailSensitiveInformationPolicyConfig> {
&self.sensitive_information_policy_config
}
pub fn contextual_grounding_policy_config(mut self, input: crate::types::AiGuardrailContextualGroundingPolicyConfig) -> Self {
self.contextual_grounding_policy_config = ::std::option::Option::Some(input);
self
}
pub fn set_contextual_grounding_policy_config(
mut self,
input: ::std::option::Option<crate::types::AiGuardrailContextualGroundingPolicyConfig>,
) -> Self {
self.contextual_grounding_policy_config = input;
self
}
pub fn get_contextual_grounding_policy_config(&self) -> &::std::option::Option<crate::types::AiGuardrailContextualGroundingPolicyConfig> {
&self.contextual_grounding_policy_config
}
pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = ::std::option::Option::Some(hash_map);
self
}
pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
self.tags = input;
self
}
pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.tags
}
pub fn build(
self,
) -> ::std::result::Result<crate::operation::create_ai_guardrail::CreateAiGuardrailInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::create_ai_guardrail::CreateAiGuardrailInput {
client_token: self.client_token,
assistant_id: self.assistant_id,
name: self.name,
blocked_input_messaging: self.blocked_input_messaging,
blocked_outputs_messaging: self.blocked_outputs_messaging,
visibility_status: self.visibility_status,
description: self.description,
topic_policy_config: self.topic_policy_config,
content_policy_config: self.content_policy_config,
word_policy_config: self.word_policy_config,
sensitive_information_policy_config: self.sensitive_information_policy_config,
contextual_grounding_policy_config: self.contextual_grounding_policy_config,
tags: self.tags,
})
}
}
impl ::std::fmt::Debug for CreateAiGuardrailInputBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("CreateAiGuardrailInputBuilder");
formatter.field("client_token", &self.client_token);
formatter.field("assistant_id", &self.assistant_id);
formatter.field("name", &self.name);
formatter.field("blocked_input_messaging", &"*** Sensitive Data Redacted ***");
formatter.field("blocked_outputs_messaging", &"*** Sensitive Data Redacted ***");
formatter.field("visibility_status", &self.visibility_status);
formatter.field("description", &"*** Sensitive Data Redacted ***");
formatter.field("topic_policy_config", &self.topic_policy_config);
formatter.field("content_policy_config", &self.content_policy_config);
formatter.field("word_policy_config", &self.word_policy_config);
formatter.field("sensitive_information_policy_config", &self.sensitive_information_policy_config);
formatter.field("contextual_grounding_policy_config", &self.contextual_grounding_policy_config);
formatter.field("tags", &self.tags);
formatter.finish()
}
}