#[non_exhaustive]pub struct InternalRange {Show 17 fields
pub name: String,
pub create_time: Option<Timestamp>,
pub update_time: Option<Timestamp>,
pub labels: HashMap<String, String>,
pub description: String,
pub ip_cidr_range: String,
pub network: String,
pub usage: Usage,
pub peering: Peering,
pub prefix_length: i32,
pub target_cidr_range: Vec<String>,
pub users: Vec<String>,
pub overlaps: Vec<Overlap>,
pub migration: Option<Migration>,
pub immutable: bool,
pub allocation_options: Option<AllocationOptions>,
pub exclude_cidr_ranges: Vec<String>,
/* private fields */
}Expand description
The internal range resource for IPAM operations within a VPC network. Used to represent a private address range along with behavioral characteristics of that range (its usage and peering behavior). Networking resources can link to this range if they are created as belonging to it.
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.name: StringIdentifier. The name of an internal range. Format: projects/{project}/locations/{location}/internalRanges/{internal_range} See: https://google.aip.dev/122#fields-representing-resource-names
create_time: Option<Timestamp>Time when the internal range was created.
update_time: Option<Timestamp>Time when the internal range was updated.
labels: HashMap<String, String>User-defined labels.
description: StringOptional. A description of this resource.
ip_cidr_range: StringOptional. The IP range that this internal range defines. NOTE: IPv6 ranges are limited to usage=EXTERNAL_TO_VPC and peering=FOR_SELF. NOTE: For IPv6 Ranges this field is compulsory, i.e. the address range must be specified explicitly.
network: StringImmutable. The URL or resource ID of the network in which to reserve the internal range. The network cannot be deleted if there are any reserved internal ranges referring to it. Legacy networks are not supported. For example: https://www.googleapis.com/compute/v1/projects/{project}/locations/global/networks/{network} projects/{project}/locations/global/networks/{network} {network}
usage: UsageOptional. The type of usage set for this InternalRange.
peering: PeeringOptional. The type of peering set for this internal range.
prefix_length: i32Optional. An alternate to ip_cidr_range. Can be set when trying to create an IPv4 reservation that automatically finds a free range of the given size. If both ip_cidr_range and prefix_length are set, there is an error if the range sizes do not match. Can also be used during updates to change the range size. NOTE: For IPv6 this field only works if ip_cidr_range is set as well, and both fields must match. In other words, with IPv6 this field only works as a redundant parameter.
target_cidr_range: Vec<String>Optional. Can be set to narrow down or pick a different address space while searching for a free range. If not set, defaults to the “10.0.0.0/8” address space. This can be used to search in other rfc-1918 address spaces like “172.16.0.0/12” and “192.168.0.0/16” or non-rfc-1918 address spaces used in the VPC.
users: Vec<String>Output only. The list of resources that refer to this internal range. Resources that use the internal range for their range allocation are referred to as users of the range. Other resources mark themselves as users while doing so by creating a reference to this internal range. Having a user, based on this reference, prevents deletion of the internal range referred to. Can be empty.
overlaps: Vec<Overlap>Optional. Types of resources that are allowed to overlap with the current internal range.
migration: Option<Migration>Optional. Must be present if usage is set to FOR_MIGRATION.
immutable: boolOptional. Immutable ranges cannot have their fields modified, except for labels and description.
allocation_options: Option<AllocationOptions>Optional. Range auto-allocation options, may be set only when auto-allocation is selected by not setting ip_cidr_range (and setting prefix_length).
exclude_cidr_ranges: Vec<String>Optional. ExcludeCidrRanges flag. Specifies a set of CIDR blocks that allows exclusion of particular CIDR ranges from the auto-allocation process, without having to reserve these blocks
Implementations§
Source§impl InternalRange
impl InternalRange
pub fn new() -> Self
Sourcepub fn set_create_time<T>(self, v: T) -> Self
pub fn set_create_time<T>(self, v: T) -> Self
Sets the value of create_time.
Sourcepub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of create_time.
Sourcepub fn set_update_time<T>(self, v: T) -> Self
pub fn set_update_time<T>(self, v: T) -> Self
Sets the value of update_time.
Sourcepub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of update_time.
Sourcepub fn set_labels<T, K, V>(self, v: T) -> Self
pub fn set_labels<T, K, V>(self, v: T) -> Self
Sets the value of labels.
Sourcepub fn set_description<T: Into<String>>(self, v: T) -> Self
pub fn set_description<T: Into<String>>(self, v: T) -> Self
Sets the value of description.
Sourcepub fn set_ip_cidr_range<T: Into<String>>(self, v: T) -> Self
pub fn set_ip_cidr_range<T: Into<String>>(self, v: T) -> Self
Sets the value of ip_cidr_range.
Sourcepub fn set_network<T: Into<String>>(self, v: T) -> Self
pub fn set_network<T: Into<String>>(self, v: T) -> Self
Sets the value of network.
Sourcepub fn set_peering<T: Into<Peering>>(self, v: T) -> Self
pub fn set_peering<T: Into<Peering>>(self, v: T) -> Self
Sets the value of peering.
Sourcepub fn set_prefix_length<T: Into<i32>>(self, v: T) -> Self
pub fn set_prefix_length<T: Into<i32>>(self, v: T) -> Self
Sets the value of prefix_length.
Sourcepub fn set_target_cidr_range<T, V>(self, v: T) -> Self
pub fn set_target_cidr_range<T, V>(self, v: T) -> Self
Sets the value of target_cidr_range.
Sourcepub fn set_overlaps<T, V>(self, v: T) -> Self
pub fn set_overlaps<T, V>(self, v: T) -> Self
Sets the value of overlaps.
Sourcepub fn set_migration<T>(self, v: T) -> Self
pub fn set_migration<T>(self, v: T) -> Self
Sets the value of migration.
Sourcepub fn set_or_clear_migration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_migration<T>(self, v: Option<T>) -> Self
Sets or clears the value of migration.
Sourcepub fn set_immutable<T: Into<bool>>(self, v: T) -> Self
pub fn set_immutable<T: Into<bool>>(self, v: T) -> Self
Sets the value of immutable.
Sourcepub fn set_allocation_options<T>(self, v: T) -> Selfwhere
T: Into<AllocationOptions>,
pub fn set_allocation_options<T>(self, v: T) -> Selfwhere
T: Into<AllocationOptions>,
Sets the value of allocation_options.
Sourcepub fn set_or_clear_allocation_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<AllocationOptions>,
pub fn set_or_clear_allocation_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<AllocationOptions>,
Sets or clears the value of allocation_options.
Sourcepub fn set_exclude_cidr_ranges<T, V>(self, v: T) -> Self
pub fn set_exclude_cidr_ranges<T, V>(self, v: T) -> Self
Sets the value of exclude_cidr_ranges.
Trait Implementations§
Source§impl Clone for InternalRange
impl Clone for InternalRange
Source§fn clone(&self) -> InternalRange
fn clone(&self) -> InternalRange
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more