Struct aws_sdk_s3::model::TopicConfiguration
source · #[non_exhaustive]pub struct TopicConfiguration { /* private fields */ }
Expand description
A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.
Implementations§
source§impl TopicConfiguration
impl TopicConfiguration
sourcepub fn id(&self) -> Option<&str>
pub fn id(&self) -> Option<&str>
An optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID.
sourcepub fn topic_arn(&self) -> Option<&str>
pub fn topic_arn(&self) -> Option<&str>
The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.
sourcepub fn events(&self) -> Option<&[Event]>
pub fn events(&self) -> Option<&[Event]>
The Amazon S3 bucket event about which to send notifications. For more information, see Supported Event Types in the Amazon S3 User Guide.
sourcepub fn filter(&self) -> Option<&NotificationConfigurationFilter>
pub fn filter(&self) -> Option<&NotificationConfigurationFilter>
Specifies object key name filtering rules. For information about key name filtering, see Configuring Event Notifications in the Amazon S3 User Guide.
source§impl TopicConfiguration
impl TopicConfiguration
sourcepub fn builder() -> Builder
pub fn builder() -> Builder
Creates a new builder-style object to manufacture TopicConfiguration
.
Examples found in repository?
3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528
pub fn deser_structure_crate_model_topic_configuration(
decoder: &mut aws_smithy_xml::decode::ScopedDecoder,
) -> Result<crate::model::TopicConfiguration, aws_smithy_xml::decode::XmlDecodeError> {
#[allow(unused_mut)]
let mut builder = crate::model::TopicConfiguration::builder();
while let Some(mut tag) = decoder.next_tag() {
match tag.start_el() {
s if s.matches("Id") /* Id com.amazonaws.s3#TopicConfiguration$Id */ => {
let var_189 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_id(var_189);
}
,
s if s.matches("Topic") /* TopicArn com.amazonaws.s3#TopicConfiguration$TopicArn */ => {
let var_190 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_topic_arn(var_190);
}
,
s if s.matches("Event") /* Events com.amazonaws.s3#TopicConfiguration$Events */ => {
let var_191 =
Some(
Result::<std::vec::Vec<crate::model::Event>, aws_smithy_xml::decode::XmlDecodeError>::Ok({
let mut list_192 = builder.events.take().unwrap_or_default();
list_192.push(
Result::<crate::model::Event, aws_smithy_xml::decode::XmlDecodeError>::Ok(
crate::model::Event::from(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
)
?
);
list_192
})
?
)
;
builder = builder.set_events(var_191);
}
,
s if s.matches("Filter") /* Filter com.amazonaws.s3#TopicConfiguration$Filter */ => {
let var_193 =
Some(
crate::xml_deser::deser_structure_crate_model_notification_configuration_filter(&mut tag)
?
)
;
builder = builder.set_filter(var_193);
}
,
_ => {}
}
}
Ok(builder.build())
}
Trait Implementations§
source§impl Clone for TopicConfiguration
impl Clone for TopicConfiguration
source§fn clone(&self) -> TopicConfiguration
fn clone(&self) -> TopicConfiguration
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more