aws_sdk_sagemaker/operation/update_cluster/
_update_cluster_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct UpdateClusterInput {
6 pub cluster_name: ::std::option::Option<::std::string::String>,
8 pub instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupSpecification>>,
10 pub restricted_instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupSpecification>>,
12 pub node_recovery: ::std::option::Option<crate::types::ClusterNodeRecovery>,
14 pub instance_groups_to_delete: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
16 pub cluster_role: ::std::option::Option<::std::string::String>,
18 pub auto_scaling: ::std::option::Option<crate::types::ClusterAutoScalingConfig>,
20}
21impl UpdateClusterInput {
22 pub fn cluster_name(&self) -> ::std::option::Option<&str> {
24 self.cluster_name.as_deref()
25 }
26 pub fn instance_groups(&self) -> &[crate::types::ClusterInstanceGroupSpecification] {
30 self.instance_groups.as_deref().unwrap_or_default()
31 }
32 pub fn restricted_instance_groups(&self) -> &[crate::types::ClusterRestrictedInstanceGroupSpecification] {
36 self.restricted_instance_groups.as_deref().unwrap_or_default()
37 }
38 pub fn node_recovery(&self) -> ::std::option::Option<&crate::types::ClusterNodeRecovery> {
40 self.node_recovery.as_ref()
41 }
42 pub fn instance_groups_to_delete(&self) -> &[::std::string::String] {
46 self.instance_groups_to_delete.as_deref().unwrap_or_default()
47 }
48 pub fn cluster_role(&self) -> ::std::option::Option<&str> {
50 self.cluster_role.as_deref()
51 }
52 pub fn auto_scaling(&self) -> ::std::option::Option<&crate::types::ClusterAutoScalingConfig> {
54 self.auto_scaling.as_ref()
55 }
56}
57impl UpdateClusterInput {
58 pub fn builder() -> crate::operation::update_cluster::builders::UpdateClusterInputBuilder {
60 crate::operation::update_cluster::builders::UpdateClusterInputBuilder::default()
61 }
62}
63
64#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
66#[non_exhaustive]
67pub struct UpdateClusterInputBuilder {
68 pub(crate) cluster_name: ::std::option::Option<::std::string::String>,
69 pub(crate) instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupSpecification>>,
70 pub(crate) restricted_instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupSpecification>>,
71 pub(crate) node_recovery: ::std::option::Option<crate::types::ClusterNodeRecovery>,
72 pub(crate) instance_groups_to_delete: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
73 pub(crate) cluster_role: ::std::option::Option<::std::string::String>,
74 pub(crate) auto_scaling: ::std::option::Option<crate::types::ClusterAutoScalingConfig>,
75}
76impl UpdateClusterInputBuilder {
77 pub fn cluster_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
80 self.cluster_name = ::std::option::Option::Some(input.into());
81 self
82 }
83 pub fn set_cluster_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
85 self.cluster_name = input;
86 self
87 }
88 pub fn get_cluster_name(&self) -> &::std::option::Option<::std::string::String> {
90 &self.cluster_name
91 }
92 pub fn instance_groups(mut self, input: crate::types::ClusterInstanceGroupSpecification) -> Self {
98 let mut v = self.instance_groups.unwrap_or_default();
99 v.push(input);
100 self.instance_groups = ::std::option::Option::Some(v);
101 self
102 }
103 pub fn set_instance_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupSpecification>>) -> Self {
105 self.instance_groups = input;
106 self
107 }
108 pub fn get_instance_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupSpecification>> {
110 &self.instance_groups
111 }
112 pub fn restricted_instance_groups(mut self, input: crate::types::ClusterRestrictedInstanceGroupSpecification) -> Self {
118 let mut v = self.restricted_instance_groups.unwrap_or_default();
119 v.push(input);
120 self.restricted_instance_groups = ::std::option::Option::Some(v);
121 self
122 }
123 pub fn set_restricted_instance_groups(
125 mut self,
126 input: ::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupSpecification>>,
127 ) -> Self {
128 self.restricted_instance_groups = input;
129 self
130 }
131 pub fn get_restricted_instance_groups(
133 &self,
134 ) -> &::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupSpecification>> {
135 &self.restricted_instance_groups
136 }
137 pub fn node_recovery(mut self, input: crate::types::ClusterNodeRecovery) -> Self {
139 self.node_recovery = ::std::option::Option::Some(input);
140 self
141 }
142 pub fn set_node_recovery(mut self, input: ::std::option::Option<crate::types::ClusterNodeRecovery>) -> Self {
144 self.node_recovery = input;
145 self
146 }
147 pub fn get_node_recovery(&self) -> &::std::option::Option<crate::types::ClusterNodeRecovery> {
149 &self.node_recovery
150 }
151 pub fn instance_groups_to_delete(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
157 let mut v = self.instance_groups_to_delete.unwrap_or_default();
158 v.push(input.into());
159 self.instance_groups_to_delete = ::std::option::Option::Some(v);
160 self
161 }
162 pub fn set_instance_groups_to_delete(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
164 self.instance_groups_to_delete = input;
165 self
166 }
167 pub fn get_instance_groups_to_delete(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
169 &self.instance_groups_to_delete
170 }
171 pub fn cluster_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
173 self.cluster_role = ::std::option::Option::Some(input.into());
174 self
175 }
176 pub fn set_cluster_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
178 self.cluster_role = input;
179 self
180 }
181 pub fn get_cluster_role(&self) -> &::std::option::Option<::std::string::String> {
183 &self.cluster_role
184 }
185 pub fn auto_scaling(mut self, input: crate::types::ClusterAutoScalingConfig) -> Self {
187 self.auto_scaling = ::std::option::Option::Some(input);
188 self
189 }
190 pub fn set_auto_scaling(mut self, input: ::std::option::Option<crate::types::ClusterAutoScalingConfig>) -> Self {
192 self.auto_scaling = input;
193 self
194 }
195 pub fn get_auto_scaling(&self) -> &::std::option::Option<crate::types::ClusterAutoScalingConfig> {
197 &self.auto_scaling
198 }
199 pub fn build(
201 self,
202 ) -> ::std::result::Result<crate::operation::update_cluster::UpdateClusterInput, ::aws_smithy_types::error::operation::BuildError> {
203 ::std::result::Result::Ok(crate::operation::update_cluster::UpdateClusterInput {
204 cluster_name: self.cluster_name,
205 instance_groups: self.instance_groups,
206 restricted_instance_groups: self.restricted_instance_groups,
207 node_recovery: self.node_recovery,
208 instance_groups_to_delete: self.instance_groups_to_delete,
209 cluster_role: self.cluster_role,
210 auto_scaling: self.auto_scaling,
211 })
212 }
213}