aws_sdk_sagemaker/operation/describe_cluster/
_describe_cluster_output.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct DescribeClusterOutput {
6    pub cluster_arn: ::std::option::Option<::std::string::String>,
8    pub cluster_name: ::std::option::Option<::std::string::String>,
10    pub cluster_status: ::std::option::Option<crate::types::ClusterStatus>,
12    pub creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
14    pub failure_message: ::std::option::Option<::std::string::String>,
16    pub instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupDetails>>,
18    pub restricted_instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupDetails>>,
20    pub vpc_config: ::std::option::Option<crate::types::VpcConfig>,
22    pub orchestrator: ::std::option::Option<crate::types::ClusterOrchestrator>,
24    pub tiered_storage_config: ::std::option::Option<crate::types::ClusterTieredStorageConfig>,
26    pub node_recovery: ::std::option::Option<crate::types::ClusterNodeRecovery>,
28    pub node_provisioning_mode: ::std::option::Option<crate::types::ClusterNodeProvisioningMode>,
30    pub cluster_role: ::std::option::Option<::std::string::String>,
32    pub auto_scaling: ::std::option::Option<crate::types::ClusterAutoScalingConfigOutput>,
34    _request_id: Option<String>,
35}
36impl DescribeClusterOutput {
37    pub fn cluster_arn(&self) -> ::std::option::Option<&str> {
39        self.cluster_arn.as_deref()
40    }
41    pub fn cluster_name(&self) -> ::std::option::Option<&str> {
43        self.cluster_name.as_deref()
44    }
45    pub fn cluster_status(&self) -> ::std::option::Option<&crate::types::ClusterStatus> {
47        self.cluster_status.as_ref()
48    }
49    pub fn creation_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
51        self.creation_time.as_ref()
52    }
53    pub fn failure_message(&self) -> ::std::option::Option<&str> {
55        self.failure_message.as_deref()
56    }
57    pub fn instance_groups(&self) -> &[crate::types::ClusterInstanceGroupDetails] {
61        self.instance_groups.as_deref().unwrap_or_default()
62    }
63    pub fn restricted_instance_groups(&self) -> &[crate::types::ClusterRestrictedInstanceGroupDetails] {
67        self.restricted_instance_groups.as_deref().unwrap_or_default()
68    }
69    pub fn vpc_config(&self) -> ::std::option::Option<&crate::types::VpcConfig> {
71        self.vpc_config.as_ref()
72    }
73    pub fn orchestrator(&self) -> ::std::option::Option<&crate::types::ClusterOrchestrator> {
75        self.orchestrator.as_ref()
76    }
77    pub fn tiered_storage_config(&self) -> ::std::option::Option<&crate::types::ClusterTieredStorageConfig> {
79        self.tiered_storage_config.as_ref()
80    }
81    pub fn node_recovery(&self) -> ::std::option::Option<&crate::types::ClusterNodeRecovery> {
83        self.node_recovery.as_ref()
84    }
85    pub fn node_provisioning_mode(&self) -> ::std::option::Option<&crate::types::ClusterNodeProvisioningMode> {
87        self.node_provisioning_mode.as_ref()
88    }
89    pub fn cluster_role(&self) -> ::std::option::Option<&str> {
91        self.cluster_role.as_deref()
92    }
93    pub fn auto_scaling(&self) -> ::std::option::Option<&crate::types::ClusterAutoScalingConfigOutput> {
95        self.auto_scaling.as_ref()
96    }
97}
98impl ::aws_types::request_id::RequestId for DescribeClusterOutput {
99    fn request_id(&self) -> Option<&str> {
100        self._request_id.as_deref()
101    }
102}
103impl DescribeClusterOutput {
104    pub fn builder() -> crate::operation::describe_cluster::builders::DescribeClusterOutputBuilder {
106        crate::operation::describe_cluster::builders::DescribeClusterOutputBuilder::default()
107    }
108}
109
110#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
112#[non_exhaustive]
113pub struct DescribeClusterOutputBuilder {
114    pub(crate) cluster_arn: ::std::option::Option<::std::string::String>,
115    pub(crate) cluster_name: ::std::option::Option<::std::string::String>,
116    pub(crate) cluster_status: ::std::option::Option<crate::types::ClusterStatus>,
117    pub(crate) creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
118    pub(crate) failure_message: ::std::option::Option<::std::string::String>,
119    pub(crate) instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupDetails>>,
120    pub(crate) restricted_instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupDetails>>,
121    pub(crate) vpc_config: ::std::option::Option<crate::types::VpcConfig>,
122    pub(crate) orchestrator: ::std::option::Option<crate::types::ClusterOrchestrator>,
123    pub(crate) tiered_storage_config: ::std::option::Option<crate::types::ClusterTieredStorageConfig>,
124    pub(crate) node_recovery: ::std::option::Option<crate::types::ClusterNodeRecovery>,
125    pub(crate) node_provisioning_mode: ::std::option::Option<crate::types::ClusterNodeProvisioningMode>,
126    pub(crate) cluster_role: ::std::option::Option<::std::string::String>,
127    pub(crate) auto_scaling: ::std::option::Option<crate::types::ClusterAutoScalingConfigOutput>,
128    _request_id: Option<String>,
129}
130impl DescribeClusterOutputBuilder {
131    pub fn cluster_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
134        self.cluster_arn = ::std::option::Option::Some(input.into());
135        self
136    }
137    pub fn set_cluster_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
139        self.cluster_arn = input;
140        self
141    }
142    pub fn get_cluster_arn(&self) -> &::std::option::Option<::std::string::String> {
144        &self.cluster_arn
145    }
146    pub fn cluster_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
148        self.cluster_name = ::std::option::Option::Some(input.into());
149        self
150    }
151    pub fn set_cluster_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
153        self.cluster_name = input;
154        self
155    }
156    pub fn get_cluster_name(&self) -> &::std::option::Option<::std::string::String> {
158        &self.cluster_name
159    }
160    pub fn cluster_status(mut self, input: crate::types::ClusterStatus) -> Self {
163        self.cluster_status = ::std::option::Option::Some(input);
164        self
165    }
166    pub fn set_cluster_status(mut self, input: ::std::option::Option<crate::types::ClusterStatus>) -> Self {
168        self.cluster_status = input;
169        self
170    }
171    pub fn get_cluster_status(&self) -> &::std::option::Option<crate::types::ClusterStatus> {
173        &self.cluster_status
174    }
175    pub fn creation_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
177        self.creation_time = ::std::option::Option::Some(input);
178        self
179    }
180    pub fn set_creation_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
182        self.creation_time = input;
183        self
184    }
185    pub fn get_creation_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
187        &self.creation_time
188    }
189    pub fn failure_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
191        self.failure_message = ::std::option::Option::Some(input.into());
192        self
193    }
194    pub fn set_failure_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
196        self.failure_message = input;
197        self
198    }
199    pub fn get_failure_message(&self) -> &::std::option::Option<::std::string::String> {
201        &self.failure_message
202    }
203    pub fn instance_groups(mut self, input: crate::types::ClusterInstanceGroupDetails) -> Self {
209        let mut v = self.instance_groups.unwrap_or_default();
210        v.push(input);
211        self.instance_groups = ::std::option::Option::Some(v);
212        self
213    }
214    pub fn set_instance_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupDetails>>) -> Self {
216        self.instance_groups = input;
217        self
218    }
219    pub fn get_instance_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupDetails>> {
221        &self.instance_groups
222    }
223    pub fn restricted_instance_groups(mut self, input: crate::types::ClusterRestrictedInstanceGroupDetails) -> Self {
229        let mut v = self.restricted_instance_groups.unwrap_or_default();
230        v.push(input);
231        self.restricted_instance_groups = ::std::option::Option::Some(v);
232        self
233    }
234    pub fn set_restricted_instance_groups(
236        mut self,
237        input: ::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupDetails>>,
238    ) -> Self {
239        self.restricted_instance_groups = input;
240        self
241    }
242    pub fn get_restricted_instance_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupDetails>> {
244        &self.restricted_instance_groups
245    }
246    pub fn vpc_config(mut self, input: crate::types::VpcConfig) -> Self {
248        self.vpc_config = ::std::option::Option::Some(input);
249        self
250    }
251    pub fn set_vpc_config(mut self, input: ::std::option::Option<crate::types::VpcConfig>) -> Self {
253        self.vpc_config = input;
254        self
255    }
256    pub fn get_vpc_config(&self) -> &::std::option::Option<crate::types::VpcConfig> {
258        &self.vpc_config
259    }
260    pub fn orchestrator(mut self, input: crate::types::ClusterOrchestrator) -> Self {
262        self.orchestrator = ::std::option::Option::Some(input);
263        self
264    }
265    pub fn set_orchestrator(mut self, input: ::std::option::Option<crate::types::ClusterOrchestrator>) -> Self {
267        self.orchestrator = input;
268        self
269    }
270    pub fn get_orchestrator(&self) -> &::std::option::Option<crate::types::ClusterOrchestrator> {
272        &self.orchestrator
273    }
274    pub fn tiered_storage_config(mut self, input: crate::types::ClusterTieredStorageConfig) -> Self {
276        self.tiered_storage_config = ::std::option::Option::Some(input);
277        self
278    }
279    pub fn set_tiered_storage_config(mut self, input: ::std::option::Option<crate::types::ClusterTieredStorageConfig>) -> Self {
281        self.tiered_storage_config = input;
282        self
283    }
284    pub fn get_tiered_storage_config(&self) -> &::std::option::Option<crate::types::ClusterTieredStorageConfig> {
286        &self.tiered_storage_config
287    }
288    pub fn node_recovery(mut self, input: crate::types::ClusterNodeRecovery) -> Self {
290        self.node_recovery = ::std::option::Option::Some(input);
291        self
292    }
293    pub fn set_node_recovery(mut self, input: ::std::option::Option<crate::types::ClusterNodeRecovery>) -> Self {
295        self.node_recovery = input;
296        self
297    }
298    pub fn get_node_recovery(&self) -> &::std::option::Option<crate::types::ClusterNodeRecovery> {
300        &self.node_recovery
301    }
302    pub fn node_provisioning_mode(mut self, input: crate::types::ClusterNodeProvisioningMode) -> Self {
304        self.node_provisioning_mode = ::std::option::Option::Some(input);
305        self
306    }
307    pub fn set_node_provisioning_mode(mut self, input: ::std::option::Option<crate::types::ClusterNodeProvisioningMode>) -> Self {
309        self.node_provisioning_mode = input;
310        self
311    }
312    pub fn get_node_provisioning_mode(&self) -> &::std::option::Option<crate::types::ClusterNodeProvisioningMode> {
314        &self.node_provisioning_mode
315    }
316    pub fn cluster_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
318        self.cluster_role = ::std::option::Option::Some(input.into());
319        self
320    }
321    pub fn set_cluster_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
323        self.cluster_role = input;
324        self
325    }
326    pub fn get_cluster_role(&self) -> &::std::option::Option<::std::string::String> {
328        &self.cluster_role
329    }
330    pub fn auto_scaling(mut self, input: crate::types::ClusterAutoScalingConfigOutput) -> Self {
332        self.auto_scaling = ::std::option::Option::Some(input);
333        self
334    }
335    pub fn set_auto_scaling(mut self, input: ::std::option::Option<crate::types::ClusterAutoScalingConfigOutput>) -> Self {
337        self.auto_scaling = input;
338        self
339    }
340    pub fn get_auto_scaling(&self) -> &::std::option::Option<crate::types::ClusterAutoScalingConfigOutput> {
342        &self.auto_scaling
343    }
344    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
345        self._request_id = Some(request_id.into());
346        self
347    }
348
349    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
350        self._request_id = request_id;
351        self
352    }
353    pub fn build(self) -> crate::operation::describe_cluster::DescribeClusterOutput {
355        crate::operation::describe_cluster::DescribeClusterOutput {
356            cluster_arn: self.cluster_arn,
357            cluster_name: self.cluster_name,
358            cluster_status: self.cluster_status,
359            creation_time: self.creation_time,
360            failure_message: self.failure_message,
361            instance_groups: self.instance_groups,
362            restricted_instance_groups: self.restricted_instance_groups,
363            vpc_config: self.vpc_config,
364            orchestrator: self.orchestrator,
365            tiered_storage_config: self.tiered_storage_config,
366            node_recovery: self.node_recovery,
367            node_provisioning_mode: self.node_provisioning_mode,
368            cluster_role: self.cluster_role,
369            auto_scaling: self.auto_scaling,
370            _request_id: self._request_id,
371        }
372    }
373}