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

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ RouterBgpPeer

Returns a new instance of RouterBgpPeer.



28830
28831
28832
# File 'generated/google/apis/compute_alpha/classes.rb', line 28830

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)


28742
28743
28744
# File 'generated/google/apis/compute_alpha/classes.rb', line 28742

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.
  • ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network. 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>)


28755
28756
28757
# File 'generated/google/apis/compute_alpha/classes.rb', line 28755

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



28764
28765
28766
# File 'generated/google/apis/compute_alpha/classes.rb', line 28764

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)


28771
28772
28773
# File 'generated/google/apis/compute_alpha/classes.rb', line 28771

def advertised_route_priority
  @advertised_route_priority
end

#bfdGoogle::Apis::ComputeAlpha::RouterBgpPeerBfd

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



28776
28777
28778
# File 'generated/google/apis/compute_alpha/classes.rb', line 28776

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)


28784
28785
28786
# File 'generated/google/apis/compute_alpha/classes.rb', line 28784

def enable
  @enable
end

#interface_nameString

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

Returns:

  • (String)


28789
28790
28791
# File 'generated/google/apis/compute_alpha/classes.rb', line 28789

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)


28795
28796
28797
# File 'generated/google/apis/compute_alpha/classes.rb', line 28795

def ip_address
  @ip_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)


28806
28807
28808
# File 'generated/google/apis/compute_alpha/classes.rb', line 28806

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


28816
28817
28818
# File 'generated/google/apis/compute_alpha/classes.rb', line 28816

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)


28822
28823
28824
# File 'generated/google/apis/compute_alpha/classes.rb', line 28822

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)


28828
28829
28830
# File 'generated/google/apis/compute_alpha/classes.rb', line 28828

def peer_ip_address
  @peer_ip_address
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



28835
28836
28837
28838
28839
28840
28841
28842
28843
28844
28845
28846
28847
28848
# File 'generated/google/apis/compute_alpha/classes.rb', line 28835

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)
  @interface_name = args[:interface_name] if args.key?(:interface_name)
  @ip_address = args[:ip_address] if args.key?(:ip_address)
  @management_type = args[:management_type] if args.key?(:management_type)
  @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)
end