aws_sdk_networkfirewall/client/
describe_rule_group.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`DescribeRuleGroup`](crate::operation::describe_rule_group::builders::DescribeRuleGroupFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`rule_group_name(impl Into<String>)`](crate::operation::describe_rule_group::builders::DescribeRuleGroupFluentBuilder::rule_group_name) / [`set_rule_group_name(Option<String>)`](crate::operation::describe_rule_group::builders::DescribeRuleGroupFluentBuilder::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>
7    ///   - [`rule_group_arn(impl Into<String>)`](crate::operation::describe_rule_group::builders::DescribeRuleGroupFluentBuilder::rule_group_arn) / [`set_rule_group_arn(Option<String>)`](crate::operation::describe_rule_group::builders::DescribeRuleGroupFluentBuilder::set_rule_group_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the rule group.</p> <p>You must specify the ARN or the name, and you can specify both.</p><br>
8    ///   - [`r#type(RuleGroupType)`](crate::operation::describe_rule_group::builders::DescribeRuleGroupFluentBuilder::type) / [`set_type(Option<RuleGroupType>)`](crate::operation::describe_rule_group::builders::DescribeRuleGroupFluentBuilder::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>
9    ///   - [`analyze_rule_group(bool)`](crate::operation::describe_rule_group::builders::DescribeRuleGroupFluentBuilder::analyze_rule_group) / [`set_analyze_rule_group(Option<bool>)`](crate::operation::describe_rule_group::builders::DescribeRuleGroupFluentBuilder::set_analyze_rule_group):<br>required: **false**<br><p>Indicates whether you want Network Firewall to analyze the stateless rules in the rule group for rule behavior such as asymmetric routing. If set to <code>TRUE</code>, Network Firewall runs the analysis.</p><br>
10    /// - On success, responds with [`DescribeRuleGroupOutput`](crate::operation::describe_rule_group::DescribeRuleGroupOutput) with field(s):
11    ///   - [`update_token(String)`](crate::operation::describe_rule_group::DescribeRuleGroupOutput::update_token): <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the rule group. The token marks the state of the rule group resource at the time of the request.</p> <p>To make changes to the rule group, you provide the token in your request. Network Firewall uses the token to ensure that the rule group 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 rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token.</p>
12    ///   - [`rule_group(Option<RuleGroup>)`](crate::operation::describe_rule_group::DescribeRuleGroupOutput::rule_group): <p>The object that defines the rules in a rule group. This, along with <code>RuleGroupResponse</code>, define the rule group. You can retrieve all objects for a rule group by calling <code>DescribeRuleGroup</code>.</p> <p>Network Firewall uses a rule group to inspect and control network traffic. You define stateless rule groups to inspect individual packets and you define stateful rule groups to inspect packets in the context of their traffic flow.</p> <p>To use a rule group, you include it by reference in an Network Firewall firewall policy, then you use the policy in a firewall. You can reference a rule group from more than one firewall policy, and you can use a firewall policy in more than one firewall.</p>
13    ///   - [`rule_group_response(Option<RuleGroupResponse>)`](crate::operation::describe_rule_group::DescribeRuleGroupOutput::rule_group_response): <p>The high-level properties of a rule group. This, along with the <code>RuleGroup</code>, define the rule group. You can retrieve all objects for a rule group by calling <code>DescribeRuleGroup</code>.</p>
14    /// - On failure, responds with [`SdkError<DescribeRuleGroupError>`](crate::operation::describe_rule_group::DescribeRuleGroupError)
15    pub fn describe_rule_group(&self) -> crate::operation::describe_rule_group::builders::DescribeRuleGroupFluentBuilder {
16        crate::operation::describe_rule_group::builders::DescribeRuleGroupFluentBuilder::new(self.handle.clone())
17    }
18}