Class: Google::Apis::ComputeV1::RouterBgp

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ RouterBgp

Returns a new instance of RouterBgp.



52204
52205
52206
# File 'lib/google/apis/compute_v1/classes.rb', line 52204

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

Instance Attribute Details

User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM. Corresponds to the JSON property advertiseMode

Returns:

  • (String)


52153
52154
52155
# File 'lib/google/apis/compute_v1/classes.rb', line 52153

def advertise_mode
  @advertise_mode
end

#advertised_groupsArray<String>

User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be 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>)


52162
52163
52164
# File 'lib/google/apis/compute_v1/classes.rb', line 52162

def advertised_groups
  @advertised_groups
end

#advertised_ip_rangesArray<Google::Apis::ComputeV1::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 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. Corresponds to the JSON property advertisedIpRanges



52171
52172
52173
# File 'lib/google/apis/compute_v1/classes.rb', line 52171

def advertised_ip_ranges
  @advertised_ip_ranges
end

#asnFixnum

Local BGP Autonomous System Number (ASN). Must be anRFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN. Corresponds to the JSON property asn

Returns:

  • (Fixnum)


52179
52180
52181
# File 'lib/google/apis/compute_v1/classes.rb', line 52179

def asn
  @asn
end

#identifier_rangeString

Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID". Corresponds to the JSON property identifierRange

Returns:

  • (String)


52188
52189
52190
# File 'lib/google/apis/compute_v1/classes.rb', line 52188

def identifier_range
  @identifier_range
end

#keepalive_intervalFixnum

The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20. Corresponds to the JSON property keepaliveInterval

Returns:

  • (Fixnum)


52202
52203
52204
# File 'lib/google/apis/compute_v1/classes.rb', line 52202

def keepalive_interval
  @keepalive_interval
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



52209
52210
52211
52212
52213
52214
52215
52216
# File 'lib/google/apis/compute_v1/classes.rb', line 52209

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)
  @asn = args[:asn] if args.key?(:asn)
  @identifier_range = args[:identifier_range] if args.key?(:identifier_range)
  @keepalive_interval = args[:keepalive_interval] if args.key?(:keepalive_interval)
end