1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>An object that contains inbox placement data for email sent from one of your email domains to a specific email provider.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DomainIspPlacement {
    /// <p>The name of the email provider that the inbox placement data applies to.</p>
    pub isp_name: ::std::option::Option<::std::string::String>,
    /// <p>The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.</p>
    pub inbox_raw_count: ::std::option::Option<i64>,
    /// <p>The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.</p>
    pub spam_raw_count: ::std::option::Option<i64>,
    /// <p>The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.</p>
    pub inbox_percentage: ::std::option::Option<f64>,
    /// <p>The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.</p>
    pub spam_percentage: ::std::option::Option<f64>,
}
impl DomainIspPlacement {
    /// <p>The name of the email provider that the inbox placement data applies to.</p>
    pub fn isp_name(&self) -> ::std::option::Option<&str> {
        self.isp_name.as_deref()
    }
    /// <p>The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.</p>
    pub fn inbox_raw_count(&self) -> ::std::option::Option<i64> {
        self.inbox_raw_count
    }
    /// <p>The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.</p>
    pub fn spam_raw_count(&self) -> ::std::option::Option<i64> {
        self.spam_raw_count
    }
    /// <p>The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.</p>
    pub fn inbox_percentage(&self) -> ::std::option::Option<f64> {
        self.inbox_percentage
    }
    /// <p>The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.</p>
    pub fn spam_percentage(&self) -> ::std::option::Option<f64> {
        self.spam_percentage
    }
}
impl DomainIspPlacement {
    /// Creates a new builder-style object to manufacture [`DomainIspPlacement`](crate::types::DomainIspPlacement).
    pub fn builder() -> crate::types::builders::DomainIspPlacementBuilder {
        crate::types::builders::DomainIspPlacementBuilder::default()
    }
}

/// A builder for [`DomainIspPlacement`](crate::types::DomainIspPlacement).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct DomainIspPlacementBuilder {
    pub(crate) isp_name: ::std::option::Option<::std::string::String>,
    pub(crate) inbox_raw_count: ::std::option::Option<i64>,
    pub(crate) spam_raw_count: ::std::option::Option<i64>,
    pub(crate) inbox_percentage: ::std::option::Option<f64>,
    pub(crate) spam_percentage: ::std::option::Option<f64>,
}
impl DomainIspPlacementBuilder {
    /// <p>The name of the email provider that the inbox placement data applies to.</p>
    pub fn isp_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.isp_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the email provider that the inbox placement data applies to.</p>
    pub fn set_isp_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.isp_name = input;
        self
    }
    /// <p>The name of the email provider that the inbox placement data applies to.</p>
    pub fn get_isp_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.isp_name
    }
    /// <p>The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.</p>
    pub fn inbox_raw_count(mut self, input: i64) -> Self {
        self.inbox_raw_count = ::std::option::Option::Some(input);
        self
    }
    /// <p>The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.</p>
    pub fn set_inbox_raw_count(mut self, input: ::std::option::Option<i64>) -> Self {
        self.inbox_raw_count = input;
        self
    }
    /// <p>The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.</p>
    pub fn get_inbox_raw_count(&self) -> &::std::option::Option<i64> {
        &self.inbox_raw_count
    }
    /// <p>The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.</p>
    pub fn spam_raw_count(mut self, input: i64) -> Self {
        self.spam_raw_count = ::std::option::Option::Some(input);
        self
    }
    /// <p>The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.</p>
    pub fn set_spam_raw_count(mut self, input: ::std::option::Option<i64>) -> Self {
        self.spam_raw_count = input;
        self
    }
    /// <p>The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.</p>
    pub fn get_spam_raw_count(&self) -> &::std::option::Option<i64> {
        &self.spam_raw_count
    }
    /// <p>The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.</p>
    pub fn inbox_percentage(mut self, input: f64) -> Self {
        self.inbox_percentage = ::std::option::Option::Some(input);
        self
    }
    /// <p>The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.</p>
    pub fn set_inbox_percentage(mut self, input: ::std::option::Option<f64>) -> Self {
        self.inbox_percentage = input;
        self
    }
    /// <p>The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.</p>
    pub fn get_inbox_percentage(&self) -> &::std::option::Option<f64> {
        &self.inbox_percentage
    }
    /// <p>The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.</p>
    pub fn spam_percentage(mut self, input: f64) -> Self {
        self.spam_percentage = ::std::option::Option::Some(input);
        self
    }
    /// <p>The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.</p>
    pub fn set_spam_percentage(mut self, input: ::std::option::Option<f64>) -> Self {
        self.spam_percentage = input;
        self
    }
    /// <p>The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.</p>
    pub fn get_spam_percentage(&self) -> &::std::option::Option<f64> {
        &self.spam_percentage
    }
    /// Consumes the builder and constructs a [`DomainIspPlacement`](crate::types::DomainIspPlacement).
    pub fn build(self) -> crate::types::DomainIspPlacement {
        crate::types::DomainIspPlacement {
            isp_name: self.isp_name,
            inbox_raw_count: self.inbox_raw_count,
            spam_raw_count: self.spam_raw_count,
            inbox_percentage: self.inbox_percentage,
            spam_percentage: self.spam_percentage,
        }
    }
}