aws_sdk_m2/operation/get_environment/
_get_environment_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct GetEnvironmentOutput {
6    /// <p>The name of the runtime environment. Must be unique within the account.</p>
7    pub name: ::std::string::String,
8    /// <p>The description of the runtime environment.</p>
9    pub description: ::std::option::Option<::std::string::String>,
10    /// <p>The Amazon Resource Name (ARN) of the runtime environment.</p>
11    pub environment_arn: ::std::string::String,
12    /// <p>The unique identifier of the runtime environment.</p>
13    pub environment_id: ::std::string::String,
14    /// <p>The type of instance underlying the runtime environment.</p>
15    pub instance_type: ::std::string::String,
16    /// <p>The status of the runtime environment. If the Amazon Web Services Mainframe Modernization environment is missing a connection to the customer owned dependent resource, the status will be <code>Unhealthy</code>.</p>
17    pub status: crate::types::EnvironmentLifecycle,
18    /// <p>The target platform for the runtime environment.</p>
19    pub engine_type: crate::types::EngineType,
20    /// <p>The version of the runtime engine.</p>
21    pub engine_version: ::std::string::String,
22    /// <p>The unique identifier for the VPC used with this runtime environment.</p>
23    pub vpc_id: ::std::string::String,
24    /// <p>The unique identifiers of the subnets assigned to this runtime environment.</p>
25    pub subnet_ids: ::std::vec::Vec<::std::string::String>,
26    /// <p>The unique identifiers of the security groups assigned to this runtime environment.</p>
27    pub security_group_ids: ::std::vec::Vec<::std::string::String>,
28    /// <p>The timestamp when the runtime environment was created.</p>
29    pub creation_time: ::aws_smithy_types::DateTime,
30    /// <p>The storage configurations defined for the runtime environment.</p>
31    pub storage_configurations: ::std::option::Option<::std::vec::Vec<crate::types::StorageConfiguration>>,
32    /// <p>The tags defined for this runtime environment.</p>
33    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
34    /// <p>The desired capacity of the high availability configuration for the runtime environment.</p>
35    pub high_availability_config: ::std::option::Option<crate::types::HighAvailabilityConfig>,
36    /// <p>Whether applications running in this runtime environment are publicly accessible.</p>
37    pub publicly_accessible: bool,
38    /// <p>The number of instances included in the runtime environment. A standalone runtime environment has a maximum of one instance. Currently, a high availability runtime environment has a maximum of two instances.</p>
39    pub actual_capacity: ::std::option::Option<i32>,
40    /// <p>The Amazon Resource Name (ARN) for the load balancer used with the runtime environment.</p>
41    pub load_balancer_arn: ::std::option::Option<::std::string::String>,
42    /// <p>The reason for the reported status.</p>
43    pub status_reason: ::std::option::Option<::std::string::String>,
44    /// <p>The maintenance window for the runtime environment. If you don't provide a value for the maintenance window, the service assigns a random value.</p>
45    pub preferred_maintenance_window: ::std::option::Option<::std::string::String>,
46    /// <p>Indicates the pending maintenance scheduled on this environment.</p>
47    pub pending_maintenance: ::std::option::Option<crate::types::PendingMaintenance>,
48    /// <p>The identifier of a customer managed key.</p>
49    pub kms_key_id: ::std::option::Option<::std::string::String>,
50    /// <p>The network type supported by the runtime environment.</p>
51    pub network_type: ::std::option::Option<crate::types::NetworkType>,
52    _request_id: Option<String>,
53}
54impl GetEnvironmentOutput {
55    /// <p>The name of the runtime environment. Must be unique within the account.</p>
56    pub fn name(&self) -> &str {
57        use std::ops::Deref;
58        self.name.deref()
59    }
60    /// <p>The description of the runtime environment.</p>
61    pub fn description(&self) -> ::std::option::Option<&str> {
62        self.description.as_deref()
63    }
64    /// <p>The Amazon Resource Name (ARN) of the runtime environment.</p>
65    pub fn environment_arn(&self) -> &str {
66        use std::ops::Deref;
67        self.environment_arn.deref()
68    }
69    /// <p>The unique identifier of the runtime environment.</p>
70    pub fn environment_id(&self) -> &str {
71        use std::ops::Deref;
72        self.environment_id.deref()
73    }
74    /// <p>The type of instance underlying the runtime environment.</p>
75    pub fn instance_type(&self) -> &str {
76        use std::ops::Deref;
77        self.instance_type.deref()
78    }
79    /// <p>The status of the runtime environment. If the Amazon Web Services Mainframe Modernization environment is missing a connection to the customer owned dependent resource, the status will be <code>Unhealthy</code>.</p>
80    pub fn status(&self) -> &crate::types::EnvironmentLifecycle {
81        &self.status
82    }
83    /// <p>The target platform for the runtime environment.</p>
84    pub fn engine_type(&self) -> &crate::types::EngineType {
85        &self.engine_type
86    }
87    /// <p>The version of the runtime engine.</p>
88    pub fn engine_version(&self) -> &str {
89        use std::ops::Deref;
90        self.engine_version.deref()
91    }
92    /// <p>The unique identifier for the VPC used with this runtime environment.</p>
93    pub fn vpc_id(&self) -> &str {
94        use std::ops::Deref;
95        self.vpc_id.deref()
96    }
97    /// <p>The unique identifiers of the subnets assigned to this runtime environment.</p>
98    pub fn subnet_ids(&self) -> &[::std::string::String] {
99        use std::ops::Deref;
100        self.subnet_ids.deref()
101    }
102    /// <p>The unique identifiers of the security groups assigned to this runtime environment.</p>
103    pub fn security_group_ids(&self) -> &[::std::string::String] {
104        use std::ops::Deref;
105        self.security_group_ids.deref()
106    }
107    /// <p>The timestamp when the runtime environment was created.</p>
108    pub fn creation_time(&self) -> &::aws_smithy_types::DateTime {
109        &self.creation_time
110    }
111    /// <p>The storage configurations defined for the runtime environment.</p>
112    ///
113    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.storage_configurations.is_none()`.
114    pub fn storage_configurations(&self) -> &[crate::types::StorageConfiguration] {
115        self.storage_configurations.as_deref().unwrap_or_default()
116    }
117    /// <p>The tags defined for this runtime environment.</p>
118    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
119        self.tags.as_ref()
120    }
121    /// <p>The desired capacity of the high availability configuration for the runtime environment.</p>
122    pub fn high_availability_config(&self) -> ::std::option::Option<&crate::types::HighAvailabilityConfig> {
123        self.high_availability_config.as_ref()
124    }
125    /// <p>Whether applications running in this runtime environment are publicly accessible.</p>
126    pub fn publicly_accessible(&self) -> bool {
127        self.publicly_accessible
128    }
129    /// <p>The number of instances included in the runtime environment. A standalone runtime environment has a maximum of one instance. Currently, a high availability runtime environment has a maximum of two instances.</p>
130    pub fn actual_capacity(&self) -> ::std::option::Option<i32> {
131        self.actual_capacity
132    }
133    /// <p>The Amazon Resource Name (ARN) for the load balancer used with the runtime environment.</p>
134    pub fn load_balancer_arn(&self) -> ::std::option::Option<&str> {
135        self.load_balancer_arn.as_deref()
136    }
137    /// <p>The reason for the reported status.</p>
138    pub fn status_reason(&self) -> ::std::option::Option<&str> {
139        self.status_reason.as_deref()
140    }
141    /// <p>The maintenance window for the runtime environment. If you don't provide a value for the maintenance window, the service assigns a random value.</p>
142    pub fn preferred_maintenance_window(&self) -> ::std::option::Option<&str> {
143        self.preferred_maintenance_window.as_deref()
144    }
145    /// <p>Indicates the pending maintenance scheduled on this environment.</p>
146    pub fn pending_maintenance(&self) -> ::std::option::Option<&crate::types::PendingMaintenance> {
147        self.pending_maintenance.as_ref()
148    }
149    /// <p>The identifier of a customer managed key.</p>
150    pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
151        self.kms_key_id.as_deref()
152    }
153    /// <p>The network type supported by the runtime environment.</p>
154    pub fn network_type(&self) -> ::std::option::Option<&crate::types::NetworkType> {
155        self.network_type.as_ref()
156    }
157}
158impl ::aws_types::request_id::RequestId for GetEnvironmentOutput {
159    fn request_id(&self) -> Option<&str> {
160        self._request_id.as_deref()
161    }
162}
163impl GetEnvironmentOutput {
164    /// Creates a new builder-style object to manufacture [`GetEnvironmentOutput`](crate::operation::get_environment::GetEnvironmentOutput).
165    pub fn builder() -> crate::operation::get_environment::builders::GetEnvironmentOutputBuilder {
166        crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::default()
167    }
168}
169
170/// A builder for [`GetEnvironmentOutput`](crate::operation::get_environment::GetEnvironmentOutput).
171#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
172#[non_exhaustive]
173pub struct GetEnvironmentOutputBuilder {
174    pub(crate) name: ::std::option::Option<::std::string::String>,
175    pub(crate) description: ::std::option::Option<::std::string::String>,
176    pub(crate) environment_arn: ::std::option::Option<::std::string::String>,
177    pub(crate) environment_id: ::std::option::Option<::std::string::String>,
178    pub(crate) instance_type: ::std::option::Option<::std::string::String>,
179    pub(crate) status: ::std::option::Option<crate::types::EnvironmentLifecycle>,
180    pub(crate) engine_type: ::std::option::Option<crate::types::EngineType>,
181    pub(crate) engine_version: ::std::option::Option<::std::string::String>,
182    pub(crate) vpc_id: ::std::option::Option<::std::string::String>,
183    pub(crate) subnet_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
184    pub(crate) security_group_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
185    pub(crate) creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
186    pub(crate) storage_configurations: ::std::option::Option<::std::vec::Vec<crate::types::StorageConfiguration>>,
187    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
188    pub(crate) high_availability_config: ::std::option::Option<crate::types::HighAvailabilityConfig>,
189    pub(crate) publicly_accessible: ::std::option::Option<bool>,
190    pub(crate) actual_capacity: ::std::option::Option<i32>,
191    pub(crate) load_balancer_arn: ::std::option::Option<::std::string::String>,
192    pub(crate) status_reason: ::std::option::Option<::std::string::String>,
193    pub(crate) preferred_maintenance_window: ::std::option::Option<::std::string::String>,
194    pub(crate) pending_maintenance: ::std::option::Option<crate::types::PendingMaintenance>,
195    pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
196    pub(crate) network_type: ::std::option::Option<crate::types::NetworkType>,
197    _request_id: Option<String>,
198}
199impl GetEnvironmentOutputBuilder {
200    /// <p>The name of the runtime environment. Must be unique within the account.</p>
201    /// This field is required.
202    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
203        self.name = ::std::option::Option::Some(input.into());
204        self
205    }
206    /// <p>The name of the runtime environment. Must be unique within the account.</p>
207    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
208        self.name = input;
209        self
210    }
211    /// <p>The name of the runtime environment. Must be unique within the account.</p>
212    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
213        &self.name
214    }
215    /// <p>The description of the runtime environment.</p>
216    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
217        self.description = ::std::option::Option::Some(input.into());
218        self
219    }
220    /// <p>The description of the runtime environment.</p>
221    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
222        self.description = input;
223        self
224    }
225    /// <p>The description of the runtime environment.</p>
226    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
227        &self.description
228    }
229    /// <p>The Amazon Resource Name (ARN) of the runtime environment.</p>
230    /// This field is required.
231    pub fn environment_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
232        self.environment_arn = ::std::option::Option::Some(input.into());
233        self
234    }
235    /// <p>The Amazon Resource Name (ARN) of the runtime environment.</p>
236    pub fn set_environment_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
237        self.environment_arn = input;
238        self
239    }
240    /// <p>The Amazon Resource Name (ARN) of the runtime environment.</p>
241    pub fn get_environment_arn(&self) -> &::std::option::Option<::std::string::String> {
242        &self.environment_arn
243    }
244    /// <p>The unique identifier of the runtime environment.</p>
245    /// This field is required.
246    pub fn environment_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
247        self.environment_id = ::std::option::Option::Some(input.into());
248        self
249    }
250    /// <p>The unique identifier of the runtime environment.</p>
251    pub fn set_environment_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
252        self.environment_id = input;
253        self
254    }
255    /// <p>The unique identifier of the runtime environment.</p>
256    pub fn get_environment_id(&self) -> &::std::option::Option<::std::string::String> {
257        &self.environment_id
258    }
259    /// <p>The type of instance underlying the runtime environment.</p>
260    /// This field is required.
261    pub fn instance_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
262        self.instance_type = ::std::option::Option::Some(input.into());
263        self
264    }
265    /// <p>The type of instance underlying the runtime environment.</p>
266    pub fn set_instance_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
267        self.instance_type = input;
268        self
269    }
270    /// <p>The type of instance underlying the runtime environment.</p>
271    pub fn get_instance_type(&self) -> &::std::option::Option<::std::string::String> {
272        &self.instance_type
273    }
274    /// <p>The status of the runtime environment. If the Amazon Web Services Mainframe Modernization environment is missing a connection to the customer owned dependent resource, the status will be <code>Unhealthy</code>.</p>
275    /// This field is required.
276    pub fn status(mut self, input: crate::types::EnvironmentLifecycle) -> Self {
277        self.status = ::std::option::Option::Some(input);
278        self
279    }
280    /// <p>The status of the runtime environment. If the Amazon Web Services Mainframe Modernization environment is missing a connection to the customer owned dependent resource, the status will be <code>Unhealthy</code>.</p>
281    pub fn set_status(mut self, input: ::std::option::Option<crate::types::EnvironmentLifecycle>) -> Self {
282        self.status = input;
283        self
284    }
285    /// <p>The status of the runtime environment. If the Amazon Web Services Mainframe Modernization environment is missing a connection to the customer owned dependent resource, the status will be <code>Unhealthy</code>.</p>
286    pub fn get_status(&self) -> &::std::option::Option<crate::types::EnvironmentLifecycle> {
287        &self.status
288    }
289    /// <p>The target platform for the runtime environment.</p>
290    /// This field is required.
291    pub fn engine_type(mut self, input: crate::types::EngineType) -> Self {
292        self.engine_type = ::std::option::Option::Some(input);
293        self
294    }
295    /// <p>The target platform for the runtime environment.</p>
296    pub fn set_engine_type(mut self, input: ::std::option::Option<crate::types::EngineType>) -> Self {
297        self.engine_type = input;
298        self
299    }
300    /// <p>The target platform for the runtime environment.</p>
301    pub fn get_engine_type(&self) -> &::std::option::Option<crate::types::EngineType> {
302        &self.engine_type
303    }
304    /// <p>The version of the runtime engine.</p>
305    /// This field is required.
306    pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
307        self.engine_version = ::std::option::Option::Some(input.into());
308        self
309    }
310    /// <p>The version of the runtime engine.</p>
311    pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
312        self.engine_version = input;
313        self
314    }
315    /// <p>The version of the runtime engine.</p>
316    pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
317        &self.engine_version
318    }
319    /// <p>The unique identifier for the VPC used with this runtime environment.</p>
320    /// This field is required.
321    pub fn vpc_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
322        self.vpc_id = ::std::option::Option::Some(input.into());
323        self
324    }
325    /// <p>The unique identifier for the VPC used with this runtime environment.</p>
326    pub fn set_vpc_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
327        self.vpc_id = input;
328        self
329    }
330    /// <p>The unique identifier for the VPC used with this runtime environment.</p>
331    pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> {
332        &self.vpc_id
333    }
334    /// Appends an item to `subnet_ids`.
335    ///
336    /// To override the contents of this collection use [`set_subnet_ids`](Self::set_subnet_ids).
337    ///
338    /// <p>The unique identifiers of the subnets assigned to this runtime environment.</p>
339    pub fn subnet_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
340        let mut v = self.subnet_ids.unwrap_or_default();
341        v.push(input.into());
342        self.subnet_ids = ::std::option::Option::Some(v);
343        self
344    }
345    /// <p>The unique identifiers of the subnets assigned to this runtime environment.</p>
346    pub fn set_subnet_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
347        self.subnet_ids = input;
348        self
349    }
350    /// <p>The unique identifiers of the subnets assigned to this runtime environment.</p>
351    pub fn get_subnet_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
352        &self.subnet_ids
353    }
354    /// Appends an item to `security_group_ids`.
355    ///
356    /// To override the contents of this collection use [`set_security_group_ids`](Self::set_security_group_ids).
357    ///
358    /// <p>The unique identifiers of the security groups assigned to this runtime environment.</p>
359    pub fn security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
360        let mut v = self.security_group_ids.unwrap_or_default();
361        v.push(input.into());
362        self.security_group_ids = ::std::option::Option::Some(v);
363        self
364    }
365    /// <p>The unique identifiers of the security groups assigned to this runtime environment.</p>
366    pub fn set_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
367        self.security_group_ids = input;
368        self
369    }
370    /// <p>The unique identifiers of the security groups assigned to this runtime environment.</p>
371    pub fn get_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
372        &self.security_group_ids
373    }
374    /// <p>The timestamp when the runtime environment was created.</p>
375    /// This field is required.
376    pub fn creation_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
377        self.creation_time = ::std::option::Option::Some(input);
378        self
379    }
380    /// <p>The timestamp when the runtime environment was created.</p>
381    pub fn set_creation_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
382        self.creation_time = input;
383        self
384    }
385    /// <p>The timestamp when the runtime environment was created.</p>
386    pub fn get_creation_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
387        &self.creation_time
388    }
389    /// Appends an item to `storage_configurations`.
390    ///
391    /// To override the contents of this collection use [`set_storage_configurations`](Self::set_storage_configurations).
392    ///
393    /// <p>The storage configurations defined for the runtime environment.</p>
394    pub fn storage_configurations(mut self, input: crate::types::StorageConfiguration) -> Self {
395        let mut v = self.storage_configurations.unwrap_or_default();
396        v.push(input);
397        self.storage_configurations = ::std::option::Option::Some(v);
398        self
399    }
400    /// <p>The storage configurations defined for the runtime environment.</p>
401    pub fn set_storage_configurations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::StorageConfiguration>>) -> Self {
402        self.storage_configurations = input;
403        self
404    }
405    /// <p>The storage configurations defined for the runtime environment.</p>
406    pub fn get_storage_configurations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::StorageConfiguration>> {
407        &self.storage_configurations
408    }
409    /// Adds a key-value pair to `tags`.
410    ///
411    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
412    ///
413    /// <p>The tags defined for this runtime environment.</p>
414    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
415        let mut hash_map = self.tags.unwrap_or_default();
416        hash_map.insert(k.into(), v.into());
417        self.tags = ::std::option::Option::Some(hash_map);
418        self
419    }
420    /// <p>The tags defined for this runtime environment.</p>
421    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
422        self.tags = input;
423        self
424    }
425    /// <p>The tags defined for this runtime environment.</p>
426    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
427        &self.tags
428    }
429    /// <p>The desired capacity of the high availability configuration for the runtime environment.</p>
430    pub fn high_availability_config(mut self, input: crate::types::HighAvailabilityConfig) -> Self {
431        self.high_availability_config = ::std::option::Option::Some(input);
432        self
433    }
434    /// <p>The desired capacity of the high availability configuration for the runtime environment.</p>
435    pub fn set_high_availability_config(mut self, input: ::std::option::Option<crate::types::HighAvailabilityConfig>) -> Self {
436        self.high_availability_config = input;
437        self
438    }
439    /// <p>The desired capacity of the high availability configuration for the runtime environment.</p>
440    pub fn get_high_availability_config(&self) -> &::std::option::Option<crate::types::HighAvailabilityConfig> {
441        &self.high_availability_config
442    }
443    /// <p>Whether applications running in this runtime environment are publicly accessible.</p>
444    pub fn publicly_accessible(mut self, input: bool) -> Self {
445        self.publicly_accessible = ::std::option::Option::Some(input);
446        self
447    }
448    /// <p>Whether applications running in this runtime environment are publicly accessible.</p>
449    pub fn set_publicly_accessible(mut self, input: ::std::option::Option<bool>) -> Self {
450        self.publicly_accessible = input;
451        self
452    }
453    /// <p>Whether applications running in this runtime environment are publicly accessible.</p>
454    pub fn get_publicly_accessible(&self) -> &::std::option::Option<bool> {
455        &self.publicly_accessible
456    }
457    /// <p>The number of instances included in the runtime environment. A standalone runtime environment has a maximum of one instance. Currently, a high availability runtime environment has a maximum of two instances.</p>
458    pub fn actual_capacity(mut self, input: i32) -> Self {
459        self.actual_capacity = ::std::option::Option::Some(input);
460        self
461    }
462    /// <p>The number of instances included in the runtime environment. A standalone runtime environment has a maximum of one instance. Currently, a high availability runtime environment has a maximum of two instances.</p>
463    pub fn set_actual_capacity(mut self, input: ::std::option::Option<i32>) -> Self {
464        self.actual_capacity = input;
465        self
466    }
467    /// <p>The number of instances included in the runtime environment. A standalone runtime environment has a maximum of one instance. Currently, a high availability runtime environment has a maximum of two instances.</p>
468    pub fn get_actual_capacity(&self) -> &::std::option::Option<i32> {
469        &self.actual_capacity
470    }
471    /// <p>The Amazon Resource Name (ARN) for the load balancer used with the runtime environment.</p>
472    pub fn load_balancer_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
473        self.load_balancer_arn = ::std::option::Option::Some(input.into());
474        self
475    }
476    /// <p>The Amazon Resource Name (ARN) for the load balancer used with the runtime environment.</p>
477    pub fn set_load_balancer_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
478        self.load_balancer_arn = input;
479        self
480    }
481    /// <p>The Amazon Resource Name (ARN) for the load balancer used with the runtime environment.</p>
482    pub fn get_load_balancer_arn(&self) -> &::std::option::Option<::std::string::String> {
483        &self.load_balancer_arn
484    }
485    /// <p>The reason for the reported status.</p>
486    pub fn status_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
487        self.status_reason = ::std::option::Option::Some(input.into());
488        self
489    }
490    /// <p>The reason for the reported status.</p>
491    pub fn set_status_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
492        self.status_reason = input;
493        self
494    }
495    /// <p>The reason for the reported status.</p>
496    pub fn get_status_reason(&self) -> &::std::option::Option<::std::string::String> {
497        &self.status_reason
498    }
499    /// <p>The maintenance window for the runtime environment. If you don't provide a value for the maintenance window, the service assigns a random value.</p>
500    pub fn preferred_maintenance_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
501        self.preferred_maintenance_window = ::std::option::Option::Some(input.into());
502        self
503    }
504    /// <p>The maintenance window for the runtime environment. If you don't provide a value for the maintenance window, the service assigns a random value.</p>
505    pub fn set_preferred_maintenance_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
506        self.preferred_maintenance_window = input;
507        self
508    }
509    /// <p>The maintenance window for the runtime environment. If you don't provide a value for the maintenance window, the service assigns a random value.</p>
510    pub fn get_preferred_maintenance_window(&self) -> &::std::option::Option<::std::string::String> {
511        &self.preferred_maintenance_window
512    }
513    /// <p>Indicates the pending maintenance scheduled on this environment.</p>
514    pub fn pending_maintenance(mut self, input: crate::types::PendingMaintenance) -> Self {
515        self.pending_maintenance = ::std::option::Option::Some(input);
516        self
517    }
518    /// <p>Indicates the pending maintenance scheduled on this environment.</p>
519    pub fn set_pending_maintenance(mut self, input: ::std::option::Option<crate::types::PendingMaintenance>) -> Self {
520        self.pending_maintenance = input;
521        self
522    }
523    /// <p>Indicates the pending maintenance scheduled on this environment.</p>
524    pub fn get_pending_maintenance(&self) -> &::std::option::Option<crate::types::PendingMaintenance> {
525        &self.pending_maintenance
526    }
527    /// <p>The identifier of a customer managed key.</p>
528    pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
529        self.kms_key_id = ::std::option::Option::Some(input.into());
530        self
531    }
532    /// <p>The identifier of a customer managed key.</p>
533    pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
534        self.kms_key_id = input;
535        self
536    }
537    /// <p>The identifier of a customer managed key.</p>
538    pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
539        &self.kms_key_id
540    }
541    /// <p>The network type supported by the runtime environment.</p>
542    pub fn network_type(mut self, input: crate::types::NetworkType) -> Self {
543        self.network_type = ::std::option::Option::Some(input);
544        self
545    }
546    /// <p>The network type supported by the runtime environment.</p>
547    pub fn set_network_type(mut self, input: ::std::option::Option<crate::types::NetworkType>) -> Self {
548        self.network_type = input;
549        self
550    }
551    /// <p>The network type supported by the runtime environment.</p>
552    pub fn get_network_type(&self) -> &::std::option::Option<crate::types::NetworkType> {
553        &self.network_type
554    }
555    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
556        self._request_id = Some(request_id.into());
557        self
558    }
559
560    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
561        self._request_id = request_id;
562        self
563    }
564    /// Consumes the builder and constructs a [`GetEnvironmentOutput`](crate::operation::get_environment::GetEnvironmentOutput).
565    /// This method will fail if any of the following fields are not set:
566    /// - [`name`](crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::name)
567    /// - [`environment_arn`](crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::environment_arn)
568    /// - [`environment_id`](crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::environment_id)
569    /// - [`instance_type`](crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::instance_type)
570    /// - [`status`](crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::status)
571    /// - [`engine_type`](crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::engine_type)
572    /// - [`engine_version`](crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::engine_version)
573    /// - [`vpc_id`](crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::vpc_id)
574    /// - [`subnet_ids`](crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::subnet_ids)
575    /// - [`security_group_ids`](crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::security_group_ids)
576    /// - [`creation_time`](crate::operation::get_environment::builders::GetEnvironmentOutputBuilder::creation_time)
577    pub fn build(
578        self,
579    ) -> ::std::result::Result<crate::operation::get_environment::GetEnvironmentOutput, ::aws_smithy_types::error::operation::BuildError> {
580        ::std::result::Result::Ok(crate::operation::get_environment::GetEnvironmentOutput {
581            name: self.name.ok_or_else(|| {
582                ::aws_smithy_types::error::operation::BuildError::missing_field(
583                    "name",
584                    "name was not specified but it is required when building GetEnvironmentOutput",
585                )
586            })?,
587            description: self.description,
588            environment_arn: self.environment_arn.ok_or_else(|| {
589                ::aws_smithy_types::error::operation::BuildError::missing_field(
590                    "environment_arn",
591                    "environment_arn was not specified but it is required when building GetEnvironmentOutput",
592                )
593            })?,
594            environment_id: self.environment_id.ok_or_else(|| {
595                ::aws_smithy_types::error::operation::BuildError::missing_field(
596                    "environment_id",
597                    "environment_id was not specified but it is required when building GetEnvironmentOutput",
598                )
599            })?,
600            instance_type: self.instance_type.ok_or_else(|| {
601                ::aws_smithy_types::error::operation::BuildError::missing_field(
602                    "instance_type",
603                    "instance_type was not specified but it is required when building GetEnvironmentOutput",
604                )
605            })?,
606            status: self.status.ok_or_else(|| {
607                ::aws_smithy_types::error::operation::BuildError::missing_field(
608                    "status",
609                    "status was not specified but it is required when building GetEnvironmentOutput",
610                )
611            })?,
612            engine_type: self.engine_type.ok_or_else(|| {
613                ::aws_smithy_types::error::operation::BuildError::missing_field(
614                    "engine_type",
615                    "engine_type was not specified but it is required when building GetEnvironmentOutput",
616                )
617            })?,
618            engine_version: self.engine_version.ok_or_else(|| {
619                ::aws_smithy_types::error::operation::BuildError::missing_field(
620                    "engine_version",
621                    "engine_version was not specified but it is required when building GetEnvironmentOutput",
622                )
623            })?,
624            vpc_id: self.vpc_id.ok_or_else(|| {
625                ::aws_smithy_types::error::operation::BuildError::missing_field(
626                    "vpc_id",
627                    "vpc_id was not specified but it is required when building GetEnvironmentOutput",
628                )
629            })?,
630            subnet_ids: self.subnet_ids.ok_or_else(|| {
631                ::aws_smithy_types::error::operation::BuildError::missing_field(
632                    "subnet_ids",
633                    "subnet_ids was not specified but it is required when building GetEnvironmentOutput",
634                )
635            })?,
636            security_group_ids: self.security_group_ids.ok_or_else(|| {
637                ::aws_smithy_types::error::operation::BuildError::missing_field(
638                    "security_group_ids",
639                    "security_group_ids was not specified but it is required when building GetEnvironmentOutput",
640                )
641            })?,
642            creation_time: self.creation_time.ok_or_else(|| {
643                ::aws_smithy_types::error::operation::BuildError::missing_field(
644                    "creation_time",
645                    "creation_time was not specified but it is required when building GetEnvironmentOutput",
646                )
647            })?,
648            storage_configurations: self.storage_configurations,
649            tags: self.tags,
650            high_availability_config: self.high_availability_config,
651            publicly_accessible: self.publicly_accessible.unwrap_or_default(),
652            actual_capacity: self.actual_capacity,
653            load_balancer_arn: self.load_balancer_arn,
654            status_reason: self.status_reason,
655            preferred_maintenance_window: self.preferred_maintenance_window,
656            pending_maintenance: self.pending_maintenance,
657            kms_key_id: self.kms_key_id,
658            network_type: self.network_type,
659            _request_id: self._request_id,
660        })
661    }
662}