aws_sdk_arcregionswitch/operation/create_plan/
_create_plan_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreatePlanInput {
6 pub description: ::std::option::Option<::std::string::String>,
8 pub workflows: ::std::option::Option<::std::vec::Vec<crate::types::Workflow>>,
10 pub execution_role: ::std::option::Option<::std::string::String>,
12 pub recovery_time_objective_minutes: ::std::option::Option<i32>,
14 pub associated_alarms: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AssociatedAlarm>>,
16 pub triggers: ::std::option::Option<::std::vec::Vec<crate::types::Trigger>>,
18 pub name: ::std::option::Option<::std::string::String>,
20 pub regions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
22 pub recovery_approach: ::std::option::Option<crate::types::RecoveryApproach>,
24 pub primary_region: ::std::option::Option<::std::string::String>,
26 pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
28}
29impl CreatePlanInput {
30 pub fn description(&self) -> ::std::option::Option<&str> {
32 self.description.as_deref()
33 }
34 pub fn workflows(&self) -> &[crate::types::Workflow] {
38 self.workflows.as_deref().unwrap_or_default()
39 }
40 pub fn execution_role(&self) -> ::std::option::Option<&str> {
42 self.execution_role.as_deref()
43 }
44 pub fn recovery_time_objective_minutes(&self) -> ::std::option::Option<i32> {
46 self.recovery_time_objective_minutes
47 }
48 pub fn associated_alarms(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AssociatedAlarm>> {
50 self.associated_alarms.as_ref()
51 }
52 pub fn triggers(&self) -> &[crate::types::Trigger] {
56 self.triggers.as_deref().unwrap_or_default()
57 }
58 pub fn name(&self) -> ::std::option::Option<&str> {
60 self.name.as_deref()
61 }
62 pub fn regions(&self) -> &[::std::string::String] {
66 self.regions.as_deref().unwrap_or_default()
67 }
68 pub fn recovery_approach(&self) -> ::std::option::Option<&crate::types::RecoveryApproach> {
70 self.recovery_approach.as_ref()
71 }
72 pub fn primary_region(&self) -> ::std::option::Option<&str> {
74 self.primary_region.as_deref()
75 }
76 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
78 self.tags.as_ref()
79 }
80}
81impl CreatePlanInput {
82 pub fn builder() -> crate::operation::create_plan::builders::CreatePlanInputBuilder {
84 crate::operation::create_plan::builders::CreatePlanInputBuilder::default()
85 }
86}
87
88#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
90#[non_exhaustive]
91pub struct CreatePlanInputBuilder {
92 pub(crate) description: ::std::option::Option<::std::string::String>,
93 pub(crate) workflows: ::std::option::Option<::std::vec::Vec<crate::types::Workflow>>,
94 pub(crate) execution_role: ::std::option::Option<::std::string::String>,
95 pub(crate) recovery_time_objective_minutes: ::std::option::Option<i32>,
96 pub(crate) associated_alarms: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AssociatedAlarm>>,
97 pub(crate) triggers: ::std::option::Option<::std::vec::Vec<crate::types::Trigger>>,
98 pub(crate) name: ::std::option::Option<::std::string::String>,
99 pub(crate) regions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
100 pub(crate) recovery_approach: ::std::option::Option<crate::types::RecoveryApproach>,
101 pub(crate) primary_region: ::std::option::Option<::std::string::String>,
102 pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
103}
104impl CreatePlanInputBuilder {
105 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
107 self.description = ::std::option::Option::Some(input.into());
108 self
109 }
110 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
112 self.description = input;
113 self
114 }
115 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
117 &self.description
118 }
119 pub fn workflows(mut self, input: crate::types::Workflow) -> Self {
125 let mut v = self.workflows.unwrap_or_default();
126 v.push(input);
127 self.workflows = ::std::option::Option::Some(v);
128 self
129 }
130 pub fn set_workflows(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Workflow>>) -> Self {
132 self.workflows = input;
133 self
134 }
135 pub fn get_workflows(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Workflow>> {
137 &self.workflows
138 }
139 pub fn execution_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142 self.execution_role = ::std::option::Option::Some(input.into());
143 self
144 }
145 pub fn set_execution_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
147 self.execution_role = input;
148 self
149 }
150 pub fn get_execution_role(&self) -> &::std::option::Option<::std::string::String> {
152 &self.execution_role
153 }
154 pub fn recovery_time_objective_minutes(mut self, input: i32) -> Self {
156 self.recovery_time_objective_minutes = ::std::option::Option::Some(input);
157 self
158 }
159 pub fn set_recovery_time_objective_minutes(mut self, input: ::std::option::Option<i32>) -> Self {
161 self.recovery_time_objective_minutes = input;
162 self
163 }
164 pub fn get_recovery_time_objective_minutes(&self) -> &::std::option::Option<i32> {
166 &self.recovery_time_objective_minutes
167 }
168 pub fn associated_alarms(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AssociatedAlarm) -> Self {
174 let mut hash_map = self.associated_alarms.unwrap_or_default();
175 hash_map.insert(k.into(), v);
176 self.associated_alarms = ::std::option::Option::Some(hash_map);
177 self
178 }
179 pub fn set_associated_alarms(
181 mut self,
182 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AssociatedAlarm>>,
183 ) -> Self {
184 self.associated_alarms = input;
185 self
186 }
187 pub fn get_associated_alarms(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AssociatedAlarm>> {
189 &self.associated_alarms
190 }
191 pub fn triggers(mut self, input: crate::types::Trigger) -> Self {
197 let mut v = self.triggers.unwrap_or_default();
198 v.push(input);
199 self.triggers = ::std::option::Option::Some(v);
200 self
201 }
202 pub fn set_triggers(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Trigger>>) -> Self {
204 self.triggers = input;
205 self
206 }
207 pub fn get_triggers(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Trigger>> {
209 &self.triggers
210 }
211 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
214 self.name = ::std::option::Option::Some(input.into());
215 self
216 }
217 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
219 self.name = input;
220 self
221 }
222 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
224 &self.name
225 }
226 pub fn regions(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
232 let mut v = self.regions.unwrap_or_default();
233 v.push(input.into());
234 self.regions = ::std::option::Option::Some(v);
235 self
236 }
237 pub fn set_regions(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
239 self.regions = input;
240 self
241 }
242 pub fn get_regions(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
244 &self.regions
245 }
246 pub fn recovery_approach(mut self, input: crate::types::RecoveryApproach) -> Self {
249 self.recovery_approach = ::std::option::Option::Some(input);
250 self
251 }
252 pub fn set_recovery_approach(mut self, input: ::std::option::Option<crate::types::RecoveryApproach>) -> Self {
254 self.recovery_approach = input;
255 self
256 }
257 pub fn get_recovery_approach(&self) -> &::std::option::Option<crate::types::RecoveryApproach> {
259 &self.recovery_approach
260 }
261 pub fn primary_region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
263 self.primary_region = ::std::option::Option::Some(input.into());
264 self
265 }
266 pub fn set_primary_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
268 self.primary_region = input;
269 self
270 }
271 pub fn get_primary_region(&self) -> &::std::option::Option<::std::string::String> {
273 &self.primary_region
274 }
275 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
281 let mut hash_map = self.tags.unwrap_or_default();
282 hash_map.insert(k.into(), v.into());
283 self.tags = ::std::option::Option::Some(hash_map);
284 self
285 }
286 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
288 self.tags = input;
289 self
290 }
291 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
293 &self.tags
294 }
295 pub fn build(self) -> ::std::result::Result<crate::operation::create_plan::CreatePlanInput, ::aws_smithy_types::error::operation::BuildError> {
297 ::std::result::Result::Ok(crate::operation::create_plan::CreatePlanInput {
298 description: self.description,
299 workflows: self.workflows,
300 execution_role: self.execution_role,
301 recovery_time_objective_minutes: self.recovery_time_objective_minutes,
302 associated_alarms: self.associated_alarms,
303 triggers: self.triggers,
304 name: self.name,
305 regions: self.regions,
306 recovery_approach: self.recovery_approach,
307 primary_region: self.primary_region,
308 tags: self.tags,
309 })
310 }
311}