Skip to main content

InterconnectGroupsCreateMembersInterconnectInput

Struct InterconnectGroupsCreateMembersInterconnectInput 

Source
#[non_exhaustive]
pub struct InterconnectGroupsCreateMembersInterconnectInput { pub admin_enabled: Option<bool>, pub customer_name: Option<String>, pub description: Option<String>, pub facility: Option<String>, pub interconnect_type: Option<InterconnectType>, pub link_type: Option<LinkType>, pub name: Option<String>, pub noc_contact_email: Option<String>, pub remote_location: Option<String>, pub requested_features: Vec<RequestedFeatures>, pub requested_link_count: Option<i32>, /* private fields */ }
Available on crate feature interconnect-groups only.
Expand description

LINT.IfChange

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.
§admin_enabled: Option<bool>

Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true.

§customer_name: Option<String>

Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect.

§description: Option<String>

An optional description of this resource. Provide this property when you create the resource.

§facility: Option<String>

A zone-free location to use for all Interconnects created in this call, like “iad-1234”.

§interconnect_type: Option<InterconnectType>

Type of interconnect, which can take one of the following values:

  • PARTNER: A partner-managed interconnection shared between customers though a partner.
  • DEDICATED: A dedicated physical interconnection with the customer.

Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.

§link_type: Option<LinkType>

Type of link requested, which can take one of the following values:

  • LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics
  • LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
  • LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics.

Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle.

§name: Option<String>

Name of the Interconnects to be created. This must be specified on the template and/or on each individual interconnect. The name, if not empty, must be 1-63 characters long, and comply with RFC1035. Specifically, any nonempty name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

§noc_contact_email: Option<String>

Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect. If specified, this will be used for notifications in addition to all other forms described, such as Cloud Monitoring logs alerting and Cloud Notifications. This field is required for users who sign up for Cloud Interconnect using workforce identity federation.

§remote_location: Option<String>

Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google’s network that the interconnect is connected to.

§requested_features: Vec<RequestedFeatures>

Optional. List of features requested for this Interconnect connection, which can take one of the following values:

  • IF_MACSEC: If specified, then the connection is created on MACsec capable hardware ports. If not specified, non-MACsec capable ports will also be considered.
  • IF_CROSS_SITE_NETWORK: If specified, then the connection is created exclusively for Cross-Site Networking. The connection can not be used for Cross-Site Networking unless this feature is specified.
§requested_link_count: Option<i32>

Target number of physical links in the link bundle, as requested by the customer.

Implementations§

Source§

impl InterconnectGroupsCreateMembersInterconnectInput

Source

pub fn new() -> Self

Source

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

Sets the value of admin_enabled.

§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_admin_enabled(true);
Source

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

Sets or clears the value of admin_enabled.

§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_or_clear_admin_enabled(Some(false));
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_or_clear_admin_enabled(None::<bool>);
Source

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

Sets the value of customer_name.

§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_customer_name("example");
Source

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

Sets or clears the value of customer_name.

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

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

Sets the value of description.

§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_description("example");
Source

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

Sets or clears the value of description.

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

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

Sets the value of facility.

§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_facility("example");
Source

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

Sets or clears the value of facility.

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

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

Sets the value of interconnect_type.

§Example
use google_cloud_compute_v1::model::interconnect_groups_create_members_interconnect_input::InterconnectType;
let x0 = InterconnectGroupsCreateMembersInterconnectInput::new().set_interconnect_type(InterconnectType::ItPrivate);
let x1 = InterconnectGroupsCreateMembersInterconnectInput::new().set_interconnect_type(InterconnectType::Partner);
Source

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

Sets or clears the value of interconnect_type.

§Example
use google_cloud_compute_v1::model::interconnect_groups_create_members_interconnect_input::InterconnectType;
let x0 = InterconnectGroupsCreateMembersInterconnectInput::new().set_or_clear_interconnect_type(Some(InterconnectType::ItPrivate));
let x1 = InterconnectGroupsCreateMembersInterconnectInput::new().set_or_clear_interconnect_type(Some(InterconnectType::Partner));
let x_none = InterconnectGroupsCreateMembersInterconnectInput::new().set_or_clear_interconnect_type(None::<InterconnectType>);

Sets the value of link_type.

§Example
use google_cloud_compute_v1::model::interconnect_groups_create_members_interconnect_input::LinkType;
let x0 = InterconnectGroupsCreateMembersInterconnectInput::new().set_link_type(LinkType::Ethernet10GLr);
let x1 = InterconnectGroupsCreateMembersInterconnectInput::new().set_link_type(LinkType::Ethernet400GLr4);

Sets or clears the value of link_type.

§Example
use google_cloud_compute_v1::model::interconnect_groups_create_members_interconnect_input::LinkType;
let x0 = InterconnectGroupsCreateMembersInterconnectInput::new().set_or_clear_link_type(Some(LinkType::Ethernet10GLr));
let x1 = InterconnectGroupsCreateMembersInterconnectInput::new().set_or_clear_link_type(Some(LinkType::Ethernet400GLr4));
let x_none = InterconnectGroupsCreateMembersInterconnectInput::new().set_or_clear_link_type(None::<LinkType>);
Source

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

Sets the value of name.

§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_name("example");
Source

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

Sets or clears the value of name.

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

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

Sets the value of noc_contact_email.

§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_noc_contact_email("example");
Source

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

Sets or clears the value of noc_contact_email.

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

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

Sets the value of remote_location.

§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_remote_location("example");
Source

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

Sets or clears the value of remote_location.

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

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

Sets the value of requested_features.

§Example
use google_cloud_compute_v1::model::interconnect_groups_create_members_interconnect_input::RequestedFeatures;
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_requested_features([
    RequestedFeatures::IfL2Forwarding,
    RequestedFeatures::IfMacsec,
]);

Sets the value of requested_link_count.

§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_requested_link_count(42);

Sets or clears the value of requested_link_count.

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

Trait Implementations§

Source§

impl Clone for InterconnectGroupsCreateMembersInterconnectInput

Source§

fn clone(&self) -> InterconnectGroupsCreateMembersInterconnectInput

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 InterconnectGroupsCreateMembersInterconnectInput

Source§

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

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

impl Default for InterconnectGroupsCreateMembersInterconnectInput

Source§

fn default() -> InterconnectGroupsCreateMembersInterconnectInput

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

impl Message for InterconnectGroupsCreateMembersInterconnectInput

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for InterconnectGroupsCreateMembersInterconnectInput

Source§

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

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