1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>The detailed status of the stack instance.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct StackInstanceComprehensiveStatus {
    /// <ul>
    /// <li>
    /// <p><code>CANCELLED</code>: The operation in the specified account and Region has been canceled. This is either because a user has stopped the stack set operation, or because the failure tolerance of the stack set operation has been exceeded.</p></li>
    /// <li>
    /// <p><code>FAILED</code>: The operation in the specified account and Region failed. If the stack set operation fails in enough accounts within a Region, the failure tolerance for the stack set operation as a whole might be exceeded.</p></li>
    /// <li>
    /// <p><code>FAILED_IMPORT</code>: The import of the stack instance in the specified account and Region failed and left the stack in an unstable state. Once the issues causing the failure are fixed, the import operation can be retried. If enough stack set operations fail in enough accounts within a Region, the failure tolerance for the stack set operation as a whole might be exceeded.</p></li>
    /// <li>
    /// <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.</p></li>
    /// <li>
    /// <p><code>PENDING</code>: The operation in the specified account and Region has yet to start.</p></li>
    /// <li>
    /// <p><code>RUNNING</code>: The operation in the specified account and Region is currently in progress.</p></li>
    /// <li>
    /// <p><code>SKIPPED_SUSPENDED_ACCOUNT</code>: The operation in the specified account and Region has been skipped because the account was suspended at the time of the operation.</p></li>
    /// <li>
    /// <p><code>SUCCEEDED</code>: The operation in the specified account and Region completed successfully.</p></li>
    /// </ul>
    pub detailed_status: ::std::option::Option<crate::types::StackInstanceDetailedStatus>,
}
impl StackInstanceComprehensiveStatus {
    /// <ul>
    /// <li>
    /// <p><code>CANCELLED</code>: The operation in the specified account and Region has been canceled. This is either because a user has stopped the stack set operation, or because the failure tolerance of the stack set operation has been exceeded.</p></li>
    /// <li>
    /// <p><code>FAILED</code>: The operation in the specified account and Region failed. If the stack set operation fails in enough accounts within a Region, the failure tolerance for the stack set operation as a whole might be exceeded.</p></li>
    /// <li>
    /// <p><code>FAILED_IMPORT</code>: The import of the stack instance in the specified account and Region failed and left the stack in an unstable state. Once the issues causing the failure are fixed, the import operation can be retried. If enough stack set operations fail in enough accounts within a Region, the failure tolerance for the stack set operation as a whole might be exceeded.</p></li>
    /// <li>
    /// <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.</p></li>
    /// <li>
    /// <p><code>PENDING</code>: The operation in the specified account and Region has yet to start.</p></li>
    /// <li>
    /// <p><code>RUNNING</code>: The operation in the specified account and Region is currently in progress.</p></li>
    /// <li>
    /// <p><code>SKIPPED_SUSPENDED_ACCOUNT</code>: The operation in the specified account and Region has been skipped because the account was suspended at the time of the operation.</p></li>
    /// <li>
    /// <p><code>SUCCEEDED</code>: The operation in the specified account and Region completed successfully.</p></li>
    /// </ul>
    pub fn detailed_status(&self) -> ::std::option::Option<&crate::types::StackInstanceDetailedStatus> {
        self.detailed_status.as_ref()
    }
}
impl StackInstanceComprehensiveStatus {
    /// Creates a new builder-style object to manufacture [`StackInstanceComprehensiveStatus`](crate::types::StackInstanceComprehensiveStatus).
    pub fn builder() -> crate::types::builders::StackInstanceComprehensiveStatusBuilder {
        crate::types::builders::StackInstanceComprehensiveStatusBuilder::default()
    }
}

/// A builder for [`StackInstanceComprehensiveStatus`](crate::types::StackInstanceComprehensiveStatus).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct StackInstanceComprehensiveStatusBuilder {
    pub(crate) detailed_status: ::std::option::Option<crate::types::StackInstanceDetailedStatus>,
}
impl StackInstanceComprehensiveStatusBuilder {
    /// <ul>
    /// <li>
    /// <p><code>CANCELLED</code>: The operation in the specified account and Region has been canceled. This is either because a user has stopped the stack set operation, or because the failure tolerance of the stack set operation has been exceeded.</p></li>
    /// <li>
    /// <p><code>FAILED</code>: The operation in the specified account and Region failed. If the stack set operation fails in enough accounts within a Region, the failure tolerance for the stack set operation as a whole might be exceeded.</p></li>
    /// <li>
    /// <p><code>FAILED_IMPORT</code>: The import of the stack instance in the specified account and Region failed and left the stack in an unstable state. Once the issues causing the failure are fixed, the import operation can be retried. If enough stack set operations fail in enough accounts within a Region, the failure tolerance for the stack set operation as a whole might be exceeded.</p></li>
    /// <li>
    /// <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.</p></li>
    /// <li>
    /// <p><code>PENDING</code>: The operation in the specified account and Region has yet to start.</p></li>
    /// <li>
    /// <p><code>RUNNING</code>: The operation in the specified account and Region is currently in progress.</p></li>
    /// <li>
    /// <p><code>SKIPPED_SUSPENDED_ACCOUNT</code>: The operation in the specified account and Region has been skipped because the account was suspended at the time of the operation.</p></li>
    /// <li>
    /// <p><code>SUCCEEDED</code>: The operation in the specified account and Region completed successfully.</p></li>
    /// </ul>
    pub fn detailed_status(mut self, input: crate::types::StackInstanceDetailedStatus) -> Self {
        self.detailed_status = ::std::option::Option::Some(input);
        self
    }
    /// <ul>
    /// <li>
    /// <p><code>CANCELLED</code>: The operation in the specified account and Region has been canceled. This is either because a user has stopped the stack set operation, or because the failure tolerance of the stack set operation has been exceeded.</p></li>
    /// <li>
    /// <p><code>FAILED</code>: The operation in the specified account and Region failed. If the stack set operation fails in enough accounts within a Region, the failure tolerance for the stack set operation as a whole might be exceeded.</p></li>
    /// <li>
    /// <p><code>FAILED_IMPORT</code>: The import of the stack instance in the specified account and Region failed and left the stack in an unstable state. Once the issues causing the failure are fixed, the import operation can be retried. If enough stack set operations fail in enough accounts within a Region, the failure tolerance for the stack set operation as a whole might be exceeded.</p></li>
    /// <li>
    /// <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.</p></li>
    /// <li>
    /// <p><code>PENDING</code>: The operation in the specified account and Region has yet to start.</p></li>
    /// <li>
    /// <p><code>RUNNING</code>: The operation in the specified account and Region is currently in progress.</p></li>
    /// <li>
    /// <p><code>SKIPPED_SUSPENDED_ACCOUNT</code>: The operation in the specified account and Region has been skipped because the account was suspended at the time of the operation.</p></li>
    /// <li>
    /// <p><code>SUCCEEDED</code>: The operation in the specified account and Region completed successfully.</p></li>
    /// </ul>
    pub fn set_detailed_status(mut self, input: ::std::option::Option<crate::types::StackInstanceDetailedStatus>) -> Self {
        self.detailed_status = input;
        self
    }
    /// <ul>
    /// <li>
    /// <p><code>CANCELLED</code>: The operation in the specified account and Region has been canceled. This is either because a user has stopped the stack set operation, or because the failure tolerance of the stack set operation has been exceeded.</p></li>
    /// <li>
    /// <p><code>FAILED</code>: The operation in the specified account and Region failed. If the stack set operation fails in enough accounts within a Region, the failure tolerance for the stack set operation as a whole might be exceeded.</p></li>
    /// <li>
    /// <p><code>FAILED_IMPORT</code>: The import of the stack instance in the specified account and Region failed and left the stack in an unstable state. Once the issues causing the failure are fixed, the import operation can be retried. If enough stack set operations fail in enough accounts within a Region, the failure tolerance for the stack set operation as a whole might be exceeded.</p></li>
    /// <li>
    /// <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.</p></li>
    /// <li>
    /// <p><code>PENDING</code>: The operation in the specified account and Region has yet to start.</p></li>
    /// <li>
    /// <p><code>RUNNING</code>: The operation in the specified account and Region is currently in progress.</p></li>
    /// <li>
    /// <p><code>SKIPPED_SUSPENDED_ACCOUNT</code>: The operation in the specified account and Region has been skipped because the account was suspended at the time of the operation.</p></li>
    /// <li>
    /// <p><code>SUCCEEDED</code>: The operation in the specified account and Region completed successfully.</p></li>
    /// </ul>
    pub fn get_detailed_status(&self) -> &::std::option::Option<crate::types::StackInstanceDetailedStatus> {
        &self.detailed_status
    }
    /// Consumes the builder and constructs a [`StackInstanceComprehensiveStatus`](crate::types::StackInstanceComprehensiveStatus).
    pub fn build(self) -> crate::types::StackInstanceComprehensiveStatus {
        crate::types::StackInstanceComprehensiveStatus {
            detailed_status: self.detailed_status,
        }
    }
}