aws_sdk_cloudformation/types/_stack_instance.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>A CloudFormation stack, in a specific account and Region, that's part of a stack set operation. A stack instance is a reference to an attempted or actual stack in a given account within a given Region. A stack instance can exist without a stackāfor example, if the stack couldn't be created for some reason. A stack instance is associated with only one stack set. Each stack instance contains the ID of its associated stack set, in addition to the ID of the actual stack and the stack status.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct StackInstance {
7 /// <p>The name or unique ID of the stack set that the stack instance is associated with.</p>
8 pub stack_set_id: ::std::option::Option<::std::string::String>,
9 /// <p>The name of the Amazon Web Services Region that the stack instance is associated with.</p>
10 pub region: ::std::option::Option<::std::string::String>,
11 /// <p>\[Self-managed permissions\] The name of the Amazon Web Services account that the stack instance is associated with.</p>
12 pub account: ::std::option::Option<::std::string::String>,
13 /// <p>The ID of the stack instance.</p>
14 pub stack_id: ::std::option::Option<::std::string::String>,
15 /// <p>A list of parameters from the stack set template whose values have been overridden in this stack instance.</p>
16 pub parameter_overrides: ::std::option::Option<::std::vec::Vec<crate::types::Parameter>>,
17 /// <p>The status of the stack instance, in terms of its synchronization with its associated stack set.</p>
18 /// <ul>
19 /// <li>
20 /// <p><code>INOPERABLE</code>: A <code>DeleteStackInstances</code> operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further <code>UpdateStackSet</code> operations. You might need to perform a <code>DeleteStackInstances</code> operation, with <code>RetainStacks</code> set to <code>true</code>, to delete the stack instance, and then delete the stack manually. <code>INOPERABLE</code> can be returned here when the cause is a failed import. If it's due to a failed import, the operation can be retried once the failures are fixed. To see if this is due to a failed import, look at the <code>DetailedStatus</code> member in the <code>StackInstanceSummary</code> member that is a peer to this <code>Status</code> member.</p></li>
21 /// <li>
22 /// <p><code>OUTDATED</code>: The stack isn't currently up to date with the stack set because:</p>
23 /// <ul>
24 /// <li>
25 /// <p>The associated stack failed during a <code>CreateStackSet</code> or <code>UpdateStackSet</code> operation.</p></li>
26 /// <li>
27 /// <p>The stack was part of a <code>CreateStackSet</code> or <code>UpdateStackSet</code> operation that failed or was stopped before the stack was created or updated.</p></li>
28 /// </ul></li>
29 /// <li>
30 /// <p><code>CURRENT</code>: The stack is currently up to date with the stack set.</p></li>
31 /// </ul>
32 pub status: ::std::option::Option<crate::types::StackInstanceStatus>,
33 /// <p>The detailed status of the stack instance.</p>
34 pub stack_instance_status: ::std::option::Option<crate::types::StackInstanceComprehensiveStatus>,
35 /// <p>The explanation for the specific status code that's assigned to this stack instance.</p>
36 pub status_reason: ::std::option::Option<::std::string::String>,
37 /// <p>\[Service-managed permissions\] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.</p>
38 pub organizational_unit_id: ::std::option::Option<::std::string::String>,
39 /// <p>Status of the stack instance's actual configuration compared to the expected template and parameter configuration of the stack set to which it belongs.</p>
40 /// <ul>
41 /// <li>
42 /// <p><code>DRIFTED</code>: The stack differs from the expected template and parameter configuration of the stack set to which it belongs. A stack instance is considered to have drifted if one or more of the resources in the associated stack have drifted.</p></li>
43 /// <li>
44 /// <p><code>NOT_CHECKED</code>: CloudFormation hasn't checked if the stack instance differs from its expected stack set configuration.</p></li>
45 /// <li>
46 /// <p><code>IN_SYNC</code>: The stack instance's actual configuration matches its expected stack set configuration.</p></li>
47 /// <li>
48 /// <p><code>UNKNOWN</code>: This value is reserved for future use.</p></li>
49 /// </ul>
50 pub drift_status: ::std::option::Option<crate::types::StackDriftStatus>,
51 /// <p>Most recent time when CloudFormation performed a drift detection operation on the stack instance. This value will be <code>NULL</code> for any stack instance on which drift detection hasn't yet been performed.</p>
52 pub last_drift_check_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
53 /// <p>The last unique ID of a StackSet operation performed on a stack instance.</p>
54 pub last_operation_id: ::std::option::Option<::std::string::String>,
55}
56impl StackInstance {
57 /// <p>The name or unique ID of the stack set that the stack instance is associated with.</p>
58 pub fn stack_set_id(&self) -> ::std::option::Option<&str> {
59 self.stack_set_id.as_deref()
60 }
61 /// <p>The name of the Amazon Web Services Region that the stack instance is associated with.</p>
62 pub fn region(&self) -> ::std::option::Option<&str> {
63 self.region.as_deref()
64 }
65 /// <p>\[Self-managed permissions\] The name of the Amazon Web Services account that the stack instance is associated with.</p>
66 pub fn account(&self) -> ::std::option::Option<&str> {
67 self.account.as_deref()
68 }
69 /// <p>The ID of the stack instance.</p>
70 pub fn stack_id(&self) -> ::std::option::Option<&str> {
71 self.stack_id.as_deref()
72 }
73 /// <p>A list of parameters from the stack set template whose values have been overridden in this stack instance.</p>
74 ///
75 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.parameter_overrides.is_none()`.
76 pub fn parameter_overrides(&self) -> &[crate::types::Parameter] {
77 self.parameter_overrides.as_deref().unwrap_or_default()
78 }
79 /// <p>The status of the stack instance, in terms of its synchronization with its associated stack set.</p>
80 /// <ul>
81 /// <li>
82 /// <p><code>INOPERABLE</code>: A <code>DeleteStackInstances</code> operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further <code>UpdateStackSet</code> operations. You might need to perform a <code>DeleteStackInstances</code> operation, with <code>RetainStacks</code> set to <code>true</code>, to delete the stack instance, and then delete the stack manually. <code>INOPERABLE</code> can be returned here when the cause is a failed import. If it's due to a failed import, the operation can be retried once the failures are fixed. To see if this is due to a failed import, look at the <code>DetailedStatus</code> member in the <code>StackInstanceSummary</code> member that is a peer to this <code>Status</code> member.</p></li>
83 /// <li>
84 /// <p><code>OUTDATED</code>: The stack isn't currently up to date with the stack set because:</p>
85 /// <ul>
86 /// <li>
87 /// <p>The associated stack failed during a <code>CreateStackSet</code> or <code>UpdateStackSet</code> operation.</p></li>
88 /// <li>
89 /// <p>The stack was part of a <code>CreateStackSet</code> or <code>UpdateStackSet</code> operation that failed or was stopped before the stack was created or updated.</p></li>
90 /// </ul></li>
91 /// <li>
92 /// <p><code>CURRENT</code>: The stack is currently up to date with the stack set.</p></li>
93 /// </ul>
94 pub fn status(&self) -> ::std::option::Option<&crate::types::StackInstanceStatus> {
95 self.status.as_ref()
96 }
97 /// <p>The detailed status of the stack instance.</p>
98 pub fn stack_instance_status(&self) -> ::std::option::Option<&crate::types::StackInstanceComprehensiveStatus> {
99 self.stack_instance_status.as_ref()
100 }
101 /// <p>The explanation for the specific status code that's assigned to this stack instance.</p>
102 pub fn status_reason(&self) -> ::std::option::Option<&str> {
103 self.status_reason.as_deref()
104 }
105 /// <p>\[Service-managed permissions\] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.</p>
106 pub fn organizational_unit_id(&self) -> ::std::option::Option<&str> {
107 self.organizational_unit_id.as_deref()
108 }
109 /// <p>Status of the stack instance's actual configuration compared to the expected template and parameter configuration of the stack set to which it belongs.</p>
110 /// <ul>
111 /// <li>
112 /// <p><code>DRIFTED</code>: The stack differs from the expected template and parameter configuration of the stack set to which it belongs. A stack instance is considered to have drifted if one or more of the resources in the associated stack have drifted.</p></li>
113 /// <li>
114 /// <p><code>NOT_CHECKED</code>: CloudFormation hasn't checked if the stack instance differs from its expected stack set configuration.</p></li>
115 /// <li>
116 /// <p><code>IN_SYNC</code>: The stack instance's actual configuration matches its expected stack set configuration.</p></li>
117 /// <li>
118 /// <p><code>UNKNOWN</code>: This value is reserved for future use.</p></li>
119 /// </ul>
120 pub fn drift_status(&self) -> ::std::option::Option<&crate::types::StackDriftStatus> {
121 self.drift_status.as_ref()
122 }
123 /// <p>Most recent time when CloudFormation performed a drift detection operation on the stack instance. This value will be <code>NULL</code> for any stack instance on which drift detection hasn't yet been performed.</p>
124 pub fn last_drift_check_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
125 self.last_drift_check_timestamp.as_ref()
126 }
127 /// <p>The last unique ID of a StackSet operation performed on a stack instance.</p>
128 pub fn last_operation_id(&self) -> ::std::option::Option<&str> {
129 self.last_operation_id.as_deref()
130 }
131}
132impl StackInstance {
133 /// Creates a new builder-style object to manufacture [`StackInstance`](crate::types::StackInstance).
134 pub fn builder() -> crate::types::builders::StackInstanceBuilder {
135 crate::types::builders::StackInstanceBuilder::default()
136 }
137}
138
139/// A builder for [`StackInstance`](crate::types::StackInstance).
140#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
141#[non_exhaustive]
142pub struct StackInstanceBuilder {
143 pub(crate) stack_set_id: ::std::option::Option<::std::string::String>,
144 pub(crate) region: ::std::option::Option<::std::string::String>,
145 pub(crate) account: ::std::option::Option<::std::string::String>,
146 pub(crate) stack_id: ::std::option::Option<::std::string::String>,
147 pub(crate) parameter_overrides: ::std::option::Option<::std::vec::Vec<crate::types::Parameter>>,
148 pub(crate) status: ::std::option::Option<crate::types::StackInstanceStatus>,
149 pub(crate) stack_instance_status: ::std::option::Option<crate::types::StackInstanceComprehensiveStatus>,
150 pub(crate) status_reason: ::std::option::Option<::std::string::String>,
151 pub(crate) organizational_unit_id: ::std::option::Option<::std::string::String>,
152 pub(crate) drift_status: ::std::option::Option<crate::types::StackDriftStatus>,
153 pub(crate) last_drift_check_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
154 pub(crate) last_operation_id: ::std::option::Option<::std::string::String>,
155}
156impl StackInstanceBuilder {
157 /// <p>The name or unique ID of the stack set that the stack instance is associated with.</p>
158 pub fn stack_set_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
159 self.stack_set_id = ::std::option::Option::Some(input.into());
160 self
161 }
162 /// <p>The name or unique ID of the stack set that the stack instance is associated with.</p>
163 pub fn set_stack_set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
164 self.stack_set_id = input;
165 self
166 }
167 /// <p>The name or unique ID of the stack set that the stack instance is associated with.</p>
168 pub fn get_stack_set_id(&self) -> &::std::option::Option<::std::string::String> {
169 &self.stack_set_id
170 }
171 /// <p>The name of the Amazon Web Services Region that the stack instance is associated with.</p>
172 pub fn region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
173 self.region = ::std::option::Option::Some(input.into());
174 self
175 }
176 /// <p>The name of the Amazon Web Services Region that the stack instance is associated with.</p>
177 pub fn set_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
178 self.region = input;
179 self
180 }
181 /// <p>The name of the Amazon Web Services Region that the stack instance is associated with.</p>
182 pub fn get_region(&self) -> &::std::option::Option<::std::string::String> {
183 &self.region
184 }
185 /// <p>\[Self-managed permissions\] The name of the Amazon Web Services account that the stack instance is associated with.</p>
186 pub fn account(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
187 self.account = ::std::option::Option::Some(input.into());
188 self
189 }
190 /// <p>\[Self-managed permissions\] The name of the Amazon Web Services account that the stack instance is associated with.</p>
191 pub fn set_account(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
192 self.account = input;
193 self
194 }
195 /// <p>\[Self-managed permissions\] The name of the Amazon Web Services account that the stack instance is associated with.</p>
196 pub fn get_account(&self) -> &::std::option::Option<::std::string::String> {
197 &self.account
198 }
199 /// <p>The ID of the stack instance.</p>
200 pub fn stack_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
201 self.stack_id = ::std::option::Option::Some(input.into());
202 self
203 }
204 /// <p>The ID of the stack instance.</p>
205 pub fn set_stack_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
206 self.stack_id = input;
207 self
208 }
209 /// <p>The ID of the stack instance.</p>
210 pub fn get_stack_id(&self) -> &::std::option::Option<::std::string::String> {
211 &self.stack_id
212 }
213 /// Appends an item to `parameter_overrides`.
214 ///
215 /// To override the contents of this collection use [`set_parameter_overrides`](Self::set_parameter_overrides).
216 ///
217 /// <p>A list of parameters from the stack set template whose values have been overridden in this stack instance.</p>
218 pub fn parameter_overrides(mut self, input: crate::types::Parameter) -> Self {
219 let mut v = self.parameter_overrides.unwrap_or_default();
220 v.push(input);
221 self.parameter_overrides = ::std::option::Option::Some(v);
222 self
223 }
224 /// <p>A list of parameters from the stack set template whose values have been overridden in this stack instance.</p>
225 pub fn set_parameter_overrides(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Parameter>>) -> Self {
226 self.parameter_overrides = input;
227 self
228 }
229 /// <p>A list of parameters from the stack set template whose values have been overridden in this stack instance.</p>
230 pub fn get_parameter_overrides(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Parameter>> {
231 &self.parameter_overrides
232 }
233 /// <p>The status of the stack instance, in terms of its synchronization with its associated stack set.</p>
234 /// <ul>
235 /// <li>
236 /// <p><code>INOPERABLE</code>: A <code>DeleteStackInstances</code> operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further <code>UpdateStackSet</code> operations. You might need to perform a <code>DeleteStackInstances</code> operation, with <code>RetainStacks</code> set to <code>true</code>, to delete the stack instance, and then delete the stack manually. <code>INOPERABLE</code> can be returned here when the cause is a failed import. If it's due to a failed import, the operation can be retried once the failures are fixed. To see if this is due to a failed import, look at the <code>DetailedStatus</code> member in the <code>StackInstanceSummary</code> member that is a peer to this <code>Status</code> member.</p></li>
237 /// <li>
238 /// <p><code>OUTDATED</code>: The stack isn't currently up to date with the stack set because:</p>
239 /// <ul>
240 /// <li>
241 /// <p>The associated stack failed during a <code>CreateStackSet</code> or <code>UpdateStackSet</code> operation.</p></li>
242 /// <li>
243 /// <p>The stack was part of a <code>CreateStackSet</code> or <code>UpdateStackSet</code> operation that failed or was stopped before the stack was created or updated.</p></li>
244 /// </ul></li>
245 /// <li>
246 /// <p><code>CURRENT</code>: The stack is currently up to date with the stack set.</p></li>
247 /// </ul>
248 pub fn status(mut self, input: crate::types::StackInstanceStatus) -> Self {
249 self.status = ::std::option::Option::Some(input);
250 self
251 }
252 /// <p>The status of the stack instance, in terms of its synchronization with its associated stack set.</p>
253 /// <ul>
254 /// <li>
255 /// <p><code>INOPERABLE</code>: A <code>DeleteStackInstances</code> operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further <code>UpdateStackSet</code> operations. You might need to perform a <code>DeleteStackInstances</code> operation, with <code>RetainStacks</code> set to <code>true</code>, to delete the stack instance, and then delete the stack manually. <code>INOPERABLE</code> can be returned here when the cause is a failed import. If it's due to a failed import, the operation can be retried once the failures are fixed. To see if this is due to a failed import, look at the <code>DetailedStatus</code> member in the <code>StackInstanceSummary</code> member that is a peer to this <code>Status</code> member.</p></li>
256 /// <li>
257 /// <p><code>OUTDATED</code>: The stack isn't currently up to date with the stack set because:</p>
258 /// <ul>
259 /// <li>
260 /// <p>The associated stack failed during a <code>CreateStackSet</code> or <code>UpdateStackSet</code> operation.</p></li>
261 /// <li>
262 /// <p>The stack was part of a <code>CreateStackSet</code> or <code>UpdateStackSet</code> operation that failed or was stopped before the stack was created or updated.</p></li>
263 /// </ul></li>
264 /// <li>
265 /// <p><code>CURRENT</code>: The stack is currently up to date with the stack set.</p></li>
266 /// </ul>
267 pub fn set_status(mut self, input: ::std::option::Option<crate::types::StackInstanceStatus>) -> Self {
268 self.status = input;
269 self
270 }
271 /// <p>The status of the stack instance, in terms of its synchronization with its associated stack set.</p>
272 /// <ul>
273 /// <li>
274 /// <p><code>INOPERABLE</code>: A <code>DeleteStackInstances</code> operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further <code>UpdateStackSet</code> operations. You might need to perform a <code>DeleteStackInstances</code> operation, with <code>RetainStacks</code> set to <code>true</code>, to delete the stack instance, and then delete the stack manually. <code>INOPERABLE</code> can be returned here when the cause is a failed import. If it's due to a failed import, the operation can be retried once the failures are fixed. To see if this is due to a failed import, look at the <code>DetailedStatus</code> member in the <code>StackInstanceSummary</code> member that is a peer to this <code>Status</code> member.</p></li>
275 /// <li>
276 /// <p><code>OUTDATED</code>: The stack isn't currently up to date with the stack set because:</p>
277 /// <ul>
278 /// <li>
279 /// <p>The associated stack failed during a <code>CreateStackSet</code> or <code>UpdateStackSet</code> operation.</p></li>
280 /// <li>
281 /// <p>The stack was part of a <code>CreateStackSet</code> or <code>UpdateStackSet</code> operation that failed or was stopped before the stack was created or updated.</p></li>
282 /// </ul></li>
283 /// <li>
284 /// <p><code>CURRENT</code>: The stack is currently up to date with the stack set.</p></li>
285 /// </ul>
286 pub fn get_status(&self) -> &::std::option::Option<crate::types::StackInstanceStatus> {
287 &self.status
288 }
289 /// <p>The detailed status of the stack instance.</p>
290 pub fn stack_instance_status(mut self, input: crate::types::StackInstanceComprehensiveStatus) -> Self {
291 self.stack_instance_status = ::std::option::Option::Some(input);
292 self
293 }
294 /// <p>The detailed status of the stack instance.</p>
295 pub fn set_stack_instance_status(mut self, input: ::std::option::Option<crate::types::StackInstanceComprehensiveStatus>) -> Self {
296 self.stack_instance_status = input;
297 self
298 }
299 /// <p>The detailed status of the stack instance.</p>
300 pub fn get_stack_instance_status(&self) -> &::std::option::Option<crate::types::StackInstanceComprehensiveStatus> {
301 &self.stack_instance_status
302 }
303 /// <p>The explanation for the specific status code that's assigned to this stack instance.</p>
304 pub fn status_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
305 self.status_reason = ::std::option::Option::Some(input.into());
306 self
307 }
308 /// <p>The explanation for the specific status code that's assigned to this stack instance.</p>
309 pub fn set_status_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
310 self.status_reason = input;
311 self
312 }
313 /// <p>The explanation for the specific status code that's assigned to this stack instance.</p>
314 pub fn get_status_reason(&self) -> &::std::option::Option<::std::string::String> {
315 &self.status_reason
316 }
317 /// <p>\[Service-managed permissions\] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.</p>
318 pub fn organizational_unit_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
319 self.organizational_unit_id = ::std::option::Option::Some(input.into());
320 self
321 }
322 /// <p>\[Service-managed permissions\] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.</p>
323 pub fn set_organizational_unit_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
324 self.organizational_unit_id = input;
325 self
326 }
327 /// <p>\[Service-managed permissions\] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.</p>
328 pub fn get_organizational_unit_id(&self) -> &::std::option::Option<::std::string::String> {
329 &self.organizational_unit_id
330 }
331 /// <p>Status of the stack instance's actual configuration compared to the expected template and parameter configuration of the stack set to which it belongs.</p>
332 /// <ul>
333 /// <li>
334 /// <p><code>DRIFTED</code>: The stack differs from the expected template and parameter configuration of the stack set to which it belongs. A stack instance is considered to have drifted if one or more of the resources in the associated stack have drifted.</p></li>
335 /// <li>
336 /// <p><code>NOT_CHECKED</code>: CloudFormation hasn't checked if the stack instance differs from its expected stack set configuration.</p></li>
337 /// <li>
338 /// <p><code>IN_SYNC</code>: The stack instance's actual configuration matches its expected stack set configuration.</p></li>
339 /// <li>
340 /// <p><code>UNKNOWN</code>: This value is reserved for future use.</p></li>
341 /// </ul>
342 pub fn drift_status(mut self, input: crate::types::StackDriftStatus) -> Self {
343 self.drift_status = ::std::option::Option::Some(input);
344 self
345 }
346 /// <p>Status of the stack instance's actual configuration compared to the expected template and parameter configuration of the stack set to which it belongs.</p>
347 /// <ul>
348 /// <li>
349 /// <p><code>DRIFTED</code>: The stack differs from the expected template and parameter configuration of the stack set to which it belongs. A stack instance is considered to have drifted if one or more of the resources in the associated stack have drifted.</p></li>
350 /// <li>
351 /// <p><code>NOT_CHECKED</code>: CloudFormation hasn't checked if the stack instance differs from its expected stack set configuration.</p></li>
352 /// <li>
353 /// <p><code>IN_SYNC</code>: The stack instance's actual configuration matches its expected stack set configuration.</p></li>
354 /// <li>
355 /// <p><code>UNKNOWN</code>: This value is reserved for future use.</p></li>
356 /// </ul>
357 pub fn set_drift_status(mut self, input: ::std::option::Option<crate::types::StackDriftStatus>) -> Self {
358 self.drift_status = input;
359 self
360 }
361 /// <p>Status of the stack instance's actual configuration compared to the expected template and parameter configuration of the stack set to which it belongs.</p>
362 /// <ul>
363 /// <li>
364 /// <p><code>DRIFTED</code>: The stack differs from the expected template and parameter configuration of the stack set to which it belongs. A stack instance is considered to have drifted if one or more of the resources in the associated stack have drifted.</p></li>
365 /// <li>
366 /// <p><code>NOT_CHECKED</code>: CloudFormation hasn't checked if the stack instance differs from its expected stack set configuration.</p></li>
367 /// <li>
368 /// <p><code>IN_SYNC</code>: The stack instance's actual configuration matches its expected stack set configuration.</p></li>
369 /// <li>
370 /// <p><code>UNKNOWN</code>: This value is reserved for future use.</p></li>
371 /// </ul>
372 pub fn get_drift_status(&self) -> &::std::option::Option<crate::types::StackDriftStatus> {
373 &self.drift_status
374 }
375 /// <p>Most recent time when CloudFormation performed a drift detection operation on the stack instance. This value will be <code>NULL</code> for any stack instance on which drift detection hasn't yet been performed.</p>
376 pub fn last_drift_check_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
377 self.last_drift_check_timestamp = ::std::option::Option::Some(input);
378 self
379 }
380 /// <p>Most recent time when CloudFormation performed a drift detection operation on the stack instance. This value will be <code>NULL</code> for any stack instance on which drift detection hasn't yet been performed.</p>
381 pub fn set_last_drift_check_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
382 self.last_drift_check_timestamp = input;
383 self
384 }
385 /// <p>Most recent time when CloudFormation performed a drift detection operation on the stack instance. This value will be <code>NULL</code> for any stack instance on which drift detection hasn't yet been performed.</p>
386 pub fn get_last_drift_check_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
387 &self.last_drift_check_timestamp
388 }
389 /// <p>The last unique ID of a StackSet operation performed on a stack instance.</p>
390 pub fn last_operation_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
391 self.last_operation_id = ::std::option::Option::Some(input.into());
392 self
393 }
394 /// <p>The last unique ID of a StackSet operation performed on a stack instance.</p>
395 pub fn set_last_operation_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
396 self.last_operation_id = input;
397 self
398 }
399 /// <p>The last unique ID of a StackSet operation performed on a stack instance.</p>
400 pub fn get_last_operation_id(&self) -> &::std::option::Option<::std::string::String> {
401 &self.last_operation_id
402 }
403 /// Consumes the builder and constructs a [`StackInstance`](crate::types::StackInstance).
404 pub fn build(self) -> crate::types::StackInstance {
405 crate::types::StackInstance {
406 stack_set_id: self.stack_set_id,
407 region: self.region,
408 account: self.account,
409 stack_id: self.stack_id,
410 parameter_overrides: self.parameter_overrides,
411 status: self.status,
412 stack_instance_status: self.stack_instance_status,
413 status_reason: self.status_reason,
414 organizational_unit_id: self.organizational_unit_id,
415 drift_status: self.drift_status,
416 last_drift_check_timestamp: self.last_drift_check_timestamp,
417 last_operation_id: self.last_operation_id,
418 }
419 }
420}