InternalRange

Struct InternalRange 

Source
#[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
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§name: String

Identifier. 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: String

Optional. A description of this resource.

§ip_cidr_range: String

Optional. 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: String

Immutable. 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: Usage

Optional. The type of usage set for this InternalRange.

§peering: Peering

Optional. The type of peering set for this internal range.

§prefix_length: i32

Optional. 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: bool

Optional. 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

Source

pub fn new() -> Self

Source

pub fn set_name<T: Into<String>>(self, v: T) -> Self

Sets the value of name.

Source

pub fn set_create_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of create_time.

Source

pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of create_time.

Source

pub fn set_update_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of update_time.

Source

pub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of update_time.

Source

pub fn set_labels<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<String>,

Sets the value of labels.

Source

pub fn set_description<T: Into<String>>(self, v: T) -> Self

Sets the value of description.

Source

pub fn set_ip_cidr_range<T: Into<String>>(self, v: T) -> Self

Sets the value of ip_cidr_range.

Source

pub fn set_network<T: Into<String>>(self, v: T) -> Self

Sets the value of network.

Source

pub fn set_usage<T: Into<Usage>>(self, v: T) -> Self

Sets the value of usage.

Source

pub fn set_peering<T: Into<Peering>>(self, v: T) -> Self

Sets the value of peering.

Source

pub fn set_prefix_length<T: Into<i32>>(self, v: T) -> Self

Sets the value of prefix_length.

Source

pub fn set_target_cidr_range<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of target_cidr_range.

Source

pub fn set_users<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of users.

Source

pub fn set_overlaps<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<Overlap>,

Sets the value of overlaps.

Source

pub fn set_migration<T>(self, v: T) -> Self
where T: Into<Migration>,

Sets the value of migration.

Source

pub fn set_or_clear_migration<T>(self, v: Option<T>) -> Self
where T: Into<Migration>,

Sets or clears the value of migration.

Source

pub fn set_immutable<T: Into<bool>>(self, v: T) -> Self

Sets the value of immutable.

Source

pub fn set_allocation_options<T>(self, v: T) -> Self

Sets the value of allocation_options.

Source

pub fn set_or_clear_allocation_options<T>(self, v: Option<T>) -> Self

Sets or clears the value of allocation_options.

Source

pub fn set_exclude_cidr_ranges<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of exclude_cidr_ranges.

Trait Implementations§

Source§

impl Clone for InternalRange

Source§

fn clone(&self) -> InternalRange

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for InternalRange

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for InternalRange

Source§

fn default() -> InternalRange

Returns the “default value” for a type. Read more
Source§

impl Message for InternalRange

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for InternalRange

Source§

fn eq(&self, other: &InternalRange) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for InternalRange

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,