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 136 137 138 139
// 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>
/// <p>Default: There is no default value.</p>
pub stack_name: ::std::option::Option<::std::string::String>,
/// <p>A string that identifies the next page of stacks that you want to retrieve.</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>
/// <p>Default: There is no default value.</p>
pub fn stack_name(&self) -> ::std::option::Option<&str> {
self.stack_name.as_deref()
}
/// <p>A string that identifies the next page of stacks that you want to retrieve.</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).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
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>
/// <p>Default: There is no default value.</p>
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>
/// <p>Default: There is no default value.</p>
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>
/// <p>Default: There is no default value.</p>
pub fn get_stack_name(&self) -> &::std::option::Option<::std::string::String> {
&self.stack_name
}
/// <p>A string that identifies the next page of stacks that you want to retrieve.</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>A string that identifies the next page of stacks that you want to retrieve.</p>
pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.next_token = input;
self
}
/// <p>A string that identifies the next page of stacks that you want to retrieve.</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,
})
}
}