// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`DescribeRuleGroupMetadata`](crate::operation::describe_rule_group_metadata::builders::DescribeRuleGroupMetadataFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`rule_group_name(impl Into<String>)`](crate::operation::describe_rule_group_metadata::builders::DescribeRuleGroupMetadataFluentBuilder::rule_group_name) / [`set_rule_group_name(Option<String>)`](crate::operation::describe_rule_group_metadata::builders::DescribeRuleGroupMetadataFluentBuilder::set_rule_group_name):<br>required: **false**<br><p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p> <p>You must specify the ARN or the name, and you can specify both.</p><br>
/// - [`rule_group_arn(impl Into<String>)`](crate::operation::describe_rule_group_metadata::builders::DescribeRuleGroupMetadataFluentBuilder::rule_group_arn) / [`set_rule_group_arn(Option<String>)`](crate::operation::describe_rule_group_metadata::builders::DescribeRuleGroupMetadataFluentBuilder::set_rule_group_arn):<br>required: **false**<br><p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p> <p>You must specify the ARN or the name, and you can specify both.</p><br>
/// - [`r#type(RuleGroupType)`](crate::operation::describe_rule_group_metadata::builders::DescribeRuleGroupMetadataFluentBuilder::type) / [`set_type(Option<RuleGroupType>)`](crate::operation::describe_rule_group_metadata::builders::DescribeRuleGroupMetadataFluentBuilder::set_type):<br>required: **false**<br><p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains stateless rules. If it is stateful, it contains stateful rules.</p><note> <p>This setting is required for requests that do not include the <code>RuleGroupARN</code>.</p> </note><br>
/// - On success, responds with [`DescribeRuleGroupMetadataOutput`](crate::operation::describe_rule_group_metadata::DescribeRuleGroupMetadataOutput) with field(s):
/// - [`rule_group_arn(String)`](crate::operation::describe_rule_group_metadata::DescribeRuleGroupMetadataOutput::rule_group_arn): <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p> <p>You must specify the ARN or the name, and you can specify both.</p>
/// - [`rule_group_name(String)`](crate::operation::describe_rule_group_metadata::DescribeRuleGroupMetadataOutput::rule_group_name): <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p> <p>You must specify the ARN or the name, and you can specify both.</p>
/// - [`description(Option<String>)`](crate::operation::describe_rule_group_metadata::DescribeRuleGroupMetadataOutput::description): <p>Returns the metadata objects for the specified rule group.</p>
/// - [`r#type(Option<RuleGroupType>)`](crate::operation::describe_rule_group_metadata::DescribeRuleGroupMetadataOutput::type): <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains stateless rules. If it is stateful, it contains stateful rules.</p><note> <p>This setting is required for requests that do not include the <code>RuleGroupARN</code>.</p> </note>
/// - [`capacity(Option<i32>)`](crate::operation::describe_rule_group_metadata::DescribeRuleGroupMetadataOutput::capacity): <p>The maximum operating resources that this rule group can use. Rule group capacity is fixed at creation. When you update a rule group, you are limited to this capacity. When you reference a rule group from a firewall policy, Network Firewall reserves this capacity for the rule group.</p> <p>You can retrieve the capacity that would be required for a rule group before you create the rule group by calling <code>CreateRuleGroup</code> with <code>DryRun</code> set to <code>TRUE</code>.</p>
/// - [`stateful_rule_options(Option<StatefulRuleOptions>)`](crate::operation::describe_rule_group_metadata::DescribeRuleGroupMetadataOutput::stateful_rule_options): <p>Additional options governing how Network Firewall handles the rule group. You can only use these for stateful rule groups.</p>
/// - [`last_modified_time(Option<DateTime>)`](crate::operation::describe_rule_group_metadata::DescribeRuleGroupMetadataOutput::last_modified_time): <p>The last time that the rule group was changed.</p>
/// - On failure, responds with [`SdkError<DescribeRuleGroupMetadataError>`](crate::operation::describe_rule_group_metadata::DescribeRuleGroupMetadataError)
pub fn describe_rule_group_metadata(&self) -> crate::operation::describe_rule_group_metadata::builders::DescribeRuleGroupMetadataFluentBuilder {
crate::operation::describe_rule_group_metadata::builders::DescribeRuleGroupMetadataFluentBuilder::new(self.handle.clone())
}
}