aws_sdk_m2/operation/create_environment/
_create_environment_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateEnvironmentInput {
6 pub name: ::std::option::Option<::std::string::String>,
8 pub instance_type: ::std::option::Option<::std::string::String>,
10 pub description: ::std::option::Option<::std::string::String>,
12 pub engine_type: ::std::option::Option<crate::types::EngineType>,
14 pub engine_version: ::std::option::Option<::std::string::String>,
16 pub subnet_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
18 pub security_group_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
20 pub storage_configurations: ::std::option::Option<::std::vec::Vec<crate::types::StorageConfiguration>>,
22 pub publicly_accessible: ::std::option::Option<bool>,
24 pub high_availability_config: ::std::option::Option<crate::types::HighAvailabilityConfig>,
26 pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
28 pub preferred_maintenance_window: ::std::option::Option<::std::string::String>,
31 pub network_type: ::std::option::Option<crate::types::NetworkType>,
33 pub client_token: ::std::option::Option<::std::string::String>,
35 pub kms_key_id: ::std::option::Option<::std::string::String>,
37}
38impl CreateEnvironmentInput {
39 pub fn name(&self) -> ::std::option::Option<&str> {
41 self.name.as_deref()
42 }
43 pub fn instance_type(&self) -> ::std::option::Option<&str> {
45 self.instance_type.as_deref()
46 }
47 pub fn description(&self) -> ::std::option::Option<&str> {
49 self.description.as_deref()
50 }
51 pub fn engine_type(&self) -> ::std::option::Option<&crate::types::EngineType> {
53 self.engine_type.as_ref()
54 }
55 pub fn engine_version(&self) -> ::std::option::Option<&str> {
57 self.engine_version.as_deref()
58 }
59 pub fn subnet_ids(&self) -> &[::std::string::String] {
63 self.subnet_ids.as_deref().unwrap_or_default()
64 }
65 pub fn security_group_ids(&self) -> &[::std::string::String] {
69 self.security_group_ids.as_deref().unwrap_or_default()
70 }
71 pub fn storage_configurations(&self) -> &[crate::types::StorageConfiguration] {
75 self.storage_configurations.as_deref().unwrap_or_default()
76 }
77 pub fn publicly_accessible(&self) -> ::std::option::Option<bool> {
79 self.publicly_accessible
80 }
81 pub fn high_availability_config(&self) -> ::std::option::Option<&crate::types::HighAvailabilityConfig> {
83 self.high_availability_config.as_ref()
84 }
85 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
87 self.tags.as_ref()
88 }
89 pub fn preferred_maintenance_window(&self) -> ::std::option::Option<&str> {
92 self.preferred_maintenance_window.as_deref()
93 }
94 pub fn network_type(&self) -> ::std::option::Option<&crate::types::NetworkType> {
96 self.network_type.as_ref()
97 }
98 pub fn client_token(&self) -> ::std::option::Option<&str> {
100 self.client_token.as_deref()
101 }
102 pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
104 self.kms_key_id.as_deref()
105 }
106}
107impl CreateEnvironmentInput {
108 pub fn builder() -> crate::operation::create_environment::builders::CreateEnvironmentInputBuilder {
110 crate::operation::create_environment::builders::CreateEnvironmentInputBuilder::default()
111 }
112}
113
114#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
116#[non_exhaustive]
117pub struct CreateEnvironmentInputBuilder {
118 pub(crate) name: ::std::option::Option<::std::string::String>,
119 pub(crate) instance_type: ::std::option::Option<::std::string::String>,
120 pub(crate) description: ::std::option::Option<::std::string::String>,
121 pub(crate) engine_type: ::std::option::Option<crate::types::EngineType>,
122 pub(crate) engine_version: ::std::option::Option<::std::string::String>,
123 pub(crate) subnet_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
124 pub(crate) security_group_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
125 pub(crate) storage_configurations: ::std::option::Option<::std::vec::Vec<crate::types::StorageConfiguration>>,
126 pub(crate) publicly_accessible: ::std::option::Option<bool>,
127 pub(crate) high_availability_config: ::std::option::Option<crate::types::HighAvailabilityConfig>,
128 pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
129 pub(crate) preferred_maintenance_window: ::std::option::Option<::std::string::String>,
130 pub(crate) network_type: ::std::option::Option<crate::types::NetworkType>,
131 pub(crate) client_token: ::std::option::Option<::std::string::String>,
132 pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
133}
134impl CreateEnvironmentInputBuilder {
135 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
138 self.name = ::std::option::Option::Some(input.into());
139 self
140 }
141 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
143 self.name = input;
144 self
145 }
146 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
148 &self.name
149 }
150 pub fn instance_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
153 self.instance_type = ::std::option::Option::Some(input.into());
154 self
155 }
156 pub fn set_instance_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
158 self.instance_type = input;
159 self
160 }
161 pub fn get_instance_type(&self) -> &::std::option::Option<::std::string::String> {
163 &self.instance_type
164 }
165 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
167 self.description = ::std::option::Option::Some(input.into());
168 self
169 }
170 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
172 self.description = input;
173 self
174 }
175 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
177 &self.description
178 }
179 pub fn engine_type(mut self, input: crate::types::EngineType) -> Self {
182 self.engine_type = ::std::option::Option::Some(input);
183 self
184 }
185 pub fn set_engine_type(mut self, input: ::std::option::Option<crate::types::EngineType>) -> Self {
187 self.engine_type = input;
188 self
189 }
190 pub fn get_engine_type(&self) -> &::std::option::Option<crate::types::EngineType> {
192 &self.engine_type
193 }
194 pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
196 self.engine_version = ::std::option::Option::Some(input.into());
197 self
198 }
199 pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
201 self.engine_version = input;
202 self
203 }
204 pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
206 &self.engine_version
207 }
208 pub fn subnet_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
214 let mut v = self.subnet_ids.unwrap_or_default();
215 v.push(input.into());
216 self.subnet_ids = ::std::option::Option::Some(v);
217 self
218 }
219 pub fn set_subnet_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
221 self.subnet_ids = input;
222 self
223 }
224 pub fn get_subnet_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
226 &self.subnet_ids
227 }
228 pub fn security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
234 let mut v = self.security_group_ids.unwrap_or_default();
235 v.push(input.into());
236 self.security_group_ids = ::std::option::Option::Some(v);
237 self
238 }
239 pub fn set_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
241 self.security_group_ids = input;
242 self
243 }
244 pub fn get_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
246 &self.security_group_ids
247 }
248 pub fn storage_configurations(mut self, input: crate::types::StorageConfiguration) -> Self {
254 let mut v = self.storage_configurations.unwrap_or_default();
255 v.push(input);
256 self.storage_configurations = ::std::option::Option::Some(v);
257 self
258 }
259 pub fn set_storage_configurations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::StorageConfiguration>>) -> Self {
261 self.storage_configurations = input;
262 self
263 }
264 pub fn get_storage_configurations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::StorageConfiguration>> {
266 &self.storage_configurations
267 }
268 pub fn publicly_accessible(mut self, input: bool) -> Self {
270 self.publicly_accessible = ::std::option::Option::Some(input);
271 self
272 }
273 pub fn set_publicly_accessible(mut self, input: ::std::option::Option<bool>) -> Self {
275 self.publicly_accessible = input;
276 self
277 }
278 pub fn get_publicly_accessible(&self) -> &::std::option::Option<bool> {
280 &self.publicly_accessible
281 }
282 pub fn high_availability_config(mut self, input: crate::types::HighAvailabilityConfig) -> Self {
284 self.high_availability_config = ::std::option::Option::Some(input);
285 self
286 }
287 pub fn set_high_availability_config(mut self, input: ::std::option::Option<crate::types::HighAvailabilityConfig>) -> Self {
289 self.high_availability_config = input;
290 self
291 }
292 pub fn get_high_availability_config(&self) -> &::std::option::Option<crate::types::HighAvailabilityConfig> {
294 &self.high_availability_config
295 }
296 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
302 let mut hash_map = self.tags.unwrap_or_default();
303 hash_map.insert(k.into(), v.into());
304 self.tags = ::std::option::Option::Some(hash_map);
305 self
306 }
307 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
309 self.tags = input;
310 self
311 }
312 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
314 &self.tags
315 }
316 pub fn preferred_maintenance_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
319 self.preferred_maintenance_window = ::std::option::Option::Some(input.into());
320 self
321 }
322 pub fn set_preferred_maintenance_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
325 self.preferred_maintenance_window = input;
326 self
327 }
328 pub fn get_preferred_maintenance_window(&self) -> &::std::option::Option<::std::string::String> {
331 &self.preferred_maintenance_window
332 }
333 pub fn network_type(mut self, input: crate::types::NetworkType) -> Self {
335 self.network_type = ::std::option::Option::Some(input);
336 self
337 }
338 pub fn set_network_type(mut self, input: ::std::option::Option<crate::types::NetworkType>) -> Self {
340 self.network_type = input;
341 self
342 }
343 pub fn get_network_type(&self) -> &::std::option::Option<crate::types::NetworkType> {
345 &self.network_type
346 }
347 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
349 self.client_token = ::std::option::Option::Some(input.into());
350 self
351 }
352 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
354 self.client_token = input;
355 self
356 }
357 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
359 &self.client_token
360 }
361 pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
363 self.kms_key_id = ::std::option::Option::Some(input.into());
364 self
365 }
366 pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
368 self.kms_key_id = input;
369 self
370 }
371 pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
373 &self.kms_key_id
374 }
375 pub fn build(
377 self,
378 ) -> ::std::result::Result<crate::operation::create_environment::CreateEnvironmentInput, ::aws_smithy_types::error::operation::BuildError> {
379 ::std::result::Result::Ok(crate::operation::create_environment::CreateEnvironmentInput {
380 name: self.name,
381 instance_type: self.instance_type,
382 description: self.description,
383 engine_type: self.engine_type,
384 engine_version: self.engine_version,
385 subnet_ids: self.subnet_ids,
386 security_group_ids: self.security_group_ids,
387 storage_configurations: self.storage_configurations,
388 publicly_accessible: self.publicly_accessible,
389 high_availability_config: self.high_availability_config,
390 tags: self.tags,
391 preferred_maintenance_window: self.preferred_maintenance_window,
392 network_type: self.network_type,
393 client_token: self.client_token,
394 kms_key_id: self.kms_key_id,
395 })
396 }
397}