#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct Agent {
pub spaces: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub action_connectors: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub description: ::std::option::Option<::std::string::String>,
pub icon_id: ::std::option::Option<::std::string::String>,
pub name: ::std::string::String,
pub starter_prompts: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub welcome_message: ::std::option::Option<::std::string::String>,
pub arn: ::std::string::String,
pub agent_id: ::std::string::String,
pub agent_lifecycle: crate::types::AgentLifecycle,
pub agent_status: crate::types::AgentStatus,
pub created_at: ::aws_smithy_types::DateTime,
pub creator: ::std::string::String,
pub custom_prompt_interface: ::std::option::Option<crate::types::CustomPromptInterface>,
pub error_message: ::std::option::Option<::std::string::String>,
pub updated_at: ::aws_smithy_types::DateTime,
}
impl Agent {
pub fn spaces(&self) -> &[::std::string::String] {
self.spaces.as_deref().unwrap_or_default()
}
pub fn action_connectors(&self) -> &[::std::string::String] {
self.action_connectors.as_deref().unwrap_or_default()
}
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
pub fn icon_id(&self) -> ::std::option::Option<&str> {
self.icon_id.as_deref()
}
pub fn name(&self) -> &str {
use std::ops::Deref;
self.name.deref()
}
pub fn starter_prompts(&self) -> &[::std::string::String] {
self.starter_prompts.as_deref().unwrap_or_default()
}
pub fn welcome_message(&self) -> ::std::option::Option<&str> {
self.welcome_message.as_deref()
}
pub fn arn(&self) -> &str {
use std::ops::Deref;
self.arn.deref()
}
pub fn agent_id(&self) -> &str {
use std::ops::Deref;
self.agent_id.deref()
}
pub fn agent_lifecycle(&self) -> &crate::types::AgentLifecycle {
&self.agent_lifecycle
}
pub fn agent_status(&self) -> &crate::types::AgentStatus {
&self.agent_status
}
pub fn created_at(&self) -> &::aws_smithy_types::DateTime {
&self.created_at
}
pub fn creator(&self) -> &str {
use std::ops::Deref;
self.creator.deref()
}
pub fn custom_prompt_interface(&self) -> ::std::option::Option<&crate::types::CustomPromptInterface> {
self.custom_prompt_interface.as_ref()
}
pub fn error_message(&self) -> ::std::option::Option<&str> {
self.error_message.as_deref()
}
pub fn updated_at(&self) -> &::aws_smithy_types::DateTime {
&self.updated_at
}
}
impl ::std::fmt::Debug for Agent {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("Agent");
formatter.field("spaces", &self.spaces);
formatter.field("action_connectors", &self.action_connectors);
formatter.field("description", &self.description);
formatter.field("icon_id", &self.icon_id);
formatter.field("name", &self.name);
formatter.field("starter_prompts", &"*** Sensitive Data Redacted ***");
formatter.field("welcome_message", &"*** Sensitive Data Redacted ***");
formatter.field("arn", &self.arn);
formatter.field("agent_id", &self.agent_id);
formatter.field("agent_lifecycle", &self.agent_lifecycle);
formatter.field("agent_status", &self.agent_status);
formatter.field("created_at", &self.created_at);
formatter.field("creator", &self.creator);
formatter.field("custom_prompt_interface", &self.custom_prompt_interface);
formatter.field("error_message", &self.error_message);
formatter.field("updated_at", &self.updated_at);
formatter.finish()
}
}
impl Agent {
pub fn builder() -> crate::types::builders::AgentBuilder {
crate::types::builders::AgentBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct AgentBuilder {
pub(crate) spaces: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) action_connectors: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) icon_id: ::std::option::Option<::std::string::String>,
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) starter_prompts: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) welcome_message: ::std::option::Option<::std::string::String>,
pub(crate) arn: ::std::option::Option<::std::string::String>,
pub(crate) agent_id: ::std::option::Option<::std::string::String>,
pub(crate) agent_lifecycle: ::std::option::Option<crate::types::AgentLifecycle>,
pub(crate) agent_status: ::std::option::Option<crate::types::AgentStatus>,
pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) creator: ::std::option::Option<::std::string::String>,
pub(crate) custom_prompt_interface: ::std::option::Option<crate::types::CustomPromptInterface>,
pub(crate) error_message: ::std::option::Option<::std::string::String>,
pub(crate) updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
}
impl AgentBuilder {
pub fn spaces(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.spaces.unwrap_or_default();
v.push(input.into());
self.spaces = ::std::option::Option::Some(v);
self
}
pub fn set_spaces(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.spaces = input;
self
}
pub fn get_spaces(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.spaces
}
pub fn action_connectors(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.action_connectors.unwrap_or_default();
v.push(input.into());
self.action_connectors = ::std::option::Option::Some(v);
self
}
pub fn set_action_connectors(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.action_connectors = input;
self
}
pub fn get_action_connectors(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.action_connectors
}
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 icon_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.icon_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_icon_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.icon_id = input;
self
}
pub fn get_icon_id(&self) -> &::std::option::Option<::std::string::String> {
&self.icon_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 starter_prompts(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.starter_prompts.unwrap_or_default();
v.push(input.into());
self.starter_prompts = ::std::option::Option::Some(v);
self
}
pub fn set_starter_prompts(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.starter_prompts = input;
self
}
pub fn get_starter_prompts(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.starter_prompts
}
pub fn welcome_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.welcome_message = ::std::option::Option::Some(input.into());
self
}
pub fn set_welcome_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.welcome_message = input;
self
}
pub fn get_welcome_message(&self) -> &::std::option::Option<::std::string::String> {
&self.welcome_message
}
pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.arn = input;
self
}
pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.arn
}
pub fn agent_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.agent_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_agent_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.agent_id = input;
self
}
pub fn get_agent_id(&self) -> &::std::option::Option<::std::string::String> {
&self.agent_id
}
pub fn agent_lifecycle(mut self, input: crate::types::AgentLifecycle) -> Self {
self.agent_lifecycle = ::std::option::Option::Some(input);
self
}
pub fn set_agent_lifecycle(mut self, input: ::std::option::Option<crate::types::AgentLifecycle>) -> Self {
self.agent_lifecycle = input;
self
}
pub fn get_agent_lifecycle(&self) -> &::std::option::Option<crate::types::AgentLifecycle> {
&self.agent_lifecycle
}
pub fn agent_status(mut self, input: crate::types::AgentStatus) -> Self {
self.agent_status = ::std::option::Option::Some(input);
self
}
pub fn set_agent_status(mut self, input: ::std::option::Option<crate::types::AgentStatus>) -> Self {
self.agent_status = input;
self
}
pub fn get_agent_status(&self) -> &::std::option::Option<crate::types::AgentStatus> {
&self.agent_status
}
pub fn created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.created_at = ::std::option::Option::Some(input);
self
}
pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.created_at = input;
self
}
pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.created_at
}
pub fn creator(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.creator = ::std::option::Option::Some(input.into());
self
}
pub fn set_creator(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.creator = input;
self
}
pub fn get_creator(&self) -> &::std::option::Option<::std::string::String> {
&self.creator
}
pub fn custom_prompt_interface(mut self, input: crate::types::CustomPromptInterface) -> Self {
self.custom_prompt_interface = ::std::option::Option::Some(input);
self
}
pub fn set_custom_prompt_interface(mut self, input: ::std::option::Option<crate::types::CustomPromptInterface>) -> Self {
self.custom_prompt_interface = input;
self
}
pub fn get_custom_prompt_interface(&self) -> &::std::option::Option<crate::types::CustomPromptInterface> {
&self.custom_prompt_interface
}
pub fn error_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.error_message = ::std::option::Option::Some(input.into());
self
}
pub fn set_error_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.error_message = input;
self
}
pub fn get_error_message(&self) -> &::std::option::Option<::std::string::String> {
&self.error_message
}
pub fn updated_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.updated_at = ::std::option::Option::Some(input);
self
}
pub fn set_updated_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.updated_at = input;
self
}
pub fn get_updated_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.updated_at
}
pub fn build(self) -> ::std::result::Result<crate::types::Agent, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::types::Agent {
spaces: self.spaces,
action_connectors: self.action_connectors,
description: self.description,
icon_id: self.icon_id,
name: self.name.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"name",
"name was not specified but it is required when building Agent",
)
})?,
starter_prompts: self.starter_prompts,
welcome_message: self.welcome_message,
arn: self.arn.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field("arn", "arn was not specified but it is required when building Agent")
})?,
agent_id: self.agent_id.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"agent_id",
"agent_id was not specified but it is required when building Agent",
)
})?,
agent_lifecycle: self.agent_lifecycle.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"agent_lifecycle",
"agent_lifecycle was not specified but it is required when building Agent",
)
})?,
agent_status: self.agent_status.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"agent_status",
"agent_status was not specified but it is required when building Agent",
)
})?,
created_at: self.created_at.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"created_at",
"created_at was not specified but it is required when building Agent",
)
})?,
creator: self.creator.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"creator",
"creator was not specified but it is required when building Agent",
)
})?,
custom_prompt_interface: self.custom_prompt_interface,
error_message: self.error_message,
updated_at: self.updated_at.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"updated_at",
"updated_at was not specified but it is required when building Agent",
)
})?,
})
}
}
impl ::std::fmt::Debug for AgentBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("AgentBuilder");
formatter.field("spaces", &self.spaces);
formatter.field("action_connectors", &self.action_connectors);
formatter.field("description", &self.description);
formatter.field("icon_id", &self.icon_id);
formatter.field("name", &self.name);
formatter.field("starter_prompts", &"*** Sensitive Data Redacted ***");
formatter.field("welcome_message", &"*** Sensitive Data Redacted ***");
formatter.field("arn", &self.arn);
formatter.field("agent_id", &self.agent_id);
formatter.field("agent_lifecycle", &self.agent_lifecycle);
formatter.field("agent_status", &self.agent_status);
formatter.field("created_at", &self.created_at);
formatter.field("creator", &self.creator);
formatter.field("custom_prompt_interface", &self.custom_prompt_interface);
formatter.field("error_message", &self.error_message);
formatter.field("updated_at", &self.updated_at);
formatter.finish()
}
}