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.



54388
54389
54390
# File 'lib/google/apis/compute_alpha/classes.rb', line 54388

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)


54220
54221
54222
# File 'lib/google/apis/compute_alpha/classes.rb', line 54220

def advertise_mode
  @advertise_mode
end

#advertised_groupsArray<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 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>)


54231
54232
54233
# File 'lib/google/apis/compute_alpha/classes.rb', line 54231

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



54240
54241
54242
# File 'lib/google/apis/compute_alpha/classes.rb', line 54240

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)


54247
54248
54249
# File 'lib/google/apis/compute_alpha/classes.rb', line 54247

def advertised_route_priority
  @advertised_route_priority
end

#bfdGoogle::Apis::ComputeAlpha::RouterBgpPeerBfd

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



54252
54253
54254
# File 'lib/google/apis/compute_alpha/classes.rb', line 54252

def bfd
  @bfd
end

#custom_learned_ip_rangesArray<Google::Apis::ComputeAlpha::RouterBgpPeerCustomLearnedIpRange>

A list of user-defined custom learned route IP address ranges for a BGP session. Corresponds to the JSON property customLearnedIpRanges



54258
54259
54260
# File 'lib/google/apis/compute_alpha/classes.rb', line 54258

def custom_learned_ip_ranges
  @custom_learned_ip_ranges
end

#custom_learned_route_priorityFixnum

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

Returns:

  • (Fixnum)


54266
54267
54268
# File 'lib/google/apis/compute_alpha/classes.rb', line 54266

def custom_learned_route_priority
  @custom_learned_route_priority
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)


54274
54275
54276
# File 'lib/google/apis/compute_alpha/classes.rb', line 54274

def enable
  @enable
end

#enable_ipv4Boolean Also known as: enable_ipv4?

Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4. Corresponds to the JSON property enableIpv4

Returns:

  • (Boolean)


54280
54281
54282
# File 'lib/google/apis/compute_alpha/classes.rb', line 54280

def enable_ipv4
  @enable_ipv4
end

#enable_ipv6Boolean Also known as: enable_ipv6?

Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6. Corresponds to the JSON property enableIpv6

Returns:

  • (Boolean)


54287
54288
54289
# File 'lib/google/apis/compute_alpha/classes.rb', line 54287

def enable_ipv6
  @enable_ipv6
end

#export_policiesArray<String>

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

Returns:

  • (Array<String>)


54295
54296
54297
# File 'lib/google/apis/compute_alpha/classes.rb', line 54295

def export_policies
  @export_policies
end

#import_policiesArray<String>

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

Returns:

  • (Array<String>)


54302
54303
54304
# File 'lib/google/apis/compute_alpha/classes.rb', line 54302

def import_policies
  @import_policies
end

#interface_nameString

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

Returns:

  • (String)


54307
54308
54309
# File 'lib/google/apis/compute_alpha/classes.rb', line 54307

def interface_name
  @interface_name
end

#ip_addressString

IP address of the interface inside Google Cloud Platform. Corresponds to the JSON property ipAddress

Returns:

  • (String)


54312
54313
54314
# File 'lib/google/apis/compute_alpha/classes.rb', line 54312

def ip_address
  @ip_address
end

#ipv4_nexthop_addressString

IPv4 address of the interface inside Google Cloud Platform. Corresponds to the JSON property ipv4NexthopAddress

Returns:

  • (String)


54317
54318
54319
# File 'lib/google/apis/compute_alpha/classes.rb', line 54317

def ipv4_nexthop_address
  @ipv4_nexthop_address
end

#ipv6_nexthop_addressString

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

Returns:

  • (String)


54322
54323
54324
# File 'lib/google/apis/compute_alpha/classes.rb', line 54322

def ipv6_nexthop_address
  @ipv6_nexthop_address
end

#linked_custom_hardwareString

The linked custom hardware resource. The URI of the custom hardware link attachment is where you will establish the BGP session from the Cloud Router. This link attachment must reside in the same subnetwork as the associated router interface. Corresponds to the JSON property linkedCustomHardware

Returns:

  • (String)


54330
54331
54332
# File 'lib/google/apis/compute_alpha/classes.rb', line 54330

def linked_custom_hardware
  @linked_custom_hardware
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)


54340
54341
54342
# File 'lib/google/apis/compute_alpha/classes.rb', line 54340

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)


54347
54348
54349
# File 'lib/google/apis/compute_alpha/classes.rb', line 54347

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)


54357
54358
54359
# File 'lib/google/apis/compute_alpha/classes.rb', line 54357

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)


54363
54364
54365
# File 'lib/google/apis/compute_alpha/classes.rb', line 54363

def peer_asn
  @peer_asn
end

#peer_ip_addressString

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

Returns:

  • (String)


54368
54369
54370
# File 'lib/google/apis/compute_alpha/classes.rb', line 54368

def peer_ip_address
  @peer_ip_address
end

#peer_ipv4_nexthop_addressString

IPv4 address of the BGP interface outside Google Cloud Platform. Corresponds to the JSON property peerIpv4NexthopAddress

Returns:

  • (String)


54373
54374
54375
# File 'lib/google/apis/compute_alpha/classes.rb', line 54373

def peer_ipv4_nexthop_address
  @peer_ipv4_nexthop_address
end

#peer_ipv6_nexthop_addressString

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

Returns:

  • (String)


54378
54379
54380
# File 'lib/google/apis/compute_alpha/classes.rb', line 54378

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)


54386
54387
54388
# File 'lib/google/apis/compute_alpha/classes.rb', line 54386

def router_appliance_instance
  @router_appliance_instance
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



54393
54394
54395
54396
54397
54398
54399
54400
54401
54402
54403
54404
54405
54406
54407
54408
54409
54410
54411
54412
54413
54414
54415
54416
54417
54418
54419
# File 'lib/google/apis/compute_alpha/classes.rb', line 54393

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)
  @custom_learned_ip_ranges = args[:custom_learned_ip_ranges] if args.key?(:custom_learned_ip_ranges)
  @custom_learned_route_priority = args[:custom_learned_route_priority] if args.key?(:custom_learned_route_priority)
  @enable = args[:enable] if args.key?(:enable)
  @enable_ipv4 = args[:enable_ipv4] if args.key?(:enable_ipv4)
  @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
  @export_policies = args[:export_policies] if args.key?(:export_policies)
  @import_policies = args[:import_policies] if args.key?(:import_policies)
  @interface_name = args[:interface_name] if args.key?(:interface_name)
  @ip_address = args[:ip_address] if args.key?(:ip_address)
  @ipv4_nexthop_address = args[:ipv4_nexthop_address] if args.key?(:ipv4_nexthop_address)
  @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
  @linked_custom_hardware = args[:linked_custom_hardware] if args.key?(:linked_custom_hardware)
  @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_ipv4_nexthop_address = args[:peer_ipv4_nexthop_address] if args.key?(:peer_ipv4_nexthop_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