// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateFirewallDomains`](crate::operation::update_firewall_domains::builders::UpdateFirewallDomainsFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`firewall_domain_list_id(impl Into<String>)`](crate::operation::update_firewall_domains::builders::UpdateFirewallDomainsFluentBuilder::firewall_domain_list_id) / [`set_firewall_domain_list_id(Option<String>)`](crate::operation::update_firewall_domains::builders::UpdateFirewallDomainsFluentBuilder::set_firewall_domain_list_id):<br>required: **true**<br><p>The ID of the domain list whose domains you want to update.</p><br>
/// - [`operation(FirewallDomainUpdateOperation)`](crate::operation::update_firewall_domains::builders::UpdateFirewallDomainsFluentBuilder::operation) / [`set_operation(Option<FirewallDomainUpdateOperation>)`](crate::operation::update_firewall_domains::builders::UpdateFirewallDomainsFluentBuilder::set_operation):<br>required: **true**<br><p>What you want DNS Firewall to do with the domains that you are providing:</p> <ul> <li> <p><code>ADD</code> - Add the domains to the ones that are already in the domain list.</p></li> <li> <p><code>REMOVE</code> - Search the domain list for the domains and remove them from the list.</p></li> <li> <p><code>REPLACE</code> - Update the domain list to exactly match the list that you are providing.</p></li> </ul><br>
/// - [`domains(impl Into<String>)`](crate::operation::update_firewall_domains::builders::UpdateFirewallDomainsFluentBuilder::domains) / [`set_domains(Option<Vec::<String>>)`](crate::operation::update_firewall_domains::builders::UpdateFirewallDomainsFluentBuilder::set_domains):<br>required: **true**<br><p>A list of domains to use in the update operation.</p><important> <p>There is a limit of 1000 domains per request.</p> </important> <p>Each domain specification in your domain list must satisfy the following requirements:</p> <ul> <li> <p>It can optionally start with <code>*</code> (asterisk).</p></li> <li> <p>With the exception of the optional starting asterisk, it must only contain the following characters: <code>A-Z</code>, <code>a-z</code>, <code>0-9</code>, <code>-</code> (hyphen).</p></li> <li> <p>It must be from 1-255 characters in length.</p></li> </ul><br>
/// - On success, responds with [`UpdateFirewallDomainsOutput`](crate::operation::update_firewall_domains::UpdateFirewallDomainsOutput) with field(s):
/// - [`id(Option<String>)`](crate::operation::update_firewall_domains::UpdateFirewallDomainsOutput::id): <p>The ID of the firewall domain list that DNS Firewall just updated.</p>
/// - [`name(Option<String>)`](crate::operation::update_firewall_domains::UpdateFirewallDomainsOutput::name): <p>The name of the domain list.</p>
/// - [`status(Option<FirewallDomainListStatus>)`](crate::operation::update_firewall_domains::UpdateFirewallDomainsOutput::status): <p>Status of the <code>UpdateFirewallDomains</code> request.</p>
/// - [`status_message(Option<String>)`](crate::operation::update_firewall_domains::UpdateFirewallDomainsOutput::status_message): <p>Additional information about the status of the list, if available.</p>
/// - On failure, responds with [`SdkError<UpdateFirewallDomainsError>`](crate::operation::update_firewall_domains::UpdateFirewallDomainsError)
pub fn update_firewall_domains(&self) -> crate::operation::update_firewall_domains::builders::UpdateFirewallDomainsFluentBuilder {
crate::operation::update_firewall_domains::builders::UpdateFirewallDomainsFluentBuilder::new(self.handle.clone())
}
}