aws_sdk_cloudformation/types/_stack_set_operation.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>The structure that contains information about a stack set operation.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct StackSetOperation {
7 /// <p>The unique ID of a stack set operation.</p>
8 pub operation_id: ::std::option::Option<::std::string::String>,
9 /// <p>The ID of the stack set.</p>
10 pub stack_set_id: ::std::option::Option<::std::string::String>,
11 /// <p>The type of stack set operation: <code>CREATE</code>, <code>UPDATE</code>, or <code>DELETE</code>. Create and delete operations affect only the specified stack set instances that are associated with the specified stack set. Update operations affect both the stack set itself, in addition to <i>all</i> associated stack set instances.</p>
12 pub action: ::std::option::Option<crate::types::StackSetOperationAction>,
13 /// <p>The status of the operation.</p>
14 /// <ul>
15 /// <li>
16 /// <p><code>FAILED</code>: The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each Region during stack create and update operations. If the number of failed stacks within a Region exceeds the failure tolerance, the status of the operation in the Region is set to <code>FAILED</code>. This in turn sets the status of the operation as a whole to <code>FAILED</code>, and CloudFormation cancels the operation in any remaining Regions.</p></li>
17 /// <li>
18 /// <p>QUEUED: \[Service-managed permissions\] For automatic deployments that require a sequence of operations, the operation is queued to be performed. For more information, see the StackSets status codes in the CloudFormation User Guide.</p></li>
19 /// <li>
20 /// <p><code>RUNNING</code>: The operation is currently being performed.</p></li>
21 /// <li>
22 /// <p><code>STOPPED</code>: The user has canceled the operation.</p></li>
23 /// <li>
24 /// <p><code>STOPPING</code>: The operation is in the process of stopping, at user request.</p></li>
25 /// <li>
26 /// <p><code>SUCCEEDED</code>: The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.</p></li>
27 /// </ul>
28 pub status: ::std::option::Option<crate::types::StackSetOperationStatus>,
29 /// <p>The preferences for how CloudFormation performs this stack set operation.</p>
30 pub operation_preferences: ::std::option::Option<crate::types::StackSetOperationPreferences>,
31 /// <p>For stack set operations of action type <code>DELETE</code>, specifies whether to remove the stack instances from the specified stack set, but doesn't delete the stacks. You can't re-associate a retained stack, or add an existing, saved stack to a new stack set.</p>
32 pub retain_stacks: ::std::option::Option<bool>,
33 /// <p>The Amazon Resource Name (ARN) of the IAM role used to perform this stack set operation.</p>
34 /// <p>Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html">Grant self-managed permissions</a> in the <i>CloudFormation User Guide</i>.</p>
35 pub administration_role_arn: ::std::option::Option<::std::string::String>,
36 /// <p>The name of the IAM execution role used to create or update the stack set.</p>
37 /// <p>Use customized execution roles to control which stack resources users and groups can include in their stack sets.</p>
38 pub execution_role_name: ::std::option::Option<::std::string::String>,
39 /// <p>The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested Regions, before actually creating the first stacks.</p>
40 pub creation_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
41 /// <p>The time at which the stack set operation ended, across all accounts and Regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or Region.</p>
42 pub end_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
43 /// <p>\[Service-managed permissions\] The Organizations accounts affected by the stack operation.</p>
44 pub deployment_targets: ::std::option::Option<crate::types::DeploymentTargets>,
45 /// <p>Detailed information about the drift status of the stack set. This includes information about drift operations currently being performed on the stack set.</p>
46 /// <p>This information will only be present for stack set operations whose <code>Action</code> type is <code>DETECT_DRIFT</code>.</p>
47 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html">Performing drift detection on CloudFormation StackSets</a> in the <i>CloudFormation User Guide</i>.</p>
48 pub stack_set_drift_detection_details: ::std::option::Option<crate::types::StackSetDriftDetectionDetails>,
49 /// <p>The status of the operation in details.</p>
50 pub status_reason: ::std::option::Option<::std::string::String>,
51 /// <p>Detailed information about the StackSet operation.</p>
52 pub status_details: ::std::option::Option<crate::types::StackSetOperationStatusDetails>,
53}
54impl StackSetOperation {
55 /// <p>The unique ID of a stack set operation.</p>
56 pub fn operation_id(&self) -> ::std::option::Option<&str> {
57 self.operation_id.as_deref()
58 }
59 /// <p>The ID of the stack set.</p>
60 pub fn stack_set_id(&self) -> ::std::option::Option<&str> {
61 self.stack_set_id.as_deref()
62 }
63 /// <p>The type of stack set operation: <code>CREATE</code>, <code>UPDATE</code>, or <code>DELETE</code>. Create and delete operations affect only the specified stack set instances that are associated with the specified stack set. Update operations affect both the stack set itself, in addition to <i>all</i> associated stack set instances.</p>
64 pub fn action(&self) -> ::std::option::Option<&crate::types::StackSetOperationAction> {
65 self.action.as_ref()
66 }
67 /// <p>The status of the operation.</p>
68 /// <ul>
69 /// <li>
70 /// <p><code>FAILED</code>: The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each Region during stack create and update operations. If the number of failed stacks within a Region exceeds the failure tolerance, the status of the operation in the Region is set to <code>FAILED</code>. This in turn sets the status of the operation as a whole to <code>FAILED</code>, and CloudFormation cancels the operation in any remaining Regions.</p></li>
71 /// <li>
72 /// <p>QUEUED: \[Service-managed permissions\] For automatic deployments that require a sequence of operations, the operation is queued to be performed. For more information, see the StackSets status codes in the CloudFormation User Guide.</p></li>
73 /// <li>
74 /// <p><code>RUNNING</code>: The operation is currently being performed.</p></li>
75 /// <li>
76 /// <p><code>STOPPED</code>: The user has canceled the operation.</p></li>
77 /// <li>
78 /// <p><code>STOPPING</code>: The operation is in the process of stopping, at user request.</p></li>
79 /// <li>
80 /// <p><code>SUCCEEDED</code>: The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.</p></li>
81 /// </ul>
82 pub fn status(&self) -> ::std::option::Option<&crate::types::StackSetOperationStatus> {
83 self.status.as_ref()
84 }
85 /// <p>The preferences for how CloudFormation performs this stack set operation.</p>
86 pub fn operation_preferences(&self) -> ::std::option::Option<&crate::types::StackSetOperationPreferences> {
87 self.operation_preferences.as_ref()
88 }
89 /// <p>For stack set operations of action type <code>DELETE</code>, specifies whether to remove the stack instances from the specified stack set, but doesn't delete the stacks. You can't re-associate a retained stack, or add an existing, saved stack to a new stack set.</p>
90 pub fn retain_stacks(&self) -> ::std::option::Option<bool> {
91 self.retain_stacks
92 }
93 /// <p>The Amazon Resource Name (ARN) of the IAM role used to perform this stack set operation.</p>
94 /// <p>Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html">Grant self-managed permissions</a> in the <i>CloudFormation User Guide</i>.</p>
95 pub fn administration_role_arn(&self) -> ::std::option::Option<&str> {
96 self.administration_role_arn.as_deref()
97 }
98 /// <p>The name of the IAM execution role used to create or update the stack set.</p>
99 /// <p>Use customized execution roles to control which stack resources users and groups can include in their stack sets.</p>
100 pub fn execution_role_name(&self) -> ::std::option::Option<&str> {
101 self.execution_role_name.as_deref()
102 }
103 /// <p>The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested Regions, before actually creating the first stacks.</p>
104 pub fn creation_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
105 self.creation_timestamp.as_ref()
106 }
107 /// <p>The time at which the stack set operation ended, across all accounts and Regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or Region.</p>
108 pub fn end_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
109 self.end_timestamp.as_ref()
110 }
111 /// <p>\[Service-managed permissions\] The Organizations accounts affected by the stack operation.</p>
112 pub fn deployment_targets(&self) -> ::std::option::Option<&crate::types::DeploymentTargets> {
113 self.deployment_targets.as_ref()
114 }
115 /// <p>Detailed information about the drift status of the stack set. This includes information about drift operations currently being performed on the stack set.</p>
116 /// <p>This information will only be present for stack set operations whose <code>Action</code> type is <code>DETECT_DRIFT</code>.</p>
117 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html">Performing drift detection on CloudFormation StackSets</a> in the <i>CloudFormation User Guide</i>.</p>
118 pub fn stack_set_drift_detection_details(&self) -> ::std::option::Option<&crate::types::StackSetDriftDetectionDetails> {
119 self.stack_set_drift_detection_details.as_ref()
120 }
121 /// <p>The status of the operation in details.</p>
122 pub fn status_reason(&self) -> ::std::option::Option<&str> {
123 self.status_reason.as_deref()
124 }
125 /// <p>Detailed information about the StackSet operation.</p>
126 pub fn status_details(&self) -> ::std::option::Option<&crate::types::StackSetOperationStatusDetails> {
127 self.status_details.as_ref()
128 }
129}
130impl StackSetOperation {
131 /// Creates a new builder-style object to manufacture [`StackSetOperation`](crate::types::StackSetOperation).
132 pub fn builder() -> crate::types::builders::StackSetOperationBuilder {
133 crate::types::builders::StackSetOperationBuilder::default()
134 }
135}
136
137/// A builder for [`StackSetOperation`](crate::types::StackSetOperation).
138#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
139#[non_exhaustive]
140pub struct StackSetOperationBuilder {
141 pub(crate) operation_id: ::std::option::Option<::std::string::String>,
142 pub(crate) stack_set_id: ::std::option::Option<::std::string::String>,
143 pub(crate) action: ::std::option::Option<crate::types::StackSetOperationAction>,
144 pub(crate) status: ::std::option::Option<crate::types::StackSetOperationStatus>,
145 pub(crate) operation_preferences: ::std::option::Option<crate::types::StackSetOperationPreferences>,
146 pub(crate) retain_stacks: ::std::option::Option<bool>,
147 pub(crate) administration_role_arn: ::std::option::Option<::std::string::String>,
148 pub(crate) execution_role_name: ::std::option::Option<::std::string::String>,
149 pub(crate) creation_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
150 pub(crate) end_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
151 pub(crate) deployment_targets: ::std::option::Option<crate::types::DeploymentTargets>,
152 pub(crate) stack_set_drift_detection_details: ::std::option::Option<crate::types::StackSetDriftDetectionDetails>,
153 pub(crate) status_reason: ::std::option::Option<::std::string::String>,
154 pub(crate) status_details: ::std::option::Option<crate::types::StackSetOperationStatusDetails>,
155}
156impl StackSetOperationBuilder {
157 /// <p>The unique ID of a stack set operation.</p>
158 pub fn operation_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
159 self.operation_id = ::std::option::Option::Some(input.into());
160 self
161 }
162 /// <p>The unique ID of a stack set operation.</p>
163 pub fn set_operation_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
164 self.operation_id = input;
165 self
166 }
167 /// <p>The unique ID of a stack set operation.</p>
168 pub fn get_operation_id(&self) -> &::std::option::Option<::std::string::String> {
169 &self.operation_id
170 }
171 /// <p>The ID of the stack set.</p>
172 pub fn stack_set_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
173 self.stack_set_id = ::std::option::Option::Some(input.into());
174 self
175 }
176 /// <p>The ID of the stack set.</p>
177 pub fn set_stack_set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
178 self.stack_set_id = input;
179 self
180 }
181 /// <p>The ID of the stack set.</p>
182 pub fn get_stack_set_id(&self) -> &::std::option::Option<::std::string::String> {
183 &self.stack_set_id
184 }
185 /// <p>The type of stack set operation: <code>CREATE</code>, <code>UPDATE</code>, or <code>DELETE</code>. Create and delete operations affect only the specified stack set instances that are associated with the specified stack set. Update operations affect both the stack set itself, in addition to <i>all</i> associated stack set instances.</p>
186 pub fn action(mut self, input: crate::types::StackSetOperationAction) -> Self {
187 self.action = ::std::option::Option::Some(input);
188 self
189 }
190 /// <p>The type of stack set operation: <code>CREATE</code>, <code>UPDATE</code>, or <code>DELETE</code>. Create and delete operations affect only the specified stack set instances that are associated with the specified stack set. Update operations affect both the stack set itself, in addition to <i>all</i> associated stack set instances.</p>
191 pub fn set_action(mut self, input: ::std::option::Option<crate::types::StackSetOperationAction>) -> Self {
192 self.action = input;
193 self
194 }
195 /// <p>The type of stack set operation: <code>CREATE</code>, <code>UPDATE</code>, or <code>DELETE</code>. Create and delete operations affect only the specified stack set instances that are associated with the specified stack set. Update operations affect both the stack set itself, in addition to <i>all</i> associated stack set instances.</p>
196 pub fn get_action(&self) -> &::std::option::Option<crate::types::StackSetOperationAction> {
197 &self.action
198 }
199 /// <p>The status of the operation.</p>
200 /// <ul>
201 /// <li>
202 /// <p><code>FAILED</code>: The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each Region during stack create and update operations. If the number of failed stacks within a Region exceeds the failure tolerance, the status of the operation in the Region is set to <code>FAILED</code>. This in turn sets the status of the operation as a whole to <code>FAILED</code>, and CloudFormation cancels the operation in any remaining Regions.</p></li>
203 /// <li>
204 /// <p>QUEUED: \[Service-managed permissions\] For automatic deployments that require a sequence of operations, the operation is queued to be performed. For more information, see the StackSets status codes in the CloudFormation User Guide.</p></li>
205 /// <li>
206 /// <p><code>RUNNING</code>: The operation is currently being performed.</p></li>
207 /// <li>
208 /// <p><code>STOPPED</code>: The user has canceled the operation.</p></li>
209 /// <li>
210 /// <p><code>STOPPING</code>: The operation is in the process of stopping, at user request.</p></li>
211 /// <li>
212 /// <p><code>SUCCEEDED</code>: The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.</p></li>
213 /// </ul>
214 pub fn status(mut self, input: crate::types::StackSetOperationStatus) -> Self {
215 self.status = ::std::option::Option::Some(input);
216 self
217 }
218 /// <p>The status of the operation.</p>
219 /// <ul>
220 /// <li>
221 /// <p><code>FAILED</code>: The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each Region during stack create and update operations. If the number of failed stacks within a Region exceeds the failure tolerance, the status of the operation in the Region is set to <code>FAILED</code>. This in turn sets the status of the operation as a whole to <code>FAILED</code>, and CloudFormation cancels the operation in any remaining Regions.</p></li>
222 /// <li>
223 /// <p>QUEUED: \[Service-managed permissions\] For automatic deployments that require a sequence of operations, the operation is queued to be performed. For more information, see the StackSets status codes in the CloudFormation User Guide.</p></li>
224 /// <li>
225 /// <p><code>RUNNING</code>: The operation is currently being performed.</p></li>
226 /// <li>
227 /// <p><code>STOPPED</code>: The user has canceled the operation.</p></li>
228 /// <li>
229 /// <p><code>STOPPING</code>: The operation is in the process of stopping, at user request.</p></li>
230 /// <li>
231 /// <p><code>SUCCEEDED</code>: The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.</p></li>
232 /// </ul>
233 pub fn set_status(mut self, input: ::std::option::Option<crate::types::StackSetOperationStatus>) -> Self {
234 self.status = input;
235 self
236 }
237 /// <p>The status of the operation.</p>
238 /// <ul>
239 /// <li>
240 /// <p><code>FAILED</code>: The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each Region during stack create and update operations. If the number of failed stacks within a Region exceeds the failure tolerance, the status of the operation in the Region is set to <code>FAILED</code>. This in turn sets the status of the operation as a whole to <code>FAILED</code>, and CloudFormation cancels the operation in any remaining Regions.</p></li>
241 /// <li>
242 /// <p>QUEUED: \[Service-managed permissions\] For automatic deployments that require a sequence of operations, the operation is queued to be performed. For more information, see the StackSets status codes in the CloudFormation User Guide.</p></li>
243 /// <li>
244 /// <p><code>RUNNING</code>: The operation is currently being performed.</p></li>
245 /// <li>
246 /// <p><code>STOPPED</code>: The user has canceled the operation.</p></li>
247 /// <li>
248 /// <p><code>STOPPING</code>: The operation is in the process of stopping, at user request.</p></li>
249 /// <li>
250 /// <p><code>SUCCEEDED</code>: The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.</p></li>
251 /// </ul>
252 pub fn get_status(&self) -> &::std::option::Option<crate::types::StackSetOperationStatus> {
253 &self.status
254 }
255 /// <p>The preferences for how CloudFormation performs this stack set operation.</p>
256 pub fn operation_preferences(mut self, input: crate::types::StackSetOperationPreferences) -> Self {
257 self.operation_preferences = ::std::option::Option::Some(input);
258 self
259 }
260 /// <p>The preferences for how CloudFormation performs this stack set operation.</p>
261 pub fn set_operation_preferences(mut self, input: ::std::option::Option<crate::types::StackSetOperationPreferences>) -> Self {
262 self.operation_preferences = input;
263 self
264 }
265 /// <p>The preferences for how CloudFormation performs this stack set operation.</p>
266 pub fn get_operation_preferences(&self) -> &::std::option::Option<crate::types::StackSetOperationPreferences> {
267 &self.operation_preferences
268 }
269 /// <p>For stack set operations of action type <code>DELETE</code>, specifies whether to remove the stack instances from the specified stack set, but doesn't delete the stacks. You can't re-associate a retained stack, or add an existing, saved stack to a new stack set.</p>
270 pub fn retain_stacks(mut self, input: bool) -> Self {
271 self.retain_stacks = ::std::option::Option::Some(input);
272 self
273 }
274 /// <p>For stack set operations of action type <code>DELETE</code>, specifies whether to remove the stack instances from the specified stack set, but doesn't delete the stacks. You can't re-associate a retained stack, or add an existing, saved stack to a new stack set.</p>
275 pub fn set_retain_stacks(mut self, input: ::std::option::Option<bool>) -> Self {
276 self.retain_stacks = input;
277 self
278 }
279 /// <p>For stack set operations of action type <code>DELETE</code>, specifies whether to remove the stack instances from the specified stack set, but doesn't delete the stacks. You can't re-associate a retained stack, or add an existing, saved stack to a new stack set.</p>
280 pub fn get_retain_stacks(&self) -> &::std::option::Option<bool> {
281 &self.retain_stacks
282 }
283 /// <p>The Amazon Resource Name (ARN) of the IAM role used to perform this stack set operation.</p>
284 /// <p>Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html">Grant self-managed permissions</a> in the <i>CloudFormation User Guide</i>.</p>
285 pub fn administration_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
286 self.administration_role_arn = ::std::option::Option::Some(input.into());
287 self
288 }
289 /// <p>The Amazon Resource Name (ARN) of the IAM role used to perform this stack set operation.</p>
290 /// <p>Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html">Grant self-managed permissions</a> in the <i>CloudFormation User Guide</i>.</p>
291 pub fn set_administration_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
292 self.administration_role_arn = input;
293 self
294 }
295 /// <p>The Amazon Resource Name (ARN) of the IAM role used to perform this stack set operation.</p>
296 /// <p>Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html">Grant self-managed permissions</a> in the <i>CloudFormation User Guide</i>.</p>
297 pub fn get_administration_role_arn(&self) -> &::std::option::Option<::std::string::String> {
298 &self.administration_role_arn
299 }
300 /// <p>The name of the IAM execution role used to create or update the stack set.</p>
301 /// <p>Use customized execution roles to control which stack resources users and groups can include in their stack sets.</p>
302 pub fn execution_role_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
303 self.execution_role_name = ::std::option::Option::Some(input.into());
304 self
305 }
306 /// <p>The name of the IAM execution role used to create or update the stack set.</p>
307 /// <p>Use customized execution roles to control which stack resources users and groups can include in their stack sets.</p>
308 pub fn set_execution_role_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
309 self.execution_role_name = input;
310 self
311 }
312 /// <p>The name of the IAM execution role used to create or update the stack set.</p>
313 /// <p>Use customized execution roles to control which stack resources users and groups can include in their stack sets.</p>
314 pub fn get_execution_role_name(&self) -> &::std::option::Option<::std::string::String> {
315 &self.execution_role_name
316 }
317 /// <p>The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested Regions, before actually creating the first stacks.</p>
318 pub fn creation_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
319 self.creation_timestamp = ::std::option::Option::Some(input);
320 self
321 }
322 /// <p>The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested Regions, before actually creating the first stacks.</p>
323 pub fn set_creation_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
324 self.creation_timestamp = input;
325 self
326 }
327 /// <p>The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested Regions, before actually creating the first stacks.</p>
328 pub fn get_creation_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
329 &self.creation_timestamp
330 }
331 /// <p>The time at which the stack set operation ended, across all accounts and Regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or Region.</p>
332 pub fn end_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
333 self.end_timestamp = ::std::option::Option::Some(input);
334 self
335 }
336 /// <p>The time at which the stack set operation ended, across all accounts and Regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or Region.</p>
337 pub fn set_end_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
338 self.end_timestamp = input;
339 self
340 }
341 /// <p>The time at which the stack set operation ended, across all accounts and Regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or Region.</p>
342 pub fn get_end_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
343 &self.end_timestamp
344 }
345 /// <p>\[Service-managed permissions\] The Organizations accounts affected by the stack operation.</p>
346 pub fn deployment_targets(mut self, input: crate::types::DeploymentTargets) -> Self {
347 self.deployment_targets = ::std::option::Option::Some(input);
348 self
349 }
350 /// <p>\[Service-managed permissions\] The Organizations accounts affected by the stack operation.</p>
351 pub fn set_deployment_targets(mut self, input: ::std::option::Option<crate::types::DeploymentTargets>) -> Self {
352 self.deployment_targets = input;
353 self
354 }
355 /// <p>\[Service-managed permissions\] The Organizations accounts affected by the stack operation.</p>
356 pub fn get_deployment_targets(&self) -> &::std::option::Option<crate::types::DeploymentTargets> {
357 &self.deployment_targets
358 }
359 /// <p>Detailed information about the drift status of the stack set. This includes information about drift operations currently being performed on the stack set.</p>
360 /// <p>This information will only be present for stack set operations whose <code>Action</code> type is <code>DETECT_DRIFT</code>.</p>
361 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html">Performing drift detection on CloudFormation StackSets</a> in the <i>CloudFormation User Guide</i>.</p>
362 pub fn stack_set_drift_detection_details(mut self, input: crate::types::StackSetDriftDetectionDetails) -> Self {
363 self.stack_set_drift_detection_details = ::std::option::Option::Some(input);
364 self
365 }
366 /// <p>Detailed information about the drift status of the stack set. This includes information about drift operations currently being performed on the stack set.</p>
367 /// <p>This information will only be present for stack set operations whose <code>Action</code> type is <code>DETECT_DRIFT</code>.</p>
368 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html">Performing drift detection on CloudFormation StackSets</a> in the <i>CloudFormation User Guide</i>.</p>
369 pub fn set_stack_set_drift_detection_details(mut self, input: ::std::option::Option<crate::types::StackSetDriftDetectionDetails>) -> Self {
370 self.stack_set_drift_detection_details = input;
371 self
372 }
373 /// <p>Detailed information about the drift status of the stack set. This includes information about drift operations currently being performed on the stack set.</p>
374 /// <p>This information will only be present for stack set operations whose <code>Action</code> type is <code>DETECT_DRIFT</code>.</p>
375 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html">Performing drift detection on CloudFormation StackSets</a> in the <i>CloudFormation User Guide</i>.</p>
376 pub fn get_stack_set_drift_detection_details(&self) -> &::std::option::Option<crate::types::StackSetDriftDetectionDetails> {
377 &self.stack_set_drift_detection_details
378 }
379 /// <p>The status of the operation in details.</p>
380 pub fn status_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
381 self.status_reason = ::std::option::Option::Some(input.into());
382 self
383 }
384 /// <p>The status of the operation in details.</p>
385 pub fn set_status_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
386 self.status_reason = input;
387 self
388 }
389 /// <p>The status of the operation in details.</p>
390 pub fn get_status_reason(&self) -> &::std::option::Option<::std::string::String> {
391 &self.status_reason
392 }
393 /// <p>Detailed information about the StackSet operation.</p>
394 pub fn status_details(mut self, input: crate::types::StackSetOperationStatusDetails) -> Self {
395 self.status_details = ::std::option::Option::Some(input);
396 self
397 }
398 /// <p>Detailed information about the StackSet operation.</p>
399 pub fn set_status_details(mut self, input: ::std::option::Option<crate::types::StackSetOperationStatusDetails>) -> Self {
400 self.status_details = input;
401 self
402 }
403 /// <p>Detailed information about the StackSet operation.</p>
404 pub fn get_status_details(&self) -> &::std::option::Option<crate::types::StackSetOperationStatusDetails> {
405 &self.status_details
406 }
407 /// Consumes the builder and constructs a [`StackSetOperation`](crate::types::StackSetOperation).
408 pub fn build(self) -> crate::types::StackSetOperation {
409 crate::types::StackSetOperation {
410 operation_id: self.operation_id,
411 stack_set_id: self.stack_set_id,
412 action: self.action,
413 status: self.status,
414 operation_preferences: self.operation_preferences,
415 retain_stacks: self.retain_stacks,
416 administration_role_arn: self.administration_role_arn,
417 execution_role_name: self.execution_role_name,
418 creation_timestamp: self.creation_timestamp,
419 end_timestamp: self.end_timestamp,
420 deployment_targets: self.deployment_targets,
421 stack_set_drift_detection_details: self.stack_set_drift_detection_details,
422 status_reason: self.status_reason,
423 status_details: self.status_details,
424 }
425 }
426}