1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`AllocateIpamPoolCidr`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`dry_run(bool)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::set_dry_run):<br>required: **false**<br><p>A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p><br>
    ///   - [`ipam_pool_id(impl Into<String>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::ipam_pool_id) / [`set_ipam_pool_id(Option<String>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::set_ipam_pool_id):<br>required: **true**<br><p>The ID of the IPAM pool from which you would like to allocate a CIDR.</p><br>
    ///   - [`cidr(impl Into<String>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::cidr) / [`set_cidr(Option<String>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::set_cidr):<br>required: **false**<br><p>The CIDR you would like to allocate from the IPAM pool. Note the following:</p> <ul>  <li>   <p>If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.</p></li>  <li>   <p>If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.</p></li> </ul> <p>Possible values: Any available IPv4 or IPv6 CIDR.</p><br>
    ///   - [`netmask_length(i32)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::netmask_length) / [`set_netmask_length(Option<i32>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::set_netmask_length):<br>required: **false**<br><p>The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:</p> <ul>  <li>   <p>If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.</p></li>  <li>   <p>If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.</p></li> </ul> <p>Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.</p><br>
    ///   - [`client_token(impl Into<String>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">Ensuring idempotency</a>.</p><br>
    ///   - [`description(impl Into<String>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::set_description):<br>required: **false**<br><p>A description for the allocation.</p><br>
    ///   - [`preview_next_cidr(bool)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::preview_next_cidr) / [`set_preview_next_cidr(Option<bool>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::set_preview_next_cidr):<br>required: **false**<br><p>A preview of the next available CIDR in a pool.</p><br>
    ///   - [`allowed_cidrs(impl Into<String>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::allowed_cidrs) / [`set_allowed_cidrs(Option<Vec::<String>>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::set_allowed_cidrs):<br>required: **false**<br><p>Include a particular CIDR range that can be returned by the pool. Allowed CIDRs are only allowed if using netmask length for allocation.</p><br>
    ///   - [`disallowed_cidrs(impl Into<String>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::disallowed_cidrs) / [`set_disallowed_cidrs(Option<Vec::<String>>)`](crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::set_disallowed_cidrs):<br>required: **false**<br><p>Exclude a particular CIDR range from being returned by the pool. Disallowed CIDRs are only allowed if using netmask length for allocation.</p><br>
    /// - On success, responds with [`AllocateIpamPoolCidrOutput`](crate::operation::allocate_ipam_pool_cidr::AllocateIpamPoolCidrOutput) with field(s):
    ///   - [`ipam_pool_allocation(Option<IpamPoolAllocation>)`](crate::operation::allocate_ipam_pool_cidr::AllocateIpamPoolCidrOutput::ipam_pool_allocation): <p>Information about the allocation created.</p>
    /// - On failure, responds with [`SdkError<AllocateIpamPoolCidrError>`](crate::operation::allocate_ipam_pool_cidr::AllocateIpamPoolCidrError)
    pub fn allocate_ipam_pool_cidr(&self) -> crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder {
        crate::operation::allocate_ipam_pool_cidr::builders::AllocateIpamPoolCidrFluentBuilder::new(self.handle.clone())
    }
}