// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`DescribeFirewallPolicy`](crate::operation::describe_firewall_policy::builders::DescribeFirewallPolicyFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`firewall_policy_name(impl Into<String>)`](crate::operation::describe_firewall_policy::builders::DescribeFirewallPolicyFluentBuilder::firewall_policy_name) / [`set_firewall_policy_name(Option<String>)`](crate::operation::describe_firewall_policy::builders::DescribeFirewallPolicyFluentBuilder::set_firewall_policy_name):<br>required: **false**<br><p>The descriptive name of the firewall policy. You can't change the name of a firewall policy after you create it.</p> <p>You must specify the ARN or the name, and you can specify both.</p><br>
/// - [`firewall_policy_arn(impl Into<String>)`](crate::operation::describe_firewall_policy::builders::DescribeFirewallPolicyFluentBuilder::firewall_policy_arn) / [`set_firewall_policy_arn(Option<String>)`](crate::operation::describe_firewall_policy::builders::DescribeFirewallPolicyFluentBuilder::set_firewall_policy_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the firewall policy.</p> <p>You must specify the ARN or the name, and you can specify both.</p><br>
/// - On success, responds with [`DescribeFirewallPolicyOutput`](crate::operation::describe_firewall_policy::DescribeFirewallPolicyOutput) with field(s):
/// - [`update_token(String)`](crate::operation::describe_firewall_policy::DescribeFirewallPolicyOutput::update_token): <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the firewall policy. The token marks the state of the policy resource at the time of the request.</p> <p>To make changes to the policy, you provide the token in your request. Network Firewall uses the token to ensure that the policy hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the firewall policy again to get a current copy of it with current token. Reapply your changes as needed, then try the operation again using the new token.</p>
/// - [`firewall_policy_response(Option<FirewallPolicyResponse>)`](crate::operation::describe_firewall_policy::DescribeFirewallPolicyOutput::firewall_policy_response): <p>The high-level properties of a firewall policy. This, along with the <code>FirewallPolicy</code>, define the policy. You can retrieve all objects for a firewall policy by calling <code>DescribeFirewallPolicy</code>.</p>
/// - [`firewall_policy(Option<FirewallPolicy>)`](crate::operation::describe_firewall_policy::DescribeFirewallPolicyOutput::firewall_policy): <p>The policy for the specified firewall policy.</p>
/// - On failure, responds with [`SdkError<DescribeFirewallPolicyError>`](crate::operation::describe_firewall_policy::DescribeFirewallPolicyError)
pub fn describe_firewall_policy(&self) -> crate::operation::describe_firewall_policy::builders::DescribeFirewallPolicyFluentBuilder {
crate::operation::describe_firewall_policy::builders::DescribeFirewallPolicyFluentBuilder::new(self.handle.clone())
}
}