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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct CreateArchiveInput {
    /// <p>The name for the archive to create.</p>
    pub archive_name: ::std::option::Option<::std::string::String>,
    /// <p>The ARN of the event bus that sends events to the archive.</p>
    pub event_source_arn: ::std::option::Option<::std::string::String>,
    /// <p>A description for the archive.</p>
    pub description: ::std::option::Option<::std::string::String>,
    /// <p>An event pattern to use to filter events sent to the archive.</p>
    pub event_pattern: ::std::option::Option<::std::string::String>,
    /// <p>The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely</p>
    pub retention_days: ::std::option::Option<i32>,
}
impl CreateArchiveInput {
    /// <p>The name for the archive to create.</p>
    pub fn archive_name(&self) -> ::std::option::Option<&str> {
        self.archive_name.as_deref()
    }
    /// <p>The ARN of the event bus that sends events to the archive.</p>
    pub fn event_source_arn(&self) -> ::std::option::Option<&str> {
        self.event_source_arn.as_deref()
    }
    /// <p>A description for the archive.</p>
    pub fn description(&self) -> ::std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>An event pattern to use to filter events sent to the archive.</p>
    pub fn event_pattern(&self) -> ::std::option::Option<&str> {
        self.event_pattern.as_deref()
    }
    /// <p>The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely</p>
    pub fn retention_days(&self) -> ::std::option::Option<i32> {
        self.retention_days
    }
}
impl CreateArchiveInput {
    /// Creates a new builder-style object to manufacture [`CreateArchiveInput`](crate::operation::create_archive::CreateArchiveInput).
    pub fn builder() -> crate::operation::create_archive::builders::CreateArchiveInputBuilder {
        crate::operation::create_archive::builders::CreateArchiveInputBuilder::default()
    }
}

/// A builder for [`CreateArchiveInput`](crate::operation::create_archive::CreateArchiveInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct CreateArchiveInputBuilder {
    pub(crate) archive_name: ::std::option::Option<::std::string::String>,
    pub(crate) event_source_arn: ::std::option::Option<::std::string::String>,
    pub(crate) description: ::std::option::Option<::std::string::String>,
    pub(crate) event_pattern: ::std::option::Option<::std::string::String>,
    pub(crate) retention_days: ::std::option::Option<i32>,
}
impl CreateArchiveInputBuilder {
    /// <p>The name for the archive to create.</p>
    /// This field is required.
    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 name for the archive to create.</p>
    pub fn set_archive_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.archive_name = input;
        self
    }
    /// <p>The name for the archive to create.</p>
    pub fn get_archive_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.archive_name
    }
    /// <p>The ARN of the event bus that sends events to the archive.</p>
    /// This field is required.
    pub fn event_source_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.event_source_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The ARN of the event bus that sends events to the archive.</p>
    pub fn set_event_source_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.event_source_arn = input;
        self
    }
    /// <p>The ARN of the event bus that sends events to the archive.</p>
    pub fn get_event_source_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.event_source_arn
    }
    /// <p>A description for the archive.</p>
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.description = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>A description for the archive.</p>
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.description = input;
        self
    }
    /// <p>A description for the archive.</p>
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
        &self.description
    }
    /// <p>An event pattern to use to filter events sent to the archive.</p>
    pub fn event_pattern(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.event_pattern = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>An event pattern to use to filter events sent to the archive.</p>
    pub fn set_event_pattern(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.event_pattern = input;
        self
    }
    /// <p>An event pattern to use to filter events sent to the archive.</p>
    pub fn get_event_pattern(&self) -> &::std::option::Option<::std::string::String> {
        &self.event_pattern
    }
    /// <p>The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely</p>
    pub fn retention_days(mut self, input: i32) -> Self {
        self.retention_days = ::std::option::Option::Some(input);
        self
    }
    /// <p>The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely</p>
    pub fn set_retention_days(mut self, input: ::std::option::Option<i32>) -> Self {
        self.retention_days = input;
        self
    }
    /// <p>The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely</p>
    pub fn get_retention_days(&self) -> &::std::option::Option<i32> {
        &self.retention_days
    }
    /// Consumes the builder and constructs a [`CreateArchiveInput`](crate::operation::create_archive::CreateArchiveInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::create_archive::CreateArchiveInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::create_archive::CreateArchiveInput {
            archive_name: self.archive_name,
            event_source_arn: self.event_source_arn,
            description: self.description,
            event_pattern: self.event_pattern,
            retention_days: self.retention_days,
        })
    }
}