Skip to main content

aws_sdk_iotwireless/types/
_event_notification_item_configurations.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Object of all event configurations and the status of the event topics.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct EventNotificationItemConfigurations {
7    /// <p>Device registration state event configuration for an event configuration item.</p>
8    pub device_registration_state: ::std::option::Option<crate::types::DeviceRegistrationStateEventConfiguration>,
9    /// <p>Proximity event configuration for an event configuration item.</p>
10    pub proximity: ::std::option::Option<crate::types::ProximityEventConfiguration>,
11    /// <p>Join event configuration for an event configuration item.</p>
12    pub join: ::std::option::Option<crate::types::JoinEventConfiguration>,
13    /// <p>Connection status event configuration for an event configuration item.</p>
14    pub connection_status: ::std::option::Option<crate::types::ConnectionStatusEventConfiguration>,
15    /// <p>Message delivery status event configuration for an event configuration item.</p>
16    pub message_delivery_status: ::std::option::Option<crate::types::MessageDeliveryStatusEventConfiguration>,
17}
18impl EventNotificationItemConfigurations {
19    /// <p>Device registration state event configuration for an event configuration item.</p>
20    pub fn device_registration_state(&self) -> ::std::option::Option<&crate::types::DeviceRegistrationStateEventConfiguration> {
21        self.device_registration_state.as_ref()
22    }
23    /// <p>Proximity event configuration for an event configuration item.</p>
24    pub fn proximity(&self) -> ::std::option::Option<&crate::types::ProximityEventConfiguration> {
25        self.proximity.as_ref()
26    }
27    /// <p>Join event configuration for an event configuration item.</p>
28    pub fn join(&self) -> ::std::option::Option<&crate::types::JoinEventConfiguration> {
29        self.join.as_ref()
30    }
31    /// <p>Connection status event configuration for an event configuration item.</p>
32    pub fn connection_status(&self) -> ::std::option::Option<&crate::types::ConnectionStatusEventConfiguration> {
33        self.connection_status.as_ref()
34    }
35    /// <p>Message delivery status event configuration for an event configuration item.</p>
36    pub fn message_delivery_status(&self) -> ::std::option::Option<&crate::types::MessageDeliveryStatusEventConfiguration> {
37        self.message_delivery_status.as_ref()
38    }
39}
40impl EventNotificationItemConfigurations {
41    /// Creates a new builder-style object to manufacture [`EventNotificationItemConfigurations`](crate::types::EventNotificationItemConfigurations).
42    pub fn builder() -> crate::types::builders::EventNotificationItemConfigurationsBuilder {
43        crate::types::builders::EventNotificationItemConfigurationsBuilder::default()
44    }
45}
46
47/// A builder for [`EventNotificationItemConfigurations`](crate::types::EventNotificationItemConfigurations).
48#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
49#[non_exhaustive]
50pub struct EventNotificationItemConfigurationsBuilder {
51    pub(crate) device_registration_state: ::std::option::Option<crate::types::DeviceRegistrationStateEventConfiguration>,
52    pub(crate) proximity: ::std::option::Option<crate::types::ProximityEventConfiguration>,
53    pub(crate) join: ::std::option::Option<crate::types::JoinEventConfiguration>,
54    pub(crate) connection_status: ::std::option::Option<crate::types::ConnectionStatusEventConfiguration>,
55    pub(crate) message_delivery_status: ::std::option::Option<crate::types::MessageDeliveryStatusEventConfiguration>,
56}
57impl EventNotificationItemConfigurationsBuilder {
58    /// <p>Device registration state event configuration for an event configuration item.</p>
59    pub fn device_registration_state(mut self, input: crate::types::DeviceRegistrationStateEventConfiguration) -> Self {
60        self.device_registration_state = ::std::option::Option::Some(input);
61        self
62    }
63    /// <p>Device registration state event configuration for an event configuration item.</p>
64    pub fn set_device_registration_state(mut self, input: ::std::option::Option<crate::types::DeviceRegistrationStateEventConfiguration>) -> Self {
65        self.device_registration_state = input;
66        self
67    }
68    /// <p>Device registration state event configuration for an event configuration item.</p>
69    pub fn get_device_registration_state(&self) -> &::std::option::Option<crate::types::DeviceRegistrationStateEventConfiguration> {
70        &self.device_registration_state
71    }
72    /// <p>Proximity event configuration for an event configuration item.</p>
73    pub fn proximity(mut self, input: crate::types::ProximityEventConfiguration) -> Self {
74        self.proximity = ::std::option::Option::Some(input);
75        self
76    }
77    /// <p>Proximity event configuration for an event configuration item.</p>
78    pub fn set_proximity(mut self, input: ::std::option::Option<crate::types::ProximityEventConfiguration>) -> Self {
79        self.proximity = input;
80        self
81    }
82    /// <p>Proximity event configuration for an event configuration item.</p>
83    pub fn get_proximity(&self) -> &::std::option::Option<crate::types::ProximityEventConfiguration> {
84        &self.proximity
85    }
86    /// <p>Join event configuration for an event configuration item.</p>
87    pub fn join(mut self, input: crate::types::JoinEventConfiguration) -> Self {
88        self.join = ::std::option::Option::Some(input);
89        self
90    }
91    /// <p>Join event configuration for an event configuration item.</p>
92    pub fn set_join(mut self, input: ::std::option::Option<crate::types::JoinEventConfiguration>) -> Self {
93        self.join = input;
94        self
95    }
96    /// <p>Join event configuration for an event configuration item.</p>
97    pub fn get_join(&self) -> &::std::option::Option<crate::types::JoinEventConfiguration> {
98        &self.join
99    }
100    /// <p>Connection status event configuration for an event configuration item.</p>
101    pub fn connection_status(mut self, input: crate::types::ConnectionStatusEventConfiguration) -> Self {
102        self.connection_status = ::std::option::Option::Some(input);
103        self
104    }
105    /// <p>Connection status event configuration for an event configuration item.</p>
106    pub fn set_connection_status(mut self, input: ::std::option::Option<crate::types::ConnectionStatusEventConfiguration>) -> Self {
107        self.connection_status = input;
108        self
109    }
110    /// <p>Connection status event configuration for an event configuration item.</p>
111    pub fn get_connection_status(&self) -> &::std::option::Option<crate::types::ConnectionStatusEventConfiguration> {
112        &self.connection_status
113    }
114    /// <p>Message delivery status event configuration for an event configuration item.</p>
115    pub fn message_delivery_status(mut self, input: crate::types::MessageDeliveryStatusEventConfiguration) -> Self {
116        self.message_delivery_status = ::std::option::Option::Some(input);
117        self
118    }
119    /// <p>Message delivery status event configuration for an event configuration item.</p>
120    pub fn set_message_delivery_status(mut self, input: ::std::option::Option<crate::types::MessageDeliveryStatusEventConfiguration>) -> Self {
121        self.message_delivery_status = input;
122        self
123    }
124    /// <p>Message delivery status event configuration for an event configuration item.</p>
125    pub fn get_message_delivery_status(&self) -> &::std::option::Option<crate::types::MessageDeliveryStatusEventConfiguration> {
126        &self.message_delivery_status
127    }
128    /// Consumes the builder and constructs a [`EventNotificationItemConfigurations`](crate::types::EventNotificationItemConfigurations).
129    pub fn build(self) -> crate::types::EventNotificationItemConfigurations {
130        crate::types::EventNotificationItemConfigurations {
131            device_registration_state: self.device_registration_state,
132            proximity: self.proximity,
133            join: self.join,
134            connection_status: self.connection_status,
135            message_delivery_status: self.message_delivery_status,
136        }
137    }
138}