def __init__(__self__, *, advertise_mode: Optional[pulumi.Input['RouterBgpPeerAdvertiseMode']]=None, advertised_groups: Optional[pulumi.Input[Sequence[pulumi.Input['RouterBgpPeerAdvertisedGroupsItem']]]]=None, advertised_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['RouterAdvertisedIpRangeArgs']]]]=None, advertised_route_priority: Optional[pulumi.Input[int]]=None, bfd: Optional[pulumi.Input['RouterBgpPeerBfdArgs']]=None, enable: Optional[pulumi.Input['RouterBgpPeerEnable']]=None, enable_ipv6: Optional[pulumi.Input[bool]]=None, interface_name: Optional[pulumi.Input[str]]=None, ip_address: Optional[pulumi.Input[str]]=None, ipv6_nexthop_address: Optional[pulumi.Input[str]]=None, name: Optional[pulumi.Input[str]]=None, peer_asn: Optional[pulumi.Input[int]]=None, peer_ip_address: Optional[pulumi.Input[str]]=None, peer_ipv6_nexthop_address: Optional[pulumi.Input[str]]=None, router_appliance_instance: Optional[pulumi.Input[str]]=None):
    '\n        :param pulumi.Input[\'RouterBgpPeerAdvertiseMode\'] advertise_mode: User-specified flag to indicate which mode to use for advertisement.\n        :param pulumi.Input[Sequence[pulumi.Input[\'RouterBgpPeerAdvertisedGroupsItem\']]] advertised_groups: User-specified list of prefix groups to advertise in custom mode, which can take one of the following options: - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets. - ALL_VPC_SUBNETS: Advertises the router\'s own VPC subnets. Note that this field can only be populated if advertise_mode 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.\n        :param pulumi.Input[Sequence[pulumi.Input[\'RouterAdvertisedIpRangeArgs\']]] advertised_ip_ranges: User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.\n        :param pulumi.Input[int] advertised_route_priority: 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.\n        :param pulumi.Input[\'RouterBgpPeerBfdArgs\'] bfd: BFD configuration for the BGP peering.\n        :param pulumi.Input[\'RouterBgpPeerEnable\'] enable: 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.\n        :param pulumi.Input[bool] enable_ipv6: Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.\n        :param pulumi.Input[str] interface_name: Name of the interface the BGP peer is associated with.\n        :param pulumi.Input[str] ip_address: IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.\n        :param pulumi.Input[str] ipv6_nexthop_address: IPv6 address of the interface inside Google Cloud Platform.\n        :param pulumi.Input[str] name: 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]([-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.\n        :param pulumi.Input[int] peer_asn: Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.\n        :param pulumi.Input[str] peer_ip_address: IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.\n        :param pulumi.Input[str] peer_ipv6_nexthop_address: IPv6 address of the BGP interface outside Google Cloud Platform.\n        :param pulumi.Input[str] router_appliance_instance: 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.\n        '
    if (advertise_mode is not None):
        pulumi.set(__self__, 'advertise_mode', advertise_mode)
    if (advertised_groups is not None):
        pulumi.set(__self__, 'advertised_groups', advertised_groups)
    if (advertised_ip_ranges is not None):
        pulumi.set(__self__, 'advertised_ip_ranges', advertised_ip_ranges)
    if (advertised_route_priority is not None):
        pulumi.set(__self__, 'advertised_route_priority', advertised_route_priority)
    if (bfd is not None):
        pulumi.set(__self__, 'bfd', bfd)
    if (enable is not None):
        pulumi.set(__self__, 'enable', enable)
    if (enable_ipv6 is not None):
        pulumi.set(__self__, 'enable_ipv6', enable_ipv6)
    if (interface_name is not None):
        pulumi.set(__self__, 'interface_name', interface_name)
    if (ip_address is not None):
        pulumi.set(__self__, 'ip_address', ip_address)
    if (ipv6_nexthop_address is not None):
        pulumi.set(__self__, 'ipv6_nexthop_address', ipv6_nexthop_address)
    if (name is not None):
        pulumi.set(__self__, 'name', name)
    if (peer_asn is not None):
        pulumi.set(__self__, 'peer_asn', peer_asn)
    if (peer_ip_address is not None):
        pulumi.set(__self__, 'peer_ip_address', peer_ip_address)
    if (peer_ipv6_nexthop_address is not None):
        pulumi.set(__self__, 'peer_ipv6_nexthop_address', peer_ipv6_nexthop_address)
    if (router_appliance_instance is not None):
        pulumi.set(__self__, 'router_appliance_instance', router_appliance_instance)
:param pulumi.Input['RouterBgpPeerAdvertiseMode'] advertise_mode: User-specified flag to indicate which mode to use for advertisement.
:param pulumi.Input[Sequence[pulumi.Input['RouterBgpPeerAdvertisedGroupsItem']]] advertised_groups: User-specified list of prefix groups to advertise in custom mode, which can take one of the following options: - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets. - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this field can only be populated if advertise_mode 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.
:param pulumi.Input[Sequence[pulumi.Input['RouterAdvertisedIpRangeArgs']]] advertised_ip_ranges: User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
:param pulumi.Input[int] advertised_route_priority: 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.
:param pulumi.Input['RouterBgpPeerBfdArgs'] bfd: BFD configuration for the BGP peering.
:param pulumi.Input['RouterBgpPeerEnable'] enable: 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.
:param pulumi.Input[bool] enable_ipv6: Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
:param pulumi.Input[str] interface_name: Name of the interface the BGP peer is associated with.
:param pulumi.Input[str] ip_address: IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
:param pulumi.Input[str] ipv6_nexthop_address: IPv6 address of the interface inside Google Cloud Platform.
:param pulumi.Input[str] name: 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]([-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.
:param pulumi.Input[int] peer_asn: Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
:param pulumi.Input[str] peer_ip_address: IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
:param pulumi.Input[str] peer_ipv6_nexthop_address: IPv6 address of the BGP interface outside Google Cloud Platform.
:param pulumi.Input[str] router_appliance_instance: 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.
def __init__(__self__, *, advertise_mode: Optional[pulumi.Input['RouterBgpPeerAdvertiseMode']]=None, advertised_groups: Optional[pulumi.Input[Sequence[pulumi.Input['RouterBgpPeerAdvertisedGroupsItem']]]]=None, advertised_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['RouterAdvertisedIpRangeArgs']]]]=None, advertised_route_priority: Optional[pulumi.Input[int]]=None, bfd: Optional[pulumi.Input['RouterBgpPeerBfdArgs']]=None, enable: Optional[pulumi.Input['RouterBgpPeerEnable']]=None, enable_ipv6: Optional[pulumi.Input[bool]]=None, interface_name: Optional[pulumi.Input[str]]=None, ip_address: Optional[pulumi.Input[str]]=None, ipv6_nexthop_address: Optional[pulumi.Input[str]]=None, name: Optional[pulumi.Input[str]]=None, peer_asn: Optional[pulumi.Input[int]]=None, peer_ip_address: Optional[pulumi.Input[str]]=None, peer_ipv6_nexthop_address: Optional[pulumi.Input[str]]=None, router_appliance_instance: Optional[pulumi.Input[str]]=None):
    '\n        :param pulumi.Input[\'RouterBgpPeerAdvertiseMode\'] advertise_mode: User-specified flag to indicate which mode to use for advertisement.\n        :param pulumi.Input[Sequence[pulumi.Input[\'RouterBgpPeerAdvertisedGroupsItem\']]] advertised_groups: User-specified list of prefix groups to advertise in custom mode, which can take one of the following options: - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets. - ALL_VPC_SUBNETS: Advertises the router\'s own VPC subnets. Note that this field can only be populated if advertise_mode 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.\n        :param pulumi.Input[Sequence[pulumi.Input[\'RouterAdvertisedIpRangeArgs\']]] advertised_ip_ranges: User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.\n        :param pulumi.Input[int] advertised_route_priority: 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.\n        :param pulumi.Input[\'RouterBgpPeerBfdArgs\'] bfd: BFD configuration for the BGP peering.\n        :param pulumi.Input[\'RouterBgpPeerEnable\'] enable: 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.\n        :param pulumi.Input[bool] enable_ipv6: Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.\n        :param pulumi.Input[str] interface_name: Name of the interface the BGP peer is associated with.\n        :param pulumi.Input[str] ip_address: IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.\n        :param pulumi.Input[str] ipv6_nexthop_address: IPv6 address of the interface inside Google Cloud Platform.\n        :param pulumi.Input[str] name: 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]([-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.\n        :param pulumi.Input[int] peer_asn: Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.\n        :param pulumi.Input[str] peer_ip_address: IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.\n        :param pulumi.Input[str] peer_ipv6_nexthop_address: IPv6 address of the BGP interface outside Google Cloud Platform.\n        :param pulumi.Input[str] router_appliance_instance: 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.\n        '
    if (advertise_mode is not None):
        pulumi.set(__self__, 'advertise_mode', advertise_mode)
    if (advertised_groups is not None):
        pulumi.set(__self__, 'advertised_groups', advertised_groups)
    if (advertised_ip_ranges is not None):
        pulumi.set(__self__, 'advertised_ip_ranges', advertised_ip_ranges)
    if (advertised_route_priority is not None):
        pulumi.set(__self__, 'advertised_route_priority', advertised_route_priority)
    if (bfd is not None):
        pulumi.set(__self__, 'bfd', bfd)
    if (enable is not None):
        pulumi.set(__self__, 'enable', enable)
    if (enable_ipv6 is not None):
        pulumi.set(__self__, 'enable_ipv6', enable_ipv6)
    if (interface_name is not None):
        pulumi.set(__self__, 'interface_name', interface_name)
    if (ip_address is not None):
        pulumi.set(__self__, 'ip_address', ip_address)
    if (ipv6_nexthop_address is not None):
        pulumi.set(__self__, 'ipv6_nexthop_address', ipv6_nexthop_address)
    if (name is not None):
        pulumi.set(__self__, 'name', name)
    if (peer_asn is not None):
        pulumi.set(__self__, 'peer_asn', peer_asn)
    if (peer_ip_address is not None):
        pulumi.set(__self__, 'peer_ip_address', peer_ip_address)
    if (peer_ipv6_nexthop_address is not None):
        pulumi.set(__self__, 'peer_ipv6_nexthop_address', peer_ipv6_nexthop_address)
    if (router_appliance_instance is not None):
        pulumi.set(__self__, 'router_appliance_instance', router_appliance_instance)