#[non_exhaustive]pub struct ExternalVpnGatewayInterface {
pub id: Option<u32>,
pub ip_address: Option<String>,
pub ipv_6_address: Option<String>,
/* private fields */
}external-vpn-gateways only.Expand description
The interface for the external VPN gateway.
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.id: Option<u32>The numeric ID of this interface. The allowed input values for this id for different redundancy types of external VPN gateway:
- SINGLE_IP_INTERNALLY_REDUNDANT - 0
- TWO_IPS_REDUNDANCY - 0, 1
- FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
ip_address: Option<String>IP address of the interface in the external VPN gateway. Only IPv4 is supported. This IP address can be either from your on-premise gateway or another Cloud provider’s VPN gateway, it cannot be an IP address from Google Compute Engine.
ipv_6_address: Option<String>IPv6 address of the interface in the external VPN gateway. This IPv6 address can be either from your on-premise gateway or another Cloud provider’s VPN gateway, it cannot be an IP address from Google Compute Engine. Must specify an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).
Implementations§
Source§impl ExternalVpnGatewayInterface
impl ExternalVpnGatewayInterface
pub fn new() -> Self
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_ip_address<T>(self, v: T) -> Self
pub fn set_ip_address<T>(self, v: T) -> Self
Sets the value of ip_address.
§Example
let x = ExternalVpnGatewayInterface::new().set_ip_address("example");Sourcepub fn set_or_clear_ip_address<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_ip_address<T>(self, v: Option<T>) -> Self
Sets or clears the value of ip_address.
§Example
let x = ExternalVpnGatewayInterface::new().set_or_clear_ip_address(Some("example"));
let x = ExternalVpnGatewayInterface::new().set_or_clear_ip_address(None::<String>);Sourcepub fn set_ipv_6_address<T>(self, v: T) -> Self
pub fn set_ipv_6_address<T>(self, v: T) -> Self
Sets the value of ipv_6_address.
§Example
let x = ExternalVpnGatewayInterface::new().set_ipv_6_address("example");Sourcepub fn set_or_clear_ipv_6_address<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_ipv_6_address<T>(self, v: Option<T>) -> Self
Sets or clears the value of ipv_6_address.
§Example
let x = ExternalVpnGatewayInterface::new().set_or_clear_ipv_6_address(Some("example"));
let x = ExternalVpnGatewayInterface::new().set_or_clear_ipv_6_address(None::<String>);Trait Implementations§
Source§impl Clone for ExternalVpnGatewayInterface
impl Clone for ExternalVpnGatewayInterface
Source§fn clone(&self) -> ExternalVpnGatewayInterface
fn clone(&self) -> ExternalVpnGatewayInterface
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more