// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`DescribeStacks`](crate::operation::describe_stacks::builders::DescribeStacksFluentBuilder) operation.
/// This operation supports pagination; See [`into_paginator()`](crate::operation::describe_stacks::builders::DescribeStacksFluentBuilder::into_paginator).
///
/// - The fluent builder is configurable:
/// - [`stack_name(impl Into<String>)`](crate::operation::describe_stacks::builders::DescribeStacksFluentBuilder::stack_name) / [`set_stack_name(Option<String>)`](crate::operation::describe_stacks::builders::DescribeStacksFluentBuilder::set_stack_name):<br>required: **false**<br><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><br>
/// - [`next_token(impl Into<String>)`](crate::operation::describe_stacks::builders::DescribeStacksFluentBuilder::next_token) / [`set_next_token(Option<String>)`](crate::operation::describe_stacks::builders::DescribeStacksFluentBuilder::set_next_token):<br>required: **false**<br><p>A string that identifies the next page of stacks that you want to retrieve.</p><br>
/// - On success, responds with [`DescribeStacksOutput`](crate::operation::describe_stacks::DescribeStacksOutput) with field(s):
/// - [`stacks(Option<Vec::<Stack>>)`](crate::operation::describe_stacks::DescribeStacksOutput::stacks): <p>A list of stack structures.</p>
/// - [`next_token(Option<String>)`](crate::operation::describe_stacks::DescribeStacksOutput::next_token): <p>If the output exceeds 1 MB in size, a string that identifies the next page of stacks. If no additional page exists, this value is null.</p>
/// - On failure, responds with [`SdkError<DescribeStacksError>`](crate::operation::describe_stacks::DescribeStacksError)
pub fn describe_stacks(&self) -> crate::operation::describe_stacks::builders::DescribeStacksFluentBuilder {
crate::operation::describe_stacks::builders::DescribeStacksFluentBuilder::new(self.handle.clone())
}
}