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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>An archive resource for storing and retaining emails.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Archive {
/// <p>The unique identifier of the archive.</p>
pub archive_id: ::std::string::String,
/// <p>The unique name assigned to the archive.</p>
pub archive_name: ::std::option::Option<::std::string::String>,
/// <p>The current state of the archive:</p>
/// <ul>
/// <li>
/// <p><code>ACTIVE</code> – The archive is ready and available for use.</p></li>
/// <li>
/// <p><code>PENDING_DELETION</code> – The archive has been marked for deletion and will be permanently deleted in 30 days. No further modifications can be made in this state.</p></li>
/// </ul>
pub archive_state: ::std::option::Option<crate::types::ArchiveState>,
/// <p>The timestamp of when the archive was last updated.</p>
pub last_updated_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
}
impl Archive {
/// <p>The unique identifier of the archive.</p>
pub fn archive_id(&self) -> &str {
use std::ops::Deref;
self.archive_id.deref()
}
/// <p>The unique name assigned to the archive.</p>
pub fn archive_name(&self) -> ::std::option::Option<&str> {
self.archive_name.as_deref()
}
/// <p>The current state of the archive:</p>
/// <ul>
/// <li>
/// <p><code>ACTIVE</code> – The archive is ready and available for use.</p></li>
/// <li>
/// <p><code>PENDING_DELETION</code> – The archive has been marked for deletion and will be permanently deleted in 30 days. No further modifications can be made in this state.</p></li>
/// </ul>
pub fn archive_state(&self) -> ::std::option::Option<&crate::types::ArchiveState> {
self.archive_state.as_ref()
}
/// <p>The timestamp of when the archive was last updated.</p>
pub fn last_updated_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.last_updated_timestamp.as_ref()
}
}
impl Archive {
/// Creates a new builder-style object to manufacture [`Archive`](crate::types::Archive).
pub fn builder() -> crate::types::builders::ArchiveBuilder {
crate::types::builders::ArchiveBuilder::default()
}
}
/// A builder for [`Archive`](crate::types::Archive).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct ArchiveBuilder {
pub(crate) archive_id: ::std::option::Option<::std::string::String>,
pub(crate) archive_name: ::std::option::Option<::std::string::String>,
pub(crate) archive_state: ::std::option::Option<crate::types::ArchiveState>,
pub(crate) last_updated_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
}
impl ArchiveBuilder {
/// <p>The unique identifier of the archive.</p>
/// This field is required.
pub fn archive_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.archive_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The unique identifier of the archive.</p>
pub fn set_archive_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.archive_id = input;
self
}
/// <p>The unique identifier of the archive.</p>
pub fn get_archive_id(&self) -> &::std::option::Option<::std::string::String> {
&self.archive_id
}
/// <p>The unique name assigned to the archive.</p>
pub fn archive_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.archive_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The unique name assigned to the archive.</p>
pub fn set_archive_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.archive_name = input;
self
}
/// <p>The unique name assigned to the archive.</p>
pub fn get_archive_name(&self) -> &::std::option::Option<::std::string::String> {
&self.archive_name
}
/// <p>The current state of the archive:</p>
/// <ul>
/// <li>
/// <p><code>ACTIVE</code> – The archive is ready and available for use.</p></li>
/// <li>
/// <p><code>PENDING_DELETION</code> – The archive has been marked for deletion and will be permanently deleted in 30 days. No further modifications can be made in this state.</p></li>
/// </ul>
pub fn archive_state(mut self, input: crate::types::ArchiveState) -> Self {
self.archive_state = ::std::option::Option::Some(input);
self
}
/// <p>The current state of the archive:</p>
/// <ul>
/// <li>
/// <p><code>ACTIVE</code> – The archive is ready and available for use.</p></li>
/// <li>
/// <p><code>PENDING_DELETION</code> – The archive has been marked for deletion and will be permanently deleted in 30 days. No further modifications can be made in this state.</p></li>
/// </ul>
pub fn set_archive_state(mut self, input: ::std::option::Option<crate::types::ArchiveState>) -> Self {
self.archive_state = input;
self
}
/// <p>The current state of the archive:</p>
/// <ul>
/// <li>
/// <p><code>ACTIVE</code> – The archive is ready and available for use.</p></li>
/// <li>
/// <p><code>PENDING_DELETION</code> – The archive has been marked for deletion and will be permanently deleted in 30 days. No further modifications can be made in this state.</p></li>
/// </ul>
pub fn get_archive_state(&self) -> &::std::option::Option<crate::types::ArchiveState> {
&self.archive_state
}
/// <p>The timestamp of when the archive was last updated.</p>
pub fn last_updated_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.last_updated_timestamp = ::std::option::Option::Some(input);
self
}
/// <p>The timestamp of when the archive was last updated.</p>
pub fn set_last_updated_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.last_updated_timestamp = input;
self
}
/// <p>The timestamp of when the archive was last updated.</p>
pub fn get_last_updated_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.last_updated_timestamp
}
/// Consumes the builder and constructs a [`Archive`](crate::types::Archive).
/// This method will fail if any of the following fields are not set:
/// - [`archive_id`](crate::types::builders::ArchiveBuilder::archive_id)
pub fn build(self) -> ::std::result::Result<crate::types::Archive, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::types::Archive {
archive_id: self.archive_id.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"archive_id",
"archive_id was not specified but it is required when building Archive",
)
})?,
archive_name: self.archive_name,
archive_state: self.archive_state,
last_updated_timestamp: self.last_updated_timestamp,
})
}
}