#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct ChannelMessage {
pub channel_arn: ::std::option::Option<::std::string::String>,
pub message_id: ::std::option::Option<::std::string::String>,
pub content: ::std::option::Option<::std::string::String>,
pub metadata: ::std::option::Option<::std::string::String>,
pub r#type: ::std::option::Option<crate::types::ChannelMessageType>,
pub created_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
pub last_edited_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
pub last_updated_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
pub sender: ::std::option::Option<crate::types::Identity>,
pub redacted: bool,
pub persistence: ::std::option::Option<crate::types::ChannelMessagePersistenceType>,
}
impl ChannelMessage {
pub fn channel_arn(&self) -> ::std::option::Option<&str> {
self.channel_arn.as_deref()
}
pub fn message_id(&self) -> ::std::option::Option<&str> {
self.message_id.as_deref()
}
pub fn content(&self) -> ::std::option::Option<&str> {
self.content.as_deref()
}
pub fn metadata(&self) -> ::std::option::Option<&str> {
self.metadata.as_deref()
}
pub fn r#type(&self) -> ::std::option::Option<&crate::types::ChannelMessageType> {
self.r#type.as_ref()
}
pub fn created_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.created_timestamp.as_ref()
}
pub fn last_edited_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.last_edited_timestamp.as_ref()
}
pub fn last_updated_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.last_updated_timestamp.as_ref()
}
pub fn sender(&self) -> ::std::option::Option<&crate::types::Identity> {
self.sender.as_ref()
}
pub fn redacted(&self) -> bool {
self.redacted
}
pub fn persistence(&self) -> ::std::option::Option<&crate::types::ChannelMessagePersistenceType> {
self.persistence.as_ref()
}
}
impl ::std::fmt::Debug for ChannelMessage {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("ChannelMessage");
formatter.field("channel_arn", &self.channel_arn);
formatter.field("message_id", &self.message_id);
formatter.field("content", &"*** Sensitive Data Redacted ***");
formatter.field("metadata", &"*** Sensitive Data Redacted ***");
formatter.field("r#type", &self.r#type);
formatter.field("created_timestamp", &self.created_timestamp);
formatter.field("last_edited_timestamp", &self.last_edited_timestamp);
formatter.field("last_updated_timestamp", &self.last_updated_timestamp);
formatter.field("sender", &self.sender);
formatter.field("redacted", &self.redacted);
formatter.field("persistence", &self.persistence);
formatter.finish()
}
}
impl ChannelMessage {
pub fn builder() -> crate::types::builders::ChannelMessageBuilder {
crate::types::builders::ChannelMessageBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
pub struct ChannelMessageBuilder {
pub(crate) channel_arn: ::std::option::Option<::std::string::String>,
pub(crate) message_id: ::std::option::Option<::std::string::String>,
pub(crate) content: ::std::option::Option<::std::string::String>,
pub(crate) metadata: ::std::option::Option<::std::string::String>,
pub(crate) r#type: ::std::option::Option<crate::types::ChannelMessageType>,
pub(crate) created_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) last_edited_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) last_updated_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) sender: ::std::option::Option<crate::types::Identity>,
pub(crate) redacted: ::std::option::Option<bool>,
pub(crate) persistence: ::std::option::Option<crate::types::ChannelMessagePersistenceType>,
}
impl ChannelMessageBuilder {
pub fn channel_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.channel_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_channel_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.channel_arn = input;
self
}
pub fn get_channel_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.channel_arn
}
pub fn message_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.message_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_message_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.message_id = input;
self
}
pub fn get_message_id(&self) -> &::std::option::Option<::std::string::String> {
&self.message_id
}
pub fn content(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.content = ::std::option::Option::Some(input.into());
self
}
pub fn set_content(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.content = input;
self
}
pub fn get_content(&self) -> &::std::option::Option<::std::string::String> {
&self.content
}
pub fn metadata(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.metadata = ::std::option::Option::Some(input.into());
self
}
pub fn set_metadata(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.metadata = input;
self
}
pub fn get_metadata(&self) -> &::std::option::Option<::std::string::String> {
&self.metadata
}
pub fn r#type(mut self, input: crate::types::ChannelMessageType) -> Self {
self.r#type = ::std::option::Option::Some(input);
self
}
pub fn set_type(mut self, input: ::std::option::Option<crate::types::ChannelMessageType>) -> Self {
self.r#type = input;
self
}
pub fn get_type(&self) -> &::std::option::Option<crate::types::ChannelMessageType> {
&self.r#type
}
pub fn created_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.created_timestamp = ::std::option::Option::Some(input);
self
}
pub fn set_created_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.created_timestamp = input;
self
}
pub fn get_created_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.created_timestamp
}
pub fn last_edited_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.last_edited_timestamp = ::std::option::Option::Some(input);
self
}
pub fn set_last_edited_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.last_edited_timestamp = input;
self
}
pub fn get_last_edited_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.last_edited_timestamp
}
pub fn last_updated_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.last_updated_timestamp = ::std::option::Option::Some(input);
self
}
pub fn set_last_updated_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.last_updated_timestamp = input;
self
}
pub fn get_last_updated_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.last_updated_timestamp
}
pub fn sender(mut self, input: crate::types::Identity) -> Self {
self.sender = ::std::option::Option::Some(input);
self
}
pub fn set_sender(mut self, input: ::std::option::Option<crate::types::Identity>) -> Self {
self.sender = input;
self
}
pub fn get_sender(&self) -> &::std::option::Option<crate::types::Identity> {
&self.sender
}
pub fn redacted(mut self, input: bool) -> Self {
self.redacted = ::std::option::Option::Some(input);
self
}
pub fn set_redacted(mut self, input: ::std::option::Option<bool>) -> Self {
self.redacted = input;
self
}
pub fn get_redacted(&self) -> &::std::option::Option<bool> {
&self.redacted
}
pub fn persistence(mut self, input: crate::types::ChannelMessagePersistenceType) -> Self {
self.persistence = ::std::option::Option::Some(input);
self
}
pub fn set_persistence(mut self, input: ::std::option::Option<crate::types::ChannelMessagePersistenceType>) -> Self {
self.persistence = input;
self
}
pub fn get_persistence(&self) -> &::std::option::Option<crate::types::ChannelMessagePersistenceType> {
&self.persistence
}
pub fn build(self) -> crate::types::ChannelMessage {
crate::types::ChannelMessage {
channel_arn: self.channel_arn,
message_id: self.message_id,
content: self.content,
metadata: self.metadata,
r#type: self.r#type,
created_timestamp: self.created_timestamp,
last_edited_timestamp: self.last_edited_timestamp,
last_updated_timestamp: self.last_updated_timestamp,
sender: self.sender,
redacted: self.redacted.unwrap_or_default(),
persistence: self.persistence,
}
}
}
impl ::std::fmt::Debug for ChannelMessageBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("ChannelMessageBuilder");
formatter.field("channel_arn", &self.channel_arn);
formatter.field("message_id", &self.message_id);
formatter.field("content", &"*** Sensitive Data Redacted ***");
formatter.field("metadata", &"*** Sensitive Data Redacted ***");
formatter.field("r#type", &self.r#type);
formatter.field("created_timestamp", &self.created_timestamp);
formatter.field("last_edited_timestamp", &self.last_edited_timestamp);
formatter.field("last_updated_timestamp", &self.last_updated_timestamp);
formatter.field("sender", &self.sender);
formatter.field("redacted", &self.redacted);
formatter.field("persistence", &self.persistence);
formatter.finish()
}
}