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 node_recovery: ::std::option::Option<crate::types::ClusterNodeRecovery>,
26 pub node_provisioning_mode: ::std::option::Option<crate::types::ClusterNodeProvisioningMode>,
28 pub cluster_role: ::std::option::Option<::std::string::String>,
30 pub auto_scaling: ::std::option::Option<crate::types::ClusterAutoScalingConfigOutput>,
32 _request_id: Option<String>,
33}
34impl DescribeClusterOutput {
35 pub fn cluster_arn(&self) -> ::std::option::Option<&str> {
37 self.cluster_arn.as_deref()
38 }
39 pub fn cluster_name(&self) -> ::std::option::Option<&str> {
41 self.cluster_name.as_deref()
42 }
43 pub fn cluster_status(&self) -> ::std::option::Option<&crate::types::ClusterStatus> {
45 self.cluster_status.as_ref()
46 }
47 pub fn creation_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
49 self.creation_time.as_ref()
50 }
51 pub fn failure_message(&self) -> ::std::option::Option<&str> {
53 self.failure_message.as_deref()
54 }
55 pub fn instance_groups(&self) -> &[crate::types::ClusterInstanceGroupDetails] {
59 self.instance_groups.as_deref().unwrap_or_default()
60 }
61 pub fn restricted_instance_groups(&self) -> &[crate::types::ClusterRestrictedInstanceGroupDetails] {
65 self.restricted_instance_groups.as_deref().unwrap_or_default()
66 }
67 pub fn vpc_config(&self) -> ::std::option::Option<&crate::types::VpcConfig> {
69 self.vpc_config.as_ref()
70 }
71 pub fn orchestrator(&self) -> ::std::option::Option<&crate::types::ClusterOrchestrator> {
73 self.orchestrator.as_ref()
74 }
75 pub fn node_recovery(&self) -> ::std::option::Option<&crate::types::ClusterNodeRecovery> {
77 self.node_recovery.as_ref()
78 }
79 pub fn node_provisioning_mode(&self) -> ::std::option::Option<&crate::types::ClusterNodeProvisioningMode> {
81 self.node_provisioning_mode.as_ref()
82 }
83 pub fn cluster_role(&self) -> ::std::option::Option<&str> {
85 self.cluster_role.as_deref()
86 }
87 pub fn auto_scaling(&self) -> ::std::option::Option<&crate::types::ClusterAutoScalingConfigOutput> {
89 self.auto_scaling.as_ref()
90 }
91}
92impl ::aws_types::request_id::RequestId for DescribeClusterOutput {
93 fn request_id(&self) -> Option<&str> {
94 self._request_id.as_deref()
95 }
96}
97impl DescribeClusterOutput {
98 pub fn builder() -> crate::operation::describe_cluster::builders::DescribeClusterOutputBuilder {
100 crate::operation::describe_cluster::builders::DescribeClusterOutputBuilder::default()
101 }
102}
103
104#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
106#[non_exhaustive]
107pub struct DescribeClusterOutputBuilder {
108 pub(crate) cluster_arn: ::std::option::Option<::std::string::String>,
109 pub(crate) cluster_name: ::std::option::Option<::std::string::String>,
110 pub(crate) cluster_status: ::std::option::Option<crate::types::ClusterStatus>,
111 pub(crate) creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
112 pub(crate) failure_message: ::std::option::Option<::std::string::String>,
113 pub(crate) instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupDetails>>,
114 pub(crate) restricted_instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupDetails>>,
115 pub(crate) vpc_config: ::std::option::Option<crate::types::VpcConfig>,
116 pub(crate) orchestrator: ::std::option::Option<crate::types::ClusterOrchestrator>,
117 pub(crate) node_recovery: ::std::option::Option<crate::types::ClusterNodeRecovery>,
118 pub(crate) node_provisioning_mode: ::std::option::Option<crate::types::ClusterNodeProvisioningMode>,
119 pub(crate) cluster_role: ::std::option::Option<::std::string::String>,
120 pub(crate) auto_scaling: ::std::option::Option<crate::types::ClusterAutoScalingConfigOutput>,
121 _request_id: Option<String>,
122}
123impl DescribeClusterOutputBuilder {
124 pub fn cluster_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127 self.cluster_arn = ::std::option::Option::Some(input.into());
128 self
129 }
130 pub fn set_cluster_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132 self.cluster_arn = input;
133 self
134 }
135 pub fn get_cluster_arn(&self) -> &::std::option::Option<::std::string::String> {
137 &self.cluster_arn
138 }
139 pub fn cluster_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141 self.cluster_name = ::std::option::Option::Some(input.into());
142 self
143 }
144 pub fn set_cluster_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146 self.cluster_name = input;
147 self
148 }
149 pub fn get_cluster_name(&self) -> &::std::option::Option<::std::string::String> {
151 &self.cluster_name
152 }
153 pub fn cluster_status(mut self, input: crate::types::ClusterStatus) -> Self {
156 self.cluster_status = ::std::option::Option::Some(input);
157 self
158 }
159 pub fn set_cluster_status(mut self, input: ::std::option::Option<crate::types::ClusterStatus>) -> Self {
161 self.cluster_status = input;
162 self
163 }
164 pub fn get_cluster_status(&self) -> &::std::option::Option<crate::types::ClusterStatus> {
166 &self.cluster_status
167 }
168 pub fn creation_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
170 self.creation_time = ::std::option::Option::Some(input);
171 self
172 }
173 pub fn set_creation_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
175 self.creation_time = input;
176 self
177 }
178 pub fn get_creation_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
180 &self.creation_time
181 }
182 pub fn failure_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
184 self.failure_message = ::std::option::Option::Some(input.into());
185 self
186 }
187 pub fn set_failure_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
189 self.failure_message = input;
190 self
191 }
192 pub fn get_failure_message(&self) -> &::std::option::Option<::std::string::String> {
194 &self.failure_message
195 }
196 pub fn instance_groups(mut self, input: crate::types::ClusterInstanceGroupDetails) -> Self {
202 let mut v = self.instance_groups.unwrap_or_default();
203 v.push(input);
204 self.instance_groups = ::std::option::Option::Some(v);
205 self
206 }
207 pub fn set_instance_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupDetails>>) -> Self {
209 self.instance_groups = input;
210 self
211 }
212 pub fn get_instance_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupDetails>> {
214 &self.instance_groups
215 }
216 pub fn restricted_instance_groups(mut self, input: crate::types::ClusterRestrictedInstanceGroupDetails) -> Self {
222 let mut v = self.restricted_instance_groups.unwrap_or_default();
223 v.push(input);
224 self.restricted_instance_groups = ::std::option::Option::Some(v);
225 self
226 }
227 pub fn set_restricted_instance_groups(
229 mut self,
230 input: ::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupDetails>>,
231 ) -> Self {
232 self.restricted_instance_groups = input;
233 self
234 }
235 pub fn get_restricted_instance_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupDetails>> {
237 &self.restricted_instance_groups
238 }
239 pub fn vpc_config(mut self, input: crate::types::VpcConfig) -> Self {
241 self.vpc_config = ::std::option::Option::Some(input);
242 self
243 }
244 pub fn set_vpc_config(mut self, input: ::std::option::Option<crate::types::VpcConfig>) -> Self {
246 self.vpc_config = input;
247 self
248 }
249 pub fn get_vpc_config(&self) -> &::std::option::Option<crate::types::VpcConfig> {
251 &self.vpc_config
252 }
253 pub fn orchestrator(mut self, input: crate::types::ClusterOrchestrator) -> Self {
255 self.orchestrator = ::std::option::Option::Some(input);
256 self
257 }
258 pub fn set_orchestrator(mut self, input: ::std::option::Option<crate::types::ClusterOrchestrator>) -> Self {
260 self.orchestrator = input;
261 self
262 }
263 pub fn get_orchestrator(&self) -> &::std::option::Option<crate::types::ClusterOrchestrator> {
265 &self.orchestrator
266 }
267 pub fn node_recovery(mut self, input: crate::types::ClusterNodeRecovery) -> Self {
269 self.node_recovery = ::std::option::Option::Some(input);
270 self
271 }
272 pub fn set_node_recovery(mut self, input: ::std::option::Option<crate::types::ClusterNodeRecovery>) -> Self {
274 self.node_recovery = input;
275 self
276 }
277 pub fn get_node_recovery(&self) -> &::std::option::Option<crate::types::ClusterNodeRecovery> {
279 &self.node_recovery
280 }
281 pub fn node_provisioning_mode(mut self, input: crate::types::ClusterNodeProvisioningMode) -> Self {
283 self.node_provisioning_mode = ::std::option::Option::Some(input);
284 self
285 }
286 pub fn set_node_provisioning_mode(mut self, input: ::std::option::Option<crate::types::ClusterNodeProvisioningMode>) -> Self {
288 self.node_provisioning_mode = input;
289 self
290 }
291 pub fn get_node_provisioning_mode(&self) -> &::std::option::Option<crate::types::ClusterNodeProvisioningMode> {
293 &self.node_provisioning_mode
294 }
295 pub fn cluster_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
297 self.cluster_role = ::std::option::Option::Some(input.into());
298 self
299 }
300 pub fn set_cluster_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
302 self.cluster_role = input;
303 self
304 }
305 pub fn get_cluster_role(&self) -> &::std::option::Option<::std::string::String> {
307 &self.cluster_role
308 }
309 pub fn auto_scaling(mut self, input: crate::types::ClusterAutoScalingConfigOutput) -> Self {
311 self.auto_scaling = ::std::option::Option::Some(input);
312 self
313 }
314 pub fn set_auto_scaling(mut self, input: ::std::option::Option<crate::types::ClusterAutoScalingConfigOutput>) -> Self {
316 self.auto_scaling = input;
317 self
318 }
319 pub fn get_auto_scaling(&self) -> &::std::option::Option<crate::types::ClusterAutoScalingConfigOutput> {
321 &self.auto_scaling
322 }
323 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
324 self._request_id = Some(request_id.into());
325 self
326 }
327
328 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
329 self._request_id = request_id;
330 self
331 }
332 pub fn build(self) -> crate::operation::describe_cluster::DescribeClusterOutput {
334 crate::operation::describe_cluster::DescribeClusterOutput {
335 cluster_arn: self.cluster_arn,
336 cluster_name: self.cluster_name,
337 cluster_status: self.cluster_status,
338 creation_time: self.creation_time,
339 failure_message: self.failure_message,
340 instance_groups: self.instance_groups,
341 restricted_instance_groups: self.restricted_instance_groups,
342 vpc_config: self.vpc_config,
343 orchestrator: self.orchestrator,
344 node_recovery: self.node_recovery,
345 node_provisioning_mode: self.node_provisioning_mode,
346 cluster_role: self.cluster_role,
347 auto_scaling: self.auto_scaling,
348 _request_id: self._request_id,
349 }
350 }
351}