pulumi_wasm_providers_gcp_mini::compute::router_peer

Struct RouterPeerArgs

source
pub struct RouterPeerArgs {
Show 26 fields pub advertise_mode: Output<Option<String>>, pub advertised_groups: Output<Option<Vec<String>>>, pub advertised_ip_ranges: Output<Option<Vec<RouterPeerAdvertisedIpRange>>>, pub advertised_route_priority: Output<Option<i32>>, pub bfd: Output<Option<RouterPeerBfd>>, pub custom_learned_ip_ranges: Output<Option<Vec<RouterPeerCustomLearnedIpRange>>>, pub custom_learned_route_priority: Output<Option<i32>>, pub enable: Output<Option<bool>>, pub enable_ipv4: Output<Option<bool>>, pub enable_ipv6: Output<Option<bool>>, pub export_policies: Output<Option<Vec<String>>>, pub import_policies: Output<Option<Vec<String>>>, pub interface: Output<String>, pub ip_address: Output<Option<String>>, pub ipv4_nexthop_address: Output<Option<String>>, pub ipv6_nexthop_address: Output<Option<String>>, pub md5_authentication_key: Output<Option<RouterPeerMd5AuthenticationKey>>, pub name: Output<Option<String>>, pub peer_asn: Output<i32>, pub peer_ip_address: Output<Option<String>>, pub peer_ipv4_nexthop_address: Output<Option<String>>, pub peer_ipv6_nexthop_address: Output<Option<String>>, pub project: Output<Option<String>>, pub region: Output<Option<String>>, pub router: Output<String>, pub router_appliance_instance: Output<Option<String>>,
}

Fields§

§advertise_mode: Output<Option<String>>

User-specified flag to indicate which mode to use for advertisement. Valid values of this enum field are: DEFAULT, CUSTOM Default value is DEFAULT. Possible values are: DEFAULT, CUSTOM.

§advertised_groups: Output<Option<Vec<String>>>

User-specified list of prefix groups to advertise in custom mode, which currently supports the following option:

  • ALL_SUBNETS: Advertises all of the router’s own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering.

Note that this field can only be populated if advertiseMode is CUSTOM and overrides the list defined for the router (in the “bgp” message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.

§advertised_ip_ranges: Output<Option<Vec<RouterPeerAdvertisedIpRange>>>

User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertiseMode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges. Structure is documented below.

§advertised_route_priority: Output<Option<i32>>

The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.

§bfd: Output<Option<RouterPeerBfd>>

BFD configuration for the BGP peering. Structure is documented below.

§custom_learned_ip_ranges: Output<Option<Vec<RouterPeerCustomLearnedIpRange>>>

The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128. Structure is documented below.

§custom_learned_route_priority: Output<Option<i32>>

The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don’t provide a value, Google Cloud assigns a priority of 100 to the ranges.

§enable: Output<Option<bool>>

The status of the BGP peer connection. If set to false, any active session with the peer is terminated and all associated routing information is removed. If set to true, the peer connection can be established with routing information. The default is true.

§enable_ipv4: Output<Option<bool>>

Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.

§enable_ipv6: Output<Option<bool>>

Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.

§export_policies: Output<Option<Vec<String>>>

routers.list of export policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_EXPORT type.

§import_policies: Output<Option<Vec<String>>>

routers.list of import policies applied to this peer, in the order they must be evaluated. The name must correspond to an existing policy that has ROUTE_POLICY_TYPE_IMPORT type.

§interface: Output<String>

Name of the interface the BGP peer is associated with.

§ip_address: Output<Option<String>>

IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.

§ipv4_nexthop_address: Output<Option<String>>

IPv4 address of the interface inside Google Cloud Platform.

§ipv6_nexthop_address: Output<Option<String>>

IPv6 address of the interface inside Google Cloud Platform. The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64. If you do not specify the next hop addresses, Google Cloud automatically assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.

§md5_authentication_key: Output<Option<RouterPeerMd5AuthenticationKey>>

Configuration for MD5 authentication on the BGP session. Structure is documented below.

§name: Output<Option<String>>

Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression a-z? 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.

§peer_asn: Output<i32>

Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.

§peer_ip_address: Output<Option<String>>

IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported. Required if ip_address is set.

§peer_ipv4_nexthop_address: Output<Option<String>>

IPv4 address of the BGP interface outside Google Cloud Platform.

§peer_ipv6_nexthop_address: Output<Option<String>>

IPv6 address of the BGP interface outside Google Cloud Platform. The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64. If you do not specify the next hop addresses, Google Cloud automatically assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.

§project: Output<Option<String>>

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

§region: Output<Option<String>>

Region where the router and BgpPeer reside. If it is not provided, the provider region is used.

§router: Output<String>

The name of the Cloud Router in which this BgpPeer will be configured.


§router_appliance_instance: Output<Option<String>>

The URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.

Implementations§

source§

impl RouterPeerArgs

source

pub fn builder() -> RouterPeerArgsBuilder

Create an instance of RouterPeerArgs using the builder syntax

Trait Implementations§

source§

impl Clone for RouterPeerArgs

source§

fn clone(&self) -> RouterPeerArgs

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

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, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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