aws_sdk_ec2/client/
allocate_address.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`AllocateAddress`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`domain(DomainType)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::domain) / [`set_domain(Option<DomainType>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::set_domain):<br>required: **false**<br><p>The network (<code>vpc</code>).</p><br>
7    ///   - [`address(impl Into<String>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::address) / [`set_address(Option<String>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::set_address):<br>required: **false**<br><p>The Elastic IP address to recover or an IPv4 address from an address pool.</p><br>
8    ///   - [`public_ipv4_pool(impl Into<String>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::public_ipv4_pool) / [`set_public_ipv4_pool(Option<String>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::set_public_ipv4_pool):<br>required: **false**<br><p>The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool. To specify a specific address from the address pool, use the <code>Address</code> parameter instead.</p><br>
9    ///   - [`network_border_group(impl Into<String>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::network_border_group) / [`set_network_border_group(Option<String>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::set_network_border_group):<br>required: **false**<br><p>A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.</p><br>
10    ///   - [`customer_owned_ipv4_pool(impl Into<String>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::customer_owned_ipv4_pool) / [`set_customer_owned_ipv4_pool(Option<String>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::set_customer_owned_ipv4_pool):<br>required: **false**<br><p>The ID of a customer-owned address pool. Use this parameter to let Amazon EC2 select an address from the address pool. Alternatively, specify a specific address from the address pool.</p><br>
11    ///   - [`tag_specifications(TagSpecification)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::tag_specifications) / [`set_tag_specifications(Option<Vec::<TagSpecification>>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::set_tag_specifications):<br>required: **false**<br><p>The tags to assign to the Elastic IP address.</p><br>
12    ///   - [`ipam_pool_id(impl Into<String>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::ipam_pool_id) / [`set_ipam_pool_id(Option<String>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::set_ipam_pool_id):<br>required: **false**<br><p>The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html">Allocate sequential Elastic IP addresses from an IPAM pool</a> in the <i>Amazon VPC IPAM User Guide</i>.</p><br>
13    ///   - [`dry_run(bool)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::set_dry_run):<br>required: **false**<br><p>Checks 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>
14    /// - On success, responds with [`AllocateAddressOutput`](crate::operation::allocate_address::AllocateAddressOutput) with field(s):
15    ///   - [`allocation_id(Option<String>)`](crate::operation::allocate_address::AllocateAddressOutput::allocation_id): <p>The ID that represents the allocation of the Elastic IP address.</p>
16    ///   - [`public_ipv4_pool(Option<String>)`](crate::operation::allocate_address::AllocateAddressOutput::public_ipv4_pool): <p>The ID of an address pool that you own.</p>
17    ///   - [`network_border_group(Option<String>)`](crate::operation::allocate_address::AllocateAddressOutput::network_border_group): <p>The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.</p>
18    ///   - [`domain(Option<DomainType>)`](crate::operation::allocate_address::AllocateAddressOutput::domain): <p>The network (<code>vpc</code>).</p>
19    ///   - [`customer_owned_ip(Option<String>)`](crate::operation::allocate_address::AllocateAddressOutput::customer_owned_ip): <p>The customer-owned IP address.</p>
20    ///   - [`customer_owned_ipv4_pool(Option<String>)`](crate::operation::allocate_address::AllocateAddressOutput::customer_owned_ipv4_pool): <p>The ID of the customer-owned address pool.</p>
21    ///   - [`carrier_ip(Option<String>)`](crate::operation::allocate_address::AllocateAddressOutput::carrier_ip): <p>The carrier IP address. Available only for network interfaces that reside in a subnet in a Wavelength Zone.</p>
22    ///   - [`public_ip(Option<String>)`](crate::operation::allocate_address::AllocateAddressOutput::public_ip): <p>The Amazon-owned IP address. Not available when using an address pool that you own.</p>
23    /// - On failure, responds with [`SdkError<AllocateAddressError>`](crate::operation::allocate_address::AllocateAddressError)
24    pub fn allocate_address(&self) -> crate::operation::allocate_address::builders::AllocateAddressFluentBuilder {
25        crate::operation::allocate_address::builders::AllocateAddressFluentBuilder::new(self.handle.clone())
26    }
27}