Class: Google::Apis::ComputeAlpha::RouterBgpPeer

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ RouterBgpPeer

Returns a new instance of RouterBgpPeer.



35112
35113
35114
# File 'lib/google/apis/compute_alpha/classes.rb', line 35112

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

User-specified flag to indicate which mode to use for advertisement. Corresponds to the JSON property advertiseMode

Returns:

  • (String)


34996
34997
34998
# File 'lib/google/apis/compute_alpha/classes.rb', line 34996

def advertise_mode
  @advertise_mode
end

#advertised_groupsArray<String>

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. Corresponds to the JSON property advertisedGroups

Returns:

  • (Array<String>)


35007
35008
35009
# File 'lib/google/apis/compute_alpha/classes.rb', line 35007

def advertised_groups
  @advertised_groups
end

#advertised_ip_rangesArray<Google::Apis::ComputeAlpha::RouterAdvertisedIpRange>

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. Corresponds to the JSON property advertisedIpRanges



35016
35017
35018
# File 'lib/google/apis/compute_alpha/classes.rb', line 35016

def advertised_ip_ranges
  @advertised_ip_ranges
end

#advertised_route_priorityFixnum

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. Corresponds to the JSON property advertisedRoutePriority

Returns:

  • (Fixnum)


35023
35024
35025
# File 'lib/google/apis/compute_alpha/classes.rb', line 35023

def advertised_route_priority
  @advertised_route_priority
end

#bfdGoogle::Apis::ComputeAlpha::RouterBgpPeerBfd

BFD configuration for the BGP peering. Corresponds to the JSON property bfd



35028
35029
35030
# File 'lib/google/apis/compute_alpha/classes.rb', line 35028

def bfd
  @bfd
end

#enableString

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. Corresponds to the JSON property enable

Returns:

  • (String)


35036
35037
35038
# File 'lib/google/apis/compute_alpha/classes.rb', line 35036

def enable
  @enable
end

#enable_ipv6Boolean Also known as: enable_ipv6?

Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default. Corresponds to the JSON property enableIpv6

Returns:

  • (Boolean)


35041
35042
35043
# File 'lib/google/apis/compute_alpha/classes.rb', line 35041

def enable_ipv6
  @enable_ipv6
end

#interface_nameString

Name of the interface the BGP peer is associated with. Corresponds to the JSON property interfaceName

Returns:

  • (String)


35047
35048
35049
# File 'lib/google/apis/compute_alpha/classes.rb', line 35047

def interface_name
  @interface_name
end

#ip_addressString

IP address of the interface inside Google Cloud Platform. Only IPv4 is supported. Corresponds to the JSON property ipAddress

Returns:

  • (String)


35053
35054
35055
# File 'lib/google/apis/compute_alpha/classes.rb', line 35053

def ip_address
  @ip_address
end

#ipv6_nexthop_addressString

IPv6 address of the interface inside Google Cloud Platform. Corresponds to the JSON property ipv6NexthopAddress

Returns:

  • (String)


35058
35059
35060
# File 'lib/google/apis/compute_alpha/classes.rb', line 35058

def ipv6_nexthop_address
  @ipv6_nexthop_address
end

#management_typeString

[Output Only] The resource that configures and manages this BGP peer. - MANAGED_BY_USER is the default value and can be managed by you or other users - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted. Corresponds to the JSON property managementType

Returns:

  • (String)


35068
35069
35070
# File 'lib/google/apis/compute_alpha/classes.rb', line 35068

def management_type
  @management_type
end

#md5_authentication_key_nameString

Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035. Corresponds to the JSON property md5AuthenticationKeyName

Returns:

  • (String)


35075
35076
35077
# File 'lib/google/apis/compute_alpha/classes.rb', line 35075

def md5_authentication_key_name
  @md5_authentication_key_name
end

#nameString

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. Corresponds to the JSON property name

Returns:

  • (String)


35085
35086
35087
# File 'lib/google/apis/compute_alpha/classes.rb', line 35085

def name
  @name
end

#peer_asnFixnum

Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value. Corresponds to the JSON property peerAsn

Returns:

  • (Fixnum)


35091
35092
35093
# File 'lib/google/apis/compute_alpha/classes.rb', line 35091

def peer_asn
  @peer_asn
end

#peer_ip_addressString

IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported. Corresponds to the JSON property peerIpAddress

Returns:

  • (String)


35097
35098
35099
# File 'lib/google/apis/compute_alpha/classes.rb', line 35097

def peer_ip_address
  @peer_ip_address
end

#peer_ipv6_nexthop_addressString

IPv6 address of the BGP interface outside Google Cloud Platform. Corresponds to the JSON property peerIpv6NexthopAddress

Returns:

  • (String)


35102
35103
35104
# File 'lib/google/apis/compute_alpha/classes.rb', line 35102

def peer_ipv6_nexthop_address
  @peer_ipv6_nexthop_address
end

#router_appliance_instanceString

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. Corresponds to the JSON property routerApplianceInstance

Returns:

  • (String)


35110
35111
35112
# File 'lib/google/apis/compute_alpha/classes.rb', line 35110

def router_appliance_instance
  @router_appliance_instance
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



35117
35118
35119
35120
35121
35122
35123
35124
35125
35126
35127
35128
35129
35130
35131
35132
35133
35134
35135
# File 'lib/google/apis/compute_alpha/classes.rb', line 35117

def update!(**args)
  @advertise_mode = args[:advertise_mode] if args.key?(:advertise_mode)
  @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
  @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
  @bfd = args[:bfd] if args.key?(:bfd)
  @enable = args[:enable] if args.key?(:enable)
  @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
  @interface_name = args[:interface_name] if args.key?(:interface_name)
  @ip_address = args[:ip_address] if args.key?(:ip_address)
  @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
  @management_type = args[:management_type] if args.key?(:management_type)
  @md5_authentication_key_name = args[:md5_authentication_key_name] if args.key?(:md5_authentication_key_name)
  @name = args[:name] if args.key?(:name)
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
  @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
end