Skip to main content

NetworkEndpoint

Struct NetworkEndpoint 

Source
#[non_exhaustive]
pub struct NetworkEndpoint { pub annotations: HashMap<String, String>, pub client_destination_port: Option<i32>, pub fqdn: Option<String>, pub instance: Option<String>, pub ip_address: Option<String>, pub ipv_6_address: Option<String>, pub port: Option<i32>, /* private fields */ }
Available on crate features global-network-endpoint-groups or network-endpoint-groups or region-network-endpoint-groups only.
Expand description

The network endpoint.

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.
§annotations: HashMap<String, String>

Optional metadata defined as annotations on the network endpoint.

§client_destination_port: Option<i32>

Represents the port number to which PSC consumer sends packets.

Optional. Only valid for network endpoint groups created withGCE_VM_IP_PORTMAP endpoint type.

§fqdn: Option<String>

Optional fully qualified domain name of network endpoint. This can only be specified when NetworkEndpointGroup.network_endpoint_type isNON_GCP_FQDN_PORT.

§instance: Option<String>

The name or a URL of VM instance of this network endpoint. Optional, the field presence depends on the network endpoint type. The field is required for network endpoints of type GCE_VM_IP andGCE_VM_IP_PORT.

The instance must be in the same zone of network endpoint group (for zonal NEGs) or in the zone within the region of the NEG (for regional NEGs). If the ipAddress is specified, it must belongs to the VM instance.

The name must be 1-63 characters long, and comply withRFC1035 or be a valid URL pointing to an existing instance.

§ip_address: Option<String>

Optional IPv4 address of network endpoint. The IP address must belong to a VM in Compute Engine (either the primary IP or as part of an aliased IP range). If the IP address is not specified, then the primary IP address for the VM instance in the network that the network endpoint group belongs to will be used.

This field is redundant and need not be set for network endpoints of typeGCE_VM_IP. If set, it must be set to the primary internal IP address of the attached VM instance that matches the subnetwork of the NEG. The primary internal IP address from any NIC of a multi-NIC VM instance can be added to a NEG as long as it matches the NEG subnetwork.

§ipv_6_address: Option<String>

Optional IPv6 address of network endpoint.

§port: Option<i32>

Optional port number of network endpoint. If not specified, the defaultPort for the network endpoint group will be used.

This field can not be set for network endpoints of typeGCE_VM_IP.

Implementations§

Source§

impl NetworkEndpoint

Source

pub fn new() -> Self

Source

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

Sets the value of annotations.

§Example
let x = NetworkEndpoint::new().set_annotations([
    ("key0", "abc"),
    ("key1", "xyz"),
]);
Source

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

Sets the value of client_destination_port.

§Example
let x = NetworkEndpoint::new().set_client_destination_port(42);
Source

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

Sets or clears the value of client_destination_port.

§Example
let x = NetworkEndpoint::new().set_or_clear_client_destination_port(Some(42));
let x = NetworkEndpoint::new().set_or_clear_client_destination_port(None::<i32>);
Source

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

Sets the value of fqdn.

§Example
let x = NetworkEndpoint::new().set_fqdn("example");
Source

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

Sets or clears the value of fqdn.

§Example
let x = NetworkEndpoint::new().set_or_clear_fqdn(Some("example"));
let x = NetworkEndpoint::new().set_or_clear_fqdn(None::<String>);
Source

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

Sets the value of instance.

§Example
let x = NetworkEndpoint::new().set_instance("example");
Source

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

Sets or clears the value of instance.

§Example
let x = NetworkEndpoint::new().set_or_clear_instance(Some("example"));
let x = NetworkEndpoint::new().set_or_clear_instance(None::<String>);
Source

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

Sets the value of ip_address.

§Example
let x = NetworkEndpoint::new().set_ip_address("example");
Source

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

Sets or clears the value of ip_address.

§Example
let x = NetworkEndpoint::new().set_or_clear_ip_address(Some("example"));
let x = NetworkEndpoint::new().set_or_clear_ip_address(None::<String>);
Source

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

Sets the value of ipv_6_address.

§Example
let x = NetworkEndpoint::new().set_ipv_6_address("example");
Source

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

Sets or clears the value of ipv_6_address.

§Example
let x = NetworkEndpoint::new().set_or_clear_ipv_6_address(Some("example"));
let x = NetworkEndpoint::new().set_or_clear_ipv_6_address(None::<String>);
Source

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

Sets the value of port.

§Example
let x = NetworkEndpoint::new().set_port(42);
Source

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

Sets or clears the value of port.

§Example
let x = NetworkEndpoint::new().set_or_clear_port(Some(42));
let x = NetworkEndpoint::new().set_or_clear_port(None::<i32>);

Trait Implementations§

Source§

impl Clone for NetworkEndpoint

Source§

fn clone(&self) -> NetworkEndpoint

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 NetworkEndpoint

Source§

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

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

impl Default for NetworkEndpoint

Source§

fn default() -> NetworkEndpoint

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

impl Message for NetworkEndpoint

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for NetworkEndpoint

Source§

fn eq(&self, other: &NetworkEndpoint) -> 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 NetworkEndpoint

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>,