Class: AWSCDK::EC2::CfnRouteServerProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ec2/cfn_route_server_props.rb

Overview

Properties for defining a CfnRouteServer.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(amazon_side_asn:, persist_routes: nil, persist_routes_duration: nil, sns_notifications_enabled: nil, tags: nil) ⇒ CfnRouteServerProps

Returns a new instance of CfnRouteServerProps.

Parameters:

  • amazon_side_asn (Numeric)

    The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for the appliance.

  • persist_routes (String, nil) (defaults to: nil)

    Indicates whether routes should be persisted after all BGP sessions are terminated.

  • persist_routes_duration (Numeric, nil) (defaults to: nil)

    The number of minutes a route server will wait after BGP is re-established to unpersist the routes in the FIB and RIB.

  • sns_notifications_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates whether SNS notifications are enabled for the route server.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    Any tags assigned to the route server.



14
15
16
17
18
19
20
21
22
23
24
25
# File 'ec2/cfn_route_server_props.rb', line 14

def initialize(amazon_side_asn:, persist_routes: nil, persist_routes_duration: nil, sns_notifications_enabled: nil, tags: nil)
  @amazon_side_asn = amazon_side_asn
  Jsii::Type.check_type(@amazon_side_asn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "amazonSideAsn")
  @persist_routes = persist_routes
  Jsii::Type.check_type(@persist_routes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "persistRoutes") unless @persist_routes.nil?
  @persist_routes_duration = persist_routes_duration
  Jsii::Type.check_type(@persist_routes_duration, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "persistRoutesDuration") unless @persist_routes_duration.nil?
  @sns_notifications_enabled = sns_notifications_enabled
  Jsii::Type.check_type(@sns_notifications_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "snsNotificationsEnabled") unless @sns_notifications_enabled.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#amazon_side_asnNumeric (readonly)

The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for the appliance.

Valid values are from 1 to 4294967295. We recommend using a private ASN in the 64512–65534 (16-bit ASN) or 4200000000–4294967294 (32-bit ASN) range.



33
34
35
# File 'ec2/cfn_route_server_props.rb', line 33

def amazon_side_asn
  @amazon_side_asn
end

#persist_routesString? (readonly)

Indicates whether routes should be persisted after all BGP sessions are terminated.



38
39
40
# File 'ec2/cfn_route_server_props.rb', line 38

def persist_routes
  @persist_routes
end

#persist_routes_durationNumeric? (readonly)

The number of minutes a route server will wait after BGP is re-established to unpersist the routes in the FIB and RIB.

Value must be in the range of 1-5. The default value is 1. Only valid if persist_routes_state is 'enabled'.

If you set the duration to 1 minute, then when your network appliance re-establishes BGP with route server, it has 1 minute to relearn it's adjacent network and advertise those routes to route server before route server resumes normal functionality. In most cases, 1 minute is probably sufficient. If, however, you have concerns that your BGP network may not be capable of fully re-establishing and re-learning everything in 1 minute, you can increase the duration up to 5 minutes.



47
48
49
# File 'ec2/cfn_route_server_props.rb', line 47

def persist_routes_duration
  @persist_routes_duration
end

#sns_notifications_enabledBoolean, ... (readonly)

Indicates whether SNS notifications are enabled for the route server.

Enabling SNS notifications persists BGP status changes to an SNS topic provisioned by AWS .



54
55
56
# File 'ec2/cfn_route_server_props.rb', line 54

def sns_notifications_enabled
  @sns_notifications_enabled
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Any tags assigned to the route server.



59
60
61
# File 'ec2/cfn_route_server_props.rb', line 59

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



61
62
63
64
65
66
67
68
69
# File 'ec2/cfn_route_server_props.rb', line 61

def self.jsii_properties
  {
    :amazon_side_asn => "amazonSideAsn",
    :persist_routes => "persistRoutes",
    :persist_routes_duration => "persistRoutesDuration",
    :sns_notifications_enabled => "snsNotificationsEnabled",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



71
72
73
74
75
76
77
78
79
80
81
# File 'ec2/cfn_route_server_props.rb', line 71

def to_jsii
  result = {}
  result.merge!({
    "amazonSideAsn" => @amazon_side_asn,
    "persistRoutes" => @persist_routes,
    "persistRoutesDuration" => @persist_routes_duration,
    "snsNotificationsEnabled" => @sns_notifications_enabled,
    "tags" => @tags,
  })
  result.compact
end