#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct Agent {
pub agent_id: ::std::string::String,
pub agent_name: ::std::string::String,
pub agent_arn: ::std::string::String,
pub agent_version: ::std::string::String,
pub client_token: ::std::option::Option<::std::string::String>,
pub instruction: ::std::option::Option<::std::string::String>,
pub agent_status: crate::types::AgentStatus,
pub foundation_model: ::std::option::Option<::std::string::String>,
pub description: ::std::option::Option<::std::string::String>,
pub idle_session_ttl_in_seconds: i32,
pub agent_resource_role_arn: ::std::string::String,
pub customer_encryption_key_arn: ::std::option::Option<::std::string::String>,
pub created_at: ::aws_smithy_types::DateTime,
pub updated_at: ::aws_smithy_types::DateTime,
pub prepared_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub failure_reasons: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub recommended_actions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub prompt_override_configuration: ::std::option::Option<crate::types::PromptOverrideConfiguration>,
}
impl Agent {
pub fn agent_id(&self) -> &str {
use std::ops::Deref;
self.agent_id.deref()
}
pub fn agent_name(&self) -> &str {
use std::ops::Deref;
self.agent_name.deref()
}
pub fn agent_arn(&self) -> &str {
use std::ops::Deref;
self.agent_arn.deref()
}
pub fn agent_version(&self) -> &str {
use std::ops::Deref;
self.agent_version.deref()
}
pub fn client_token(&self) -> ::std::option::Option<&str> {
self.client_token.as_deref()
}
pub fn instruction(&self) -> ::std::option::Option<&str> {
self.instruction.as_deref()
}
pub fn agent_status(&self) -> &crate::types::AgentStatus {
&self.agent_status
}
pub fn foundation_model(&self) -> ::std::option::Option<&str> {
self.foundation_model.as_deref()
}
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
pub fn idle_session_ttl_in_seconds(&self) -> i32 {
self.idle_session_ttl_in_seconds
}
pub fn agent_resource_role_arn(&self) -> &str {
use std::ops::Deref;
self.agent_resource_role_arn.deref()
}
pub fn customer_encryption_key_arn(&self) -> ::std::option::Option<&str> {
self.customer_encryption_key_arn.as_deref()
}
pub fn created_at(&self) -> &::aws_smithy_types::DateTime {
&self.created_at
}
pub fn updated_at(&self) -> &::aws_smithy_types::DateTime {
&self.updated_at
}
pub fn prepared_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.prepared_at.as_ref()
}
pub fn failure_reasons(&self) -> &[::std::string::String] {
self.failure_reasons.as_deref().unwrap_or_default()
}
pub fn recommended_actions(&self) -> &[::std::string::String] {
self.recommended_actions.as_deref().unwrap_or_default()
}
pub fn prompt_override_configuration(&self) -> ::std::option::Option<&crate::types::PromptOverrideConfiguration> {
self.prompt_override_configuration.as_ref()
}
}
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("agent_id", &self.agent_id);
formatter.field("agent_name", &self.agent_name);
formatter.field("agent_arn", &self.agent_arn);
formatter.field("agent_version", &self.agent_version);
formatter.field("client_token", &self.client_token);
formatter.field("instruction", &"*** Sensitive Data Redacted ***");
formatter.field("agent_status", &self.agent_status);
formatter.field("foundation_model", &self.foundation_model);
formatter.field("description", &self.description);
formatter.field("idle_session_ttl_in_seconds", &self.idle_session_ttl_in_seconds);
formatter.field("agent_resource_role_arn", &self.agent_resource_role_arn);
formatter.field("customer_encryption_key_arn", &self.customer_encryption_key_arn);
formatter.field("created_at", &self.created_at);
formatter.field("updated_at", &self.updated_at);
formatter.field("prepared_at", &self.prepared_at);
formatter.field("failure_reasons", &self.failure_reasons);
formatter.field("recommended_actions", &self.recommended_actions);
formatter.field("prompt_override_configuration", &"*** Sensitive Data Redacted ***");
formatter.finish()
}
}
impl Agent {
pub fn builder() -> crate::types::builders::AgentBuilder {
crate::types::builders::AgentBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
pub struct AgentBuilder {
pub(crate) agent_id: ::std::option::Option<::std::string::String>,
pub(crate) agent_name: ::std::option::Option<::std::string::String>,
pub(crate) agent_arn: ::std::option::Option<::std::string::String>,
pub(crate) agent_version: ::std::option::Option<::std::string::String>,
pub(crate) client_token: ::std::option::Option<::std::string::String>,
pub(crate) instruction: ::std::option::Option<::std::string::String>,
pub(crate) agent_status: ::std::option::Option<crate::types::AgentStatus>,
pub(crate) foundation_model: ::std::option::Option<::std::string::String>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) idle_session_ttl_in_seconds: ::std::option::Option<i32>,
pub(crate) agent_resource_role_arn: ::std::option::Option<::std::string::String>,
pub(crate) customer_encryption_key_arn: ::std::option::Option<::std::string::String>,
pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) prepared_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) failure_reasons: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) recommended_actions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) prompt_override_configuration: ::std::option::Option<crate::types::PromptOverrideConfiguration>,
}
impl AgentBuilder {
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_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.agent_name = ::std::option::Option::Some(input.into());
self
}
pub fn set_agent_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.agent_name = input;
self
}
pub fn get_agent_name(&self) -> &::std::option::Option<::std::string::String> {
&self.agent_name
}
pub fn agent_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.agent_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_agent_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.agent_arn = input;
self
}
pub fn get_agent_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.agent_arn
}
pub fn agent_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.agent_version = ::std::option::Option::Some(input.into());
self
}
pub fn set_agent_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.agent_version = input;
self
}
pub fn get_agent_version(&self) -> &::std::option::Option<::std::string::String> {
&self.agent_version
}
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 instruction(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.instruction = ::std::option::Option::Some(input.into());
self
}
pub fn set_instruction(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.instruction = input;
self
}
pub fn get_instruction(&self) -> &::std::option::Option<::std::string::String> {
&self.instruction
}
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 foundation_model(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.foundation_model = ::std::option::Option::Some(input.into());
self
}
pub fn set_foundation_model(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.foundation_model = input;
self
}
pub fn get_foundation_model(&self) -> &::std::option::Option<::std::string::String> {
&self.foundation_model
}
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 idle_session_ttl_in_seconds(mut self, input: i32) -> Self {
self.idle_session_ttl_in_seconds = ::std::option::Option::Some(input);
self
}
pub fn set_idle_session_ttl_in_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
self.idle_session_ttl_in_seconds = input;
self
}
pub fn get_idle_session_ttl_in_seconds(&self) -> &::std::option::Option<i32> {
&self.idle_session_ttl_in_seconds
}
pub fn agent_resource_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.agent_resource_role_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_agent_resource_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.agent_resource_role_arn = input;
self
}
pub fn get_agent_resource_role_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.agent_resource_role_arn
}
pub fn customer_encryption_key_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.customer_encryption_key_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_customer_encryption_key_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.customer_encryption_key_arn = input;
self
}
pub fn get_customer_encryption_key_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.customer_encryption_key_arn
}
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 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 prepared_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.prepared_at = ::std::option::Option::Some(input);
self
}
pub fn set_prepared_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.prepared_at = input;
self
}
pub fn get_prepared_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.prepared_at
}
pub fn failure_reasons(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.failure_reasons.unwrap_or_default();
v.push(input.into());
self.failure_reasons = ::std::option::Option::Some(v);
self
}
pub fn set_failure_reasons(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.failure_reasons = input;
self
}
pub fn get_failure_reasons(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.failure_reasons
}
pub fn recommended_actions(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.recommended_actions.unwrap_or_default();
v.push(input.into());
self.recommended_actions = ::std::option::Option::Some(v);
self
}
pub fn set_recommended_actions(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.recommended_actions = input;
self
}
pub fn get_recommended_actions(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.recommended_actions
}
pub fn prompt_override_configuration(mut self, input: crate::types::PromptOverrideConfiguration) -> Self {
self.prompt_override_configuration = ::std::option::Option::Some(input);
self
}
pub fn set_prompt_override_configuration(mut self, input: ::std::option::Option<crate::types::PromptOverrideConfiguration>) -> Self {
self.prompt_override_configuration = input;
self
}
pub fn get_prompt_override_configuration(&self) -> &::std::option::Option<crate::types::PromptOverrideConfiguration> {
&self.prompt_override_configuration
}
pub fn build(self) -> ::std::result::Result<crate::types::Agent, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::types::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_name: self.agent_name.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"agent_name",
"agent_name was not specified but it is required when building Agent",
)
})?,
agent_arn: self.agent_arn.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"agent_arn",
"agent_arn was not specified but it is required when building Agent",
)
})?,
agent_version: self.agent_version.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"agent_version",
"agent_version was not specified but it is required when building Agent",
)
})?,
client_token: self.client_token,
instruction: self.instruction,
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",
)
})?,
foundation_model: self.foundation_model,
description: self.description,
idle_session_ttl_in_seconds: self.idle_session_ttl_in_seconds.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"idle_session_ttl_in_seconds",
"idle_session_ttl_in_seconds was not specified but it is required when building Agent",
)
})?,
agent_resource_role_arn: self.agent_resource_role_arn.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"agent_resource_role_arn",
"agent_resource_role_arn was not specified but it is required when building Agent",
)
})?,
customer_encryption_key_arn: self.customer_encryption_key_arn,
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",
)
})?,
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",
)
})?,
prepared_at: self.prepared_at,
failure_reasons: self.failure_reasons,
recommended_actions: self.recommended_actions,
prompt_override_configuration: self.prompt_override_configuration,
})
}
}
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("agent_id", &self.agent_id);
formatter.field("agent_name", &self.agent_name);
formatter.field("agent_arn", &self.agent_arn);
formatter.field("agent_version", &self.agent_version);
formatter.field("client_token", &self.client_token);
formatter.field("instruction", &"*** Sensitive Data Redacted ***");
formatter.field("agent_status", &self.agent_status);
formatter.field("foundation_model", &self.foundation_model);
formatter.field("description", &self.description);
formatter.field("idle_session_ttl_in_seconds", &self.idle_session_ttl_in_seconds);
formatter.field("agent_resource_role_arn", &self.agent_resource_role_arn);
formatter.field("customer_encryption_key_arn", &self.customer_encryption_key_arn);
formatter.field("created_at", &self.created_at);
formatter.field("updated_at", &self.updated_at);
formatter.field("prepared_at", &self.prepared_at);
formatter.field("failure_reasons", &self.failure_reasons);
formatter.field("recommended_actions", &self.recommended_actions);
formatter.field("prompt_override_configuration", &"*** Sensitive Data Redacted ***");
formatter.finish()
}
}