Skip to main content

InterconnectAttachmentL2Forwarding

Struct InterconnectAttachmentL2Forwarding 

Source
#[non_exhaustive]
pub struct InterconnectAttachmentL2Forwarding { pub appliance_mappings: HashMap<String, InterconnectAttachmentL2ForwardingApplianceMapping>, pub default_appliance_ip_address: Option<String>, pub geneve_header: Option<InterconnectAttachmentL2ForwardingGeneveHeader>, pub network: Option<String>, pub tunnel_endpoint_ip_address: Option<String>, /* private fields */ }
Available on crate feature interconnect-attachments only.
Expand description

L2 Interconnect Attachment related configuration.

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

Optional. A map of VLAN tags to appliances and optional inner mapping rules. If VLANs are not explicitly mapped to any appliance, the defaultApplianceIpAddress is used.

Each VLAN tag can be a single number or a range of numbers in the range of 1 to 4094, e.g., “1” or “4001-4094”. Non-empty and non-overlapping VLAN tag ranges are enforced, and violating operations will be rejected.

The VLAN tags in the Ethernet header must use an ethertype value of 0x88A8 or 0x8100.

§default_appliance_ip_address: Option<String>

Optional. A single IPv4 or IPv6 address used as the default destination IP when there is no VLAN mapping result found.

Unset field (null-value) indicates the unmatched packet should be dropped.

§geneve_header: Option<InterconnectAttachmentL2ForwardingGeneveHeader>

Optional. It represents the structure of a Geneve (Generic Network Virtualization Encapsulation) header, as defined in RFC8926. It encapsulates packets from various protocols (e.g., Ethernet, IPv4, IPv6) for use in network virtualization environments.

§network: Option<String>

Required. Resource URL of the network to which this attachment belongs.

§tunnel_endpoint_ip_address: Option<String>

Required. A single IPv4 or IPv6 address. This address will be used as the source IP address for packets sent to the appliances, and must be used as the destination IP address for packets that should be sent out through this attachment.

Implementations§

Source§

impl InterconnectAttachmentL2Forwarding

Source

pub fn new() -> Self

Source

pub fn set_appliance_mappings<T, K, V>(self, v: T) -> Self

Sets the value of appliance_mappings.

§Example
use google_cloud_compute_v1::model::InterconnectAttachmentL2ForwardingApplianceMapping;
let x = InterconnectAttachmentL2Forwarding::new().set_appliance_mappings([
    ("key0", InterconnectAttachmentL2ForwardingApplianceMapping::default()/* use setters */),
    ("key1", InterconnectAttachmentL2ForwardingApplianceMapping::default()/* use (different) setters */),
]);
Source

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

Sets the value of default_appliance_ip_address.

§Example
let x = InterconnectAttachmentL2Forwarding::new().set_default_appliance_ip_address("example");
Source

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

Sets or clears the value of default_appliance_ip_address.

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

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

Sets the value of geneve_header.

§Example
use google_cloud_compute_v1::model::InterconnectAttachmentL2ForwardingGeneveHeader;
let x = InterconnectAttachmentL2Forwarding::new().set_geneve_header(InterconnectAttachmentL2ForwardingGeneveHeader::default()/* use setters */);
Source

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

Sets or clears the value of geneve_header.

§Example
use google_cloud_compute_v1::model::InterconnectAttachmentL2ForwardingGeneveHeader;
let x = InterconnectAttachmentL2Forwarding::new().set_or_clear_geneve_header(Some(InterconnectAttachmentL2ForwardingGeneveHeader::default()/* use setters */));
let x = InterconnectAttachmentL2Forwarding::new().set_or_clear_geneve_header(None::<InterconnectAttachmentL2ForwardingGeneveHeader>);
Source

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

Sets the value of network.

§Example
let x = InterconnectAttachmentL2Forwarding::new().set_network("example");
Source

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

Sets or clears the value of network.

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

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

Sets the value of tunnel_endpoint_ip_address.

§Example
let x = InterconnectAttachmentL2Forwarding::new().set_tunnel_endpoint_ip_address("example");
Source

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

Sets or clears the value of tunnel_endpoint_ip_address.

§Example
let x = InterconnectAttachmentL2Forwarding::new().set_or_clear_tunnel_endpoint_ip_address(Some("example"));
let x = InterconnectAttachmentL2Forwarding::new().set_or_clear_tunnel_endpoint_ip_address(None::<String>);

Trait Implementations§

Source§

impl Clone for InterconnectAttachmentL2Forwarding

Source§

fn clone(&self) -> InterconnectAttachmentL2Forwarding

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 InterconnectAttachmentL2Forwarding

Source§

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

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

impl Default for InterconnectAttachmentL2Forwarding

Source§

fn default() -> InterconnectAttachmentL2Forwarding

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

impl Message for InterconnectAttachmentL2Forwarding

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for InterconnectAttachmentL2Forwarding

Source§

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

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