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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>The input for <code>DescribeStacks</code> action.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DescribeStacksInput {
/// <note>
/// <p>If you don't pass a parameter to <code>StackName</code>, the API returns a response that describes all resources in the account, which can impact performance. This requires <code>ListStacks</code> and <code>DescribeStacks</code> permissions.</p>
/// <p>Consider using the <code>ListStacks</code> API if you're not passing a parameter to <code>StackName</code>.</p>
/// <p>The IAM policy below can be added to IAM policies when you want to limit resource-level permissions and avoid returning a response when no parameter is sent in the request:</p>
/// <p>{ "Version": "2012-10-17", "Statement": \[{ "Effect": "Deny", "Action": "cloudformation:DescribeStacks", "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" }\] }</p>
/// </note>
/// <p>The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:</p>
/// <ul>
/// <li>
/// <p>Running stacks: You can specify either the stack's name or its unique stack ID.</p></li>
/// <li>
/// <p>Deleted stacks: You must specify the unique stack ID.</p></li>
/// </ul>
pub stack_name: ::std::option::Option<::std::string::String>,
/// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
pub next_token: ::std::option::Option<::std::string::String>,
}
impl DescribeStacksInput {
/// <note>
/// <p>If you don't pass a parameter to <code>StackName</code>, the API returns a response that describes all resources in the account, which can impact performance. This requires <code>ListStacks</code> and <code>DescribeStacks</code> permissions.</p>
/// <p>Consider using the <code>ListStacks</code> API if you're not passing a parameter to <code>StackName</code>.</p>
/// <p>The IAM policy below can be added to IAM policies when you want to limit resource-level permissions and avoid returning a response when no parameter is sent in the request:</p>
/// <p>{ "Version": "2012-10-17", "Statement": \[{ "Effect": "Deny", "Action": "cloudformation:DescribeStacks", "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" }\] }</p>
/// </note>
/// <p>The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:</p>
/// <ul>
/// <li>
/// <p>Running stacks: You can specify either the stack's name or its unique stack ID.</p></li>
/// <li>
/// <p>Deleted stacks: You must specify the unique stack ID.</p></li>
/// </ul>
pub fn stack_name(&self) -> ::std::option::Option<&str> {
self.stack_name.as_deref()
}
/// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
pub fn next_token(&self) -> ::std::option::Option<&str> {
self.next_token.as_deref()
}
}
impl DescribeStacksInput {
/// Creates a new builder-style object to manufacture [`DescribeStacksInput`](crate::operation::describe_stacks::DescribeStacksInput).
pub fn builder() -> crate::operation::describe_stacks::builders::DescribeStacksInputBuilder {
crate::operation::describe_stacks::builders::DescribeStacksInputBuilder::default()
}
}
/// A builder for [`DescribeStacksInput`](crate::operation::describe_stacks::DescribeStacksInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct DescribeStacksInputBuilder {
pub(crate) stack_name: ::std::option::Option<::std::string::String>,
pub(crate) next_token: ::std::option::Option<::std::string::String>,
}
impl DescribeStacksInputBuilder {
/// <note>
/// <p>If you don't pass a parameter to <code>StackName</code>, the API returns a response that describes all resources in the account, which can impact performance. This requires <code>ListStacks</code> and <code>DescribeStacks</code> permissions.</p>
/// <p>Consider using the <code>ListStacks</code> API if you're not passing a parameter to <code>StackName</code>.</p>
/// <p>The IAM policy below can be added to IAM policies when you want to limit resource-level permissions and avoid returning a response when no parameter is sent in the request:</p>
/// <p>{ "Version": "2012-10-17", "Statement": \[{ "Effect": "Deny", "Action": "cloudformation:DescribeStacks", "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" }\] }</p>
/// </note>
/// <p>The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:</p>
/// <ul>
/// <li>
/// <p>Running stacks: You can specify either the stack's name or its unique stack ID.</p></li>
/// <li>
/// <p>Deleted stacks: You must specify the unique stack ID.</p></li>
/// </ul>
pub fn stack_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.stack_name = ::std::option::Option::Some(input.into());
self
}
/// <note>
/// <p>If you don't pass a parameter to <code>StackName</code>, the API returns a response that describes all resources in the account, which can impact performance. This requires <code>ListStacks</code> and <code>DescribeStacks</code> permissions.</p>
/// <p>Consider using the <code>ListStacks</code> API if you're not passing a parameter to <code>StackName</code>.</p>
/// <p>The IAM policy below can be added to IAM policies when you want to limit resource-level permissions and avoid returning a response when no parameter is sent in the request:</p>
/// <p>{ "Version": "2012-10-17", "Statement": \[{ "Effect": "Deny", "Action": "cloudformation:DescribeStacks", "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" }\] }</p>
/// </note>
/// <p>The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:</p>
/// <ul>
/// <li>
/// <p>Running stacks: You can specify either the stack's name or its unique stack ID.</p></li>
/// <li>
/// <p>Deleted stacks: You must specify the unique stack ID.</p></li>
/// </ul>
pub fn set_stack_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.stack_name = input;
self
}
/// <note>
/// <p>If you don't pass a parameter to <code>StackName</code>, the API returns a response that describes all resources in the account, which can impact performance. This requires <code>ListStacks</code> and <code>DescribeStacks</code> permissions.</p>
/// <p>Consider using the <code>ListStacks</code> API if you're not passing a parameter to <code>StackName</code>.</p>
/// <p>The IAM policy below can be added to IAM policies when you want to limit resource-level permissions and avoid returning a response when no parameter is sent in the request:</p>
/// <p>{ "Version": "2012-10-17", "Statement": \[{ "Effect": "Deny", "Action": "cloudformation:DescribeStacks", "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" }\] }</p>
/// </note>
/// <p>The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:</p>
/// <ul>
/// <li>
/// <p>Running stacks: You can specify either the stack's name or its unique stack ID.</p></li>
/// <li>
/// <p>Deleted stacks: You must specify the unique stack ID.</p></li>
/// </ul>
pub fn get_stack_name(&self) -> &::std::option::Option<::std::string::String> {
&self.stack_name
}
/// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.next_token = ::std::option::Option::Some(input.into());
self
}
/// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.next_token = input;
self
}
/// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
&self.next_token
}
/// Consumes the builder and constructs a [`DescribeStacksInput`](crate::operation::describe_stacks::DescribeStacksInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::describe_stacks::DescribeStacksInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::describe_stacks::DescribeStacksInput {
stack_name: self.stack_name,
next_token: self.next_token,
})
}
}