#[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 */
}interconnect-groups only.Expand description
LINT.IfChange
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.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
impl InterconnectGroupsCreateMembersInterconnectInput
pub fn new() -> Self
Sourcepub fn set_admin_enabled<T>(self, v: T) -> Self
pub fn set_admin_enabled<T>(self, v: T) -> Self
Sets the value of admin_enabled.
§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_admin_enabled(true);Sourcepub fn set_or_clear_admin_enabled<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_admin_enabled<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_customer_name<T>(self, v: T) -> Self
pub fn set_customer_name<T>(self, v: T) -> Self
Sets the value of customer_name.
§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_customer_name("example");Sourcepub fn set_or_clear_customer_name<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_customer_name<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_description<T>(self, v: T) -> Self
pub fn set_description<T>(self, v: T) -> Self
Sets the value of description.
§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_description("example");Sourcepub fn set_or_clear_description<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_description<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_facility<T>(self, v: T) -> Self
pub fn set_facility<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_facility<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_facility<T>(self, v: Option<T>) -> Self
Sourcepub fn set_interconnect_type<T>(self, v: T) -> Selfwhere
T: Into<InterconnectType>,
pub fn set_interconnect_type<T>(self, v: T) -> Selfwhere
T: Into<InterconnectType>,
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);Sourcepub fn set_or_clear_interconnect_type<T>(self, v: Option<T>) -> Selfwhere
T: Into<InterconnectType>,
pub fn set_or_clear_interconnect_type<T>(self, v: Option<T>) -> Selfwhere
T: Into<InterconnectType>,
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>);Sourcepub fn set_link_type<T>(self, v: T) -> Self
pub fn set_link_type<T>(self, v: T) -> Self
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);Sourcepub fn set_or_clear_link_type<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_link_type<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_or_clear_name<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_name<T>(self, v: Option<T>) -> Self
Sourcepub fn set_noc_contact_email<T>(self, v: T) -> Self
pub fn set_noc_contact_email<T>(self, v: T) -> Self
Sets the value of noc_contact_email.
§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_noc_contact_email("example");Sourcepub fn set_or_clear_noc_contact_email<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_noc_contact_email<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_remote_location<T>(self, v: T) -> Self
pub fn set_remote_location<T>(self, v: T) -> Self
Sets the value of remote_location.
§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_remote_location("example");Sourcepub fn set_or_clear_remote_location<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_remote_location<T>(self, v: Option<T>) -> Self
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>);Sourcepub fn set_requested_features<T, V>(self, v: T) -> Self
pub fn set_requested_features<T, V>(self, v: T) -> Self
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,
]);Sourcepub fn set_requested_link_count<T>(self, v: T) -> Self
pub fn set_requested_link_count<T>(self, v: T) -> Self
Sets the value of requested_link_count.
§Example
let x = InterconnectGroupsCreateMembersInterconnectInput::new().set_requested_link_count(42);Sourcepub fn set_or_clear_requested_link_count<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_requested_link_count<T>(self, v: Option<T>) -> Self
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
impl Clone for InterconnectGroupsCreateMembersInterconnectInput
Source§fn clone(&self) -> InterconnectGroupsCreateMembersInterconnectInput
fn clone(&self) -> InterconnectGroupsCreateMembersInterconnectInput
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for InterconnectGroupsCreateMembersInterconnectInput
impl Default for InterconnectGroupsCreateMembersInterconnectInput
Source§fn default() -> InterconnectGroupsCreateMembersInterconnectInput
fn default() -> InterconnectGroupsCreateMembersInterconnectInput
Source§impl PartialEq for InterconnectGroupsCreateMembersInterconnectInput
impl PartialEq for InterconnectGroupsCreateMembersInterconnectInput
Source§fn eq(&self, other: &InterconnectGroupsCreateMembersInterconnectInput) -> bool
fn eq(&self, other: &InterconnectGroupsCreateMembersInterconnectInput) -> bool
self and other values to be equal, and is used by ==.