#[repr(i32)]pub enum Purpose {
UndefinedPurpose = 0,
DnsResolver = 476_114_556,
GceEndpoint = 230_515_243,
IpsecInterconnect = 340_437_251,
NatAuto = 163_666_477,
PrivateServiceConnect = 48_134_724,
Serverless = 270_492_508,
SharedLoadbalancerVip = 294_447_572,
VpcPeering = 400_800_170,
}
Expand description
The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an HA VPN over Cloud Interconnect configuration. These addresses are regional resources. - SHARED_LOADBALANCER_VIP
for an internal IP address that is assigned to multiple internal forwarding rules. - PRIVATE_SERVICE_CONNECT
for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose.
Variants§
UndefinedPurpose = 0
A value indicating that the enum field is not set.
DnsResolver = 476_114_556
DNS resolver address in the subnetwork.
GceEndpoint = 230_515_243
VM internal/alias IP, Internal LB service IP, etc.
IpsecInterconnect = 340_437_251
A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.
NatAuto = 163_666_477
External IP automatically reserved for Cloud NAT.
PrivateServiceConnect = 48_134_724
A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL
Serverless = 270_492_508
A regional internal IP address range reserved for Serverless.
A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.
VpcPeering = 400_800_170
IP range for peer networks.
Implementations§
source§impl Purpose
impl Purpose
sourcepub fn as_str_name(&self) -> &'static str
pub fn as_str_name(&self) -> &'static str
String value of the enum field names used in the ProtoBuf definition.
The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.
sourcepub fn from_str_name(value: &str) -> Option<Self>
pub fn from_str_name(value: &str) -> Option<Self>
Creates an enum from field names used in the ProtoBuf definition.
Trait Implementations§
source§impl Ord for Purpose
impl Ord for Purpose
source§impl PartialEq for Purpose
impl PartialEq for Purpose
source§impl PartialOrd for Purpose
impl PartialOrd for Purpose
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl TryFrom<i32> for Purpose
impl TryFrom<i32> for Purpose
§type Error = UnknownEnumValue
type Error = UnknownEnumValue
impl Copy for Purpose
impl Eq for Purpose
impl StructuralPartialEq for Purpose
Auto Trait Implementations§
impl Freeze for Purpose
impl RefUnwindSafe for Purpose
impl Send for Purpose
impl Sync for Purpose
impl Unpin for Purpose
impl UnwindSafe for Purpose
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
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request