#[non_exhaustive]pub struct IpamPool {Show 24 fields
pub owner_id: Option<String>,
pub ipam_pool_id: Option<String>,
pub source_ipam_pool_id: Option<String>,
pub ipam_pool_arn: Option<String>,
pub ipam_scope_arn: Option<String>,
pub ipam_scope_type: Option<IpamScopeType>,
pub ipam_arn: Option<String>,
pub ipam_region: Option<String>,
pub locale: Option<String>,
pub pool_depth: Option<i32>,
pub state: Option<IpamPoolState>,
pub state_message: Option<String>,
pub description: Option<String>,
pub auto_import: Option<bool>,
pub publicly_advertisable: Option<bool>,
pub address_family: Option<AddressFamily>,
pub allocation_min_netmask_length: Option<i32>,
pub allocation_max_netmask_length: Option<i32>,
pub allocation_default_netmask_length: Option<i32>,
pub allocation_resource_tags: Option<Vec<IpamResourceTag>>,
pub tags: Option<Vec<Tag>>,
pub aws_service: Option<IpamPoolAwsService>,
pub public_ip_source: Option<IpamPoolPublicIpSource>,
pub source_resource: Option<IpamPoolSourceResource>,
}
Expand description
In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.owner_id: Option<String>
The Amazon Web Services account ID of the owner of the IPAM pool.
ipam_pool_id: Option<String>
The ID of the IPAM pool.
source_ipam_pool_id: Option<String>
The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.
ipam_pool_arn: Option<String>
The Amazon Resource Name (ARN) of the IPAM pool.
ipam_scope_arn: Option<String>
The ARN of the scope of the IPAM pool.
ipam_scope_type: Option<IpamScopeType>
In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.
ipam_arn: Option<String>
The ARN of the IPAM.
ipam_region: Option<String>
The Amazon Web Services Region of the IPAM pool.
locale: Option<String>
The locale of the IPAM pool.
The locale for the pool should be one of the following:
-
An Amazon Web Services Region where you want this IPAM pool to be available for allocations.
-
The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.
If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.
pool_depth: Option<i32>
The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM User Guide.
state: Option<IpamPoolState>
The state of the IPAM pool.
state_message: Option<String>
The state message.
description: Option<String>
The description of the IPAM pool.
auto_import: Option<bool>
If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.
A locale must be set on the pool for this feature to work.
publicly_advertisable: Option<bool>
Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4
.
address_family: Option<AddressFamily>
The address family of the pool.
allocation_min_netmask_length: Option<i32>
The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.
allocation_max_netmask_length: Option<i32>
The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.
allocation_default_netmask_length: Option<i32>
The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.
Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.
The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner
and the value TeamA
, specify tag:Owner
for the filter name and TeamA
for the filter value.
aws_service: Option<IpamPoolAwsService>
Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs.
public_ip_source: Option<IpamPoolPublicIpSource>
The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is BYOIP
. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.
source_resource: Option<IpamPoolSourceResource>
The resource used to provision CIDRs to a resource planning pool.
Implementations§
Source§impl IpamPool
impl IpamPool
Sourcepub fn owner_id(&self) -> Option<&str>
pub fn owner_id(&self) -> Option<&str>
The Amazon Web Services account ID of the owner of the IPAM pool.
Sourcepub fn ipam_pool_id(&self) -> Option<&str>
pub fn ipam_pool_id(&self) -> Option<&str>
The ID of the IPAM pool.
Sourcepub fn source_ipam_pool_id(&self) -> Option<&str>
pub fn source_ipam_pool_id(&self) -> Option<&str>
The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.
Sourcepub fn ipam_pool_arn(&self) -> Option<&str>
pub fn ipam_pool_arn(&self) -> Option<&str>
The Amazon Resource Name (ARN) of the IPAM pool.
Sourcepub fn ipam_scope_arn(&self) -> Option<&str>
pub fn ipam_scope_arn(&self) -> Option<&str>
The ARN of the scope of the IPAM pool.
Sourcepub fn ipam_scope_type(&self) -> Option<&IpamScopeType>
pub fn ipam_scope_type(&self) -> Option<&IpamScopeType>
In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.
Sourcepub fn ipam_region(&self) -> Option<&str>
pub fn ipam_region(&self) -> Option<&str>
The Amazon Web Services Region of the IPAM pool.
Sourcepub fn locale(&self) -> Option<&str>
pub fn locale(&self) -> Option<&str>
The locale of the IPAM pool.
The locale for the pool should be one of the following:
-
An Amazon Web Services Region where you want this IPAM pool to be available for allocations.
-
The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.
If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.
Sourcepub fn pool_depth(&self) -> Option<i32>
pub fn pool_depth(&self) -> Option<i32>
The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM User Guide.
Sourcepub fn state(&self) -> Option<&IpamPoolState>
pub fn state(&self) -> Option<&IpamPoolState>
The state of the IPAM pool.
Sourcepub fn state_message(&self) -> Option<&str>
pub fn state_message(&self) -> Option<&str>
The state message.
Sourcepub fn description(&self) -> Option<&str>
pub fn description(&self) -> Option<&str>
The description of the IPAM pool.
Sourcepub fn auto_import(&self) -> Option<bool>
pub fn auto_import(&self) -> Option<bool>
If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.
A locale must be set on the pool for this feature to work.
Sourcepub fn publicly_advertisable(&self) -> Option<bool>
pub fn publicly_advertisable(&self) -> Option<bool>
Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4
.
Sourcepub fn address_family(&self) -> Option<&AddressFamily>
pub fn address_family(&self) -> Option<&AddressFamily>
The address family of the pool.
Sourcepub fn allocation_min_netmask_length(&self) -> Option<i32>
pub fn allocation_min_netmask_length(&self) -> Option<i32>
The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.
Sourcepub fn allocation_max_netmask_length(&self) -> Option<i32>
pub fn allocation_max_netmask_length(&self) -> Option<i32>
The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.
Sourcepub fn allocation_default_netmask_length(&self) -> Option<i32>
pub fn allocation_default_netmask_length(&self) -> Option<i32>
The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.
Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .allocation_resource_tags.is_none()
.
The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner
and the value TeamA
, specify tag:Owner
for the filter name and TeamA
for the filter value.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .tags.is_none()
.
Sourcepub fn aws_service(&self) -> Option<&IpamPoolAwsService>
pub fn aws_service(&self) -> Option<&IpamPoolAwsService>
Limits which service in Amazon Web Services that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs.
Sourcepub fn public_ip_source(&self) -> Option<&IpamPoolPublicIpSource>
pub fn public_ip_source(&self) -> Option<&IpamPoolPublicIpSource>
The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is BYOIP
. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.
Sourcepub fn source_resource(&self) -> Option<&IpamPoolSourceResource>
pub fn source_resource(&self) -> Option<&IpamPoolSourceResource>
The resource used to provision CIDRs to a resource planning pool.
Trait Implementations§
impl StructuralPartialEq for IpamPool
Auto Trait Implementations§
impl Freeze for IpamPool
impl RefUnwindSafe for IpamPool
impl Send for IpamPool
impl Sync for IpamPool
impl Unpin for IpamPool
impl UnwindSafe for IpamPool
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);