aws_sdk_osis/operation/create_pipeline/
_create_pipeline_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreatePipelineInput {
6 pub pipeline_name: ::std::option::Option<::std::string::String>,
8 pub min_units: ::std::option::Option<i32>,
10 pub max_units: ::std::option::Option<i32>,
12 pub pipeline_configuration_body: ::std::option::Option<::std::string::String>,
14 pub log_publishing_options: ::std::option::Option<crate::types::LogPublishingOptions>,
16 pub vpc_options: ::std::option::Option<crate::types::VpcOptions>,
18 pub buffer_options: ::std::option::Option<crate::types::BufferOptions>,
20 pub encryption_at_rest_options: ::std::option::Option<crate::types::EncryptionAtRestOptions>,
22 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
24 pub pipeline_role_arn: ::std::option::Option<::std::string::String>,
26}
27impl CreatePipelineInput {
28 pub fn pipeline_name(&self) -> ::std::option::Option<&str> {
30 self.pipeline_name.as_deref()
31 }
32 pub fn min_units(&self) -> ::std::option::Option<i32> {
34 self.min_units
35 }
36 pub fn max_units(&self) -> ::std::option::Option<i32> {
38 self.max_units
39 }
40 pub fn pipeline_configuration_body(&self) -> ::std::option::Option<&str> {
42 self.pipeline_configuration_body.as_deref()
43 }
44 pub fn log_publishing_options(&self) -> ::std::option::Option<&crate::types::LogPublishingOptions> {
46 self.log_publishing_options.as_ref()
47 }
48 pub fn vpc_options(&self) -> ::std::option::Option<&crate::types::VpcOptions> {
50 self.vpc_options.as_ref()
51 }
52 pub fn buffer_options(&self) -> ::std::option::Option<&crate::types::BufferOptions> {
54 self.buffer_options.as_ref()
55 }
56 pub fn encryption_at_rest_options(&self) -> ::std::option::Option<&crate::types::EncryptionAtRestOptions> {
58 self.encryption_at_rest_options.as_ref()
59 }
60 pub fn tags(&self) -> &[crate::types::Tag] {
64 self.tags.as_deref().unwrap_or_default()
65 }
66 pub fn pipeline_role_arn(&self) -> ::std::option::Option<&str> {
68 self.pipeline_role_arn.as_deref()
69 }
70}
71impl CreatePipelineInput {
72 pub fn builder() -> crate::operation::create_pipeline::builders::CreatePipelineInputBuilder {
74 crate::operation::create_pipeline::builders::CreatePipelineInputBuilder::default()
75 }
76}
77
78#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
80#[non_exhaustive]
81pub struct CreatePipelineInputBuilder {
82 pub(crate) pipeline_name: ::std::option::Option<::std::string::String>,
83 pub(crate) min_units: ::std::option::Option<i32>,
84 pub(crate) max_units: ::std::option::Option<i32>,
85 pub(crate) pipeline_configuration_body: ::std::option::Option<::std::string::String>,
86 pub(crate) log_publishing_options: ::std::option::Option<crate::types::LogPublishingOptions>,
87 pub(crate) vpc_options: ::std::option::Option<crate::types::VpcOptions>,
88 pub(crate) buffer_options: ::std::option::Option<crate::types::BufferOptions>,
89 pub(crate) encryption_at_rest_options: ::std::option::Option<crate::types::EncryptionAtRestOptions>,
90 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
91 pub(crate) pipeline_role_arn: ::std::option::Option<::std::string::String>,
92}
93impl CreatePipelineInputBuilder {
94 pub fn pipeline_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
97 self.pipeline_name = ::std::option::Option::Some(input.into());
98 self
99 }
100 pub fn set_pipeline_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
102 self.pipeline_name = input;
103 self
104 }
105 pub fn get_pipeline_name(&self) -> &::std::option::Option<::std::string::String> {
107 &self.pipeline_name
108 }
109 pub fn min_units(mut self, input: i32) -> Self {
112 self.min_units = ::std::option::Option::Some(input);
113 self
114 }
115 pub fn set_min_units(mut self, input: ::std::option::Option<i32>) -> Self {
117 self.min_units = input;
118 self
119 }
120 pub fn get_min_units(&self) -> &::std::option::Option<i32> {
122 &self.min_units
123 }
124 pub fn max_units(mut self, input: i32) -> Self {
127 self.max_units = ::std::option::Option::Some(input);
128 self
129 }
130 pub fn set_max_units(mut self, input: ::std::option::Option<i32>) -> Self {
132 self.max_units = input;
133 self
134 }
135 pub fn get_max_units(&self) -> &::std::option::Option<i32> {
137 &self.max_units
138 }
139 pub fn pipeline_configuration_body(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142 self.pipeline_configuration_body = ::std::option::Option::Some(input.into());
143 self
144 }
145 pub fn set_pipeline_configuration_body(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
147 self.pipeline_configuration_body = input;
148 self
149 }
150 pub fn get_pipeline_configuration_body(&self) -> &::std::option::Option<::std::string::String> {
152 &self.pipeline_configuration_body
153 }
154 pub fn log_publishing_options(mut self, input: crate::types::LogPublishingOptions) -> Self {
156 self.log_publishing_options = ::std::option::Option::Some(input);
157 self
158 }
159 pub fn set_log_publishing_options(mut self, input: ::std::option::Option<crate::types::LogPublishingOptions>) -> Self {
161 self.log_publishing_options = input;
162 self
163 }
164 pub fn get_log_publishing_options(&self) -> &::std::option::Option<crate::types::LogPublishingOptions> {
166 &self.log_publishing_options
167 }
168 pub fn vpc_options(mut self, input: crate::types::VpcOptions) -> Self {
170 self.vpc_options = ::std::option::Option::Some(input);
171 self
172 }
173 pub fn set_vpc_options(mut self, input: ::std::option::Option<crate::types::VpcOptions>) -> Self {
175 self.vpc_options = input;
176 self
177 }
178 pub fn get_vpc_options(&self) -> &::std::option::Option<crate::types::VpcOptions> {
180 &self.vpc_options
181 }
182 pub fn buffer_options(mut self, input: crate::types::BufferOptions) -> Self {
184 self.buffer_options = ::std::option::Option::Some(input);
185 self
186 }
187 pub fn set_buffer_options(mut self, input: ::std::option::Option<crate::types::BufferOptions>) -> Self {
189 self.buffer_options = input;
190 self
191 }
192 pub fn get_buffer_options(&self) -> &::std::option::Option<crate::types::BufferOptions> {
194 &self.buffer_options
195 }
196 pub fn encryption_at_rest_options(mut self, input: crate::types::EncryptionAtRestOptions) -> Self {
198 self.encryption_at_rest_options = ::std::option::Option::Some(input);
199 self
200 }
201 pub fn set_encryption_at_rest_options(mut self, input: ::std::option::Option<crate::types::EncryptionAtRestOptions>) -> Self {
203 self.encryption_at_rest_options = input;
204 self
205 }
206 pub fn get_encryption_at_rest_options(&self) -> &::std::option::Option<crate::types::EncryptionAtRestOptions> {
208 &self.encryption_at_rest_options
209 }
210 pub fn tags(mut self, input: crate::types::Tag) -> Self {
216 let mut v = self.tags.unwrap_or_default();
217 v.push(input);
218 self.tags = ::std::option::Option::Some(v);
219 self
220 }
221 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
223 self.tags = input;
224 self
225 }
226 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
228 &self.tags
229 }
230 pub fn pipeline_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
232 self.pipeline_role_arn = ::std::option::Option::Some(input.into());
233 self
234 }
235 pub fn set_pipeline_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
237 self.pipeline_role_arn = input;
238 self
239 }
240 pub fn get_pipeline_role_arn(&self) -> &::std::option::Option<::std::string::String> {
242 &self.pipeline_role_arn
243 }
244 pub fn build(
246 self,
247 ) -> ::std::result::Result<crate::operation::create_pipeline::CreatePipelineInput, ::aws_smithy_types::error::operation::BuildError> {
248 ::std::result::Result::Ok(crate::operation::create_pipeline::CreatePipelineInput {
249 pipeline_name: self.pipeline_name,
250 min_units: self.min_units,
251 max_units: self.max_units,
252 pipeline_configuration_body: self.pipeline_configuration_body,
253 log_publishing_options: self.log_publishing_options,
254 vpc_options: self.vpc_options,
255 buffer_options: self.buffer_options,
256 encryption_at_rest_options: self.encryption_at_rest_options,
257 tags: self.tags,
258 pipeline_role_arn: self.pipeline_role_arn,
259 })
260 }
261}