aws-sdk-ec2 1.513.0 → 1.515.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2396,6 +2396,44 @@ module Aws::EC2
2396
2396
  include Aws::Structure
2397
2397
  end
2398
2398
 
2399
+ # @!attribute [rw] route_server_id
2400
+ # The unique identifier for the route server to be associated.
2401
+ # @return [String]
2402
+ #
2403
+ # @!attribute [rw] vpc_id
2404
+ # The ID of the VPC to associate with the route server.
2405
+ # @return [String]
2406
+ #
2407
+ # @!attribute [rw] dry_run
2408
+ # A check for whether you have the required permissions for the action
2409
+ # without actually making the request and provides an error response.
2410
+ # If you have the required permissions, the error response is
2411
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2412
+ # @return [Boolean]
2413
+ #
2414
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteServerRequest AWS API Documentation
2415
+ #
2416
+ class AssociateRouteServerRequest < Struct.new(
2417
+ :route_server_id,
2418
+ :vpc_id,
2419
+ :dry_run)
2420
+ SENSITIVE = []
2421
+ include Aws::Structure
2422
+ end
2423
+
2424
+ # @!attribute [rw] route_server_association
2425
+ # Information about the association between the route server and the
2426
+ # VPC.
2427
+ # @return [Types::RouteServerAssociation]
2428
+ #
2429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteServerResult AWS API Documentation
2430
+ #
2431
+ class AssociateRouteServerResult < Struct.new(
2432
+ :route_server_association)
2433
+ SENSITIVE = []
2434
+ include Aws::Structure
2435
+ end
2436
+
2399
2437
  # @!attribute [rw] gateway_id
2400
2438
  # The ID of the internet gateway or virtual private gateway.
2401
2439
  # @return [String]
@@ -7082,6 +7120,9 @@ module Aws::EC2
7082
7120
  # of the request. For more information, see [Ensuring idempotency][1]
7083
7121
  # in the *Amazon EC2 API Reference*.
7084
7122
  #
7123
+ # **A suitable default value is auto-generated.** You should normally
7124
+ # not need to pass this option.
7125
+ #
7085
7126
  #
7086
7127
  #
7087
7128
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
@@ -11497,6 +11538,183 @@ module Aws::EC2
11497
11538
  include Aws::Structure
11498
11539
  end
11499
11540
 
11541
+ # @!attribute [rw] route_server_id
11542
+ # The ID of the route server for which to create an endpoint.
11543
+ # @return [String]
11544
+ #
11545
+ # @!attribute [rw] subnet_id
11546
+ # The ID of the subnet in which to create the route server endpoint.
11547
+ # @return [String]
11548
+ #
11549
+ # @!attribute [rw] client_token
11550
+ # Unique, case-sensitive identifier to ensure idempotency of the
11551
+ # request.
11552
+ #
11553
+ # **A suitable default value is auto-generated.** You should normally
11554
+ # not need to pass this option.
11555
+ # @return [String]
11556
+ #
11557
+ # @!attribute [rw] dry_run
11558
+ # A check for whether you have the required permissions for the action
11559
+ # without actually making the request and provides an error response.
11560
+ # If you have the required permissions, the error response is
11561
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
11562
+ # @return [Boolean]
11563
+ #
11564
+ # @!attribute [rw] tag_specifications
11565
+ # The tags to apply to the route server endpoint during creation.
11566
+ # @return [Array<Types::TagSpecification>]
11567
+ #
11568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteServerEndpointRequest AWS API Documentation
11569
+ #
11570
+ class CreateRouteServerEndpointRequest < Struct.new(
11571
+ :route_server_id,
11572
+ :subnet_id,
11573
+ :client_token,
11574
+ :dry_run,
11575
+ :tag_specifications)
11576
+ SENSITIVE = []
11577
+ include Aws::Structure
11578
+ end
11579
+
11580
+ # @!attribute [rw] route_server_endpoint
11581
+ # Information about the created route server endpoint.
11582
+ # @return [Types::RouteServerEndpoint]
11583
+ #
11584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteServerEndpointResult AWS API Documentation
11585
+ #
11586
+ class CreateRouteServerEndpointResult < Struct.new(
11587
+ :route_server_endpoint)
11588
+ SENSITIVE = []
11589
+ include Aws::Structure
11590
+ end
11591
+
11592
+ # @!attribute [rw] route_server_endpoint_id
11593
+ # The ID of the route server endpoint for which to create a peer.
11594
+ # @return [String]
11595
+ #
11596
+ # @!attribute [rw] peer_address
11597
+ # The IPv4 address of the peer device.
11598
+ # @return [String]
11599
+ #
11600
+ # @!attribute [rw] bgp_options
11601
+ # The BGP options for the peer, including ASN (Autonomous System
11602
+ # Number) and BFD (Bidrectional Forwarding Detection) settings.
11603
+ # @return [Types::RouteServerBgpOptionsRequest]
11604
+ #
11605
+ # @!attribute [rw] dry_run
11606
+ # A check for whether you have the required permissions for the action
11607
+ # without actually making the request and provides an error response.
11608
+ # If you have the required permissions, the error response is
11609
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
11610
+ # @return [Boolean]
11611
+ #
11612
+ # @!attribute [rw] tag_specifications
11613
+ # The tags to apply to the route server peer during creation.
11614
+ # @return [Array<Types::TagSpecification>]
11615
+ #
11616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteServerPeerRequest AWS API Documentation
11617
+ #
11618
+ class CreateRouteServerPeerRequest < Struct.new(
11619
+ :route_server_endpoint_id,
11620
+ :peer_address,
11621
+ :bgp_options,
11622
+ :dry_run,
11623
+ :tag_specifications)
11624
+ SENSITIVE = []
11625
+ include Aws::Structure
11626
+ end
11627
+
11628
+ # @!attribute [rw] route_server_peer
11629
+ # Information about the created route server peer.
11630
+ # @return [Types::RouteServerPeer]
11631
+ #
11632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteServerPeerResult AWS API Documentation
11633
+ #
11634
+ class CreateRouteServerPeerResult < Struct.new(
11635
+ :route_server_peer)
11636
+ SENSITIVE = []
11637
+ include Aws::Structure
11638
+ end
11639
+
11640
+ # @!attribute [rw] amazon_side_asn
11641
+ # The private Autonomous System Number (ASN) for the Amazon side of
11642
+ # the BGP session. Valid values are from 1 to 4294967295. We recommend
11643
+ # using a private ASN in the 64512–65534 (16-bit ASN) or
11644
+ # 4200000000–4294967294 (32-bit ASN) range.
11645
+ # @return [Integer]
11646
+ #
11647
+ # @!attribute [rw] client_token
11648
+ # Unique, case-sensitive identifier to ensure idempotency of the
11649
+ # request.
11650
+ #
11651
+ # **A suitable default value is auto-generated.** You should normally
11652
+ # not need to pass this option.
11653
+ # @return [String]
11654
+ #
11655
+ # @!attribute [rw] dry_run
11656
+ # A check for whether you have the required permissions for the action
11657
+ # without actually making the request and provides an error response.
11658
+ # If you have the required permissions, the error response is
11659
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
11660
+ # @return [Boolean]
11661
+ #
11662
+ # @!attribute [rw] persist_routes
11663
+ # Indicates whether routes should be persisted after all BGP sessions
11664
+ # are terminated.
11665
+ # @return [String]
11666
+ #
11667
+ # @!attribute [rw] persist_routes_duration
11668
+ # The number of minutes a route server will wait after BGP is
11669
+ # re-established to unpersist the routes in the FIB and RIB. Value
11670
+ # must be in the range of 1-5. Required if PersistRoutes is `enabled`.
11671
+ #
11672
+ # If you set the duration to 1 minute, then when your network
11673
+ # appliance re-establishes BGP with route server, it has 1 minute to
11674
+ # relearn it's adjacent network and advertise those routes to route
11675
+ # server before route server resumes normal functionality. In most
11676
+ # cases, 1 minute is probably sufficient. If, however, you have
11677
+ # concerns that your BGP network may not be capable of fully
11678
+ # re-establishing and re-learning everything in 1 minute, you can
11679
+ # increase the duration up to 5 minutes.
11680
+ # @return [Integer]
11681
+ #
11682
+ # @!attribute [rw] sns_notifications_enabled
11683
+ # Indicates whether SNS notifications should be enabled for route
11684
+ # server events. Enabling SNS notifications persists BGP status
11685
+ # changes to an SNS topic provisioned by Amazon Web Services.
11686
+ # @return [Boolean]
11687
+ #
11688
+ # @!attribute [rw] tag_specifications
11689
+ # The tags to apply to the route server during creation.
11690
+ # @return [Array<Types::TagSpecification>]
11691
+ #
11692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteServerRequest AWS API Documentation
11693
+ #
11694
+ class CreateRouteServerRequest < Struct.new(
11695
+ :amazon_side_asn,
11696
+ :client_token,
11697
+ :dry_run,
11698
+ :persist_routes,
11699
+ :persist_routes_duration,
11700
+ :sns_notifications_enabled,
11701
+ :tag_specifications)
11702
+ SENSITIVE = []
11703
+ include Aws::Structure
11704
+ end
11705
+
11706
+ # @!attribute [rw] route_server
11707
+ # Information about the created route server.
11708
+ # @return [Types::RouteServer]
11709
+ #
11710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteServerResult AWS API Documentation
11711
+ #
11712
+ class CreateRouteServerResult < Struct.new(
11713
+ :route_server)
11714
+ SENSITIVE = []
11715
+ include Aws::Structure
11716
+ end
11717
+
11500
11718
  # @!attribute [rw] tag_specifications
11501
11719
  # The tags to assign to the route table.
11502
11720
  # @return [Array<Types::TagSpecification>]
@@ -16392,6 +16610,102 @@ module Aws::EC2
16392
16610
  include Aws::Structure
16393
16611
  end
16394
16612
 
16613
+ # @!attribute [rw] route_server_endpoint_id
16614
+ # The ID of the route server endpoint to delete.
16615
+ # @return [String]
16616
+ #
16617
+ # @!attribute [rw] dry_run
16618
+ # A check for whether you have the required permissions for the action
16619
+ # without actually making the request and provides an error response.
16620
+ # If you have the required permissions, the error response is
16621
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
16622
+ # @return [Boolean]
16623
+ #
16624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteServerEndpointRequest AWS API Documentation
16625
+ #
16626
+ class DeleteRouteServerEndpointRequest < Struct.new(
16627
+ :route_server_endpoint_id,
16628
+ :dry_run)
16629
+ SENSITIVE = []
16630
+ include Aws::Structure
16631
+ end
16632
+
16633
+ # @!attribute [rw] route_server_endpoint
16634
+ # Information about the deleted route server endpoint.
16635
+ # @return [Types::RouteServerEndpoint]
16636
+ #
16637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteServerEndpointResult AWS API Documentation
16638
+ #
16639
+ class DeleteRouteServerEndpointResult < Struct.new(
16640
+ :route_server_endpoint)
16641
+ SENSITIVE = []
16642
+ include Aws::Structure
16643
+ end
16644
+
16645
+ # @!attribute [rw] route_server_peer_id
16646
+ # The ID of the route server peer to delete.
16647
+ # @return [String]
16648
+ #
16649
+ # @!attribute [rw] dry_run
16650
+ # A check for whether you have the required permissions for the action
16651
+ # without actually making the request and provides an error response.
16652
+ # If you have the required permissions, the error response is
16653
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
16654
+ # @return [Boolean]
16655
+ #
16656
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteServerPeerRequest AWS API Documentation
16657
+ #
16658
+ class DeleteRouteServerPeerRequest < Struct.new(
16659
+ :route_server_peer_id,
16660
+ :dry_run)
16661
+ SENSITIVE = []
16662
+ include Aws::Structure
16663
+ end
16664
+
16665
+ # @!attribute [rw] route_server_peer
16666
+ # Information about the deleted route server peer.
16667
+ # @return [Types::RouteServerPeer]
16668
+ #
16669
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteServerPeerResult AWS API Documentation
16670
+ #
16671
+ class DeleteRouteServerPeerResult < Struct.new(
16672
+ :route_server_peer)
16673
+ SENSITIVE = []
16674
+ include Aws::Structure
16675
+ end
16676
+
16677
+ # @!attribute [rw] route_server_id
16678
+ # The ID of the route server to delete.
16679
+ # @return [String]
16680
+ #
16681
+ # @!attribute [rw] dry_run
16682
+ # A check for whether you have the required permissions for the action
16683
+ # without actually making the request and provides an error response.
16684
+ # If you have the required permissions, the error response is
16685
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
16686
+ # @return [Boolean]
16687
+ #
16688
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteServerRequest AWS API Documentation
16689
+ #
16690
+ class DeleteRouteServerRequest < Struct.new(
16691
+ :route_server_id,
16692
+ :dry_run)
16693
+ SENSITIVE = []
16694
+ include Aws::Structure
16695
+ end
16696
+
16697
+ # @!attribute [rw] route_server
16698
+ # Information about the deleted route server.
16699
+ # @return [Types::RouteServer]
16700
+ #
16701
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteServerResult AWS API Documentation
16702
+ #
16703
+ class DeleteRouteServerResult < Struct.new(
16704
+ :route_server)
16705
+ SENSITIVE = []
16706
+ include Aws::Structure
16707
+ end
16708
+
16395
16709
  # @!attribute [rw] dry_run
16396
16710
  # Checks whether you have the required permissions for the action,
16397
16711
  # without actually making the request, and provides an error response.
@@ -22137,6 +22451,9 @@ module Aws::EC2
22137
22451
  # latest generation instance type of an instance family (`true` \|
22138
22452
  # `false`).
22139
22453
  #
22454
+ # * `dedicated-hosts-supported` - Indicates whether the instance type
22455
+ # supports Dedicated Hosts. (`true` \| `false`)
22456
+ #
22140
22457
  # * `ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps` - The
22141
22458
  # baseline bandwidth performance for an EBS-optimized instance type,
22142
22459
  # in Mbps.
@@ -25956,6 +26273,165 @@ module Aws::EC2
25956
26273
  include Aws::Structure
25957
26274
  end
25958
26275
 
26276
+ # @!attribute [rw] route_server_endpoint_ids
26277
+ # The IDs of the route server endpoints to describe.
26278
+ # @return [Array<String>]
26279
+ #
26280
+ # @!attribute [rw] next_token
26281
+ # The token for the next page of results.
26282
+ # @return [String]
26283
+ #
26284
+ # @!attribute [rw] max_results
26285
+ # The maximum number of results to return with a single call.
26286
+ # @return [Integer]
26287
+ #
26288
+ # @!attribute [rw] filters
26289
+ # One or more filters to apply to the describe request.
26290
+ # @return [Array<Types::Filter>]
26291
+ #
26292
+ # @!attribute [rw] dry_run
26293
+ # A check for whether you have the required permissions for the action
26294
+ # without actually making the request and provides an error response.
26295
+ # If you have the required permissions, the error response is
26296
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
26297
+ # @return [Boolean]
26298
+ #
26299
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteServerEndpointsRequest AWS API Documentation
26300
+ #
26301
+ class DescribeRouteServerEndpointsRequest < Struct.new(
26302
+ :route_server_endpoint_ids,
26303
+ :next_token,
26304
+ :max_results,
26305
+ :filters,
26306
+ :dry_run)
26307
+ SENSITIVE = []
26308
+ include Aws::Structure
26309
+ end
26310
+
26311
+ # @!attribute [rw] route_server_endpoints
26312
+ # Information about the described route server endpoints.
26313
+ # @return [Array<Types::RouteServerEndpoint>]
26314
+ #
26315
+ # @!attribute [rw] next_token
26316
+ # The token to use to retrieve the next page of results. This value is
26317
+ # `null` when there are no more results to return.
26318
+ # @return [String]
26319
+ #
26320
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteServerEndpointsResult AWS API Documentation
26321
+ #
26322
+ class DescribeRouteServerEndpointsResult < Struct.new(
26323
+ :route_server_endpoints,
26324
+ :next_token)
26325
+ SENSITIVE = []
26326
+ include Aws::Structure
26327
+ end
26328
+
26329
+ # @!attribute [rw] route_server_peer_ids
26330
+ # The IDs of the route server peers to describe.
26331
+ # @return [Array<String>]
26332
+ #
26333
+ # @!attribute [rw] next_token
26334
+ # The token for the next page of results.
26335
+ # @return [String]
26336
+ #
26337
+ # @!attribute [rw] max_results
26338
+ # The maximum number of results to return with a single call.
26339
+ # @return [Integer]
26340
+ #
26341
+ # @!attribute [rw] filters
26342
+ # One or more filters to apply to the describe request.
26343
+ # @return [Array<Types::Filter>]
26344
+ #
26345
+ # @!attribute [rw] dry_run
26346
+ # A check for whether you have the required permissions for the action
26347
+ # without actually making the request and provides an error response.
26348
+ # If you have the required permissions, the error response is
26349
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
26350
+ # @return [Boolean]
26351
+ #
26352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteServerPeersRequest AWS API Documentation
26353
+ #
26354
+ class DescribeRouteServerPeersRequest < Struct.new(
26355
+ :route_server_peer_ids,
26356
+ :next_token,
26357
+ :max_results,
26358
+ :filters,
26359
+ :dry_run)
26360
+ SENSITIVE = []
26361
+ include Aws::Structure
26362
+ end
26363
+
26364
+ # @!attribute [rw] route_server_peers
26365
+ # Information about the described route server peers.
26366
+ # @return [Array<Types::RouteServerPeer>]
26367
+ #
26368
+ # @!attribute [rw] next_token
26369
+ # The token to use to retrieve the next page of results. This value is
26370
+ # `null` when there are no more results to return.
26371
+ # @return [String]
26372
+ #
26373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteServerPeersResult AWS API Documentation
26374
+ #
26375
+ class DescribeRouteServerPeersResult < Struct.new(
26376
+ :route_server_peers,
26377
+ :next_token)
26378
+ SENSITIVE = []
26379
+ include Aws::Structure
26380
+ end
26381
+
26382
+ # @!attribute [rw] route_server_ids
26383
+ # The IDs of the route servers to describe.
26384
+ # @return [Array<String>]
26385
+ #
26386
+ # @!attribute [rw] next_token
26387
+ # The token for the next page of results.
26388
+ # @return [String]
26389
+ #
26390
+ # @!attribute [rw] max_results
26391
+ # The maximum number of results to return with a single call.
26392
+ # @return [Integer]
26393
+ #
26394
+ # @!attribute [rw] filters
26395
+ # One or more filters to apply to the describe request.
26396
+ # @return [Array<Types::Filter>]
26397
+ #
26398
+ # @!attribute [rw] dry_run
26399
+ # A check for whether you have the required permissions for the action
26400
+ # without actually making the request and provides an error response.
26401
+ # If you have the required permissions, the error response is
26402
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
26403
+ # @return [Boolean]
26404
+ #
26405
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteServersRequest AWS API Documentation
26406
+ #
26407
+ class DescribeRouteServersRequest < Struct.new(
26408
+ :route_server_ids,
26409
+ :next_token,
26410
+ :max_results,
26411
+ :filters,
26412
+ :dry_run)
26413
+ SENSITIVE = []
26414
+ include Aws::Structure
26415
+ end
26416
+
26417
+ # @!attribute [rw] route_servers
26418
+ # Information about the described route servers.
26419
+ # @return [Array<Types::RouteServer>]
26420
+ #
26421
+ # @!attribute [rw] next_token
26422
+ # The token to use to retrieve the next page of results. This value is
26423
+ # `null` when there are no more results to return.
26424
+ # @return [String]
26425
+ #
26426
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteServersResult AWS API Documentation
26427
+ #
26428
+ class DescribeRouteServersResult < Struct.new(
26429
+ :route_servers,
26430
+ :next_token)
26431
+ SENSITIVE = []
26432
+ include Aws::Structure
26433
+ end
26434
+
25959
26435
  # @!attribute [rw] next_token
25960
26436
  # The token returned from a previous paginated request. Pagination
25961
26437
  # continues from the end of the items returned by the previous
@@ -31525,6 +32001,44 @@ module Aws::EC2
31525
32001
  include Aws::Structure
31526
32002
  end
31527
32003
 
32004
+ # @!attribute [rw] route_server_id
32005
+ # The ID of the route server for which to disable propagation.
32006
+ # @return [String]
32007
+ #
32008
+ # @!attribute [rw] route_table_id
32009
+ # The ID of the route table for which to disable route server
32010
+ # propagation.
32011
+ # @return [String]
32012
+ #
32013
+ # @!attribute [rw] dry_run
32014
+ # A check for whether you have the required permissions for the action
32015
+ # without actually making the request and provides an error response.
32016
+ # If you have the required permissions, the error response is
32017
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
32018
+ # @return [Boolean]
32019
+ #
32020
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableRouteServerPropagationRequest AWS API Documentation
32021
+ #
32022
+ class DisableRouteServerPropagationRequest < Struct.new(
32023
+ :route_server_id,
32024
+ :route_table_id,
32025
+ :dry_run)
32026
+ SENSITIVE = []
32027
+ include Aws::Structure
32028
+ end
32029
+
32030
+ # @!attribute [rw] route_server_propagation
32031
+ # Information about the disabled route server propagation.
32032
+ # @return [Types::RouteServerPropagation]
32033
+ #
32034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableRouteServerPropagationResult AWS API Documentation
32035
+ #
32036
+ class DisableRouteServerPropagationResult < Struct.new(
32037
+ :route_server_propagation)
32038
+ SENSITIVE = []
32039
+ include Aws::Structure
32040
+ end
32041
+
31528
32042
  # @!attribute [rw] dry_run
31529
32043
  # Checks whether you have the required permissions for the action,
31530
32044
  # without actually making the request, and provides an error response.
@@ -32033,6 +32547,43 @@ module Aws::EC2
32033
32547
  include Aws::Structure
32034
32548
  end
32035
32549
 
32550
+ # @!attribute [rw] route_server_id
32551
+ # The ID of the route server to disassociate.
32552
+ # @return [String]
32553
+ #
32554
+ # @!attribute [rw] vpc_id
32555
+ # The ID of the VPC to disassociate from the route server.
32556
+ # @return [String]
32557
+ #
32558
+ # @!attribute [rw] dry_run
32559
+ # A check for whether you have the required permissions for the action
32560
+ # without actually making the request and provides an error response.
32561
+ # If you have the required permissions, the error response is
32562
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
32563
+ # @return [Boolean]
32564
+ #
32565
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteServerRequest AWS API Documentation
32566
+ #
32567
+ class DisassociateRouteServerRequest < Struct.new(
32568
+ :route_server_id,
32569
+ :vpc_id,
32570
+ :dry_run)
32571
+ SENSITIVE = []
32572
+ include Aws::Structure
32573
+ end
32574
+
32575
+ # @!attribute [rw] route_server_association
32576
+ # Information about the disassociated route server.
32577
+ # @return [Types::RouteServerAssociation]
32578
+ #
32579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteServerResult AWS API Documentation
32580
+ #
32581
+ class DisassociateRouteServerResult < Struct.new(
32582
+ :route_server_association)
32583
+ SENSITIVE = []
32584
+ include Aws::Structure
32585
+ end
32586
+
32036
32587
  # @!attribute [rw] dry_run
32037
32588
  # Checks whether you have the required permissions for the action,
32038
32589
  # without actually making the request, and provides an error response.
@@ -33361,12 +33912,12 @@ module Aws::EC2
33361
33912
  #
33362
33913
  # @!attribute [rw] ena_srd_enabled
33363
33914
  # Specifies whether ENA Express is enabled for the network interface
33364
- # when you launch an instance from your launch template.
33915
+ # when you launch an instance.
33365
33916
  # @return [Boolean]
33366
33917
  #
33367
33918
  # @!attribute [rw] ena_srd_udp_specification
33368
- # Contains ENA Express settings for UDP network traffic in your launch
33369
- # template.
33919
+ # Contains ENA Express settings for UDP network traffic for the
33920
+ # network interface attached to the instance.
33370
33921
  # @return [Types::EnaSrdUdpSpecificationRequest]
33371
33922
  #
33372
33923
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnaSrdSpecificationRequest AWS API Documentation
@@ -33406,7 +33957,7 @@ module Aws::EC2
33406
33957
  # Indicates whether UDP traffic uses ENA Express for your instance. To
33407
33958
  # ensure that UDP traffic can use ENA Express when you launch an
33408
33959
  # instance, you must also set **EnaSrdEnabled** in the
33409
- # **EnaSrdSpecificationRequest** to `true` in your launch template.
33960
+ # **EnaSrdSpecificationRequest** to `true`.
33410
33961
  # @return [Boolean]
33411
33962
  #
33412
33963
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnaSrdUdpSpecificationRequest AWS API Documentation
@@ -34074,6 +34625,44 @@ module Aws::EC2
34074
34625
  include Aws::Structure
34075
34626
  end
34076
34627
 
34628
+ # @!attribute [rw] route_server_id
34629
+ # The ID of the route server for which to enable propagation.
34630
+ # @return [String]
34631
+ #
34632
+ # @!attribute [rw] route_table_id
34633
+ # The ID of the route table to which route server will propagate
34634
+ # routes.
34635
+ # @return [String]
34636
+ #
34637
+ # @!attribute [rw] dry_run
34638
+ # A check for whether you have the required permissions for the action
34639
+ # without actually making the request and provides an error response.
34640
+ # If you have the required permissions, the error response is
34641
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
34642
+ # @return [Boolean]
34643
+ #
34644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableRouteServerPropagationRequest AWS API Documentation
34645
+ #
34646
+ class EnableRouteServerPropagationRequest < Struct.new(
34647
+ :route_server_id,
34648
+ :route_table_id,
34649
+ :dry_run)
34650
+ SENSITIVE = []
34651
+ include Aws::Structure
34652
+ end
34653
+
34654
+ # @!attribute [rw] route_server_propagation
34655
+ # Information about the enabled route server propagation.
34656
+ # @return [Types::RouteServerPropagation]
34657
+ #
34658
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableRouteServerPropagationResult AWS API Documentation
34659
+ #
34660
+ class EnableRouteServerPropagationResult < Struct.new(
34661
+ :route_server_propagation)
34662
+ SENSITIVE = []
34663
+ include Aws::Structure
34664
+ end
34665
+
34077
34666
  # @!attribute [rw] dry_run
34078
34667
  # Checks whether you have the required permissions for the action,
34079
34668
  # without actually making the request, and provides an error response.
@@ -38855,6 +39444,136 @@ module Aws::EC2
38855
39444
  include Aws::Structure
38856
39445
  end
38857
39446
 
39447
+ # @!attribute [rw] route_server_id
39448
+ # The ID of the route server for which to get association information.
39449
+ # @return [String]
39450
+ #
39451
+ # @!attribute [rw] dry_run
39452
+ # A check for whether you have the required permissions for the action
39453
+ # without actually making the request and provides an error response.
39454
+ # If you have the required permissions, the error response is
39455
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
39456
+ # @return [Boolean]
39457
+ #
39458
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetRouteServerAssociationsRequest AWS API Documentation
39459
+ #
39460
+ class GetRouteServerAssociationsRequest < Struct.new(
39461
+ :route_server_id,
39462
+ :dry_run)
39463
+ SENSITIVE = []
39464
+ include Aws::Structure
39465
+ end
39466
+
39467
+ # @!attribute [rw] route_server_associations
39468
+ # Information about the associations for the specified route server.
39469
+ # @return [Array<Types::RouteServerAssociation>]
39470
+ #
39471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetRouteServerAssociationsResult AWS API Documentation
39472
+ #
39473
+ class GetRouteServerAssociationsResult < Struct.new(
39474
+ :route_server_associations)
39475
+ SENSITIVE = []
39476
+ include Aws::Structure
39477
+ end
39478
+
39479
+ # @!attribute [rw] route_server_id
39480
+ # The ID of the route server for which to get propagation information.
39481
+ # @return [String]
39482
+ #
39483
+ # @!attribute [rw] route_table_id
39484
+ # The ID of the route table for which to get propagation information.
39485
+ # @return [String]
39486
+ #
39487
+ # @!attribute [rw] dry_run
39488
+ # A check for whether you have the required permissions for the action
39489
+ # without actually making the request and provides an error response.
39490
+ # If you have the required permissions, the error response is
39491
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
39492
+ # @return [Boolean]
39493
+ #
39494
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetRouteServerPropagationsRequest AWS API Documentation
39495
+ #
39496
+ class GetRouteServerPropagationsRequest < Struct.new(
39497
+ :route_server_id,
39498
+ :route_table_id,
39499
+ :dry_run)
39500
+ SENSITIVE = []
39501
+ include Aws::Structure
39502
+ end
39503
+
39504
+ # @!attribute [rw] route_server_propagations
39505
+ # Information about the route propagations for the specified route
39506
+ # server.
39507
+ # @return [Array<Types::RouteServerPropagation>]
39508
+ #
39509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetRouteServerPropagationsResult AWS API Documentation
39510
+ #
39511
+ class GetRouteServerPropagationsResult < Struct.new(
39512
+ :route_server_propagations)
39513
+ SENSITIVE = []
39514
+ include Aws::Structure
39515
+ end
39516
+
39517
+ # @!attribute [rw] route_server_id
39518
+ # The ID of the route server for which to get the routing database.
39519
+ # @return [String]
39520
+ #
39521
+ # @!attribute [rw] next_token
39522
+ # The token for the next page of results.
39523
+ # @return [String]
39524
+ #
39525
+ # @!attribute [rw] max_results
39526
+ # The maximum number of routing database entries to return in a single
39527
+ # response.
39528
+ # @return [Integer]
39529
+ #
39530
+ # @!attribute [rw] dry_run
39531
+ # A check for whether you have the required permissions for the action
39532
+ # without actually making the request and provides an error response.
39533
+ # If you have the required permissions, the error response is
39534
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
39535
+ # @return [Boolean]
39536
+ #
39537
+ # @!attribute [rw] filters
39538
+ # Filters to apply to the routing database query.
39539
+ # @return [Array<Types::Filter>]
39540
+ #
39541
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetRouteServerRoutingDatabaseRequest AWS API Documentation
39542
+ #
39543
+ class GetRouteServerRoutingDatabaseRequest < Struct.new(
39544
+ :route_server_id,
39545
+ :next_token,
39546
+ :max_results,
39547
+ :dry_run,
39548
+ :filters)
39549
+ SENSITIVE = []
39550
+ include Aws::Structure
39551
+ end
39552
+
39553
+ # @!attribute [rw] are_routes_persisted
39554
+ # Indicates whether routes are being persisted in the routing
39555
+ # database.
39556
+ # @return [Boolean]
39557
+ #
39558
+ # @!attribute [rw] routes
39559
+ # The collection of routes in the route server's routing database.
39560
+ # @return [Array<Types::RouteServerRoute>]
39561
+ #
39562
+ # @!attribute [rw] next_token
39563
+ # The token to use to retrieve the next page of results. This value is
39564
+ # `null` when there are no more results to return.
39565
+ # @return [String]
39566
+ #
39567
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetRouteServerRoutingDatabaseResult AWS API Documentation
39568
+ #
39569
+ class GetRouteServerRoutingDatabaseResult < Struct.new(
39570
+ :are_routes_persisted,
39571
+ :routes,
39572
+ :next_token)
39573
+ SENSITIVE = []
39574
+ include Aws::Structure
39575
+ end
39576
+
38858
39577
  # @!attribute [rw] vpc_id
38859
39578
  # The VPC ID where the security group can be used.
38860
39579
  # @return [String]
@@ -48942,11 +49661,13 @@ module Aws::EC2
48942
49661
  # @return [String]
48943
49662
  #
48944
49663
  # @!attribute [rw] device_index
48945
- # The device index for the network interface attachment. Each network
48946
- # interface requires a device index. If you create a launch template
48947
- # that includes secondary network interfaces but not a primary network
48948
- # interface, then you must add a primary network interface as a launch
48949
- # parameter when you launch an instance from the template.
49664
+ # The device index for the network interface attachment. The primary
49665
+ # network interface has a device index of 0. Each network interface is
49666
+ # of type `interface`, you must specify a device index. If you create
49667
+ # a launch template that includes secondary network interfaces but not
49668
+ # a primary network interface, then you must add a primary network
49669
+ # interface as a launch parameter when you launch an instance from the
49670
+ # template.
48950
49671
  # @return [Integer]
48951
49672
  #
48952
49673
  # @!attribute [rw] groups
@@ -51719,6 +52440,14 @@ module Aws::EC2
51719
52440
  # @!attribute [rw] attribute
51720
52441
  # The name of the attribute to modify.
51721
52442
  #
52443
+ # <note markdown="1"> When changing the instance type: If the original instance type is
52444
+ # configured for configurable bandwidth, and the desired instance type
52445
+ # doesn't support configurable bandwidth, first set the existing
52446
+ # bandwidth configuration to `default` using the
52447
+ # ModifyInstanceNetworkPerformanceOptions operation.
52448
+ #
52449
+ # </note>
52450
+ #
51722
52451
  # You can modify the following attributes only:
51723
52452
  # `disableApiTermination` \| `instanceType` \| `kernel` \| `ramdisk`
51724
52453
  # \| `instanceInitiatedShutdownBehavior` \| `blockDeviceMapping` \|
@@ -53223,6 +53952,77 @@ module Aws::EC2
53223
53952
  include Aws::Structure
53224
53953
  end
53225
53954
 
53955
+ # @!attribute [rw] route_server_id
53956
+ # The ID of the route server to modify.
53957
+ # @return [String]
53958
+ #
53959
+ # @!attribute [rw] persist_routes
53960
+ # Specifies whether to persist routes after all BGP sessions are
53961
+ # terminated.
53962
+ #
53963
+ # * enable: Routes will be persisted in FIB and RIB after all BGP
53964
+ # sessions are terminated.
53965
+ #
53966
+ # * disable: Routes will not be persisted in FIB and RIB after all BGP
53967
+ # sessions are terminated.
53968
+ #
53969
+ # * reset: If a route server has persisted routes due to all BGP
53970
+ # sessions having ended, reset will withdraw all routes and reset
53971
+ # route server to an empty FIB and RIB.
53972
+ # @return [String]
53973
+ #
53974
+ # @!attribute [rw] persist_routes_duration
53975
+ # The number of minutes a route server will wait after BGP is
53976
+ # re-established to unpersist the routes in the FIB and RIB. Value
53977
+ # must be in the range of 1-5. Required if PersistRoutes is `enabled`.
53978
+ #
53979
+ # If you set the duration to 1 minute, then when your network
53980
+ # appliance re-establishes BGP with route server, it has 1 minute to
53981
+ # relearn it's adjacent network and advertise those routes to route
53982
+ # server before route server resumes normal functionality. In most
53983
+ # cases, 1 minute is probably sufficient. If, however, you have
53984
+ # concerns that your BGP network may not be capable of fully
53985
+ # re-establishing and re-learning everything in 1 minute, you can
53986
+ # increase the duration up to 5 minutes.
53987
+ # @return [Integer]
53988
+ #
53989
+ # @!attribute [rw] sns_notifications_enabled
53990
+ # Specifies whether to enable SNS notifications for route server
53991
+ # events. Enabling SNS notifications persists BGP status changes to an
53992
+ # SNS topic provisioned by Amazon Web Services.
53993
+ # @return [Boolean]
53994
+ #
53995
+ # @!attribute [rw] dry_run
53996
+ # A check for whether you have the required permissions for the action
53997
+ # without actually making the request and provides an error response.
53998
+ # If you have the required permissions, the error response is
53999
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
54000
+ # @return [Boolean]
54001
+ #
54002
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyRouteServerRequest AWS API Documentation
54003
+ #
54004
+ class ModifyRouteServerRequest < Struct.new(
54005
+ :route_server_id,
54006
+ :persist_routes,
54007
+ :persist_routes_duration,
54008
+ :sns_notifications_enabled,
54009
+ :dry_run)
54010
+ SENSITIVE = []
54011
+ include Aws::Structure
54012
+ end
54013
+
54014
+ # @!attribute [rw] route_server
54015
+ # Information about the modified route server.
54016
+ # @return [Types::RouteServer]
54017
+ #
54018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyRouteServerResult AWS API Documentation
54019
+ #
54020
+ class ModifyRouteServerResult < Struct.new(
54021
+ :route_server)
54022
+ SENSITIVE = []
54023
+ include Aws::Structure
54024
+ end
54025
+
53226
54026
  # @!attribute [rw] group_id
53227
54027
  # The ID of the security group.
53228
54028
  # @return [String]
@@ -63745,6 +64545,510 @@ module Aws::EC2
63745
64545
  include Aws::Structure
63746
64546
  end
63747
64547
 
64548
+ # Describes a route server and its configuration.
64549
+ #
64550
+ # Amazon VPC Route Server simplifies routing for traffic between
64551
+ # workloads that are deployed within a VPC and its internet gateways.
64552
+ # With this feature, VPC Route Server dynamically updates VPC and
64553
+ # internet gateway route tables with your preferred IPv4 or IPv6 routes
64554
+ # to achieve routing fault tolerance for those workloads. This enables
64555
+ # you to automatically reroute traffic within a VPC, which increases the
64556
+ # manageability of VPC routing and interoperability with third-party
64557
+ # workloads.
64558
+ #
64559
+ # Route server supports the follow route table types:
64560
+ #
64561
+ # * VPC route tables not associated with subnets
64562
+ #
64563
+ # * Subnet route tables
64564
+ #
64565
+ # * Internet gateway route tables
64566
+ #
64567
+ # Route server does not support route tables associated with virtual
64568
+ # private gateways. To propagate routes into a transit gateway route
64569
+ # table, use [Transit Gateway Connect][1].
64570
+ #
64571
+ #
64572
+ #
64573
+ # [1]: https://docs.aws.amazon.com/vpc/latest/tgw/tgw-connect.html
64574
+ #
64575
+ # @!attribute [rw] route_server_id
64576
+ # The unique identifier of the route server.
64577
+ # @return [String]
64578
+ #
64579
+ # @!attribute [rw] amazon_side_asn
64580
+ # The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for
64581
+ # the appliance. Valid values are from 1 to 4294967295. We recommend
64582
+ # using a private ASN in the 64512–65534 (16-bit ASN) or
64583
+ # 4200000000–4294967294 (32-bit ASN) range.
64584
+ # @return [Integer]
64585
+ #
64586
+ # @!attribute [rw] state
64587
+ # The current state of the route server.
64588
+ # @return [String]
64589
+ #
64590
+ # @!attribute [rw] tags
64591
+ # Any tags assigned to the route server.
64592
+ # @return [Array<Types::Tag>]
64593
+ #
64594
+ # @!attribute [rw] persist_routes_state
64595
+ # The current state of route persistence for the route server.
64596
+ # @return [String]
64597
+ #
64598
+ # @!attribute [rw] persist_routes_duration
64599
+ # The number of minutes a route server will wait after BGP is
64600
+ # re-established to unpersist the routes in the FIB and RIB. Value
64601
+ # must be in the range of 1-5. The default value is 1. Only valid if
64602
+ # `persistRoutesState` is 'enabled'.
64603
+ #
64604
+ # If you set the duration to 1 minute, then when your network
64605
+ # appliance re-establishes BGP with route server, it has 1 minute to
64606
+ # relearn it's adjacent network and advertise those routes to route
64607
+ # server before route server resumes normal functionality. In most
64608
+ # cases, 1 minute is probably sufficient. If, however, you have
64609
+ # concerns that your BGP network may not be capable of fully
64610
+ # re-establishing and re-learning everything in 1 minute, you can
64611
+ # increase the duration up to 5 minutes.
64612
+ # @return [Integer]
64613
+ #
64614
+ # @!attribute [rw] sns_notifications_enabled
64615
+ # Indicates whether SNS notifications are enabled for the route
64616
+ # server. Enabling SNS notifications persists BGP status changes to an
64617
+ # SNS topic provisioned by Amazon Web Services.
64618
+ # @return [Boolean]
64619
+ #
64620
+ # @!attribute [rw] sns_topic_arn
64621
+ # The ARN of the SNS topic where notifications are published.
64622
+ # @return [String]
64623
+ #
64624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteServer AWS API Documentation
64625
+ #
64626
+ class RouteServer < Struct.new(
64627
+ :route_server_id,
64628
+ :amazon_side_asn,
64629
+ :state,
64630
+ :tags,
64631
+ :persist_routes_state,
64632
+ :persist_routes_duration,
64633
+ :sns_notifications_enabled,
64634
+ :sns_topic_arn)
64635
+ SENSITIVE = []
64636
+ include Aws::Structure
64637
+ end
64638
+
64639
+ # Describes the association between a route server and a VPC.
64640
+ #
64641
+ # A route server association is the connection established between a
64642
+ # route server and a VPC.
64643
+ #
64644
+ # @!attribute [rw] route_server_id
64645
+ # The ID of the associated route server.
64646
+ # @return [String]
64647
+ #
64648
+ # @!attribute [rw] vpc_id
64649
+ # The ID of the associated VPC.
64650
+ # @return [String]
64651
+ #
64652
+ # @!attribute [rw] state
64653
+ # The current state of the association.
64654
+ # @return [String]
64655
+ #
64656
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteServerAssociation AWS API Documentation
64657
+ #
64658
+ class RouteServerAssociation < Struct.new(
64659
+ :route_server_id,
64660
+ :vpc_id,
64661
+ :state)
64662
+ SENSITIVE = []
64663
+ include Aws::Structure
64664
+ end
64665
+
64666
+ # The current status of Bidirectional Forwarding Detection (BFD) for a
64667
+ # BGP session.
64668
+ #
64669
+ # @!attribute [rw] status
64670
+ # The operational status of the BFD session.
64671
+ # @return [String]
64672
+ #
64673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteServerBfdStatus AWS API Documentation
64674
+ #
64675
+ class RouteServerBfdStatus < Struct.new(
64676
+ :status)
64677
+ SENSITIVE = []
64678
+ include Aws::Structure
64679
+ end
64680
+
64681
+ # The BGP configuration options for a route server peer.
64682
+ #
64683
+ # @!attribute [rw] peer_asn
64684
+ # The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for
64685
+ # the appliance. Valid values are from 1 to 4294967295. We recommend
64686
+ # using a private ASN in the 64512–65534 (16-bit ASN) or
64687
+ # 4200000000–4294967294 (32-bit ASN) range.
64688
+ # @return [Integer]
64689
+ #
64690
+ # @!attribute [rw] peer_liveness_detection
64691
+ # The liveness detection protocol used for the BGP peer.
64692
+ #
64693
+ # The requested liveness detection protocol for the BGP peer.
64694
+ #
64695
+ # * `bgp-keepalive`: The standard BGP keep alive mechanism
64696
+ # ([RFC4271][1]) that is stable but may take longer to fail-over in
64697
+ # cases of network impact or router failure.
64698
+ #
64699
+ # * `bfd`: An additional Bidirectional Forwarding Detection (BFD)
64700
+ # protocol ([RFC5880][2]) that enables fast failover by using more
64701
+ # sensitive liveness detection.
64702
+ #
64703
+ # Defaults to `bgp-keepalive`.
64704
+ #
64705
+ #
64706
+ #
64707
+ # [1]: https://www.rfc-editor.org/rfc/rfc4271#page-21
64708
+ # [2]: https://www.rfc-editor.org/rfc/rfc5880
64709
+ # @return [String]
64710
+ #
64711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteServerBgpOptions AWS API Documentation
64712
+ #
64713
+ class RouteServerBgpOptions < Struct.new(
64714
+ :peer_asn,
64715
+ :peer_liveness_detection)
64716
+ SENSITIVE = []
64717
+ include Aws::Structure
64718
+ end
64719
+
64720
+ # The BGP configuration options requested for a route server peer.
64721
+ #
64722
+ # @!attribute [rw] peer_asn
64723
+ # The Border Gateway Protocol (BGP) Autonomous System Number (ASN) for
64724
+ # the appliance. Valid values are from 1 to 4294967295. We recommend
64725
+ # using a private ASN in the 64512–65534 (16-bit ASN) or
64726
+ # 4200000000–4294967294 (32-bit ASN) range.
64727
+ # @return [Integer]
64728
+ #
64729
+ # @!attribute [rw] peer_liveness_detection
64730
+ # The requested liveness detection protocol for the BGP peer.
64731
+ #
64732
+ # * `bgp-keepalive`: The standard BGP keep alive mechanism
64733
+ # ([RFC4271][1]) that is stable but may take longer to fail-over in
64734
+ # cases of network impact or router failure.
64735
+ #
64736
+ # * `bfd`: An additional Bidirectional Forwarding Detection (BFD)
64737
+ # protocol ([RFC5880][2]) that enables fast failover by using more
64738
+ # sensitive liveness detection.
64739
+ #
64740
+ # Defaults to `bgp-keepalive`.
64741
+ #
64742
+ #
64743
+ #
64744
+ # [1]: https://www.rfc-editor.org/rfc/rfc4271#page-21
64745
+ # [2]: https://www.rfc-editor.org/rfc/rfc5880
64746
+ # @return [String]
64747
+ #
64748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteServerBgpOptionsRequest AWS API Documentation
64749
+ #
64750
+ class RouteServerBgpOptionsRequest < Struct.new(
64751
+ :peer_asn,
64752
+ :peer_liveness_detection)
64753
+ SENSITIVE = []
64754
+ include Aws::Structure
64755
+ end
64756
+
64757
+ # The current status of a BGP session.
64758
+ #
64759
+ # @!attribute [rw] status
64760
+ # The operational status of the BGP session. The status enables you to
64761
+ # monitor session liveness if you lack monitoring on your
64762
+ # router/appliance.
64763
+ # @return [String]
64764
+ #
64765
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteServerBgpStatus AWS API Documentation
64766
+ #
64767
+ class RouteServerBgpStatus < Struct.new(
64768
+ :status)
64769
+ SENSITIVE = []
64770
+ include Aws::Structure
64771
+ end
64772
+
64773
+ # Describes a route server endpoint and its properties.
64774
+ #
64775
+ # A route server endpoint is an Amazon Web Services-managed component
64776
+ # inside a subnet that facilitates [BGP (Border Gateway Protocol)][1]
64777
+ # connections between your route server and your BGP peers.
64778
+ #
64779
+ #
64780
+ #
64781
+ # [1]: https://en.wikipedia.org/wiki/Border_Gateway_Protocol
64782
+ #
64783
+ # @!attribute [rw] route_server_id
64784
+ # The ID of the route server associated with this endpoint.
64785
+ # @return [String]
64786
+ #
64787
+ # @!attribute [rw] route_server_endpoint_id
64788
+ # The unique identifier of the route server endpoint.
64789
+ # @return [String]
64790
+ #
64791
+ # @!attribute [rw] vpc_id
64792
+ # The ID of the VPC containing the endpoint.
64793
+ # @return [String]
64794
+ #
64795
+ # @!attribute [rw] subnet_id
64796
+ # The ID of the subnet to place the route server endpoint into.
64797
+ # @return [String]
64798
+ #
64799
+ # @!attribute [rw] eni_id
64800
+ # The ID of the Elastic network interface for the endpoint.
64801
+ # @return [String]
64802
+ #
64803
+ # @!attribute [rw] eni_address
64804
+ # The IP address of the Elastic network interface for the endpoint.
64805
+ # @return [String]
64806
+ #
64807
+ # @!attribute [rw] state
64808
+ # The current state of the route server endpoint.
64809
+ # @return [String]
64810
+ #
64811
+ # @!attribute [rw] failure_reason
64812
+ # The reason for any failure in endpoint creation or operation.
64813
+ # @return [String]
64814
+ #
64815
+ # @!attribute [rw] tags
64816
+ # Any tags assigned to the route server endpoint.
64817
+ # @return [Array<Types::Tag>]
64818
+ #
64819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteServerEndpoint AWS API Documentation
64820
+ #
64821
+ class RouteServerEndpoint < Struct.new(
64822
+ :route_server_id,
64823
+ :route_server_endpoint_id,
64824
+ :vpc_id,
64825
+ :subnet_id,
64826
+ :eni_id,
64827
+ :eni_address,
64828
+ :state,
64829
+ :failure_reason,
64830
+ :tags)
64831
+ SENSITIVE = []
64832
+ include Aws::Structure
64833
+ end
64834
+
64835
+ # Describes a BGP peer configuration for a route server endpoint.
64836
+ #
64837
+ # A route server peer is a session between a route server endpoint and
64838
+ # the device deployed in Amazon Web Services (such as a firewall
64839
+ # appliance or other network security function running on an EC2
64840
+ # instance). The device must meet these requirements:
64841
+ #
64842
+ # * Have an elastic network interface in the VPC
64843
+ #
64844
+ # * Support BGP (Border Gateway Protocol)
64845
+ #
64846
+ # * Can initiate BGP sessions
64847
+ #
64848
+ # @!attribute [rw] route_server_peer_id
64849
+ # The unique identifier of the route server peer.
64850
+ # @return [String]
64851
+ #
64852
+ # @!attribute [rw] route_server_endpoint_id
64853
+ # The ID of the route server endpoint associated with this peer.
64854
+ # @return [String]
64855
+ #
64856
+ # @!attribute [rw] route_server_id
64857
+ # The ID of the route server associated with this peer.
64858
+ # @return [String]
64859
+ #
64860
+ # @!attribute [rw] vpc_id
64861
+ # The ID of the VPC containing the route server peer.
64862
+ # @return [String]
64863
+ #
64864
+ # @!attribute [rw] subnet_id
64865
+ # The ID of the subnet containing the route server peer.
64866
+ # @return [String]
64867
+ #
64868
+ # @!attribute [rw] state
64869
+ # The current state of the route server peer.
64870
+ # @return [String]
64871
+ #
64872
+ # @!attribute [rw] failure_reason
64873
+ # The reason for any failure in peer creation or operation.
64874
+ # @return [String]
64875
+ #
64876
+ # @!attribute [rw] endpoint_eni_id
64877
+ # The ID of the Elastic network interface for the route server
64878
+ # endpoint.
64879
+ # @return [String]
64880
+ #
64881
+ # @!attribute [rw] endpoint_eni_address
64882
+ # The IP address of the Elastic network interface for the route server
64883
+ # endpoint.
64884
+ # @return [String]
64885
+ #
64886
+ # @!attribute [rw] peer_address
64887
+ # The IPv4 address of the peer device.
64888
+ # @return [String]
64889
+ #
64890
+ # @!attribute [rw] bgp_options
64891
+ # The BGP configuration options for this peer, including ASN
64892
+ # (Autonomous System Number) and BFD (Bidrectional Forwarding
64893
+ # Detection) settings.
64894
+ # @return [Types::RouteServerBgpOptions]
64895
+ #
64896
+ # @!attribute [rw] bgp_status
64897
+ # The current status of the BGP session with this peer.
64898
+ # @return [Types::RouteServerBgpStatus]
64899
+ #
64900
+ # @!attribute [rw] bfd_status
64901
+ # The current status of the BFD session with this peer.
64902
+ # @return [Types::RouteServerBfdStatus]
64903
+ #
64904
+ # @!attribute [rw] tags
64905
+ # Any tags assigned to the route server peer.
64906
+ # @return [Array<Types::Tag>]
64907
+ #
64908
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteServerPeer AWS API Documentation
64909
+ #
64910
+ class RouteServerPeer < Struct.new(
64911
+ :route_server_peer_id,
64912
+ :route_server_endpoint_id,
64913
+ :route_server_id,
64914
+ :vpc_id,
64915
+ :subnet_id,
64916
+ :state,
64917
+ :failure_reason,
64918
+ :endpoint_eni_id,
64919
+ :endpoint_eni_address,
64920
+ :peer_address,
64921
+ :bgp_options,
64922
+ :bgp_status,
64923
+ :bfd_status,
64924
+ :tags)
64925
+ SENSITIVE = []
64926
+ include Aws::Structure
64927
+ end
64928
+
64929
+ # Describes the route propagation configuration between a route server
64930
+ # and a route table.
64931
+ #
64932
+ # When enabled, route server propagation installs the routes in the FIB
64933
+ # on the route table you've specified. Route server supports IPv4 and
64934
+ # IPv6 route propagation.
64935
+ #
64936
+ # @!attribute [rw] route_server_id
64937
+ # The ID of the route server configured for route propagation.
64938
+ # @return [String]
64939
+ #
64940
+ # @!attribute [rw] route_table_id
64941
+ # The ID of the route table configured for route server propagation.
64942
+ # @return [String]
64943
+ #
64944
+ # @!attribute [rw] state
64945
+ # The current state of route propagation.
64946
+ # @return [String]
64947
+ #
64948
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteServerPropagation AWS API Documentation
64949
+ #
64950
+ class RouteServerPropagation < Struct.new(
64951
+ :route_server_id,
64952
+ :route_table_id,
64953
+ :state)
64954
+ SENSITIVE = []
64955
+ include Aws::Structure
64956
+ end
64957
+
64958
+ # Describes a route in the route server's routing database.
64959
+ #
64960
+ # @!attribute [rw] route_server_endpoint_id
64961
+ # The ID of the route server endpoint that received this route.
64962
+ # @return [String]
64963
+ #
64964
+ # @!attribute [rw] route_server_peer_id
64965
+ # The ID of the route server peer that advertised this route.
64966
+ # @return [String]
64967
+ #
64968
+ # @!attribute [rw] route_installation_details
64969
+ # Details about the installation status of this route in route tables.
64970
+ # @return [Array<Types::RouteServerRouteInstallationDetail>]
64971
+ #
64972
+ # @!attribute [rw] route_status
64973
+ # The current status of the route in the routing database. Values are
64974
+ # `in-rib` or `in-fib` depending on if the routes are in the RIB or
64975
+ # the FIB database.
64976
+ #
64977
+ # The [Routing Information Base (RIB)][1] serves as a database that
64978
+ # stores all the routing information and network topology data
64979
+ # collected by a router or routing system, such as routes learned from
64980
+ # BGP peers. The RIB is constantly updated as new routing information
64981
+ # is received or existing routes change. This ensures that the route
64982
+ # server always has the most current view of the network topology and
64983
+ # can make optimal routing decisions.
64984
+ #
64985
+ # The [Forwarding Information Base (FIB)][2] serves as a forwarding
64986
+ # table for what route server has determined are the best-path routes
64987
+ # in the RIB after evaluating all available routing information and
64988
+ # policies. The FIB routes are installed on the route tables. The FIB
64989
+ # is recomputed whenever there are changes to the RIB.
64990
+ #
64991
+ #
64992
+ #
64993
+ # [1]: https://en.wikipedia.org/wiki/Routing_table
64994
+ # [2]: https://en.wikipedia.org/wiki/Forwarding_information_base
64995
+ # @return [String]
64996
+ #
64997
+ # @!attribute [rw] prefix
64998
+ # The destination CIDR block of the route.
64999
+ # @return [String]
65000
+ #
65001
+ # @!attribute [rw] as_paths
65002
+ # The AS path attributes of the BGP route.
65003
+ # @return [Array<String>]
65004
+ #
65005
+ # @!attribute [rw] med
65006
+ # The Multi-Exit Discriminator (MED) value of the BGP route.
65007
+ # @return [Integer]
65008
+ #
65009
+ # @!attribute [rw] next_hop_ip
65010
+ # The IP address for the next hop.
65011
+ # @return [String]
65012
+ #
65013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteServerRoute AWS API Documentation
65014
+ #
65015
+ class RouteServerRoute < Struct.new(
65016
+ :route_server_endpoint_id,
65017
+ :route_server_peer_id,
65018
+ :route_installation_details,
65019
+ :route_status,
65020
+ :prefix,
65021
+ :as_paths,
65022
+ :med,
65023
+ :next_hop_ip)
65024
+ SENSITIVE = []
65025
+ include Aws::Structure
65026
+ end
65027
+
65028
+ # Describes the installation status of a route in a route table.
65029
+ #
65030
+ # @!attribute [rw] route_table_id
65031
+ # The ID of the route table where the route is being installed.
65032
+ # @return [String]
65033
+ #
65034
+ # @!attribute [rw] route_installation_status
65035
+ # The current installation status of the route in the route table.
65036
+ # @return [String]
65037
+ #
65038
+ # @!attribute [rw] route_installation_status_reason
65039
+ # The reason for the current installation status of the route.
65040
+ # @return [String]
65041
+ #
65042
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteServerRouteInstallationDetail AWS API Documentation
65043
+ #
65044
+ class RouteServerRouteInstallationDetail < Struct.new(
65045
+ :route_table_id,
65046
+ :route_installation_status,
65047
+ :route_installation_status_reason)
65048
+ SENSITIVE = []
65049
+ include Aws::Structure
65050
+ end
65051
+
63748
65052
  # Describes a route table.
63749
65053
  #
63750
65054
  # @!attribute [rw] associations