#[non_exhaustive]pub struct InterconnectRemoteLocationConstraints {
pub port_pair_remote_location: Option<PortPairRemoteLocation>,
pub port_pair_vlan: Option<PortPairVlan>,
pub subnet_length_range: Option<InterconnectRemoteLocationConstraintsSubnetLengthRange>,
/* private fields */
}interconnect-remote-locations only.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.port_pair_remote_location: Option<PortPairRemoteLocation>Output only. [Output Only] Port pair remote location constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, PORT_PAIR_MATCHING_REMOTE_LOCATION.
Google Cloud API refers only to individual ports, but the UI uses this field when ordering a pair of ports, to prevent users from accidentally ordering something that is incompatible with their cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud Interconnect ports, and one of them uses a remote location with portPairMatchingRemoteLocation set to matching, the UI requires that both ports use the same remote location.
port_pair_vlan: Option<PortPairVlan>Output only. [Output Only] Port pair VLAN constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN
subnet_length_range: Option<InterconnectRemoteLocationConstraintsSubnetLengthRange>Output only. [Output Only]
[min-length, max-length]
The minimum and maximum value (inclusive) for the IPv4 subnet length.
For example, an interconnectRemoteLocation for Azure has {min: 30, max: 30} because Azure requires /30 subnets.
This range specifies the values supported by both cloud providers. Interconnect currently supports /29 and /30 IPv4 subnet lengths. If a remote cloud has no constraint on IPv4 subnet length, the range would thus be {min: 29, max: 30}.
Implementations§
Source§impl InterconnectRemoteLocationConstraints
impl InterconnectRemoteLocationConstraints
Sourcepub fn set_port_pair_remote_location<T>(self, v: T) -> Selfwhere
T: Into<PortPairRemoteLocation>,
pub fn set_port_pair_remote_location<T>(self, v: T) -> Selfwhere
T: Into<PortPairRemoteLocation>,
Sets the value of port_pair_remote_location.
§Example
use google_cloud_compute_v1::model::interconnect_remote_location_constraints::PortPairRemoteLocation;
let x0 = InterconnectRemoteLocationConstraints::new().set_port_pair_remote_location(PortPairRemoteLocation::PortPairUnconstrainedRemoteLocation);Sourcepub fn set_or_clear_port_pair_remote_location<T>(self, v: Option<T>) -> Selfwhere
T: Into<PortPairRemoteLocation>,
pub fn set_or_clear_port_pair_remote_location<T>(self, v: Option<T>) -> Selfwhere
T: Into<PortPairRemoteLocation>,
Sets or clears the value of port_pair_remote_location.
§Example
use google_cloud_compute_v1::model::interconnect_remote_location_constraints::PortPairRemoteLocation;
let x0 = InterconnectRemoteLocationConstraints::new().set_or_clear_port_pair_remote_location(Some(PortPairRemoteLocation::PortPairUnconstrainedRemoteLocation));
let x_none = InterconnectRemoteLocationConstraints::new().set_or_clear_port_pair_remote_location(None::<PortPairRemoteLocation>);Sourcepub fn set_port_pair_vlan<T>(self, v: T) -> Selfwhere
T: Into<PortPairVlan>,
pub fn set_port_pair_vlan<T>(self, v: T) -> Selfwhere
T: Into<PortPairVlan>,
Sets the value of port_pair_vlan.
§Example
use google_cloud_compute_v1::model::interconnect_remote_location_constraints::PortPairVlan;
let x0 = InterconnectRemoteLocationConstraints::new().set_port_pair_vlan(PortPairVlan::PortPairUnconstrainedVlan);Sourcepub fn set_or_clear_port_pair_vlan<T>(self, v: Option<T>) -> Selfwhere
T: Into<PortPairVlan>,
pub fn set_or_clear_port_pair_vlan<T>(self, v: Option<T>) -> Selfwhere
T: Into<PortPairVlan>,
Sets or clears the value of port_pair_vlan.
§Example
use google_cloud_compute_v1::model::interconnect_remote_location_constraints::PortPairVlan;
let x0 = InterconnectRemoteLocationConstraints::new().set_or_clear_port_pair_vlan(Some(PortPairVlan::PortPairUnconstrainedVlan));
let x_none = InterconnectRemoteLocationConstraints::new().set_or_clear_port_pair_vlan(None::<PortPairVlan>);Sourcepub fn set_subnet_length_range<T>(self, v: T) -> Self
pub fn set_subnet_length_range<T>(self, v: T) -> Self
Sets the value of subnet_length_range.
§Example
use google_cloud_compute_v1::model::InterconnectRemoteLocationConstraintsSubnetLengthRange;
let x = InterconnectRemoteLocationConstraints::new().set_subnet_length_range(InterconnectRemoteLocationConstraintsSubnetLengthRange::default()/* use setters */);Sourcepub fn set_or_clear_subnet_length_range<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_subnet_length_range<T>(self, v: Option<T>) -> Self
Sets or clears the value of subnet_length_range.
§Example
use google_cloud_compute_v1::model::InterconnectRemoteLocationConstraintsSubnetLengthRange;
let x = InterconnectRemoteLocationConstraints::new().set_or_clear_subnet_length_range(Some(InterconnectRemoteLocationConstraintsSubnetLengthRange::default()/* use setters */));
let x = InterconnectRemoteLocationConstraints::new().set_or_clear_subnet_length_range(None::<InterconnectRemoteLocationConstraintsSubnetLengthRange>);Trait Implementations§
Source§impl Clone for InterconnectRemoteLocationConstraints
impl Clone for InterconnectRemoteLocationConstraints
Source§fn clone(&self) -> InterconnectRemoteLocationConstraints
fn clone(&self) -> InterconnectRemoteLocationConstraints
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for InterconnectRemoteLocationConstraints
impl Default for InterconnectRemoteLocationConstraints
Source§fn default() -> InterconnectRemoteLocationConstraints
fn default() -> InterconnectRemoteLocationConstraints
impl StructuralPartialEq for InterconnectRemoteLocationConstraints
Auto Trait Implementations§
impl Freeze for InterconnectRemoteLocationConstraints
impl RefUnwindSafe for InterconnectRemoteLocationConstraints
impl Send for InterconnectRemoteLocationConstraints
impl Sync for InterconnectRemoteLocationConstraints
impl Unpin for InterconnectRemoteLocationConstraints
impl UnsafeUnpin for InterconnectRemoteLocationConstraints
impl UnwindSafe for InterconnectRemoteLocationConstraints
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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