aws-sdk-directconnect 1.113.0 → 1.114.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf931fcf1630f8cab67e69b2cbc74e663d060c328f123c90d190d286c82cc869
4
- data.tar.gz: 4c47f84496a46dc7bb51185119784268cafddaa4abf8ce0954c171878c916a07
3
+ metadata.gz: 9906cdb3c3c1e7c1fbe454dfbe56ceac7f2af38840f477fe2228543c85b16a98
4
+ data.tar.gz: c76c2c217ba165b8b3bea9daeb1d2f13c4d4a9ed6fd33194870b609cd2951520
5
5
  SHA512:
6
- metadata.gz: bc343518b3d3eef387b7c08afa205b8c307c847e98c9a1a0b72411b258cfe920c4f3498ddea5cc5da58f393ba599b8fb3e5ab417f337f205ae72304fa3a43892
7
- data.tar.gz: 66598da2b59cdf76d84064a403a50f4a0b52f2f73b5b52fdf558d70f04059219802cdfcc85965d684938a25e2a7df03fafa5a388dbcaa6cfdc784b081b56e3c3
6
+ metadata.gz: 26d8c31006a78feded4646d962d353de2265c3d8bdbc8a85f9c3482097cbc82e3d9e370911b8993cc7d3cd12d380a7dcdc591674b5b25f31a3d825adc1eb1539
7
+ data.tar.gz: 330897dd318be58d787a4b717cf35d606d00ea3772d78a7fe2d069d4865ee1bf2866af09a31415eac73ce43d1d70024ed4098f3a1e2f131074ae44a637d18a56
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.114.0 (2026-08-03)
5
+ ------------------
6
+
7
+ * Feature - Added route visibility support for AWS Direct Connect, allowing customers to call ListVirtualInterfaceRoutes to view the BGP routes including AS path and BGP communities advertised over their virtual interfaces.
8
+
4
9
  1.113.0 (2026-07-09)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.113.0
1
+ 1.114.0
@@ -4675,6 +4675,80 @@ module Aws::DirectConnect
4675
4675
  req.send_request(options)
4676
4676
  end
4677
4677
 
4678
+ # Lists the routes for the specified virtual interface.
4679
+ #
4680
+ # Use the `routeDirection` filter to control which routes are returned:
4681
+ #
4682
+ # * `accepted`: routes received from the customer network over the
4683
+ # virtual interface.
4684
+ #
4685
+ # * `advertised`: routes advertised to the customer network over the
4686
+ # virtual interface.
4687
+ #
4688
+ # @option params [String] :virtual_interface_id
4689
+ # The ID of the virtual interface.
4690
+ #
4691
+ # @option params [Types::RouteFilters] :filters
4692
+ # The filters to apply to the routes returned.
4693
+ #
4694
+ # @option params [Integer] :max_results
4695
+ # The maximum number of results to return with a single call. To
4696
+ # retrieve the remaining results, make another call with the returned
4697
+ # `nextToken` value.
4698
+ #
4699
+ # If `MaxResults` is given a value larger than 100, only 100 results are
4700
+ # returned.
4701
+ #
4702
+ # @option params [String] :next_token
4703
+ # The token for the next page of results.
4704
+ #
4705
+ # @return [Types::ListVirtualInterfaceRoutesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4706
+ #
4707
+ # * {Types::ListVirtualInterfaceRoutesResponse#virtual_interface_id #virtual_interface_id} => String
4708
+ # * {Types::ListVirtualInterfaceRoutesResponse#routes #routes} => Array<Types::Route>
4709
+ # * {Types::ListVirtualInterfaceRoutesResponse#next_token #next_token} => String
4710
+ #
4711
+ # @example Request syntax with placeholder values
4712
+ #
4713
+ # resp = client.list_virtual_interface_routes({
4714
+ # virtual_interface_id: "VirtualInterfaceId",
4715
+ # filters: {
4716
+ # route_direction: "accepted", # accepts accepted, advertised
4717
+ # address_family: "ipv4", # accepts ipv4, ipv6
4718
+ # cidrs: ["RouteFilterCidrString"],
4719
+ # as_path: [1],
4720
+ # communities: ["CommunityEntry"],
4721
+ # },
4722
+ # max_results: 1,
4723
+ # next_token: "PaginationToken",
4724
+ # })
4725
+ #
4726
+ # @example Response structure
4727
+ #
4728
+ # resp.virtual_interface_id #=> String
4729
+ # resp.routes #=> Array
4730
+ # resp.routes[0].cidr #=> String
4731
+ # resp.routes[0].route_direction #=> String, one of "accepted", "advertised"
4732
+ # resp.routes[0].address_family #=> String, one of "ipv4", "ipv6"
4733
+ # resp.routes[0].as_path #=> Array
4734
+ # resp.routes[0].as_path[0].path_type #=> String, one of "seq", "set"
4735
+ # resp.routes[0].as_path[0].path #=> Array
4736
+ # resp.routes[0].as_path[0].path[0] #=> Integer
4737
+ # resp.routes[0].communities #=> Array
4738
+ # resp.routes[0].communities[0] #=> String
4739
+ # resp.routes[0].aws_logical_device_id #=> String
4740
+ # resp.routes[0].route_installed_at #=> Time
4741
+ # resp.next_token #=> String
4742
+ #
4743
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ListVirtualInterfaceRoutes AWS API Documentation
4744
+ #
4745
+ # @overload list_virtual_interface_routes(params = {})
4746
+ # @param [Hash] params ({})
4747
+ def list_virtual_interface_routes(params = {}, options = {})
4748
+ req = build_request(:list_virtual_interface_routes, params)
4749
+ req.send_request(options)
4750
+ end
4751
+
4678
4752
  # Lists the virtual interface failover test history.
4679
4753
  #
4680
4754
  # @option params [String] :test_id
@@ -5401,7 +5475,7 @@ module Aws::DirectConnect
5401
5475
  tracer: tracer
5402
5476
  )
5403
5477
  context[:gem_name] = 'aws-sdk-directconnect'
5404
- context[:gem_version] = '1.113.0'
5478
+ context[:gem_version] = '1.114.0'
5405
5479
  Seahorse::Client::Request.new(handlers, context)
5406
5480
  end
5407
5481
 
@@ -27,6 +27,10 @@ module Aws::DirectConnect
27
27
  AllocateTransitVirtualInterfaceRequest = Shapes::StructureShape.new(name: 'AllocateTransitVirtualInterfaceRequest')
28
28
  AllocateTransitVirtualInterfaceResult = Shapes::StructureShape.new(name: 'AllocateTransitVirtualInterfaceResult')
29
29
  AmazonAddress = Shapes::StringShape.new(name: 'AmazonAddress')
30
+ AsPathList = Shapes::ListShape.new(name: 'AsPathList')
31
+ AsPathSegment = Shapes::StructureShape.new(name: 'AsPathSegment')
32
+ AsPathSegmentList = Shapes::ListShape.new(name: 'AsPathSegmentList')
33
+ AsPathType = Shapes::StringShape.new(name: 'AsPathType')
30
34
  AssociateConnectionWithLagRequest = Shapes::StructureShape.new(name: 'AssociateConnectionWithLagRequest')
31
35
  AssociateHostedConnectionRequest = Shapes::StructureShape.new(name: 'AssociateHostedConnectionRequest')
32
36
  AssociateMacSecKeyRequest = Shapes::StructureShape.new(name: 'AssociateMacSecKeyRequest')
@@ -52,6 +56,8 @@ module Aws::DirectConnect
52
56
  CIDR = Shapes::StringShape.new(name: 'CIDR')
53
57
  Cak = Shapes::StringShape.new(name: 'Cak')
54
58
  Ckn = Shapes::StringShape.new(name: 'Ckn')
59
+ CommunityEntry = Shapes::StringShape.new(name: 'CommunityEntry')
60
+ CommunityList = Shapes::ListShape.new(name: 'CommunityList')
55
61
  ConfirmConnectionRequest = Shapes::StructureShape.new(name: 'ConfirmConnectionRequest')
56
62
  ConfirmConnectionResponse = Shapes::StructureShape.new(name: 'ConfirmConnectionResponse')
57
63
  ConfirmCustomerAgreementRequest = Shapes::StructureShape.new(name: 'ConfirmCustomerAgreementRequest')
@@ -172,6 +178,8 @@ module Aws::DirectConnect
172
178
  LagState = Shapes::StringShape.new(name: 'LagState')
173
179
  Lags = Shapes::StructureShape.new(name: 'Lags')
174
180
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
181
+ ListVirtualInterfaceRoutesRequest = Shapes::StructureShape.new(name: 'ListVirtualInterfaceRoutesRequest')
182
+ ListVirtualInterfaceRoutesResponse = Shapes::StructureShape.new(name: 'ListVirtualInterfaceRoutesResponse')
175
183
  ListVirtualInterfaceTestHistoryRequest = Shapes::StructureShape.new(name: 'ListVirtualInterfaceTestHistoryRequest')
176
184
  ListVirtualInterfaceTestHistoryResponse = Shapes::StructureShape.new(name: 'ListVirtualInterfaceTestHistoryResponse')
177
185
  Loa = Shapes::StructureShape.new(name: 'Loa')
@@ -214,8 +222,16 @@ module Aws::DirectConnect
214
222
  ResourceArnList = Shapes::ListShape.new(name: 'ResourceArnList')
215
223
  ResourceTag = Shapes::StructureShape.new(name: 'ResourceTag')
216
224
  ResourceTagList = Shapes::ListShape.new(name: 'ResourceTagList')
225
+ Route = Shapes::StructureShape.new(name: 'Route')
226
+ RouteCidr = Shapes::StringShape.new(name: 'RouteCidr')
227
+ RouteDirection = Shapes::StringShape.new(name: 'RouteDirection')
228
+ RouteFilterCidrString = Shapes::StringShape.new(name: 'RouteFilterCidrString')
229
+ RouteFilterCidrStringList = Shapes::ListShape.new(name: 'RouteFilterCidrStringList')
217
230
  RouteFilterPrefix = Shapes::StructureShape.new(name: 'RouteFilterPrefix')
218
231
  RouteFilterPrefixList = Shapes::ListShape.new(name: 'RouteFilterPrefixList')
232
+ RouteFilters = Shapes::StructureShape.new(name: 'RouteFilters')
233
+ RouteInstalledAt = Shapes::TimestampShape.new(name: 'RouteInstalledAt')
234
+ RouteList = Shapes::ListShape.new(name: 'RouteList')
219
235
  RouterConfig = Shapes::StringShape.new(name: 'RouterConfig')
220
236
  RouterType = Shapes::StructureShape.new(name: 'RouterType')
221
237
  RouterTypeIdentifier = Shapes::StringShape.new(name: 'RouterTypeIdentifier')
@@ -315,6 +331,14 @@ module Aws::DirectConnect
315
331
  AllocateTransitVirtualInterfaceResult.add_member(:virtual_interface, Shapes::ShapeRef.new(shape: VirtualInterface, location_name: "virtualInterface"))
316
332
  AllocateTransitVirtualInterfaceResult.struct_class = Types::AllocateTransitVirtualInterfaceResult
317
333
 
334
+ AsPathList.member = Shapes::ShapeRef.new(shape: LongAsn)
335
+
336
+ AsPathSegment.add_member(:path_type, Shapes::ShapeRef.new(shape: AsPathType, location_name: "pathType"))
337
+ AsPathSegment.add_member(:path, Shapes::ShapeRef.new(shape: AsPathList, location_name: "path"))
338
+ AsPathSegment.struct_class = Types::AsPathSegment
339
+
340
+ AsPathSegmentList.member = Shapes::ShapeRef.new(shape: AsPathSegment)
341
+
318
342
  AssociateConnectionWithLagRequest.add_member(:connection_id, Shapes::ShapeRef.new(shape: ConnectionId, required: true, location_name: "connectionId"))
319
343
  AssociateConnectionWithLagRequest.add_member(:lag_id, Shapes::ShapeRef.new(shape: LagId, required: true, location_name: "lagId"))
320
344
  AssociateConnectionWithLagRequest.struct_class = Types::AssociateConnectionWithLagRequest
@@ -369,6 +393,8 @@ module Aws::DirectConnect
369
393
 
370
394
  BGPPeerList.member = Shapes::ShapeRef.new(shape: BGPPeer)
371
395
 
396
+ CommunityList.member = Shapes::ShapeRef.new(shape: CommunityEntry)
397
+
372
398
  ConfirmConnectionRequest.add_member(:connection_id, Shapes::ShapeRef.new(shape: ConnectionId, required: true, location_name: "connectionId"))
373
399
  ConfirmConnectionRequest.struct_class = Types::ConfirmConnectionRequest
374
400
 
@@ -803,6 +829,17 @@ module Aws::DirectConnect
803
829
 
804
830
  LimitExceededException.struct_class = Types::LimitExceededException
805
831
 
832
+ ListVirtualInterfaceRoutesRequest.add_member(:virtual_interface_id, Shapes::ShapeRef.new(shape: VirtualInterfaceId, location_name: "virtualInterfaceId"))
833
+ ListVirtualInterfaceRoutesRequest.add_member(:filters, Shapes::ShapeRef.new(shape: RouteFilters, location_name: "filters"))
834
+ ListVirtualInterfaceRoutesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultSetSize, location_name: "maxResults"))
835
+ ListVirtualInterfaceRoutesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
836
+ ListVirtualInterfaceRoutesRequest.struct_class = Types::ListVirtualInterfaceRoutesRequest
837
+
838
+ ListVirtualInterfaceRoutesResponse.add_member(:virtual_interface_id, Shapes::ShapeRef.new(shape: VirtualInterfaceId, location_name: "virtualInterfaceId"))
839
+ ListVirtualInterfaceRoutesResponse.add_member(:routes, Shapes::ShapeRef.new(shape: RouteList, location_name: "routes"))
840
+ ListVirtualInterfaceRoutesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
841
+ ListVirtualInterfaceRoutesResponse.struct_class = Types::ListVirtualInterfaceRoutesResponse
842
+
806
843
  ListVirtualInterfaceTestHistoryRequest.add_member(:test_id, Shapes::ShapeRef.new(shape: TestId, location_name: "testId"))
807
844
  ListVirtualInterfaceTestHistoryRequest.add_member(:virtual_interface_id, Shapes::ShapeRef.new(shape: VirtualInterfaceId, location_name: "virtualInterfaceId"))
808
845
  ListVirtualInterfaceTestHistoryRequest.add_member(:bgp_peers, Shapes::ShapeRef.new(shape: BGPPeerIdList, location_name: "bgpPeers"))
@@ -947,11 +984,31 @@ module Aws::DirectConnect
947
984
 
948
985
  ResourceTagList.member = Shapes::ShapeRef.new(shape: ResourceTag)
949
986
 
987
+ Route.add_member(:cidr, Shapes::ShapeRef.new(shape: RouteCidr, location_name: "cidr"))
988
+ Route.add_member(:route_direction, Shapes::ShapeRef.new(shape: RouteDirection, location_name: "routeDirection"))
989
+ Route.add_member(:address_family, Shapes::ShapeRef.new(shape: AddressFamily, location_name: "addressFamily"))
990
+ Route.add_member(:as_path, Shapes::ShapeRef.new(shape: AsPathSegmentList, location_name: "asPath"))
991
+ Route.add_member(:communities, Shapes::ShapeRef.new(shape: CommunityList, location_name: "communities"))
992
+ Route.add_member(:aws_logical_device_id, Shapes::ShapeRef.new(shape: AwsLogicalDeviceId, location_name: "awsLogicalDeviceId"))
993
+ Route.add_member(:route_installed_at, Shapes::ShapeRef.new(shape: RouteInstalledAt, location_name: "routeInstalledAt"))
994
+ Route.struct_class = Types::Route
995
+
996
+ RouteFilterCidrStringList.member = Shapes::ShapeRef.new(shape: RouteFilterCidrString)
997
+
950
998
  RouteFilterPrefix.add_member(:cidr, Shapes::ShapeRef.new(shape: CIDR, location_name: "cidr"))
951
999
  RouteFilterPrefix.struct_class = Types::RouteFilterPrefix
952
1000
 
953
1001
  RouteFilterPrefixList.member = Shapes::ShapeRef.new(shape: RouteFilterPrefix)
954
1002
 
1003
+ RouteFilters.add_member(:route_direction, Shapes::ShapeRef.new(shape: RouteDirection, location_name: "routeDirection"))
1004
+ RouteFilters.add_member(:address_family, Shapes::ShapeRef.new(shape: AddressFamily, location_name: "addressFamily"))
1005
+ RouteFilters.add_member(:cidrs, Shapes::ShapeRef.new(shape: RouteFilterCidrStringList, location_name: "cidrs"))
1006
+ RouteFilters.add_member(:as_path, Shapes::ShapeRef.new(shape: AsPathList, location_name: "asPath"))
1007
+ RouteFilters.add_member(:communities, Shapes::ShapeRef.new(shape: CommunityList, location_name: "communities"))
1008
+ RouteFilters.struct_class = Types::RouteFilters
1009
+
1010
+ RouteList.member = Shapes::ShapeRef.new(shape: Route)
1011
+
955
1012
  RouterType.add_member(:vendor, Shapes::ShapeRef.new(shape: Vendor, location_name: "vendor"))
956
1013
  RouterType.add_member(:platform, Shapes::ShapeRef.new(shape: Platform, location_name: "platform"))
957
1014
  RouterType.add_member(:software, Shapes::ShapeRef.new(shape: Software, location_name: "software"))
@@ -1184,9 +1241,9 @@ module Aws::DirectConnect
1184
1241
  o.http_request_uri = "/"
1185
1242
  o.input = Shapes::ShapeRef.new(shape: AssociateConnectionWithLagRequest)
1186
1243
  o.output = Shapes::ShapeRef.new(shape: Connection)
1244
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1187
1245
  o.errors << Shapes::ShapeRef.new(shape: DirectConnectServerException)
1188
1246
  o.errors << Shapes::ShapeRef.new(shape: DirectConnectClientException)
1189
- o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1190
1247
  end)
1191
1248
 
1192
1249
  api.add_operation(:associate_hosted_connection, Seahorse::Model::Operation.new.tap do |o|
@@ -1667,6 +1724,16 @@ module Aws::DirectConnect
1667
1724
  o.errors << Shapes::ShapeRef.new(shape: DirectConnectClientException)
1668
1725
  end)
1669
1726
 
1727
+ api.add_operation(:list_virtual_interface_routes, Seahorse::Model::Operation.new.tap do |o|
1728
+ o.name = "ListVirtualInterfaceRoutes"
1729
+ o.http_method = "POST"
1730
+ o.http_request_uri = "/"
1731
+ o.input = Shapes::ShapeRef.new(shape: ListVirtualInterfaceRoutesRequest)
1732
+ o.output = Shapes::ShapeRef.new(shape: ListVirtualInterfaceRoutesResponse)
1733
+ o.errors << Shapes::ShapeRef.new(shape: DirectConnectServerException)
1734
+ o.errors << Shapes::ShapeRef.new(shape: DirectConnectClientException)
1735
+ end)
1736
+
1670
1737
  api.add_operation(:list_virtual_interface_test_history, Seahorse::Model::Operation.new.tap do |o|
1671
1738
  o.name = "ListVirtualInterfaceTestHistory"
1672
1739
  o.http_method = "POST"
@@ -223,6 +223,28 @@ module Aws::DirectConnect
223
223
  include Aws::Structure
224
224
  end
225
225
 
226
+ # A segment of an autonomous system (AS) path.
227
+ #
228
+ # @!attribute [rw] path_type
229
+ # The type of the AS path segment.
230
+ #
231
+ # The valid values are `seq` (an ordered `AS_SEQUENCE`) and `set` (an
232
+ # unordered `AS_SET`).
233
+ # @return [String]
234
+ #
235
+ # @!attribute [rw] path
236
+ # The autonomous system (AS) numbers in the segment.
237
+ # @return [Array<Integer>]
238
+ #
239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AsPathSegment AWS API Documentation
240
+ #
241
+ class AsPathSegment < Struct.new(
242
+ :path_type,
243
+ :path)
244
+ SENSITIVE = []
245
+ include Aws::Structure
246
+ end
247
+
226
248
  # @!attribute [rw] connection_id
227
249
  # The ID of the connection.
228
250
  # @return [String]
@@ -2920,6 +2942,61 @@ module Aws::DirectConnect
2920
2942
  #
2921
2943
  class LimitExceededException < Aws::EmptyStructure; end
2922
2944
 
2945
+ # @!attribute [rw] virtual_interface_id
2946
+ # The ID of the virtual interface.
2947
+ # @return [String]
2948
+ #
2949
+ # @!attribute [rw] filters
2950
+ # The filters to apply to the routes returned.
2951
+ # @return [Types::RouteFilters]
2952
+ #
2953
+ # @!attribute [rw] max_results
2954
+ # The maximum number of results to return with a single call. To
2955
+ # retrieve the remaining results, make another call with the returned
2956
+ # `nextToken` value.
2957
+ #
2958
+ # If `MaxResults` is given a value larger than 100, only 100 results
2959
+ # are returned.
2960
+ # @return [Integer]
2961
+ #
2962
+ # @!attribute [rw] next_token
2963
+ # The token for the next page of results.
2964
+ # @return [String]
2965
+ #
2966
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ListVirtualInterfaceRoutesRequest AWS API Documentation
2967
+ #
2968
+ class ListVirtualInterfaceRoutesRequest < Struct.new(
2969
+ :virtual_interface_id,
2970
+ :filters,
2971
+ :max_results,
2972
+ :next_token)
2973
+ SENSITIVE = []
2974
+ include Aws::Structure
2975
+ end
2976
+
2977
+ # @!attribute [rw] virtual_interface_id
2978
+ # The ID of the virtual interface.
2979
+ # @return [String]
2980
+ #
2981
+ # @!attribute [rw] routes
2982
+ # The routes for the virtual interface.
2983
+ # @return [Array<Types::Route>]
2984
+ #
2985
+ # @!attribute [rw] next_token
2986
+ # The token to use to retrieve the next page of results. This value is
2987
+ # `null` when there are no more results to return.
2988
+ # @return [String]
2989
+ #
2990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ListVirtualInterfaceRoutesResponse AWS API Documentation
2991
+ #
2992
+ class ListVirtualInterfaceRoutesResponse < Struct.new(
2993
+ :virtual_interface_id,
2994
+ :routes,
2995
+ :next_token)
2996
+ SENSITIVE = []
2997
+ include Aws::Structure
2998
+ end
2999
+
2923
3000
  # @!attribute [rw] test_id
2924
3001
  # The ID of the virtual interface failover test.
2925
3002
  # @return [String]
@@ -3861,6 +3938,58 @@ module Aws::DirectConnect
3861
3938
  include Aws::Structure
3862
3939
  end
3863
3940
 
3941
+ # Information about a route for a virtual interface.
3942
+ #
3943
+ # @!attribute [rw] cidr
3944
+ # The CIDR (prefix) of the route.
3945
+ # @return [String]
3946
+ #
3947
+ # @!attribute [rw] route_direction
3948
+ # The direction of the route.
3949
+ #
3950
+ # The valid values are `accepted` (received from the customer network)
3951
+ # and `advertised` (advertised to the customer network).
3952
+ # @return [String]
3953
+ #
3954
+ # @!attribute [rw] address_family
3955
+ # The address family of the route.
3956
+ #
3957
+ # The valid values are `ipv4` and `ipv6`.
3958
+ # @return [String]
3959
+ #
3960
+ # @!attribute [rw] as_path
3961
+ # The autonomous system (AS) path of the route.
3962
+ # @return [Array<Types::AsPathSegment>]
3963
+ #
3964
+ # @!attribute [rw] communities
3965
+ # The BGP communities associated with the route.
3966
+ # @return [Array<String>]
3967
+ #
3968
+ # @!attribute [rw] aws_logical_device_id
3969
+ # The Direct Connect endpoint that terminates the logical connection.
3970
+ # This device might be different than the device that terminates the
3971
+ # physical connection.
3972
+ # @return [String]
3973
+ #
3974
+ # @!attribute [rw] route_installed_at
3975
+ # The time when the route was installed. The value is displayed in UTC
3976
+ # format.
3977
+ # @return [Time]
3978
+ #
3979
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/Route AWS API Documentation
3980
+ #
3981
+ class Route < Struct.new(
3982
+ :cidr,
3983
+ :route_direction,
3984
+ :address_family,
3985
+ :as_path,
3986
+ :communities,
3987
+ :aws_logical_device_id,
3988
+ :route_installed_at)
3989
+ SENSITIVE = []
3990
+ include Aws::Structure
3991
+ end
3992
+
3864
3993
  # Information about a route filter prefix that a customer can advertise
3865
3994
  # through Border Gateway Protocol (BGP) over a public virtual interface.
3866
3995
  #
@@ -3877,6 +4006,49 @@ module Aws::DirectConnect
3877
4006
  include Aws::Structure
3878
4007
  end
3879
4008
 
4009
+ # The filters used to limit the routes returned by
4010
+ # ListVirtualInterfaceRoutes.
4011
+ #
4012
+ # @!attribute [rw] route_direction
4013
+ # The direction of the routes to return.
4014
+ #
4015
+ # The valid values are `accepted` (routes received from the customer
4016
+ # network) and `advertised` (routes advertised to the customer
4017
+ # network).
4018
+ # @return [String]
4019
+ #
4020
+ # @!attribute [rw] address_family
4021
+ # The address family of the routes to return.
4022
+ #
4023
+ # The valid values are `ipv4` and `ipv6`.
4024
+ # @return [String]
4025
+ #
4026
+ # @!attribute [rw] cidrs
4027
+ # The CIDRs (prefixes) used to filter the routes. You can specify up
4028
+ # to 10 CIDRs.
4029
+ # @return [Array<String>]
4030
+ #
4031
+ # @!attribute [rw] as_path
4032
+ # The autonomous system (AS) numbers used to filter the routes by
4033
+ # their AS path.
4034
+ # @return [Array<Integer>]
4035
+ #
4036
+ # @!attribute [rw] communities
4037
+ # The BGP communities used to filter the routes.
4038
+ # @return [Array<String>]
4039
+ #
4040
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/RouteFilters AWS API Documentation
4041
+ #
4042
+ class RouteFilters < Struct.new(
4043
+ :route_direction,
4044
+ :address_family,
4045
+ :cidrs,
4046
+ :as_path,
4047
+ :communities)
4048
+ SENSITIVE = []
4049
+ include Aws::Structure
4050
+ end
4051
+
3880
4052
  # Information about the virtual router.
3881
4053
  #
3882
4054
  # @!attribute [rw] vendor
@@ -54,7 +54,7 @@ module Aws::DirectConnect
54
54
  autoload :EndpointProvider, 'aws-sdk-directconnect/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-directconnect/endpoints'
56
56
 
57
- GEM_VERSION = '1.113.0'
57
+ GEM_VERSION = '1.114.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -1244,6 +1244,27 @@ module Aws
1244
1244
  ) -> _DisassociateMacSecKeyResponseSuccess
1245
1245
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DisassociateMacSecKeyResponseSuccess
1246
1246
 
1247
+ interface _ListVirtualInterfaceRoutesResponseSuccess
1248
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListVirtualInterfaceRoutesResponse]
1249
+ def virtual_interface_id: () -> ::String
1250
+ def routes: () -> ::Array[Types::Route]
1251
+ def next_token: () -> ::String
1252
+ end
1253
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DirectConnect/Client.html#list_virtual_interface_routes-instance_method
1254
+ def list_virtual_interface_routes: (
1255
+ ?virtual_interface_id: ::String,
1256
+ ?filters: {
1257
+ route_direction: ("accepted" | "advertised")?,
1258
+ address_family: ("ipv4" | "ipv6")?,
1259
+ cidrs: Array[::String]?,
1260
+ as_path: Array[::Integer]?,
1261
+ communities: Array[::String]?
1262
+ },
1263
+ ?max_results: ::Integer,
1264
+ ?next_token: ::String
1265
+ ) -> _ListVirtualInterfaceRoutesResponseSuccess
1266
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListVirtualInterfaceRoutesResponseSuccess
1267
+
1247
1268
  interface _ListVirtualInterfaceTestHistoryResponseSuccess
1248
1269
  include ::Seahorse::Client::_ResponseSuccess[Types::ListVirtualInterfaceTestHistoryResponse]
1249
1270
  def virtual_interface_test_history: () -> ::Array[Types::VirtualInterfaceTestHistory]
data/sig/types.rbs CHANGED
@@ -66,6 +66,12 @@ module Aws::DirectConnect
66
66
  SENSITIVE: []
67
67
  end
68
68
 
69
+ class AsPathSegment
70
+ attr_accessor path_type: ("seq" | "set")
71
+ attr_accessor path: ::Array[::Integer]
72
+ SENSITIVE: []
73
+ end
74
+
69
75
  class AssociateConnectionWithLagRequest
70
76
  attr_accessor connection_id: ::String
71
77
  attr_accessor lag_id: ::String
@@ -708,6 +714,21 @@ module Aws::DirectConnect
708
714
  class LimitExceededException < Aws::EmptyStructure
709
715
  end
710
716
 
717
+ class ListVirtualInterfaceRoutesRequest
718
+ attr_accessor virtual_interface_id: ::String
719
+ attr_accessor filters: Types::RouteFilters
720
+ attr_accessor max_results: ::Integer
721
+ attr_accessor next_token: ::String
722
+ SENSITIVE: []
723
+ end
724
+
725
+ class ListVirtualInterfaceRoutesResponse
726
+ attr_accessor virtual_interface_id: ::String
727
+ attr_accessor routes: ::Array[Types::Route]
728
+ attr_accessor next_token: ::String
729
+ SENSITIVE: []
730
+ end
731
+
711
732
  class ListVirtualInterfaceTestHistoryRequest
712
733
  attr_accessor test_id: ::String
713
734
  attr_accessor virtual_interface_id: ::String
@@ -872,11 +893,31 @@ module Aws::DirectConnect
872
893
  SENSITIVE: []
873
894
  end
874
895
 
896
+ class Route
897
+ attr_accessor cidr: ::String
898
+ attr_accessor route_direction: ("accepted" | "advertised")
899
+ attr_accessor address_family: ("ipv4" | "ipv6")
900
+ attr_accessor as_path: ::Array[Types::AsPathSegment]
901
+ attr_accessor communities: ::Array[::String]
902
+ attr_accessor aws_logical_device_id: ::String
903
+ attr_accessor route_installed_at: ::Time
904
+ SENSITIVE: []
905
+ end
906
+
875
907
  class RouteFilterPrefix
876
908
  attr_accessor cidr: ::String
877
909
  SENSITIVE: []
878
910
  end
879
911
 
912
+ class RouteFilters
913
+ attr_accessor route_direction: ("accepted" | "advertised")
914
+ attr_accessor address_family: ("ipv4" | "ipv6")
915
+ attr_accessor cidrs: ::Array[::String]
916
+ attr_accessor as_path: ::Array[::Integer]
917
+ attr_accessor communities: ::Array[::String]
918
+ SENSITIVE: []
919
+ end
920
+
880
921
  class RouterType
881
922
  attr_accessor vendor: ::String
882
923
  attr_accessor platform: ::String
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-directconnect
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.113.0
4
+ version: 1.114.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services