aws-sdk-route53resolver 1.111.0

AWS SDK for Amazon Route 53 Resolver
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DeleteFirewallRuleInput {
    /// <p>The unique identifier of the firewall rule group that you want to delete the rule from.</p>
    pub firewall_rule_group_id: ::std::option::Option<::std::string::String>,
    /// <p>The ID of the domain list that's used in the rule.</p>
    pub firewall_domain_list_id: ::std::option::Option<::std::string::String>,
    /// <p>The ID that is created for a DNS Firewall Advanced rule.</p>
    pub firewall_threat_protection_id: ::std::option::Option<::std::string::String>,
    /// <p>The DNS query type that the rule you are deleting evaluates. Allowed values are;</p>
    /// <ul>
    /// <li>
    /// <p>A: Returns an IPv4 address.</p></li>
    /// <li>
    /// <p>AAAA: Returns an Ipv6 address.</p></li>
    /// <li>
    /// <p>CAA: Restricts CAs that can create SSL/TLS certifications for the domain.</p></li>
    /// <li>
    /// <p>CNAME: Returns another domain name.</p></li>
    /// <li>
    /// <p>DS: Record that identifies the DNSSEC signing key of a delegated zone.</p></li>
    /// <li>
    /// <p>MX: Specifies mail servers.</p></li>
    /// <li>
    /// <p>NAPTR: Regular-expression-based rewriting of domain names.</p></li>
    /// <li>
    /// <p>NS: Authoritative name servers.</p></li>
    /// <li>
    /// <p>PTR: Maps an IP address to a domain name.</p></li>
    /// <li>
    /// <p>SOA: Start of authority record for the zone.</p></li>
    /// <li>
    /// <p>SPF: Lists the servers authorized to send emails from a domain.</p></li>
    /// <li>
    /// <p>SRV: Application specific values that identify servers.</p></li>
    /// <li>
    /// <p>TXT: Verifies email senders and application-specific values.</p></li>
    /// <li>
    /// <p>A query type you define by using the DNS type ID, for example 28 for AAAA. The values must be defined as TYPENUMBER, where the NUMBER can be 1-65534, for example, TYPE28. For more information, see <a href="https://en.wikipedia.org/wiki/List_of_DNS_record_types">List of DNS record types</a>.</p></li>
    /// </ul>
    pub qtype: ::std::option::Option<::std::string::String>,
}
impl DeleteFirewallRuleInput {
    /// <p>The unique identifier of the firewall rule group that you want to delete the rule from.</p>
    pub fn firewall_rule_group_id(&self) -> ::std::option::Option<&str> {
        self.firewall_rule_group_id.as_deref()
    }
    /// <p>The ID of the domain list that's used in the rule.</p>
    pub fn firewall_domain_list_id(&self) -> ::std::option::Option<&str> {
        self.firewall_domain_list_id.as_deref()
    }
    /// <p>The ID that is created for a DNS Firewall Advanced rule.</p>
    pub fn firewall_threat_protection_id(&self) -> ::std::option::Option<&str> {
        self.firewall_threat_protection_id.as_deref()
    }
    /// <p>The DNS query type that the rule you are deleting evaluates. Allowed values are;</p>
    /// <ul>
    /// <li>
    /// <p>A: Returns an IPv4 address.</p></li>
    /// <li>
    /// <p>AAAA: Returns an Ipv6 address.</p></li>
    /// <li>
    /// <p>CAA: Restricts CAs that can create SSL/TLS certifications for the domain.</p></li>
    /// <li>
    /// <p>CNAME: Returns another domain name.</p></li>
    /// <li>
    /// <p>DS: Record that identifies the DNSSEC signing key of a delegated zone.</p></li>
    /// <li>
    /// <p>MX: Specifies mail servers.</p></li>
    /// <li>
    /// <p>NAPTR: Regular-expression-based rewriting of domain names.</p></li>
    /// <li>
    /// <p>NS: Authoritative name servers.</p></li>
    /// <li>
    /// <p>PTR: Maps an IP address to a domain name.</p></li>
    /// <li>
    /// <p>SOA: Start of authority record for the zone.</p></li>
    /// <li>
    /// <p>SPF: Lists the servers authorized to send emails from a domain.</p></li>
    /// <li>
    /// <p>SRV: Application specific values that identify servers.</p></li>
    /// <li>
    /// <p>TXT: Verifies email senders and application-specific values.</p></li>
    /// <li>
    /// <p>A query type you define by using the DNS type ID, for example 28 for AAAA. The values must be defined as TYPENUMBER, where the NUMBER can be 1-65534, for example, TYPE28. For more information, see <a href="https://en.wikipedia.org/wiki/List_of_DNS_record_types">List of DNS record types</a>.</p></li>
    /// </ul>
    pub fn qtype(&self) -> ::std::option::Option<&str> {
        self.qtype.as_deref()
    }
}
impl DeleteFirewallRuleInput {
    /// Creates a new builder-style object to manufacture [`DeleteFirewallRuleInput`](crate::operation::delete_firewall_rule::DeleteFirewallRuleInput).
    pub fn builder() -> crate::operation::delete_firewall_rule::builders::DeleteFirewallRuleInputBuilder {
        crate::operation::delete_firewall_rule::builders::DeleteFirewallRuleInputBuilder::default()
    }
}

/// A builder for [`DeleteFirewallRuleInput`](crate::operation::delete_firewall_rule::DeleteFirewallRuleInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct DeleteFirewallRuleInputBuilder {
    pub(crate) firewall_rule_group_id: ::std::option::Option<::std::string::String>,
    pub(crate) firewall_domain_list_id: ::std::option::Option<::std::string::String>,
    pub(crate) firewall_threat_protection_id: ::std::option::Option<::std::string::String>,
    pub(crate) qtype: ::std::option::Option<::std::string::String>,
}
impl DeleteFirewallRuleInputBuilder {
    /// <p>The unique identifier of the firewall rule group that you want to delete the rule from.</p>
    /// This field is required.
    pub fn firewall_rule_group_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.firewall_rule_group_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique identifier of the firewall rule group that you want to delete the rule from.</p>
    pub fn set_firewall_rule_group_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.firewall_rule_group_id = input;
        self
    }
    /// <p>The unique identifier of the firewall rule group that you want to delete the rule from.</p>
    pub fn get_firewall_rule_group_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.firewall_rule_group_id
    }
    /// <p>The ID of the domain list that's used in the rule.</p>
    pub fn firewall_domain_list_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.firewall_domain_list_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The ID of the domain list that's used in the rule.</p>
    pub fn set_firewall_domain_list_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.firewall_domain_list_id = input;
        self
    }
    /// <p>The ID of the domain list that's used in the rule.</p>
    pub fn get_firewall_domain_list_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.firewall_domain_list_id
    }
    /// <p>The ID that is created for a DNS Firewall Advanced rule.</p>
    pub fn firewall_threat_protection_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.firewall_threat_protection_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The ID that is created for a DNS Firewall Advanced rule.</p>
    pub fn set_firewall_threat_protection_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.firewall_threat_protection_id = input;
        self
    }
    /// <p>The ID that is created for a DNS Firewall Advanced rule.</p>
    pub fn get_firewall_threat_protection_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.firewall_threat_protection_id
    }
    /// <p>The DNS query type that the rule you are deleting evaluates. Allowed values are;</p>
    /// <ul>
    /// <li>
    /// <p>A: Returns an IPv4 address.</p></li>
    /// <li>
    /// <p>AAAA: Returns an Ipv6 address.</p></li>
    /// <li>
    /// <p>CAA: Restricts CAs that can create SSL/TLS certifications for the domain.</p></li>
    /// <li>
    /// <p>CNAME: Returns another domain name.</p></li>
    /// <li>
    /// <p>DS: Record that identifies the DNSSEC signing key of a delegated zone.</p></li>
    /// <li>
    /// <p>MX: Specifies mail servers.</p></li>
    /// <li>
    /// <p>NAPTR: Regular-expression-based rewriting of domain names.</p></li>
    /// <li>
    /// <p>NS: Authoritative name servers.</p></li>
    /// <li>
    /// <p>PTR: Maps an IP address to a domain name.</p></li>
    /// <li>
    /// <p>SOA: Start of authority record for the zone.</p></li>
    /// <li>
    /// <p>SPF: Lists the servers authorized to send emails from a domain.</p></li>
    /// <li>
    /// <p>SRV: Application specific values that identify servers.</p></li>
    /// <li>
    /// <p>TXT: Verifies email senders and application-specific values.</p></li>
    /// <li>
    /// <p>A query type you define by using the DNS type ID, for example 28 for AAAA. The values must be defined as TYPENUMBER, where the NUMBER can be 1-65534, for example, TYPE28. For more information, see <a href="https://en.wikipedia.org/wiki/List_of_DNS_record_types">List of DNS record types</a>.</p></li>
    /// </ul>
    pub fn qtype(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.qtype = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The DNS query type that the rule you are deleting evaluates. Allowed values are;</p>
    /// <ul>
    /// <li>
    /// <p>A: Returns an IPv4 address.</p></li>
    /// <li>
    /// <p>AAAA: Returns an Ipv6 address.</p></li>
    /// <li>
    /// <p>CAA: Restricts CAs that can create SSL/TLS certifications for the domain.</p></li>
    /// <li>
    /// <p>CNAME: Returns another domain name.</p></li>
    /// <li>
    /// <p>DS: Record that identifies the DNSSEC signing key of a delegated zone.</p></li>
    /// <li>
    /// <p>MX: Specifies mail servers.</p></li>
    /// <li>
    /// <p>NAPTR: Regular-expression-based rewriting of domain names.</p></li>
    /// <li>
    /// <p>NS: Authoritative name servers.</p></li>
    /// <li>
    /// <p>PTR: Maps an IP address to a domain name.</p></li>
    /// <li>
    /// <p>SOA: Start of authority record for the zone.</p></li>
    /// <li>
    /// <p>SPF: Lists the servers authorized to send emails from a domain.</p></li>
    /// <li>
    /// <p>SRV: Application specific values that identify servers.</p></li>
    /// <li>
    /// <p>TXT: Verifies email senders and application-specific values.</p></li>
    /// <li>
    /// <p>A query type you define by using the DNS type ID, for example 28 for AAAA. The values must be defined as TYPENUMBER, where the NUMBER can be 1-65534, for example, TYPE28. For more information, see <a href="https://en.wikipedia.org/wiki/List_of_DNS_record_types">List of DNS record types</a>.</p></li>
    /// </ul>
    pub fn set_qtype(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.qtype = input;
        self
    }
    /// <p>The DNS query type that the rule you are deleting evaluates. Allowed values are;</p>
    /// <ul>
    /// <li>
    /// <p>A: Returns an IPv4 address.</p></li>
    /// <li>
    /// <p>AAAA: Returns an Ipv6 address.</p></li>
    /// <li>
    /// <p>CAA: Restricts CAs that can create SSL/TLS certifications for the domain.</p></li>
    /// <li>
    /// <p>CNAME: Returns another domain name.</p></li>
    /// <li>
    /// <p>DS: Record that identifies the DNSSEC signing key of a delegated zone.</p></li>
    /// <li>
    /// <p>MX: Specifies mail servers.</p></li>
    /// <li>
    /// <p>NAPTR: Regular-expression-based rewriting of domain names.</p></li>
    /// <li>
    /// <p>NS: Authoritative name servers.</p></li>
    /// <li>
    /// <p>PTR: Maps an IP address to a domain name.</p></li>
    /// <li>
    /// <p>SOA: Start of authority record for the zone.</p></li>
    /// <li>
    /// <p>SPF: Lists the servers authorized to send emails from a domain.</p></li>
    /// <li>
    /// <p>SRV: Application specific values that identify servers.</p></li>
    /// <li>
    /// <p>TXT: Verifies email senders and application-specific values.</p></li>
    /// <li>
    /// <p>A query type you define by using the DNS type ID, for example 28 for AAAA. The values must be defined as TYPENUMBER, where the NUMBER can be 1-65534, for example, TYPE28. For more information, see <a href="https://en.wikipedia.org/wiki/List_of_DNS_record_types">List of DNS record types</a>.</p></li>
    /// </ul>
    pub fn get_qtype(&self) -> &::std::option::Option<::std::string::String> {
        &self.qtype
    }
    /// Consumes the builder and constructs a [`DeleteFirewallRuleInput`](crate::operation::delete_firewall_rule::DeleteFirewallRuleInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::delete_firewall_rule::DeleteFirewallRuleInput, ::aws_smithy_types::error::operation::BuildError>
    {
        ::std::result::Result::Ok(crate::operation::delete_firewall_rule::DeleteFirewallRuleInput {
            firewall_rule_group_id: self.firewall_rule_group_id,
            firewall_domain_list_id: self.firewall_domain_list_id,
            firewall_threat_protection_id: self.firewall_threat_protection_id,
            qtype: self.qtype,
        })
    }
}