#[non_exhaustive]pub struct Router {Show 15 fields
pub bgp: Option<RouterBgp>,
pub bgp_peers: Vec<RouterBgpPeer>,
pub creation_timestamp: Option<String>,
pub description: Option<String>,
pub encrypted_interconnect_router: Option<bool>,
pub id: Option<u64>,
pub interfaces: Vec<RouterInterface>,
pub kind: Option<String>,
pub md_5_authentication_keys: Vec<RouterMd5AuthenticationKey>,
pub name: Option<String>,
pub nats: Vec<RouterNat>,
pub network: Option<String>,
pub params: Option<RouterParams>,
pub region: Option<String>,
pub self_link: Option<String>,
/* private fields */
}routers only.Expand description
Represents a Cloud Router resource.
For more information about Cloud Router, read theCloud Router overview.
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.bgp: Option<RouterBgp>BGP information specific to this router.
bgp_peers: Vec<RouterBgpPeer>BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer toRFC4273.
creation_timestamp: Option<String>Output only. [Output Only] Creation timestamp inRFC3339 text format.
description: Option<String>An optional description of this resource. Provide this property when you create the resource.
encrypted_interconnect_router: Option<bool>Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
id: Option<u64>[Output Only] The unique identifier for the resource. This identifier is defined by the server.
interfaces: Vec<RouterInterface>Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified:
- linkedVpnTunnel
- linkedInterconnectAttachment
- subnetwork
You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.
kind: Option<String>Output only. [Output Only] Type of resource. Always compute#router for routers.
md_5_authentication_keys: Vec<RouterMd5AuthenticationKey>Keys used for MD5 authentication.
name: Option<String>Name of the resource. Provided by the client when the resource is created.
The name must be 1-63 characters long, and comply withRFC1035.
Specifically, the 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.
nats: Vec<RouterNat>A list of NAT services created in this router.
network: Option<String>URI of the network to which this router belongs.
params: Option<RouterParams>Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
region: Option<String>[Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
self_link: Option<String>[Output Only] Server-defined URL for the resource.
Implementations§
Source§impl Router
impl Router
pub fn new() -> Self
Sourcepub fn set_or_clear_bgp<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_bgp<T>(self, v: Option<T>) -> Self
Sourcepub fn set_bgp_peers<T, V>(self, v: T) -> Self
pub fn set_bgp_peers<T, V>(self, v: T) -> Self
Sourcepub fn set_creation_timestamp<T>(self, v: T) -> Self
pub fn set_creation_timestamp<T>(self, v: T) -> Self
Sets the value of creation_timestamp.
§Example
let x = Router::new().set_creation_timestamp("example");Sourcepub fn set_or_clear_creation_timestamp<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_creation_timestamp<T>(self, v: Option<T>) -> Self
Sets or clears the value of creation_timestamp.
§Example
let x = Router::new().set_or_clear_creation_timestamp(Some("example"));
let x = Router::new().set_or_clear_creation_timestamp(None::<String>);Sourcepub fn set_description<T>(self, v: T) -> Self
pub fn set_description<T>(self, v: T) -> Self
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 = Router::new().set_or_clear_description(Some("example"));
let x = Router::new().set_or_clear_description(None::<String>);Sourcepub fn set_encrypted_interconnect_router<T>(self, v: T) -> Self
pub fn set_encrypted_interconnect_router<T>(self, v: T) -> Self
Sets the value of encrypted_interconnect_router.
§Example
let x = Router::new().set_encrypted_interconnect_router(true);Sourcepub fn set_or_clear_encrypted_interconnect_router<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_encrypted_interconnect_router<T>(self, v: Option<T>) -> Self
Sets or clears the value of encrypted_interconnect_router.
§Example
let x = Router::new().set_or_clear_encrypted_interconnect_router(Some(false));
let x = Router::new().set_or_clear_encrypted_interconnect_router(None::<bool>);Sourcepub fn set_or_clear_id<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_id<T>(self, v: Option<T>) -> Self
Sourcepub fn set_interfaces<T, V>(self, v: T) -> Self
pub fn set_interfaces<T, V>(self, v: T) -> Self
Sets the value of interfaces.
§Example
use google_cloud_compute_v1::model::RouterInterface;
let x = Router::new()
.set_interfaces([
RouterInterface::default()/* use setters */,
RouterInterface::default()/* use (different) setters */,
]);Sourcepub fn set_or_clear_kind<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_kind<T>(self, v: Option<T>) -> Self
Sourcepub fn set_md_5_authentication_keys<T, V>(self, v: T) -> Self
pub fn set_md_5_authentication_keys<T, V>(self, v: T) -> Self
Sets the value of md_5_authentication_keys.
§Example
use google_cloud_compute_v1::model::RouterMd5AuthenticationKey;
let x = Router::new()
.set_md_5_authentication_keys([
RouterMd5AuthenticationKey::default()/* use setters */,
RouterMd5AuthenticationKey::default()/* use (different) setters */,
]);