// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`AssociateFirewallRuleGroup`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`creator_request_id(impl Into<String>)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::creator_request_id) / [`set_creator_request_id(Option<String>)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::set_creator_request_id):<br>required: **true**<br><p>A unique string that identifies the request and that allows failed requests to be retried without the risk of running the operation twice. <code>CreatorRequestId</code> can be any unique string, for example, a date/time stamp.</p><br>
/// - [`firewall_rule_group_id(impl Into<String>)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::firewall_rule_group_id) / [`set_firewall_rule_group_id(Option<String>)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::set_firewall_rule_group_id):<br>required: **true**<br><p>The unique identifier of the firewall rule group.</p><br>
/// - [`vpc_id(impl Into<String>)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::vpc_id) / [`set_vpc_id(Option<String>)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::set_vpc_id):<br>required: **true**<br><p>The unique identifier of the VPC that you want to associate with the rule group.</p><br>
/// - [`priority(i32)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::priority) / [`set_priority(Option<i32>)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::set_priority):<br>required: **true**<br><p>The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting.</p> <p>You must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 101, 200, and so on. You can change the priority setting for a rule group association after you create it.</p> <p>The allowed values for <code>Priority</code> are between 100 and 9900.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::set_name):<br>required: **true**<br><p>A name that lets you identify the association, to manage and use it.</p><br>
/// - [`mutation_protection(MutationProtectionStatus)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::mutation_protection) / [`set_mutation_protection(Option<MutationProtectionStatus>)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::set_mutation_protection):<br>required: **false**<br><p>If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections. When you create the association, the default setting is <code>DISABLED</code>.</p><br>
/// - [`tags(Tag)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::set_tags):<br>required: **false**<br><p>A list of the tag keys and values that you want to associate with the rule group association.</p><br>
/// - On success, responds with [`AssociateFirewallRuleGroupOutput`](crate::operation::associate_firewall_rule_group::AssociateFirewallRuleGroupOutput) with field(s):
/// - [`firewall_rule_group_association(Option<FirewallRuleGroupAssociation>)`](crate::operation::associate_firewall_rule_group::AssociateFirewallRuleGroupOutput::firewall_rule_group_association): <p>The association that you just created. The association has an ID that you can use to identify it in other requests, like update and delete.</p>
/// - On failure, responds with [`SdkError<AssociateFirewallRuleGroupError>`](crate::operation::associate_firewall_rule_group::AssociateFirewallRuleGroupError)
pub fn associate_firewall_rule_group(
&self,
) -> crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder {
crate::operation::associate_firewall_rule_group::builders::AssociateFirewallRuleGroupFluentBuilder::new(self.handle.clone())
}
}