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}
17impl UpdateClusterInput {
18 pub fn cluster_name(&self) -> ::std::option::Option<&str> {
20 self.cluster_name.as_deref()
21 }
22 pub fn instance_groups(&self) -> &[crate::types::ClusterInstanceGroupSpecification] {
26 self.instance_groups.as_deref().unwrap_or_default()
27 }
28 pub fn restricted_instance_groups(&self) -> &[crate::types::ClusterRestrictedInstanceGroupSpecification] {
32 self.restricted_instance_groups.as_deref().unwrap_or_default()
33 }
34 pub fn node_recovery(&self) -> ::std::option::Option<&crate::types::ClusterNodeRecovery> {
36 self.node_recovery.as_ref()
37 }
38 pub fn instance_groups_to_delete(&self) -> &[::std::string::String] {
42 self.instance_groups_to_delete.as_deref().unwrap_or_default()
43 }
44}
45impl UpdateClusterInput {
46 pub fn builder() -> crate::operation::update_cluster::builders::UpdateClusterInputBuilder {
48 crate::operation::update_cluster::builders::UpdateClusterInputBuilder::default()
49 }
50}
51
52#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
54#[non_exhaustive]
55pub struct UpdateClusterInputBuilder {
56 pub(crate) cluster_name: ::std::option::Option<::std::string::String>,
57 pub(crate) instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupSpecification>>,
58 pub(crate) restricted_instance_groups: ::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupSpecification>>,
59 pub(crate) node_recovery: ::std::option::Option<crate::types::ClusterNodeRecovery>,
60 pub(crate) instance_groups_to_delete: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
61}
62impl UpdateClusterInputBuilder {
63 pub fn cluster_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
66 self.cluster_name = ::std::option::Option::Some(input.into());
67 self
68 }
69 pub fn set_cluster_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
71 self.cluster_name = input;
72 self
73 }
74 pub fn get_cluster_name(&self) -> &::std::option::Option<::std::string::String> {
76 &self.cluster_name
77 }
78 pub fn instance_groups(mut self, input: crate::types::ClusterInstanceGroupSpecification) -> Self {
84 let mut v = self.instance_groups.unwrap_or_default();
85 v.push(input);
86 self.instance_groups = ::std::option::Option::Some(v);
87 self
88 }
89 pub fn set_instance_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupSpecification>>) -> Self {
91 self.instance_groups = input;
92 self
93 }
94 pub fn get_instance_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ClusterInstanceGroupSpecification>> {
96 &self.instance_groups
97 }
98 pub fn restricted_instance_groups(mut self, input: crate::types::ClusterRestrictedInstanceGroupSpecification) -> Self {
104 let mut v = self.restricted_instance_groups.unwrap_or_default();
105 v.push(input);
106 self.restricted_instance_groups = ::std::option::Option::Some(v);
107 self
108 }
109 pub fn set_restricted_instance_groups(
111 mut self,
112 input: ::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupSpecification>>,
113 ) -> Self {
114 self.restricted_instance_groups = input;
115 self
116 }
117 pub fn get_restricted_instance_groups(
119 &self,
120 ) -> &::std::option::Option<::std::vec::Vec<crate::types::ClusterRestrictedInstanceGroupSpecification>> {
121 &self.restricted_instance_groups
122 }
123 pub fn node_recovery(mut self, input: crate::types::ClusterNodeRecovery) -> Self {
125 self.node_recovery = ::std::option::Option::Some(input);
126 self
127 }
128 pub fn set_node_recovery(mut self, input: ::std::option::Option<crate::types::ClusterNodeRecovery>) -> Self {
130 self.node_recovery = input;
131 self
132 }
133 pub fn get_node_recovery(&self) -> &::std::option::Option<crate::types::ClusterNodeRecovery> {
135 &self.node_recovery
136 }
137 pub fn instance_groups_to_delete(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
143 let mut v = self.instance_groups_to_delete.unwrap_or_default();
144 v.push(input.into());
145 self.instance_groups_to_delete = ::std::option::Option::Some(v);
146 self
147 }
148 pub fn set_instance_groups_to_delete(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
150 self.instance_groups_to_delete = input;
151 self
152 }
153 pub fn get_instance_groups_to_delete(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
155 &self.instance_groups_to_delete
156 }
157 pub fn build(
159 self,
160 ) -> ::std::result::Result<crate::operation::update_cluster::UpdateClusterInput, ::aws_smithy_types::error::operation::BuildError> {
161 ::std::result::Result::Ok(crate::operation::update_cluster::UpdateClusterInput {
162 cluster_name: self.cluster_name,
163 instance_groups: self.instance_groups,
164 restricted_instance_groups: self.restricted_instance_groups,
165 node_recovery: self.node_recovery,
166 instance_groups_to_delete: self.instance_groups_to_delete,
167 })
168 }
169}