#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct AwsSnsTopicDetails {
pub kms_master_key_id: ::std::option::Option<::std::string::String>,
pub subscription: ::std::option::Option<::std::vec::Vec<crate::types::AwsSnsTopicSubscription>>,
pub topic_name: ::std::option::Option<::std::string::String>,
pub owner: ::std::option::Option<::std::string::String>,
pub sqs_success_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub sqs_failure_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub application_success_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub firehose_success_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub firehose_failure_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub http_success_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub http_failure_feedback_role_arn: ::std::option::Option<::std::string::String>,
}
impl AwsSnsTopicDetails {
pub fn kms_master_key_id(&self) -> ::std::option::Option<&str> {
self.kms_master_key_id.as_deref()
}
pub fn subscription(&self) -> &[crate::types::AwsSnsTopicSubscription] {
self.subscription.as_deref().unwrap_or_default()
}
pub fn topic_name(&self) -> ::std::option::Option<&str> {
self.topic_name.as_deref()
}
pub fn owner(&self) -> ::std::option::Option<&str> {
self.owner.as_deref()
}
pub fn sqs_success_feedback_role_arn(&self) -> ::std::option::Option<&str> {
self.sqs_success_feedback_role_arn.as_deref()
}
pub fn sqs_failure_feedback_role_arn(&self) -> ::std::option::Option<&str> {
self.sqs_failure_feedback_role_arn.as_deref()
}
pub fn application_success_feedback_role_arn(&self) -> ::std::option::Option<&str> {
self.application_success_feedback_role_arn.as_deref()
}
pub fn firehose_success_feedback_role_arn(&self) -> ::std::option::Option<&str> {
self.firehose_success_feedback_role_arn.as_deref()
}
pub fn firehose_failure_feedback_role_arn(&self) -> ::std::option::Option<&str> {
self.firehose_failure_feedback_role_arn.as_deref()
}
pub fn http_success_feedback_role_arn(&self) -> ::std::option::Option<&str> {
self.http_success_feedback_role_arn.as_deref()
}
pub fn http_failure_feedback_role_arn(&self) -> ::std::option::Option<&str> {
self.http_failure_feedback_role_arn.as_deref()
}
}
impl AwsSnsTopicDetails {
pub fn builder() -> crate::types::builders::AwsSnsTopicDetailsBuilder {
crate::types::builders::AwsSnsTopicDetailsBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct AwsSnsTopicDetailsBuilder {
pub(crate) kms_master_key_id: ::std::option::Option<::std::string::String>,
pub(crate) subscription: ::std::option::Option<::std::vec::Vec<crate::types::AwsSnsTopicSubscription>>,
pub(crate) topic_name: ::std::option::Option<::std::string::String>,
pub(crate) owner: ::std::option::Option<::std::string::String>,
pub(crate) sqs_success_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub(crate) sqs_failure_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub(crate) application_success_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub(crate) firehose_success_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub(crate) firehose_failure_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub(crate) http_success_feedback_role_arn: ::std::option::Option<::std::string::String>,
pub(crate) http_failure_feedback_role_arn: ::std::option::Option<::std::string::String>,
}
impl AwsSnsTopicDetailsBuilder {
pub fn kms_master_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.kms_master_key_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_kms_master_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.kms_master_key_id = input;
self
}
pub fn get_kms_master_key_id(&self) -> &::std::option::Option<::std::string::String> {
&self.kms_master_key_id
}
pub fn subscription(mut self, input: crate::types::AwsSnsTopicSubscription) -> Self {
let mut v = self.subscription.unwrap_or_default();
v.push(input);
self.subscription = ::std::option::Option::Some(v);
self
}
pub fn set_subscription(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AwsSnsTopicSubscription>>) -> Self {
self.subscription = input;
self
}
pub fn get_subscription(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AwsSnsTopicSubscription>> {
&self.subscription
}
pub fn topic_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.topic_name = ::std::option::Option::Some(input.into());
self
}
pub fn set_topic_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.topic_name = input;
self
}
pub fn get_topic_name(&self) -> &::std::option::Option<::std::string::String> {
&self.topic_name
}
pub fn owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.owner = ::std::option::Option::Some(input.into());
self
}
pub fn set_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.owner = input;
self
}
pub fn get_owner(&self) -> &::std::option::Option<::std::string::String> {
&self.owner
}
pub fn sqs_success_feedback_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.sqs_success_feedback_role_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_sqs_success_feedback_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.sqs_success_feedback_role_arn = input;
self
}
pub fn get_sqs_success_feedback_role_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.sqs_success_feedback_role_arn
}
pub fn sqs_failure_feedback_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.sqs_failure_feedback_role_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_sqs_failure_feedback_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.sqs_failure_feedback_role_arn = input;
self
}
pub fn get_sqs_failure_feedback_role_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.sqs_failure_feedback_role_arn
}
pub fn application_success_feedback_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.application_success_feedback_role_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_application_success_feedback_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.application_success_feedback_role_arn = input;
self
}
pub fn get_application_success_feedback_role_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.application_success_feedback_role_arn
}
pub fn firehose_success_feedback_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.firehose_success_feedback_role_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_firehose_success_feedback_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.firehose_success_feedback_role_arn = input;
self
}
pub fn get_firehose_success_feedback_role_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.firehose_success_feedback_role_arn
}
pub fn firehose_failure_feedback_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.firehose_failure_feedback_role_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_firehose_failure_feedback_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.firehose_failure_feedback_role_arn = input;
self
}
pub fn get_firehose_failure_feedback_role_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.firehose_failure_feedback_role_arn
}
pub fn http_success_feedback_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.http_success_feedback_role_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_http_success_feedback_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.http_success_feedback_role_arn = input;
self
}
pub fn get_http_success_feedback_role_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.http_success_feedback_role_arn
}
pub fn http_failure_feedback_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.http_failure_feedback_role_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_http_failure_feedback_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.http_failure_feedback_role_arn = input;
self
}
pub fn get_http_failure_feedback_role_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.http_failure_feedback_role_arn
}
pub fn build(self) -> crate::types::AwsSnsTopicDetails {
crate::types::AwsSnsTopicDetails {
kms_master_key_id: self.kms_master_key_id,
subscription: self.subscription,
topic_name: self.topic_name,
owner: self.owner,
sqs_success_feedback_role_arn: self.sqs_success_feedback_role_arn,
sqs_failure_feedback_role_arn: self.sqs_failure_feedback_role_arn,
application_success_feedback_role_arn: self.application_success_feedback_role_arn,
firehose_success_feedback_role_arn: self.firehose_success_feedback_role_arn,
firehose_failure_feedback_role_arn: self.firehose_failure_feedback_role_arn,
http_success_feedback_role_arn: self.http_success_feedback_role_arn,
http_failure_feedback_role_arn: self.http_failure_feedback_role_arn,
}
}
}