aws-sdk-route53 1.14.0

AWS SDK for Amazon Route 53
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>A complex type that contains information about the request to create a hosted zone.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct GetAccountLimitInput {
    /// <p>The limit that you want to get. Valid values include the following:</p>
    /// <ul>
    /// <li>
    /// <p><b>MAX_HEALTH_CHECKS_BY_OWNER</b>: The maximum number of health checks that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_HOSTED_ZONES_BY_OWNER</b>: The maximum number of hosted zones that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_REUSABLE_DELEGATION_SETS_BY_OWNER</b>: The maximum number of reusable delegation sets that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_TRAFFIC_POLICIES_BY_OWNER</b>: The maximum number of traffic policies that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER</b>: The maximum number of traffic policy instances that you can create using the current account. (Traffic policy instances are referred to as traffic flow policy records in the Amazon Route 53 console.)</p></li>
    /// </ul>
    pub r#type: ::std::option::Option<crate::types::AccountLimitType>,
}
impl GetAccountLimitInput {
    /// <p>The limit that you want to get. Valid values include the following:</p>
    /// <ul>
    /// <li>
    /// <p><b>MAX_HEALTH_CHECKS_BY_OWNER</b>: The maximum number of health checks that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_HOSTED_ZONES_BY_OWNER</b>: The maximum number of hosted zones that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_REUSABLE_DELEGATION_SETS_BY_OWNER</b>: The maximum number of reusable delegation sets that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_TRAFFIC_POLICIES_BY_OWNER</b>: The maximum number of traffic policies that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER</b>: The maximum number of traffic policy instances that you can create using the current account. (Traffic policy instances are referred to as traffic flow policy records in the Amazon Route 53 console.)</p></li>
    /// </ul>
    pub fn r#type(&self) -> ::std::option::Option<&crate::types::AccountLimitType> {
        self.r#type.as_ref()
    }
}
impl GetAccountLimitInput {
    /// Creates a new builder-style object to manufacture [`GetAccountLimitInput`](crate::operation::get_account_limit::GetAccountLimitInput).
    pub fn builder() -> crate::operation::get_account_limit::builders::GetAccountLimitInputBuilder {
        crate::operation::get_account_limit::builders::GetAccountLimitInputBuilder::default()
    }
}

/// A builder for [`GetAccountLimitInput`](crate::operation::get_account_limit::GetAccountLimitInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct GetAccountLimitInputBuilder {
    pub(crate) r#type: ::std::option::Option<crate::types::AccountLimitType>,
}
impl GetAccountLimitInputBuilder {
    /// <p>The limit that you want to get. Valid values include the following:</p>
    /// <ul>
    /// <li>
    /// <p><b>MAX_HEALTH_CHECKS_BY_OWNER</b>: The maximum number of health checks that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_HOSTED_ZONES_BY_OWNER</b>: The maximum number of hosted zones that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_REUSABLE_DELEGATION_SETS_BY_OWNER</b>: The maximum number of reusable delegation sets that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_TRAFFIC_POLICIES_BY_OWNER</b>: The maximum number of traffic policies that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER</b>: The maximum number of traffic policy instances that you can create using the current account. (Traffic policy instances are referred to as traffic flow policy records in the Amazon Route 53 console.)</p></li>
    /// </ul>
    /// This field is required.
    pub fn r#type(mut self, input: crate::types::AccountLimitType) -> Self {
        self.r#type = ::std::option::Option::Some(input);
        self
    }
    /// <p>The limit that you want to get. Valid values include the following:</p>
    /// <ul>
    /// <li>
    /// <p><b>MAX_HEALTH_CHECKS_BY_OWNER</b>: The maximum number of health checks that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_HOSTED_ZONES_BY_OWNER</b>: The maximum number of hosted zones that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_REUSABLE_DELEGATION_SETS_BY_OWNER</b>: The maximum number of reusable delegation sets that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_TRAFFIC_POLICIES_BY_OWNER</b>: The maximum number of traffic policies that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER</b>: The maximum number of traffic policy instances that you can create using the current account. (Traffic policy instances are referred to as traffic flow policy records in the Amazon Route 53 console.)</p></li>
    /// </ul>
    pub fn set_type(mut self, input: ::std::option::Option<crate::types::AccountLimitType>) -> Self {
        self.r#type = input;
        self
    }
    /// <p>The limit that you want to get. Valid values include the following:</p>
    /// <ul>
    /// <li>
    /// <p><b>MAX_HEALTH_CHECKS_BY_OWNER</b>: The maximum number of health checks that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_HOSTED_ZONES_BY_OWNER</b>: The maximum number of hosted zones that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_REUSABLE_DELEGATION_SETS_BY_OWNER</b>: The maximum number of reusable delegation sets that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_TRAFFIC_POLICIES_BY_OWNER</b>: The maximum number of traffic policies that you can create using the current account.</p></li>
    /// <li>
    /// <p><b>MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER</b>: The maximum number of traffic policy instances that you can create using the current account. (Traffic policy instances are referred to as traffic flow policy records in the Amazon Route 53 console.)</p></li>
    /// </ul>
    pub fn get_type(&self) -> &::std::option::Option<crate::types::AccountLimitType> {
        &self.r#type
    }
    /// Consumes the builder and constructs a [`GetAccountLimitInput`](crate::operation::get_account_limit::GetAccountLimitInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::get_account_limit::GetAccountLimitInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::get_account_limit::GetAccountLimitInput { r#type: self.r#type })
    }
}