aws-sdk-ec2 1.188.0 → 1.190.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.
@@ -336,6 +336,8 @@ module Aws::EC2
336
336
  CreateTransitGatewayMulticastDomainResult = Shapes::StructureShape.new(name: 'CreateTransitGatewayMulticastDomainResult')
337
337
  CreateTransitGatewayPeeringAttachmentRequest = Shapes::StructureShape.new(name: 'CreateTransitGatewayPeeringAttachmentRequest')
338
338
  CreateTransitGatewayPeeringAttachmentResult = Shapes::StructureShape.new(name: 'CreateTransitGatewayPeeringAttachmentResult')
339
+ CreateTransitGatewayPrefixListReferenceRequest = Shapes::StructureShape.new(name: 'CreateTransitGatewayPrefixListReferenceRequest')
340
+ CreateTransitGatewayPrefixListReferenceResult = Shapes::StructureShape.new(name: 'CreateTransitGatewayPrefixListReferenceResult')
339
341
  CreateTransitGatewayRequest = Shapes::StructureShape.new(name: 'CreateTransitGatewayRequest')
340
342
  CreateTransitGatewayResult = Shapes::StructureShape.new(name: 'CreateTransitGatewayResult')
341
343
  CreateTransitGatewayRouteRequest = Shapes::StructureShape.new(name: 'CreateTransitGatewayRouteRequest')
@@ -452,6 +454,8 @@ module Aws::EC2
452
454
  DeleteTransitGatewayMulticastDomainResult = Shapes::StructureShape.new(name: 'DeleteTransitGatewayMulticastDomainResult')
453
455
  DeleteTransitGatewayPeeringAttachmentRequest = Shapes::StructureShape.new(name: 'DeleteTransitGatewayPeeringAttachmentRequest')
454
456
  DeleteTransitGatewayPeeringAttachmentResult = Shapes::StructureShape.new(name: 'DeleteTransitGatewayPeeringAttachmentResult')
457
+ DeleteTransitGatewayPrefixListReferenceRequest = Shapes::StructureShape.new(name: 'DeleteTransitGatewayPrefixListReferenceRequest')
458
+ DeleteTransitGatewayPrefixListReferenceResult = Shapes::StructureShape.new(name: 'DeleteTransitGatewayPrefixListReferenceResult')
455
459
  DeleteTransitGatewayRequest = Shapes::StructureShape.new(name: 'DeleteTransitGatewayRequest')
456
460
  DeleteTransitGatewayResult = Shapes::StructureShape.new(name: 'DeleteTransitGatewayResult')
457
461
  DeleteTransitGatewayRouteRequest = Shapes::StructureShape.new(name: 'DeleteTransitGatewayRouteRequest')
@@ -995,6 +999,8 @@ module Aws::EC2
995
999
  GetTransitGatewayAttachmentPropagationsResult = Shapes::StructureShape.new(name: 'GetTransitGatewayAttachmentPropagationsResult')
996
1000
  GetTransitGatewayMulticastDomainAssociationsRequest = Shapes::StructureShape.new(name: 'GetTransitGatewayMulticastDomainAssociationsRequest')
997
1001
  GetTransitGatewayMulticastDomainAssociationsResult = Shapes::StructureShape.new(name: 'GetTransitGatewayMulticastDomainAssociationsResult')
1002
+ GetTransitGatewayPrefixListReferencesRequest = Shapes::StructureShape.new(name: 'GetTransitGatewayPrefixListReferencesRequest')
1003
+ GetTransitGatewayPrefixListReferencesResult = Shapes::StructureShape.new(name: 'GetTransitGatewayPrefixListReferencesResult')
998
1004
  GetTransitGatewayRouteTableAssociationsRequest = Shapes::StructureShape.new(name: 'GetTransitGatewayRouteTableAssociationsRequest')
999
1005
  GetTransitGatewayRouteTableAssociationsResult = Shapes::StructureShape.new(name: 'GetTransitGatewayRouteTableAssociationsResult')
1000
1006
  GetTransitGatewayRouteTablePropagationsRequest = Shapes::StructureShape.new(name: 'GetTransitGatewayRouteTablePropagationsRequest')
@@ -1375,6 +1381,11 @@ module Aws::EC2
1375
1381
  ModifyTrafficMirrorFilterRuleResult = Shapes::StructureShape.new(name: 'ModifyTrafficMirrorFilterRuleResult')
1376
1382
  ModifyTrafficMirrorSessionRequest = Shapes::StructureShape.new(name: 'ModifyTrafficMirrorSessionRequest')
1377
1383
  ModifyTrafficMirrorSessionResult = Shapes::StructureShape.new(name: 'ModifyTrafficMirrorSessionResult')
1384
+ ModifyTransitGatewayOptions = Shapes::StructureShape.new(name: 'ModifyTransitGatewayOptions')
1385
+ ModifyTransitGatewayPrefixListReferenceRequest = Shapes::StructureShape.new(name: 'ModifyTransitGatewayPrefixListReferenceRequest')
1386
+ ModifyTransitGatewayPrefixListReferenceResult = Shapes::StructureShape.new(name: 'ModifyTransitGatewayPrefixListReferenceResult')
1387
+ ModifyTransitGatewayRequest = Shapes::StructureShape.new(name: 'ModifyTransitGatewayRequest')
1388
+ ModifyTransitGatewayResult = Shapes::StructureShape.new(name: 'ModifyTransitGatewayResult')
1378
1389
  ModifyTransitGatewayVpcAttachmentRequest = Shapes::StructureShape.new(name: 'ModifyTransitGatewayVpcAttachmentRequest')
1379
1390
  ModifyTransitGatewayVpcAttachmentRequestOptions = Shapes::StructureShape.new(name: 'ModifyTransitGatewayVpcAttachmentRequestOptions')
1380
1391
  ModifyTransitGatewayVpcAttachmentResult = Shapes::StructureShape.new(name: 'ModifyTransitGatewayVpcAttachmentResult')
@@ -1920,6 +1931,10 @@ module Aws::EC2
1920
1931
  TransitGatewayOptions = Shapes::StructureShape.new(name: 'TransitGatewayOptions')
1921
1932
  TransitGatewayPeeringAttachment = Shapes::StructureShape.new(name: 'TransitGatewayPeeringAttachment')
1922
1933
  TransitGatewayPeeringAttachmentList = Shapes::ListShape.new(name: 'TransitGatewayPeeringAttachmentList')
1934
+ TransitGatewayPrefixListAttachment = Shapes::StructureShape.new(name: 'TransitGatewayPrefixListAttachment')
1935
+ TransitGatewayPrefixListReference = Shapes::StructureShape.new(name: 'TransitGatewayPrefixListReference')
1936
+ TransitGatewayPrefixListReferenceSet = Shapes::ListShape.new(name: 'TransitGatewayPrefixListReferenceSet')
1937
+ TransitGatewayPrefixListReferenceState = Shapes::StringShape.new(name: 'TransitGatewayPrefixListReferenceState')
1923
1938
  TransitGatewayPropagation = Shapes::StructureShape.new(name: 'TransitGatewayPropagation')
1924
1939
  TransitGatewayPropagationState = Shapes::StringShape.new(name: 'TransitGatewayPropagationState')
1925
1940
  TransitGatewayRequestOptions = Shapes::StructureShape.new(name: 'TransitGatewayRequestOptions')
@@ -3375,6 +3390,16 @@ module Aws::EC2
3375
3390
  CreateTransitGatewayPeeringAttachmentResult.add_member(:transit_gateway_peering_attachment, Shapes::ShapeRef.new(shape: TransitGatewayPeeringAttachment, location_name: "transitGatewayPeeringAttachment"))
3376
3391
  CreateTransitGatewayPeeringAttachmentResult.struct_class = Types::CreateTransitGatewayPeeringAttachmentResult
3377
3392
 
3393
+ CreateTransitGatewayPrefixListReferenceRequest.add_member(:transit_gateway_route_table_id, Shapes::ShapeRef.new(shape: TransitGatewayRouteTableId, required: true, location_name: "TransitGatewayRouteTableId"))
3394
+ CreateTransitGatewayPrefixListReferenceRequest.add_member(:prefix_list_id, Shapes::ShapeRef.new(shape: PrefixListResourceId, required: true, location_name: "PrefixListId"))
3395
+ CreateTransitGatewayPrefixListReferenceRequest.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, location_name: "TransitGatewayAttachmentId"))
3396
+ CreateTransitGatewayPrefixListReferenceRequest.add_member(:blackhole, Shapes::ShapeRef.new(shape: Boolean, location_name: "Blackhole"))
3397
+ CreateTransitGatewayPrefixListReferenceRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
3398
+ CreateTransitGatewayPrefixListReferenceRequest.struct_class = Types::CreateTransitGatewayPrefixListReferenceRequest
3399
+
3400
+ CreateTransitGatewayPrefixListReferenceResult.add_member(:transit_gateway_prefix_list_reference, Shapes::ShapeRef.new(shape: TransitGatewayPrefixListReference, location_name: "transitGatewayPrefixListReference"))
3401
+ CreateTransitGatewayPrefixListReferenceResult.struct_class = Types::CreateTransitGatewayPrefixListReferenceResult
3402
+
3378
3403
  CreateTransitGatewayRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
3379
3404
  CreateTransitGatewayRequest.add_member(:options, Shapes::ShapeRef.new(shape: TransitGatewayRequestOptions, location_name: "Options"))
3380
3405
  CreateTransitGatewayRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
@@ -3814,6 +3839,14 @@ module Aws::EC2
3814
3839
  DeleteTransitGatewayPeeringAttachmentResult.add_member(:transit_gateway_peering_attachment, Shapes::ShapeRef.new(shape: TransitGatewayPeeringAttachment, location_name: "transitGatewayPeeringAttachment"))
3815
3840
  DeleteTransitGatewayPeeringAttachmentResult.struct_class = Types::DeleteTransitGatewayPeeringAttachmentResult
3816
3841
 
3842
+ DeleteTransitGatewayPrefixListReferenceRequest.add_member(:transit_gateway_route_table_id, Shapes::ShapeRef.new(shape: TransitGatewayRouteTableId, required: true, location_name: "TransitGatewayRouteTableId"))
3843
+ DeleteTransitGatewayPrefixListReferenceRequest.add_member(:prefix_list_id, Shapes::ShapeRef.new(shape: PrefixListResourceId, required: true, location_name: "PrefixListId"))
3844
+ DeleteTransitGatewayPrefixListReferenceRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
3845
+ DeleteTransitGatewayPrefixListReferenceRequest.struct_class = Types::DeleteTransitGatewayPrefixListReferenceRequest
3846
+
3847
+ DeleteTransitGatewayPrefixListReferenceResult.add_member(:transit_gateway_prefix_list_reference, Shapes::ShapeRef.new(shape: TransitGatewayPrefixListReference, location_name: "transitGatewayPrefixListReference"))
3848
+ DeleteTransitGatewayPrefixListReferenceResult.struct_class = Types::DeleteTransitGatewayPrefixListReferenceResult
3849
+
3817
3850
  DeleteTransitGatewayRequest.add_member(:transit_gateway_id, Shapes::ShapeRef.new(shape: TransitGatewayId, required: true, location_name: "TransitGatewayId"))
3818
3851
  DeleteTransitGatewayRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
3819
3852
  DeleteTransitGatewayRequest.struct_class = Types::DeleteTransitGatewayRequest
@@ -5989,6 +6022,17 @@ module Aws::EC2
5989
6022
  GetTransitGatewayMulticastDomainAssociationsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
5990
6023
  GetTransitGatewayMulticastDomainAssociationsResult.struct_class = Types::GetTransitGatewayMulticastDomainAssociationsResult
5991
6024
 
6025
+ GetTransitGatewayPrefixListReferencesRequest.add_member(:transit_gateway_route_table_id, Shapes::ShapeRef.new(shape: TransitGatewayRouteTableId, required: true, location_name: "TransitGatewayRouteTableId"))
6026
+ GetTransitGatewayPrefixListReferencesRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
6027
+ GetTransitGatewayPrefixListReferencesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: TransitGatewayMaxResults, location_name: "MaxResults"))
6028
+ GetTransitGatewayPrefixListReferencesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
6029
+ GetTransitGatewayPrefixListReferencesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
6030
+ GetTransitGatewayPrefixListReferencesRequest.struct_class = Types::GetTransitGatewayPrefixListReferencesRequest
6031
+
6032
+ GetTransitGatewayPrefixListReferencesResult.add_member(:transit_gateway_prefix_list_references, Shapes::ShapeRef.new(shape: TransitGatewayPrefixListReferenceSet, location_name: "transitGatewayPrefixListReferenceSet"))
6033
+ GetTransitGatewayPrefixListReferencesResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
6034
+ GetTransitGatewayPrefixListReferencesResult.struct_class = Types::GetTransitGatewayPrefixListReferencesResult
6035
+
5992
6036
  GetTransitGatewayRouteTableAssociationsRequest.add_member(:transit_gateway_route_table_id, Shapes::ShapeRef.new(shape: TransitGatewayRouteTableId, required: true, location_name: "TransitGatewayRouteTableId"))
5993
6037
  GetTransitGatewayRouteTableAssociationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
5994
6038
  GetTransitGatewayRouteTableAssociationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: TransitGatewayMaxResults, location_name: "MaxResults"))
@@ -7462,6 +7506,34 @@ module Aws::EC2
7462
7506
  ModifyTrafficMirrorSessionResult.add_member(:traffic_mirror_session, Shapes::ShapeRef.new(shape: TrafficMirrorSession, location_name: "trafficMirrorSession"))
7463
7507
  ModifyTrafficMirrorSessionResult.struct_class = Types::ModifyTrafficMirrorSessionResult
7464
7508
 
7509
+ ModifyTransitGatewayOptions.add_member(:vpn_ecmp_support, Shapes::ShapeRef.new(shape: VpnEcmpSupportValue, location_name: "VpnEcmpSupport"))
7510
+ ModifyTransitGatewayOptions.add_member(:dns_support, Shapes::ShapeRef.new(shape: DnsSupportValue, location_name: "DnsSupport"))
7511
+ ModifyTransitGatewayOptions.add_member(:auto_accept_shared_attachments, Shapes::ShapeRef.new(shape: AutoAcceptSharedAttachmentsValue, location_name: "AutoAcceptSharedAttachments"))
7512
+ ModifyTransitGatewayOptions.add_member(:default_route_table_association, Shapes::ShapeRef.new(shape: DefaultRouteTableAssociationValue, location_name: "DefaultRouteTableAssociation"))
7513
+ ModifyTransitGatewayOptions.add_member(:association_default_route_table_id, Shapes::ShapeRef.new(shape: TransitGatewayRouteTableId, location_name: "AssociationDefaultRouteTableId"))
7514
+ ModifyTransitGatewayOptions.add_member(:default_route_table_propagation, Shapes::ShapeRef.new(shape: DefaultRouteTablePropagationValue, location_name: "DefaultRouteTablePropagation"))
7515
+ ModifyTransitGatewayOptions.add_member(:propagation_default_route_table_id, Shapes::ShapeRef.new(shape: TransitGatewayRouteTableId, location_name: "PropagationDefaultRouteTableId"))
7516
+ ModifyTransitGatewayOptions.struct_class = Types::ModifyTransitGatewayOptions
7517
+
7518
+ ModifyTransitGatewayPrefixListReferenceRequest.add_member(:transit_gateway_route_table_id, Shapes::ShapeRef.new(shape: TransitGatewayRouteTableId, required: true, location_name: "TransitGatewayRouteTableId"))
7519
+ ModifyTransitGatewayPrefixListReferenceRequest.add_member(:prefix_list_id, Shapes::ShapeRef.new(shape: PrefixListResourceId, required: true, location_name: "PrefixListId"))
7520
+ ModifyTransitGatewayPrefixListReferenceRequest.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, location_name: "TransitGatewayAttachmentId"))
7521
+ ModifyTransitGatewayPrefixListReferenceRequest.add_member(:blackhole, Shapes::ShapeRef.new(shape: Boolean, location_name: "Blackhole"))
7522
+ ModifyTransitGatewayPrefixListReferenceRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
7523
+ ModifyTransitGatewayPrefixListReferenceRequest.struct_class = Types::ModifyTransitGatewayPrefixListReferenceRequest
7524
+
7525
+ ModifyTransitGatewayPrefixListReferenceResult.add_member(:transit_gateway_prefix_list_reference, Shapes::ShapeRef.new(shape: TransitGatewayPrefixListReference, location_name: "transitGatewayPrefixListReference"))
7526
+ ModifyTransitGatewayPrefixListReferenceResult.struct_class = Types::ModifyTransitGatewayPrefixListReferenceResult
7527
+
7528
+ ModifyTransitGatewayRequest.add_member(:transit_gateway_id, Shapes::ShapeRef.new(shape: TransitGatewayId, required: true, location_name: "TransitGatewayId"))
7529
+ ModifyTransitGatewayRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
7530
+ ModifyTransitGatewayRequest.add_member(:options, Shapes::ShapeRef.new(shape: ModifyTransitGatewayOptions, location_name: "Options"))
7531
+ ModifyTransitGatewayRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
7532
+ ModifyTransitGatewayRequest.struct_class = Types::ModifyTransitGatewayRequest
7533
+
7534
+ ModifyTransitGatewayResult.add_member(:transit_gateway, Shapes::ShapeRef.new(shape: TransitGateway, location_name: "transitGateway"))
7535
+ ModifyTransitGatewayResult.struct_class = Types::ModifyTransitGatewayResult
7536
+
7465
7537
  ModifyTransitGatewayVpcAttachmentRequest.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, required: true, location_name: "TransitGatewayAttachmentId"))
7466
7538
  ModifyTransitGatewayVpcAttachmentRequest.add_member(:add_subnet_ids, Shapes::ShapeRef.new(shape: TransitGatewaySubnetIdList, location_name: "AddSubnetIds"))
7467
7539
  ModifyTransitGatewayVpcAttachmentRequest.add_member(:remove_subnet_ids, Shapes::ShapeRef.new(shape: TransitGatewaySubnetIdList, location_name: "RemoveSubnetIds"))
@@ -9574,6 +9646,21 @@ module Aws::EC2
9574
9646
 
9575
9647
  TransitGatewayPeeringAttachmentList.member = Shapes::ShapeRef.new(shape: TransitGatewayPeeringAttachment, location_name: "item")
9576
9648
 
9649
+ TransitGatewayPrefixListAttachment.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, location_name: "transitGatewayAttachmentId"))
9650
+ TransitGatewayPrefixListAttachment.add_member(:resource_type, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentResourceType, location_name: "resourceType"))
9651
+ TransitGatewayPrefixListAttachment.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, location_name: "resourceId"))
9652
+ TransitGatewayPrefixListAttachment.struct_class = Types::TransitGatewayPrefixListAttachment
9653
+
9654
+ TransitGatewayPrefixListReference.add_member(:transit_gateway_route_table_id, Shapes::ShapeRef.new(shape: TransitGatewayRouteTableId, location_name: "transitGatewayRouteTableId"))
9655
+ TransitGatewayPrefixListReference.add_member(:prefix_list_id, Shapes::ShapeRef.new(shape: PrefixListResourceId, location_name: "prefixListId"))
9656
+ TransitGatewayPrefixListReference.add_member(:prefix_list_owner_id, Shapes::ShapeRef.new(shape: String, location_name: "prefixListOwnerId"))
9657
+ TransitGatewayPrefixListReference.add_member(:state, Shapes::ShapeRef.new(shape: TransitGatewayPrefixListReferenceState, location_name: "state"))
9658
+ TransitGatewayPrefixListReference.add_member(:blackhole, Shapes::ShapeRef.new(shape: Boolean, location_name: "blackhole"))
9659
+ TransitGatewayPrefixListReference.add_member(:transit_gateway_attachment, Shapes::ShapeRef.new(shape: TransitGatewayPrefixListAttachment, location_name: "transitGatewayAttachment"))
9660
+ TransitGatewayPrefixListReference.struct_class = Types::TransitGatewayPrefixListReference
9661
+
9662
+ TransitGatewayPrefixListReferenceSet.member = Shapes::ShapeRef.new(shape: TransitGatewayPrefixListReference, location_name: "item")
9663
+
9577
9664
  TransitGatewayPropagation.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, location_name: "transitGatewayAttachmentId"))
9578
9665
  TransitGatewayPropagation.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, location_name: "resourceId"))
9579
9666
  TransitGatewayPropagation.add_member(:resource_type, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentResourceType, location_name: "resourceType"))
@@ -9591,6 +9678,7 @@ module Aws::EC2
9591
9678
  TransitGatewayRequestOptions.struct_class = Types::TransitGatewayRequestOptions
9592
9679
 
9593
9680
  TransitGatewayRoute.add_member(:destination_cidr_block, Shapes::ShapeRef.new(shape: String, location_name: "destinationCidrBlock"))
9681
+ TransitGatewayRoute.add_member(:prefix_list_id, Shapes::ShapeRef.new(shape: PrefixListResourceId, location_name: "prefixListId"))
9594
9682
  TransitGatewayRoute.add_member(:transit_gateway_attachments, Shapes::ShapeRef.new(shape: TransitGatewayRouteAttachmentList, location_name: "transitGatewayAttachments"))
9595
9683
  TransitGatewayRoute.add_member(:type, Shapes::ShapeRef.new(shape: TransitGatewayRouteType, location_name: "type"))
9596
9684
  TransitGatewayRoute.add_member(:state, Shapes::ShapeRef.new(shape: TransitGatewayRouteState, location_name: "state"))
@@ -10782,6 +10870,14 @@ module Aws::EC2
10782
10870
  o.output = Shapes::ShapeRef.new(shape: CreateTransitGatewayPeeringAttachmentResult)
10783
10871
  end)
10784
10872
 
10873
+ api.add_operation(:create_transit_gateway_prefix_list_reference, Seahorse::Model::Operation.new.tap do |o|
10874
+ o.name = "CreateTransitGatewayPrefixListReference"
10875
+ o.http_method = "POST"
10876
+ o.http_request_uri = "/"
10877
+ o.input = Shapes::ShapeRef.new(shape: CreateTransitGatewayPrefixListReferenceRequest)
10878
+ o.output = Shapes::ShapeRef.new(shape: CreateTransitGatewayPrefixListReferenceResult)
10879
+ end)
10880
+
10785
10881
  api.add_operation(:create_transit_gateway_route, Seahorse::Model::Operation.new.tap do |o|
10786
10882
  o.name = "CreateTransitGatewayRoute"
10787
10883
  o.http_method = "POST"
@@ -11174,6 +11270,14 @@ module Aws::EC2
11174
11270
  o.output = Shapes::ShapeRef.new(shape: DeleteTransitGatewayPeeringAttachmentResult)
11175
11271
  end)
11176
11272
 
11273
+ api.add_operation(:delete_transit_gateway_prefix_list_reference, Seahorse::Model::Operation.new.tap do |o|
11274
+ o.name = "DeleteTransitGatewayPrefixListReference"
11275
+ o.http_method = "POST"
11276
+ o.http_request_uri = "/"
11277
+ o.input = Shapes::ShapeRef.new(shape: DeleteTransitGatewayPrefixListReferenceRequest)
11278
+ o.output = Shapes::ShapeRef.new(shape: DeleteTransitGatewayPrefixListReferenceResult)
11279
+ end)
11280
+
11177
11281
  api.add_operation(:delete_transit_gateway_route, Seahorse::Model::Operation.new.tap do |o|
11178
11282
  o.name = "DeleteTransitGatewayRoute"
11179
11283
  o.http_method = "POST"
@@ -13121,6 +13225,20 @@ module Aws::EC2
13121
13225
  )
13122
13226
  end)
13123
13227
 
13228
+ api.add_operation(:get_transit_gateway_prefix_list_references, Seahorse::Model::Operation.new.tap do |o|
13229
+ o.name = "GetTransitGatewayPrefixListReferences"
13230
+ o.http_method = "POST"
13231
+ o.http_request_uri = "/"
13232
+ o.input = Shapes::ShapeRef.new(shape: GetTransitGatewayPrefixListReferencesRequest)
13233
+ o.output = Shapes::ShapeRef.new(shape: GetTransitGatewayPrefixListReferencesResult)
13234
+ o[:pager] = Aws::Pager.new(
13235
+ limit_key: "max_results",
13236
+ tokens: {
13237
+ "next_token" => "next_token"
13238
+ }
13239
+ )
13240
+ end)
13241
+
13124
13242
  api.add_operation(:get_transit_gateway_route_table_associations, Seahorse::Model::Operation.new.tap do |o|
13125
13243
  o.name = "GetTransitGatewayRouteTableAssociations"
13126
13244
  o.http_method = "POST"
@@ -13413,6 +13531,22 @@ module Aws::EC2
13413
13531
  o.output = Shapes::ShapeRef.new(shape: ModifyTrafficMirrorSessionResult)
13414
13532
  end)
13415
13533
 
13534
+ api.add_operation(:modify_transit_gateway, Seahorse::Model::Operation.new.tap do |o|
13535
+ o.name = "ModifyTransitGateway"
13536
+ o.http_method = "POST"
13537
+ o.http_request_uri = "/"
13538
+ o.input = Shapes::ShapeRef.new(shape: ModifyTransitGatewayRequest)
13539
+ o.output = Shapes::ShapeRef.new(shape: ModifyTransitGatewayResult)
13540
+ end)
13541
+
13542
+ api.add_operation(:modify_transit_gateway_prefix_list_reference, Seahorse::Model::Operation.new.tap do |o|
13543
+ o.name = "ModifyTransitGatewayPrefixListReference"
13544
+ o.http_method = "POST"
13545
+ o.http_request_uri = "/"
13546
+ o.input = Shapes::ShapeRef.new(shape: ModifyTransitGatewayPrefixListReferenceRequest)
13547
+ o.output = Shapes::ShapeRef.new(shape: ModifyTransitGatewayPrefixListReferenceResult)
13548
+ end)
13549
+
13416
13550
  api.add_operation(:modify_transit_gateway_vpc_attachment, Seahorse::Model::Operation.new.tap do |o|
13417
13551
  o.name = "ModifyTransitGatewayVpcAttachment"
13418
13552
  o.http_method = "POST"
@@ -645,7 +645,7 @@ module Aws::EC2
645
645
  # iops: 1,
646
646
  # snapshot_id: "String",
647
647
  # volume_size: 1,
648
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
648
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
649
649
  # kms_key_id: "String",
650
650
  # encrypted: false,
651
651
  # },
@@ -1408,7 +1408,7 @@ module Aws::EC2
1408
1408
  #
1409
1409
  # * `snapshot-id` - The snapshot from which the volume was created.
1410
1410
  #
1411
- # * `status` - The status of the volume (`creating` \| `available` \|
1411
+ # * `status` - The state of the volume (`creating` \| `available` \|
1412
1412
  # `in-use` \| `deleting` \| `deleted` \| `error`).
1413
1413
  #
1414
1414
  # * `tag`\:<key> - The key/value combination of a tag assigned to
@@ -1424,8 +1424,8 @@ module Aws::EC2
1424
1424
  # * `volume-id` - The volume ID.
1425
1425
  #
1426
1426
  # * `volume-type` - The Amazon EBS volume type. This can be `gp2` for
1427
- # General Purpose SSD, `io1` for Provisioned IOPS SSD, `st1` for
1428
- # Throughput Optimized HDD, `sc1` for Cold HDD, or `standard` for
1427
+ # General Purpose SSD, `io1` or `io2` for Provisioned IOPS SSD, `st1`
1428
+ # for Throughput Optimized HDD, `sc1` for Cold HDD, or `standard` for
1429
1429
  # Magnetic volumes.
1430
1430
  # @option options [Array<String>] :volume_ids
1431
1431
  # The volume IDs.
@@ -89,7 +89,7 @@ module Aws::EC2
89
89
  # iops: 1,
90
90
  # snapshot_id: "String",
91
91
  # volume_size: 1,
92
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
92
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
93
93
  # kms_key_id: "String",
94
94
  # encrypted: false,
95
95
  # },
@@ -1123,7 +1123,7 @@ module Aws::EC2
1123
1123
  # outpost_arn: "String",
1124
1124
  # size: 1,
1125
1125
  # snapshot_id: "SnapshotId",
1126
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
1126
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
1127
1127
  # dry_run: false,
1128
1128
  # tag_specifications: [
1129
1129
  # {
@@ -1146,26 +1146,28 @@ module Aws::EC2
1146
1146
  # setting the encryption state to `true` depends on the volume origin
1147
1147
  # (new or from a snapshot), starting encryption state, ownership, and
1148
1148
  # whether encryption by default is enabled. For more information, see
1149
- # [Encryption by Default][1] in the *Amazon Elastic Compute Cloud User
1149
+ # [Encryption by default][1] in the *Amazon Elastic Compute Cloud User
1150
1150
  # Guide*.
1151
1151
  #
1152
1152
  # Encrypted Amazon EBS volumes must be attached to instances that
1153
1153
  # support Amazon EBS encryption. For more information, see [Supported
1154
- # Instance Types][2].
1154
+ # instance types][2].
1155
1155
  #
1156
1156
  #
1157
1157
  #
1158
1158
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
1159
1159
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances
1160
1160
  # @option options [Integer] :iops
1161
- # The number of I/O operations per second (IOPS) to provision for the
1162
- # volume, with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000
1163
- # IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed
1164
- # only on [Nitro-based instances][1]. Other instance families guarantee
1161
+ # The number of I/O operations per second (IOPS) to provision for an
1162
+ # `io1` or `io2` volume, with a maximum ratio of 50 IOPS/GiB for `io1`,
1163
+ # and 500 IOPS/GiB for `io2`. Range is 100 to 64,000 IOPS for volumes in
1164
+ # most Regions. Maximum IOPS of 64,000 is guaranteed only on
1165
+ # [Nitro-based instances][1]. Other instance families guarantee
1165
1166
  # performance up to 32,000 IOPS. For more information, see [Amazon EBS
1166
- # Volume Types][2] in the *Amazon Elastic Compute Cloud User Guide*.
1167
+ # volume types][2] in the *Amazon Elastic Compute Cloud User Guide*.
1167
1168
  #
1168
- # This parameter is valid only for Provisioned IOPS SSD (io1) volumes.
1169
+ # This parameter is valid only for Provisioned IOPS SSD (`io1` and
1170
+ # `io2`) volumes.
1169
1171
  #
1170
1172
  #
1171
1173
  #
@@ -1198,10 +1200,10 @@ module Aws::EC2
1198
1200
  # The size of the volume, in GiBs. You must specify either a snapshot ID
1199
1201
  # or a volume size.
1200
1202
  #
1201
- # Constraints: 1-16,384 for `gp2`, 4-16,384 for `io1`, 500-16,384 for
1202
- # `st1`, 500-16,384 for `sc1`, and 1-1,024 for `standard`. If you
1203
- # specify a snapshot, the volume size must be equal to or larger than
1204
- # the snapshot size.
1203
+ # Constraints: 1-16,384 for `gp2`, 4-16,384 for `io1` and `io2`,
1204
+ # 500-16,384 for `st1`, 500-16,384 for `sc1`, and 1-1,024 for
1205
+ # `standard`. If you specify a snapshot, the volume size must be equal
1206
+ # to or larger than the snapshot size.
1205
1207
  #
1206
1208
  # Default: If you're creating the volume from a snapshot and don't
1207
1209
  # specify a volume size, the default is the snapshot size.
@@ -1209,9 +1211,9 @@ module Aws::EC2
1209
1211
  # The snapshot from which to create the volume. You must specify either
1210
1212
  # a snapshot ID or a volume size.
1211
1213
  # @option options [String] :volume_type
1212
- # The volume type. This can be `gp2` for General Purpose SSD, `io1` for
1213
- # Provisioned IOPS SSD, `st1` for Throughput Optimized HDD, `sc1` for
1214
- # Cold HDD, or `standard` for Magnetic volumes.
1214
+ # The volume type. This can be `gp2` for General Purpose SSD, `io1` or
1215
+ # `io2` for Provisioned IOPS SSD, `st1` for Throughput Optimized HDD,
1216
+ # `sc1` for Cold HDD, or `standard` for Magnetic volumes.
1215
1217
  #
1216
1218
  # Default: `gp2`
1217
1219
  # @option options [Boolean] :dry_run
@@ -1445,7 +1447,7 @@ module Aws::EC2
1445
1447
  # iops: 1,
1446
1448
  # snapshot_id: "String",
1447
1449
  # volume_size: 1,
1448
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
1450
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
1449
1451
  # kms_key_id: "String",
1450
1452
  # encrypted: false,
1451
1453
  # },
@@ -1733,7 +1735,7 @@ module Aws::EC2
1733
1735
  # volume, in GiB.
1734
1736
  #
1735
1737
  # * `block-device-mapping.volume-type` - The volume type of the EBS
1736
- # volume (`gp2` \| `io1` \| `st1 `\| `sc1` \| `standard`).
1738
+ # volume (`gp2` \| `io1` \| `io2` \| `st1 `\| `sc1` \| `standard`).
1737
1739
  #
1738
1740
  # * `block-device-mapping.encrypted` - A Boolean that indicates whether
1739
1741
  # the EBS volume is encrypted.
@@ -3227,7 +3229,7 @@ module Aws::EC2
3227
3229
  #
3228
3230
  # * `snapshot-id` - The snapshot from which the volume was created.
3229
3231
  #
3230
- # * `status` - The status of the volume (`creating` \| `available` \|
3232
+ # * `status` - The state of the volume (`creating` \| `available` \|
3231
3233
  # `in-use` \| `deleting` \| `deleted` \| `error`).
3232
3234
  #
3233
3235
  # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned to
@@ -3243,8 +3245,8 @@ module Aws::EC2
3243
3245
  # * `volume-id` - The volume ID.
3244
3246
  #
3245
3247
  # * `volume-type` - The Amazon EBS volume type. This can be `gp2` for
3246
- # General Purpose SSD, `io1` for Provisioned IOPS SSD, `st1` for
3247
- # Throughput Optimized HDD, `sc1` for Cold HDD, or `standard` for
3248
+ # General Purpose SSD, `io1` or `io2` for Provisioned IOPS SSD, `st1`
3249
+ # for Throughput Optimized HDD, `sc1` for Cold HDD, or `standard` for
3248
3250
  # Magnetic volumes.
3249
3251
  # @option options [Array<String>] :volume_ids
3250
3252
  # The volume IDs.
@@ -284,7 +284,7 @@ module Aws::EC2
284
284
  # iops: 1,
285
285
  # snapshot_id: "String",
286
286
  # volume_size: 1,
287
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
287
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
288
288
  # kms_key_id: "String",
289
289
  # encrypted: false,
290
290
  # },
@@ -2297,7 +2297,7 @@ module Aws::EC2
2297
2297
  # iops: 1,
2298
2298
  # snapshot_id: "String",
2299
2299
  # volume_size: 1,
2300
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
2300
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
2301
2301
  # kms_key_id: "String",
2302
2302
  # encrypted: false,
2303
2303
  # },
@@ -6152,7 +6152,7 @@ module Aws::EC2
6152
6152
  # iops: 1,
6153
6153
  # snapshot_id: "String",
6154
6154
  # volume_size: 1,
6155
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
6155
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
6156
6156
  # kms_key_id: "String",
6157
6157
  # encrypted: false,
6158
6158
  # },
@@ -6421,7 +6421,7 @@ module Aws::EC2
6421
6421
  # kms_key_id: "KmsKeyId",
6422
6422
  # snapshot_id: "SnapshotId",
6423
6423
  # volume_size: 1,
6424
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
6424
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
6425
6425
  # },
6426
6426
  # no_device: "String",
6427
6427
  # },
@@ -6643,7 +6643,7 @@ module Aws::EC2
6643
6643
  # kms_key_id: "KmsKeyId",
6644
6644
  # snapshot_id: "SnapshotId",
6645
6645
  # volume_size: 1,
6646
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
6646
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
6647
6647
  # },
6648
6648
  # no_device: "String",
6649
6649
  # },
@@ -8822,6 +8822,64 @@ module Aws::EC2
8822
8822
  include Aws::Structure
8823
8823
  end
8824
8824
 
8825
+ # @note When making an API call, you may pass CreateTransitGatewayPrefixListReferenceRequest
8826
+ # data as a hash:
8827
+ #
8828
+ # {
8829
+ # transit_gateway_route_table_id: "TransitGatewayRouteTableId", # required
8830
+ # prefix_list_id: "PrefixListResourceId", # required
8831
+ # transit_gateway_attachment_id: "TransitGatewayAttachmentId",
8832
+ # blackhole: false,
8833
+ # dry_run: false,
8834
+ # }
8835
+ #
8836
+ # @!attribute [rw] transit_gateway_route_table_id
8837
+ # The ID of the transit gateway route table.
8838
+ # @return [String]
8839
+ #
8840
+ # @!attribute [rw] prefix_list_id
8841
+ # The ID of the prefix list that is used for destination matches.
8842
+ # @return [String]
8843
+ #
8844
+ # @!attribute [rw] transit_gateway_attachment_id
8845
+ # The ID of the attachment to which traffic is routed.
8846
+ # @return [String]
8847
+ #
8848
+ # @!attribute [rw] blackhole
8849
+ # Indicates whether to drop traffic that matches this route.
8850
+ # @return [Boolean]
8851
+ #
8852
+ # @!attribute [rw] dry_run
8853
+ # Checks whether you have the required permissions for the action,
8854
+ # without actually making the request, and provides an error response.
8855
+ # If you have the required permissions, the error response is
8856
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
8857
+ # @return [Boolean]
8858
+ #
8859
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPrefixListReferenceRequest AWS API Documentation
8860
+ #
8861
+ class CreateTransitGatewayPrefixListReferenceRequest < Struct.new(
8862
+ :transit_gateway_route_table_id,
8863
+ :prefix_list_id,
8864
+ :transit_gateway_attachment_id,
8865
+ :blackhole,
8866
+ :dry_run)
8867
+ SENSITIVE = []
8868
+ include Aws::Structure
8869
+ end
8870
+
8871
+ # @!attribute [rw] transit_gateway_prefix_list_reference
8872
+ # Information about the prefix list reference.
8873
+ # @return [Types::TransitGatewayPrefixListReference]
8874
+ #
8875
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPrefixListReferenceResult AWS API Documentation
8876
+ #
8877
+ class CreateTransitGatewayPrefixListReferenceResult < Struct.new(
8878
+ :transit_gateway_prefix_list_reference)
8879
+ SENSITIVE = []
8880
+ include Aws::Structure
8881
+ end
8882
+
8825
8883
  # @note When making an API call, you may pass CreateTransitGatewayRequest
8826
8884
  # data as a hash:
8827
8885
  #
@@ -9191,7 +9249,7 @@ module Aws::EC2
9191
9249
  # outpost_arn: "String",
9192
9250
  # size: 1,
9193
9251
  # snapshot_id: "SnapshotId",
9194
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
9252
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
9195
9253
  # dry_run: false,
9196
9254
  # tag_specifications: [
9197
9255
  # {
@@ -9216,12 +9274,12 @@ module Aws::EC2
9216
9274
  # setting the encryption state to `true` depends on the volume origin
9217
9275
  # (new or from a snapshot), starting encryption state, ownership, and
9218
9276
  # whether encryption by default is enabled. For more information, see
9219
- # [Encryption by Default][1] in the *Amazon Elastic Compute Cloud User
9277
+ # [Encryption by default][1] in the *Amazon Elastic Compute Cloud User
9220
9278
  # Guide*.
9221
9279
  #
9222
9280
  # Encrypted Amazon EBS volumes must be attached to instances that
9223
9281
  # support Amazon EBS encryption. For more information, see [Supported
9224
- # Instance Types][2].
9282
+ # instance types][2].
9225
9283
  #
9226
9284
  #
9227
9285
  #
@@ -9230,15 +9288,16 @@ module Aws::EC2
9230
9288
  # @return [Boolean]
9231
9289
  #
9232
9290
  # @!attribute [rw] iops
9233
- # The number of I/O operations per second (IOPS) to provision for the
9234
- # volume, with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000
9235
- # IOPS for volumes in most Regions. Maximum IOPS of 64,000 is
9236
- # guaranteed only on [Nitro-based instances][1]. Other instance
9237
- # families guarantee performance up to 32,000 IOPS. For more
9238
- # information, see [Amazon EBS Volume Types][2] in the *Amazon Elastic
9239
- # Compute Cloud User Guide*.
9291
+ # The number of I/O operations per second (IOPS) to provision for an
9292
+ # `io1` or `io2` volume, with a maximum ratio of 50 IOPS/GiB for
9293
+ # `io1`, and 500 IOPS/GiB for `io2`. Range is 100 to 64,000 IOPS for
9294
+ # volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only
9295
+ # on [Nitro-based instances][1]. Other instance families guarantee
9296
+ # performance up to 32,000 IOPS. For more information, see [Amazon EBS
9297
+ # volume types][2] in the *Amazon Elastic Compute Cloud User Guide*.
9240
9298
  #
9241
- # This parameter is valid only for Provisioned IOPS SSD (io1) volumes.
9299
+ # This parameter is valid only for Provisioned IOPS SSD (`io1` and
9300
+ # `io2`) volumes.
9242
9301
  #
9243
9302
  #
9244
9303
  #
@@ -9277,10 +9336,10 @@ module Aws::EC2
9277
9336
  # The size of the volume, in GiBs. You must specify either a snapshot
9278
9337
  # ID or a volume size.
9279
9338
  #
9280
- # Constraints: 1-16,384 for `gp2`, 4-16,384 for `io1`, 500-16,384 for
9281
- # `st1`, 500-16,384 for `sc1`, and 1-1,024 for `standard`. If you
9282
- # specify a snapshot, the volume size must be equal to or larger than
9283
- # the snapshot size.
9339
+ # Constraints: 1-16,384 for `gp2`, 4-16,384 for `io1` and `io2`,
9340
+ # 500-16,384 for `st1`, 500-16,384 for `sc1`, and 1-1,024 for
9341
+ # `standard`. If you specify a snapshot, the volume size must be equal
9342
+ # to or larger than the snapshot size.
9284
9343
  #
9285
9344
  # Default: If you're creating the volume from a snapshot and don't
9286
9345
  # specify a volume size, the default is the snapshot size.
@@ -9292,9 +9351,9 @@ module Aws::EC2
9292
9351
  # @return [String]
9293
9352
  #
9294
9353
  # @!attribute [rw] volume_type
9295
- # The volume type. This can be `gp2` for General Purpose SSD, `io1`
9296
- # for Provisioned IOPS SSD, `st1` for Throughput Optimized HDD, `sc1`
9297
- # for Cold HDD, or `standard` for Magnetic volumes.
9354
+ # The volume type. This can be `gp2` for General Purpose SSD, `io1` or
9355
+ # `io2` for Provisioned IOPS SSD, `st1` for Throughput Optimized HDD,
9356
+ # `sc1` for Cold HDD, or `standard` for Magnetic volumes.
9298
9357
  #
9299
9358
  # Default: `gp2`
9300
9359
  # @return [String]
@@ -11720,6 +11779,52 @@ module Aws::EC2
11720
11779
  include Aws::Structure
11721
11780
  end
11722
11781
 
11782
+ # @note When making an API call, you may pass DeleteTransitGatewayPrefixListReferenceRequest
11783
+ # data as a hash:
11784
+ #
11785
+ # {
11786
+ # transit_gateway_route_table_id: "TransitGatewayRouteTableId", # required
11787
+ # prefix_list_id: "PrefixListResourceId", # required
11788
+ # dry_run: false,
11789
+ # }
11790
+ #
11791
+ # @!attribute [rw] transit_gateway_route_table_id
11792
+ # The ID of the route table.
11793
+ # @return [String]
11794
+ #
11795
+ # @!attribute [rw] prefix_list_id
11796
+ # The ID of the prefix list.
11797
+ # @return [String]
11798
+ #
11799
+ # @!attribute [rw] dry_run
11800
+ # Checks whether you have the required permissions for the action,
11801
+ # without actually making the request, and provides an error response.
11802
+ # If you have the required permissions, the error response is
11803
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
11804
+ # @return [Boolean]
11805
+ #
11806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPrefixListReferenceRequest AWS API Documentation
11807
+ #
11808
+ class DeleteTransitGatewayPrefixListReferenceRequest < Struct.new(
11809
+ :transit_gateway_route_table_id,
11810
+ :prefix_list_id,
11811
+ :dry_run)
11812
+ SENSITIVE = []
11813
+ include Aws::Structure
11814
+ end
11815
+
11816
+ # @!attribute [rw] transit_gateway_prefix_list_reference
11817
+ # Information about the deleted prefix list reference.
11818
+ # @return [Types::TransitGatewayPrefixListReference]
11819
+ #
11820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPrefixListReferenceResult AWS API Documentation
11821
+ #
11822
+ class DeleteTransitGatewayPrefixListReferenceResult < Struct.new(
11823
+ :transit_gateway_prefix_list_reference)
11824
+ SENSITIVE = []
11825
+ include Aws::Structure
11826
+ end
11827
+
11723
11828
  # @note When making an API call, you may pass DeleteTransitGatewayRequest
11724
11829
  # data as a hash:
11725
11830
  #
@@ -15426,7 +15531,7 @@ module Aws::EC2
15426
15531
  # volume, in GiB.
15427
15532
  #
15428
15533
  # * `block-device-mapping.volume-type` - The volume type of the EBS
15429
- # volume (`gp2` \| `io1` \| `st1 `\| `sc1` \| `standard`).
15534
+ # volume (`gp2` \| `io1` \| `io2` \| `st1 `\| `sc1` \| `standard`).
15430
15535
  #
15431
15536
  # * `block-device-mapping.encrypted` - A Boolean that indicates
15432
15537
  # whether the EBS volume is encrypted.
@@ -20183,9 +20288,9 @@ module Aws::EC2
20183
20288
  # volume, in GiB.
20184
20289
  #
20185
20290
  # * `launch.block-device-mapping.volume-type` - The type of EBS
20186
- # volume: `gp2` for General Purpose SSD, `io1` for Provisioned IOPS
20187
- # SSD, `st1` for Throughput Optimized HDD, `sc1`for Cold HDD, or
20188
- # `standard` for Magnetic.
20291
+ # volume: `gp2` for General Purpose SSD, `io1` or `io2` for
20292
+ # Provisioned IOPS SSD, `st1` for Throughput Optimized HDD, `sc1`for
20293
+ # Cold HDD, or `standard` for Magnetic.
20189
20294
  #
20190
20295
  # * `launch.group-id` - The ID of the security group for the instance.
20191
20296
  #
@@ -21008,7 +21113,8 @@ module Aws::EC2
21008
21113
  # * `resource-owner-id` - The ID of the AWS account that owns the
21009
21114
  # resource.
21010
21115
  #
21011
- # * `resource-type` - The resource type (`vpc` \| `vpn`).
21116
+ # * `resource-type` - The resource type (`vpc` \| `vpn` \|
21117
+ # `direct-connect-gateway` \| `tgw-peering`).
21012
21118
  #
21013
21119
  # * `state` - The state of the attachment (`available` \| `deleted` \|
21014
21120
  # `deleting` \| `failed` \| `modifying` \| `pendingAcceptance` \|
@@ -21719,7 +21825,7 @@ module Aws::EC2
21719
21825
  # * `original-size` - The original size of the volume, in GiB.
21720
21826
  #
21721
21827
  # * `original-volume-type` - The original volume type of the volume
21722
- # (standard \| io1 \| gp2 \| sc1 \| st1).
21828
+ # (standard \| io1 \| io2 \| gp2 \| sc1 \| st1).
21723
21829
  #
21724
21830
  # * `originalMultiAttachEnabled` - Indicates whether Multi-Attach
21725
21831
  # support was enabled (true \| false).
@@ -21731,7 +21837,7 @@ module Aws::EC2
21731
21837
  # * `target-size` - The target size of the volume, in GiB.
21732
21838
  #
21733
21839
  # * `target-volume-type` - The target volume type of the volume
21734
- # (standard \| io1 \| gp2 \| sc1 \| st1).
21840
+ # (standard \| io1 \| io2 \| gp2 \| sc1 \| st1).
21735
21841
  #
21736
21842
  # * `targetMultiAttachEnabled` - Indicates whether Multi-Attach
21737
21843
  # support is to be enabled (true \| false).
@@ -21830,7 +21936,7 @@ module Aws::EC2
21830
21936
  #
21831
21937
  # * `snapshot-id` - The snapshot from which the volume was created.
21832
21938
  #
21833
- # * `status` - The status of the volume (`creating` \| `available` \|
21939
+ # * `status` - The state of the volume (`creating` \| `available` \|
21834
21940
  # `in-use` \| `deleting` \| `deleted` \| `error`).
21835
21941
  #
21836
21942
  # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned
@@ -21846,9 +21952,9 @@ module Aws::EC2
21846
21952
  # * `volume-id` - The volume ID.
21847
21953
  #
21848
21954
  # * `volume-type` - The Amazon EBS volume type. This can be `gp2` for
21849
- # General Purpose SSD, `io1` for Provisioned IOPS SSD, `st1` for
21850
- # Throughput Optimized HDD, `sc1` for Cold HDD, or `standard` for
21851
- # Magnetic volumes.
21955
+ # General Purpose SSD, `io1` or `io2` for Provisioned IOPS SSD,
21956
+ # `st1` for Throughput Optimized HDD, `sc1` for Cold HDD, or
21957
+ # `standard` for Magnetic volumes.
21852
21958
  # @return [Array<Types::Filter>]
21853
21959
  #
21854
21960
  # @!attribute [rw] volume_ids
@@ -24278,7 +24384,7 @@ module Aws::EC2
24278
24384
  # iops: 1,
24279
24385
  # snapshot_id: "String",
24280
24386
  # volume_size: 1,
24281
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
24387
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
24282
24388
  # kms_key_id: "String",
24283
24389
  # encrypted: false,
24284
24390
  # }
@@ -24295,23 +24401,23 @@ module Aws::EC2
24295
24401
  #
24296
24402
  # @!attribute [rw] iops
24297
24403
  # The number of I/O operations per second (IOPS) that the volume
24298
- # supports. For `io1` volumes, this represents the number of IOPS that
24299
- # are provisioned for the volume. For `gp2` volumes, this represents
24300
- # the baseline performance of the volume and the rate at which the
24301
- # volume accumulates I/O credits for bursting. For more information,
24302
- # see [Amazon EBS volume types][1] in the *Amazon Elastic Compute
24303
- # Cloud User Guide*.
24404
+ # supports. For `io1` and `io2` volumes, this represents the number of
24405
+ # IOPS that are provisioned for the volume. For `gp2` volumes, this
24406
+ # represents the baseline performance of the volume and the rate at
24407
+ # which the volume accumulates I/O credits for bursting. For more
24408
+ # information, see [Amazon EBS volume types][1] in the *Amazon Elastic
24409
+ # Compute Cloud User Guide*.
24304
24410
  #
24305
24411
  # Constraints: Range is 100-16,000 IOPS for `gp2` volumes and 100 to
24306
- # 64,000 IOPS for `io1` volumes in most Regions. Maximum `io1` IOPS of
24307
- # 64,000 is guaranteed only on [Nitro-based instances][2]. Other
24308
- # instance families guarantee performance up to 32,000 IOPS. For more
24309
- # information, see [Amazon EBS Volume Types][1] in the *Amazon Elastic
24310
- # Compute Cloud User Guide*.
24412
+ # 64,000 IOPS for `io1` and `io2` volumes in most Regions. Maximum
24413
+ # `io1` and `io2` IOPS of 64,000 is guaranteed only on [Nitro-based
24414
+ # instances][2]. Other instance families guarantee performance up to
24415
+ # 32,000 IOPS. For more information, see [Amazon EBS Volume Types][1]
24416
+ # in the *Amazon Elastic Compute Cloud User Guide*.
24311
24417
  #
24312
24418
  # Condition: This parameter is required for requests to create `io1`
24313
- # volumes; it is not used in requests to create `gp2`, `st1`, `sc1`,
24314
- # or `standard` volumes.
24419
+ # and `io2` volumes; it is not used in requests to create `gp2`,
24420
+ # `st1`, `sc1`, or `standard` volumes.
24315
24421
  #
24316
24422
  #
24317
24423
  #
@@ -24330,16 +24436,16 @@ module Aws::EC2
24330
24436
  # specify a volume size, the default is the snapshot size.
24331
24437
  #
24332
24438
  # Constraints: 1-16384 for General Purpose SSD (`gp2`), 4-16384 for
24333
- # Provisioned IOPS SSD (`io1`), 500-16384 for Throughput Optimized HDD
24334
- # (`st1`), 500-16384 for Cold HDD (`sc1`), and 1-1024 for Magnetic
24335
- # (`standard`) volumes. If you specify a snapshot, the volume size
24336
- # must be equal to or larger than the snapshot size.
24439
+ # Provisioned IOPS SSD (`io1` and `io2`), 500-16384 for Throughput
24440
+ # Optimized HDD (`st1`), 500-16384 for Cold HDD (`sc1`), and 1-1024
24441
+ # for Magnetic (`standard`) volumes. If you specify a snapshot, the
24442
+ # volume size must be equal to or larger than the snapshot size.
24337
24443
  # @return [Integer]
24338
24444
  #
24339
24445
  # @!attribute [rw] volume_type
24340
- # The volume type. If you set the type to `io1`, you must also specify
24341
- # the **Iops** parameter. If you set the type to `gp2`, `st1`, `sc1`,
24342
- # or `standard`, you must omit the **Iops** parameter.
24446
+ # The volume type. If you set the type to `io1` or `io2`, you must
24447
+ # also specify the **Iops** parameter. If you set the type to `gp2`,
24448
+ # `st1`, `sc1`, or `standard`, you must omit the **Iops** parameter.
24343
24449
  #
24344
24450
  # Default: `gp2`
24345
24451
  # @return [String]
@@ -27736,6 +27842,97 @@ module Aws::EC2
27736
27842
  include Aws::Structure
27737
27843
  end
27738
27844
 
27845
+ # @note When making an API call, you may pass GetTransitGatewayPrefixListReferencesRequest
27846
+ # data as a hash:
27847
+ #
27848
+ # {
27849
+ # transit_gateway_route_table_id: "TransitGatewayRouteTableId", # required
27850
+ # filters: [
27851
+ # {
27852
+ # name: "String",
27853
+ # values: ["String"],
27854
+ # },
27855
+ # ],
27856
+ # max_results: 1,
27857
+ # next_token: "String",
27858
+ # dry_run: false,
27859
+ # }
27860
+ #
27861
+ # @!attribute [rw] transit_gateway_route_table_id
27862
+ # The ID of the transit gateway route table.
27863
+ # @return [String]
27864
+ #
27865
+ # @!attribute [rw] filters
27866
+ # One or more filters. The possible values are:
27867
+ #
27868
+ # * `attachment.resource-id` - The ID of the resource for the
27869
+ # attachment.
27870
+ #
27871
+ # * `attachment.resource-type` - The type of resource for the
27872
+ # attachment (`vpc` \| `vpn` \| `direct-connect-gateway` \|
27873
+ # `tgw-peering`).
27874
+ #
27875
+ # * `attachment.transit-gateway-attachment-id` - The ID of the
27876
+ # attachment.
27877
+ #
27878
+ # * `is-blackhole` - Whether traffic matching the route is blocked
27879
+ # (`true` \| `false`).
27880
+ #
27881
+ # * `prefix-list-id` - The ID of the prefix list.
27882
+ #
27883
+ # * `prefix-list-owner-id` - The ID of the owner of the prefix list.
27884
+ #
27885
+ # * `state` - The state of the prefix list reference (`pending` \|
27886
+ # `available` \| `modifying` \| `deleting`).
27887
+ # @return [Array<Types::Filter>]
27888
+ #
27889
+ # @!attribute [rw] max_results
27890
+ # The maximum number of results to return with a single call. To
27891
+ # retrieve the remaining results, make another call with the returned
27892
+ # `nextToken` value.
27893
+ # @return [Integer]
27894
+ #
27895
+ # @!attribute [rw] next_token
27896
+ # The token for the next page of results.
27897
+ # @return [String]
27898
+ #
27899
+ # @!attribute [rw] dry_run
27900
+ # Checks whether you have the required permissions for the action,
27901
+ # without actually making the request, and provides an error response.
27902
+ # If you have the required permissions, the error response is
27903
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
27904
+ # @return [Boolean]
27905
+ #
27906
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayPrefixListReferencesRequest AWS API Documentation
27907
+ #
27908
+ class GetTransitGatewayPrefixListReferencesRequest < Struct.new(
27909
+ :transit_gateway_route_table_id,
27910
+ :filters,
27911
+ :max_results,
27912
+ :next_token,
27913
+ :dry_run)
27914
+ SENSITIVE = []
27915
+ include Aws::Structure
27916
+ end
27917
+
27918
+ # @!attribute [rw] transit_gateway_prefix_list_references
27919
+ # Information about the prefix list references.
27920
+ # @return [Array<Types::TransitGatewayPrefixListReference>]
27921
+ #
27922
+ # @!attribute [rw] next_token
27923
+ # The token to use to retrieve the next page of results. This value is
27924
+ # `null` when there are no more results to return.
27925
+ # @return [String]
27926
+ #
27927
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayPrefixListReferencesResult AWS API Documentation
27928
+ #
27929
+ class GetTransitGatewayPrefixListReferencesResult < Struct.new(
27930
+ :transit_gateway_prefix_list_references,
27931
+ :next_token)
27932
+ SENSITIVE = []
27933
+ include Aws::Structure
27934
+ end
27935
+
27739
27936
  # @note When making an API call, you may pass GetTransitGatewayRouteTableAssociationsRequest
27740
27937
  # data as a hash:
27741
27938
  #
@@ -27761,7 +27958,8 @@ module Aws::EC2
27761
27958
  #
27762
27959
  # * `resource-id` - The ID of the resource.
27763
27960
  #
27764
- # * `resource-type` - The resource type (`vpc` \| `vpn`).
27961
+ # * `resource-type` - The resource type (`vpc` \| `vpn` \|
27962
+ # `direct-connect-gateway` \| `tgw-peering`).
27765
27963
  #
27766
27964
  # * `transit-gateway-attachment-id` - The ID of the attachment.
27767
27965
  # @return [Array<Types::Filter>]
@@ -27838,7 +28036,8 @@ module Aws::EC2
27838
28036
  #
27839
28037
  # * `resource-id` - The ID of the resource.
27840
28038
  #
27841
- # * `resource-type` - The resource type (`vpc` \| `vpn`).
28039
+ # * `resource-type` - The resource type (`vpc` \| `vpn` \|
28040
+ # `direct-connect-gateway` \| `tgw-peering`).
27842
28041
  #
27843
28042
  # * `transit-gateway-attachment-id` - The ID of the attachment.
27844
28043
  # @return [Array<Types::Filter>]
@@ -32217,7 +32416,7 @@ module Aws::EC2
32217
32416
  # kms_key_id: "KmsKeyId",
32218
32417
  # snapshot_id: "SnapshotId",
32219
32418
  # volume_size: 1,
32220
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
32419
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
32221
32420
  # },
32222
32421
  # no_device: "String",
32223
32422
  # }
@@ -32478,7 +32677,7 @@ module Aws::EC2
32478
32677
  # kms_key_id: "KmsKeyId",
32479
32678
  # snapshot_id: "SnapshotId",
32480
32679
  # volume_size: 1,
32481
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
32680
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
32482
32681
  # }
32483
32682
  #
32484
32683
  # @!attribute [rw] encrypted
@@ -32493,22 +32692,21 @@ module Aws::EC2
32493
32692
  # @return [Boolean]
32494
32693
  #
32495
32694
  # @!attribute [rw] iops
32496
- # The number of I/O operations per second (IOPS) that the volume
32497
- # supports. For io1, this represents the number of IOPS that are
32498
- # provisioned for the volume. For gp2, this represents the baseline
32499
- # performance of the volume and the rate at which the volume
32500
- # accumulates I/O credits for bursting. For more information about
32501
- # General Purpose SSD baseline performance, I/O credits, and bursting,
32502
- # see [Amazon EBS Volume Types][1] in the *Amazon Elastic Compute
32503
- # Cloud User Guide*.
32695
+ # The number of I/O operations per second (IOPS) to provision for an
32696
+ # `io1` or `io2` volume, with a maximum ratio of 50 IOPS/GiB for
32697
+ # `io1`, and 500 IOPS/GiB for `io2`. Range is 100 to 64,000 IOPS for
32698
+ # volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only
32699
+ # on [Nitro-based instances][1]. Other instance families guarantee
32700
+ # performance up to 32,000 IOPS. For more information, see [Amazon EBS
32701
+ # Volume Types][2] in the *Amazon Elastic Compute Cloud User Guide*.
32504
32702
  #
32505
- # Condition: This parameter is required for requests to create io1
32506
- # volumes; it is not used in requests to create gp2, st1, sc1, or
32507
- # standard volumes.
32703
+ # This parameter is valid only for Provisioned IOPS SSD (`io1` and
32704
+ # `io2`) volumes.
32508
32705
  #
32509
32706
  #
32510
32707
  #
32511
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
32708
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances
32709
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
32512
32710
  # @return [Integer]
32513
32711
  #
32514
32712
  # @!attribute [rw] kms_key_id
@@ -36135,6 +36333,183 @@ module Aws::EC2
36135
36333
  include Aws::Structure
36136
36334
  end
36137
36335
 
36336
+ # The transit gateway options.
36337
+ #
36338
+ # @note When making an API call, you may pass ModifyTransitGatewayOptions
36339
+ # data as a hash:
36340
+ #
36341
+ # {
36342
+ # vpn_ecmp_support: "enable", # accepts enable, disable
36343
+ # dns_support: "enable", # accepts enable, disable
36344
+ # auto_accept_shared_attachments: "enable", # accepts enable, disable
36345
+ # default_route_table_association: "enable", # accepts enable, disable
36346
+ # association_default_route_table_id: "TransitGatewayRouteTableId",
36347
+ # default_route_table_propagation: "enable", # accepts enable, disable
36348
+ # propagation_default_route_table_id: "TransitGatewayRouteTableId",
36349
+ # }
36350
+ #
36351
+ # @!attribute [rw] vpn_ecmp_support
36352
+ # Enable or disable Equal Cost Multipath Protocol support.
36353
+ # @return [String]
36354
+ #
36355
+ # @!attribute [rw] dns_support
36356
+ # Enable or disable DNS support.
36357
+ # @return [String]
36358
+ #
36359
+ # @!attribute [rw] auto_accept_shared_attachments
36360
+ # Enable or disable automatic acceptance of attachment requests.
36361
+ # @return [String]
36362
+ #
36363
+ # @!attribute [rw] default_route_table_association
36364
+ # Enable or disable automatic association with the default association
36365
+ # route table.
36366
+ # @return [String]
36367
+ #
36368
+ # @!attribute [rw] association_default_route_table_id
36369
+ # The ID of the default association route table.
36370
+ # @return [String]
36371
+ #
36372
+ # @!attribute [rw] default_route_table_propagation
36373
+ # Enable or disable automatic propagation of routes to the default
36374
+ # propagation route table.
36375
+ # @return [String]
36376
+ #
36377
+ # @!attribute [rw] propagation_default_route_table_id
36378
+ # The ID of the default propagation route table.
36379
+ # @return [String]
36380
+ #
36381
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayOptions AWS API Documentation
36382
+ #
36383
+ class ModifyTransitGatewayOptions < Struct.new(
36384
+ :vpn_ecmp_support,
36385
+ :dns_support,
36386
+ :auto_accept_shared_attachments,
36387
+ :default_route_table_association,
36388
+ :association_default_route_table_id,
36389
+ :default_route_table_propagation,
36390
+ :propagation_default_route_table_id)
36391
+ SENSITIVE = []
36392
+ include Aws::Structure
36393
+ end
36394
+
36395
+ # @note When making an API call, you may pass ModifyTransitGatewayPrefixListReferenceRequest
36396
+ # data as a hash:
36397
+ #
36398
+ # {
36399
+ # transit_gateway_route_table_id: "TransitGatewayRouteTableId", # required
36400
+ # prefix_list_id: "PrefixListResourceId", # required
36401
+ # transit_gateway_attachment_id: "TransitGatewayAttachmentId",
36402
+ # blackhole: false,
36403
+ # dry_run: false,
36404
+ # }
36405
+ #
36406
+ # @!attribute [rw] transit_gateway_route_table_id
36407
+ # The ID of the transit gateway route table.
36408
+ # @return [String]
36409
+ #
36410
+ # @!attribute [rw] prefix_list_id
36411
+ # The ID of the prefix list.
36412
+ # @return [String]
36413
+ #
36414
+ # @!attribute [rw] transit_gateway_attachment_id
36415
+ # The ID of the attachment to which traffic is routed.
36416
+ # @return [String]
36417
+ #
36418
+ # @!attribute [rw] blackhole
36419
+ # Indicates whether to drop traffic that matches this route.
36420
+ # @return [Boolean]
36421
+ #
36422
+ # @!attribute [rw] dry_run
36423
+ # Checks whether you have the required permissions for the action,
36424
+ # without actually making the request, and provides an error response.
36425
+ # If you have the required permissions, the error response is
36426
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
36427
+ # @return [Boolean]
36428
+ #
36429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayPrefixListReferenceRequest AWS API Documentation
36430
+ #
36431
+ class ModifyTransitGatewayPrefixListReferenceRequest < Struct.new(
36432
+ :transit_gateway_route_table_id,
36433
+ :prefix_list_id,
36434
+ :transit_gateway_attachment_id,
36435
+ :blackhole,
36436
+ :dry_run)
36437
+ SENSITIVE = []
36438
+ include Aws::Structure
36439
+ end
36440
+
36441
+ # @!attribute [rw] transit_gateway_prefix_list_reference
36442
+ # Information about the prefix list reference.
36443
+ # @return [Types::TransitGatewayPrefixListReference]
36444
+ #
36445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayPrefixListReferenceResult AWS API Documentation
36446
+ #
36447
+ class ModifyTransitGatewayPrefixListReferenceResult < Struct.new(
36448
+ :transit_gateway_prefix_list_reference)
36449
+ SENSITIVE = []
36450
+ include Aws::Structure
36451
+ end
36452
+
36453
+ # @note When making an API call, you may pass ModifyTransitGatewayRequest
36454
+ # data as a hash:
36455
+ #
36456
+ # {
36457
+ # transit_gateway_id: "TransitGatewayId", # required
36458
+ # description: "String",
36459
+ # options: {
36460
+ # vpn_ecmp_support: "enable", # accepts enable, disable
36461
+ # dns_support: "enable", # accepts enable, disable
36462
+ # auto_accept_shared_attachments: "enable", # accepts enable, disable
36463
+ # default_route_table_association: "enable", # accepts enable, disable
36464
+ # association_default_route_table_id: "TransitGatewayRouteTableId",
36465
+ # default_route_table_propagation: "enable", # accepts enable, disable
36466
+ # propagation_default_route_table_id: "TransitGatewayRouteTableId",
36467
+ # },
36468
+ # dry_run: false,
36469
+ # }
36470
+ #
36471
+ # @!attribute [rw] transit_gateway_id
36472
+ # The ID of the transit gateway.
36473
+ # @return [String]
36474
+ #
36475
+ # @!attribute [rw] description
36476
+ # The description for the transit gateway.
36477
+ # @return [String]
36478
+ #
36479
+ # @!attribute [rw] options
36480
+ # The options to modify.
36481
+ # @return [Types::ModifyTransitGatewayOptions]
36482
+ #
36483
+ # @!attribute [rw] dry_run
36484
+ # Checks whether you have the required permissions for the action,
36485
+ # without actually making the request, and provides an error response.
36486
+ # If you have the required permissions, the error response is
36487
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
36488
+ # @return [Boolean]
36489
+ #
36490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayRequest AWS API Documentation
36491
+ #
36492
+ class ModifyTransitGatewayRequest < Struct.new(
36493
+ :transit_gateway_id,
36494
+ :description,
36495
+ :options,
36496
+ :dry_run)
36497
+ SENSITIVE = []
36498
+ include Aws::Structure
36499
+ end
36500
+
36501
+ # @!attribute [rw] transit_gateway
36502
+ # Describes a transit gateway.
36503
+ # @return [Types::TransitGateway]
36504
+ #
36505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayResult AWS API Documentation
36506
+ #
36507
+ class ModifyTransitGatewayResult < Struct.new(
36508
+ :transit_gateway)
36509
+ SENSITIVE = []
36510
+ include Aws::Structure
36511
+ end
36512
+
36138
36513
  # @note When making an API call, you may pass ModifyTransitGatewayVpcAttachmentRequest
36139
36514
  # data as a hash:
36140
36515
  #
@@ -36272,7 +36647,7 @@ module Aws::EC2
36272
36647
  # dry_run: false,
36273
36648
  # volume_id: "VolumeId", # required
36274
36649
  # size: 1,
36275
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
36650
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
36276
36651
  # iops: 1,
36277
36652
  # }
36278
36653
  #
@@ -36309,8 +36684,9 @@ module Aws::EC2
36309
36684
  # @!attribute [rw] iops
36310
36685
  # The target IOPS rate of the volume.
36311
36686
  #
36312
- # This is only valid for Provisioned IOPS SSD (`io1`) volumes. For
36313
- # more information, see [Provisioned IOPS SSD (io1) Volumes][1].
36687
+ # This is only valid for Provisioned IOPS SSD (`io1` and `io2`)
36688
+ # volumes. For moreinformation, see [ Provisioned IOPS SSD (io1 and
36689
+ # io2) volumes][1].
36314
36690
  #
36315
36691
  # Default: If no IOPS value is specified, the existing value is
36316
36692
  # retained.
@@ -39690,7 +40066,7 @@ module Aws::EC2
39690
40066
  # iops: 1,
39691
40067
  # snapshot_id: "String",
39692
40068
  # volume_size: 1,
39693
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
40069
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
39694
40070
  # kms_key_id: "String",
39695
40071
  # encrypted: false,
39696
40072
  # },
@@ -40803,7 +41179,7 @@ module Aws::EC2
40803
41179
  # kms_key_id: "KmsKeyId",
40804
41180
  # snapshot_id: "SnapshotId",
40805
41181
  # volume_size: 1,
40806
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
41182
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
40807
41183
  # },
40808
41184
  # no_device: "String",
40809
41185
  # },
@@ -41188,7 +41564,7 @@ module Aws::EC2
41188
41564
  # iops: 1,
41189
41565
  # snapshot_id: "String",
41190
41566
  # volume_size: 1,
41191
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
41567
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
41192
41568
  # kms_key_id: "String",
41193
41569
  # encrypted: false,
41194
41570
  # },
@@ -41377,7 +41753,7 @@ module Aws::EC2
41377
41753
  # iops: 1,
41378
41754
  # snapshot_id: "String",
41379
41755
  # volume_size: 1,
41380
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
41756
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
41381
41757
  # kms_key_id: "String",
41382
41758
  # encrypted: false,
41383
41759
  # },
@@ -41625,7 +42001,7 @@ module Aws::EC2
41625
42001
  # iops: 1,
41626
42002
  # snapshot_id: "String",
41627
42003
  # volume_size: 1,
41628
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
42004
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
41629
42005
  # kms_key_id: "String",
41630
42006
  # encrypted: false,
41631
42007
  # },
@@ -43356,7 +43732,7 @@ module Aws::EC2
43356
43732
  # iops: 1,
43357
43733
  # snapshot_id: "String",
43358
43734
  # volume_size: 1,
43359
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
43735
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
43360
43736
  # kms_key_id: "String",
43361
43737
  # encrypted: false,
43362
43738
  # },
@@ -44425,25 +44801,21 @@ module Aws::EC2
44425
44801
  # @return [Boolean]
44426
44802
  #
44427
44803
  # @!attribute [rw] iops
44428
- # The number of I/O operations per second (IOPS) that the volume
44429
- # supports. For io1 volumes, this represents the number of IOPS that
44430
- # are provisioned for the volume. For `gp2` volumes, this represents
44431
- # the baseline performance of the volume and the rate at which the
44432
- # volume accumulates I/O credits for bursting. For more information
44433
- # about `gp2` baseline performance, I/O credits, and bursting, see
44434
- # [Amazon EBS Volume Types][1] in the *Amazon Elastic Compute Cloud
44435
- # User Guide*.
44436
- #
44437
- # Constraint: Range is 100-20000 IOPS for `io1` volumes and 100-10000
44438
- # IOPS for `gp2` volumes.
44804
+ # The number of I/O operations per second (IOPS) to provision for an
44805
+ # `io1` or `io2` volume, with a maximum ratio of 50 IOPS/GiB for
44806
+ # `io1`, and 500 IOPS/GiB for `io2`. Range is 100 to 64,000 IOPS for
44807
+ # volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only
44808
+ # on [Nitro-based instances][1]. Other instance families guarantee
44809
+ # performance up to 32,000 IOPS. For more information, see [Amazon EBS
44810
+ # Volume Types][2] in the *Amazon Elastic Compute Cloud User Guide*.
44439
44811
  #
44440
- # Condition: This parameter is required for requests to create
44441
- # `io1`volumes; it is not used in requests to create `gp2`, `st1`,
44442
- # `sc1`, or `standard` volumes.
44812
+ # This parameter is valid only for Provisioned IOPS SSD (`io1` and
44813
+ # `io2`) volumes.
44443
44814
  #
44444
44815
  #
44445
44816
  #
44446
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
44817
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances
44818
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
44447
44819
  # @return [Integer]
44448
44820
  #
44449
44821
  # @!attribute [rw] snapshot_id
@@ -44458,7 +44830,7 @@ module Aws::EC2
44458
44830
  # @return [Integer]
44459
44831
  #
44460
44832
  # @!attribute [rw] volume_type
44461
- # The volume type. `gp2` for General Purpose SSD, `io1` for
44833
+ # The volume type. `gp2` for General Purpose SSD, `io1` or ` io2` for
44462
44834
  # Provisioned IOPS SSD, Throughput Optimized HDD for `st1`, Cold HDD
44463
44835
  # for `sc1`, or `standard` for Magnetic.
44464
44836
  #
@@ -45061,7 +45433,9 @@ module Aws::EC2
45061
45433
  # attachment.
45062
45434
  #
45063
45435
  # * `attachment.resource-type` - The attachment resource type (`vpc`
45064
- # \| `vpn`).
45436
+ # \| `vpn` \| `direct-connect-gateway` \| `tgw-peering`).
45437
+ #
45438
+ # * `prefix-list-id` - The ID of the prefix list.
45065
45439
  #
45066
45440
  # * `route-search.exact-match` - The exact match of the specified
45067
45441
  # filter.
@@ -45860,7 +46234,7 @@ module Aws::EC2
45860
46234
  # iops: 1,
45861
46235
  # snapshot_id: "String",
45862
46236
  # volume_size: 1,
45863
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
46237
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
45864
46238
  # kms_key_id: "String",
45865
46239
  # encrypted: false,
45866
46240
  # },
@@ -46155,7 +46529,7 @@ module Aws::EC2
46155
46529
  # iops: 1,
46156
46530
  # snapshot_id: "String",
46157
46531
  # volume_size: 1,
46158
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
46532
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
46159
46533
  # kms_key_id: "String",
46160
46534
  # encrypted: false,
46161
46535
  # },
@@ -48892,6 +49266,69 @@ module Aws::EC2
48892
49266
  include Aws::Structure
48893
49267
  end
48894
49268
 
49269
+ # Describes a transit gateway prefix list attachment.
49270
+ #
49271
+ # @!attribute [rw] transit_gateway_attachment_id
49272
+ # The ID of the attachment.
49273
+ # @return [String]
49274
+ #
49275
+ # @!attribute [rw] resource_type
49276
+ # The resource type.
49277
+ # @return [String]
49278
+ #
49279
+ # @!attribute [rw] resource_id
49280
+ # The ID of the resource.
49281
+ # @return [String]
49282
+ #
49283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayPrefixListAttachment AWS API Documentation
49284
+ #
49285
+ class TransitGatewayPrefixListAttachment < Struct.new(
49286
+ :transit_gateway_attachment_id,
49287
+ :resource_type,
49288
+ :resource_id)
49289
+ SENSITIVE = []
49290
+ include Aws::Structure
49291
+ end
49292
+
49293
+ # Describes a prefix list reference.
49294
+ #
49295
+ # @!attribute [rw] transit_gateway_route_table_id
49296
+ # The ID of the transit gateway route table.
49297
+ # @return [String]
49298
+ #
49299
+ # @!attribute [rw] prefix_list_id
49300
+ # The ID of the prefix list.
49301
+ # @return [String]
49302
+ #
49303
+ # @!attribute [rw] prefix_list_owner_id
49304
+ # The ID of the prefix list owner.
49305
+ # @return [String]
49306
+ #
49307
+ # @!attribute [rw] state
49308
+ # The state of the prefix list reference.
49309
+ # @return [String]
49310
+ #
49311
+ # @!attribute [rw] blackhole
49312
+ # Indicates whether traffic that matches this route is dropped.
49313
+ # @return [Boolean]
49314
+ #
49315
+ # @!attribute [rw] transit_gateway_attachment
49316
+ # Information about the transit gateway attachment.
49317
+ # @return [Types::TransitGatewayPrefixListAttachment]
49318
+ #
49319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayPrefixListReference AWS API Documentation
49320
+ #
49321
+ class TransitGatewayPrefixListReference < Struct.new(
49322
+ :transit_gateway_route_table_id,
49323
+ :prefix_list_id,
49324
+ :prefix_list_owner_id,
49325
+ :state,
49326
+ :blackhole,
49327
+ :transit_gateway_attachment)
49328
+ SENSITIVE = []
49329
+ include Aws::Structure
49330
+ end
49331
+
48895
49332
  # Describes route propagation.
48896
49333
  #
48897
49334
  # @!attribute [rw] transit_gateway_attachment_id
@@ -48995,6 +49432,10 @@ module Aws::EC2
48995
49432
  # The CIDR block used for destination matches.
48996
49433
  # @return [String]
48997
49434
  #
49435
+ # @!attribute [rw] prefix_list_id
49436
+ # The ID of the prefix list used for destination matches.
49437
+ # @return [String]
49438
+ #
48998
49439
  # @!attribute [rw] transit_gateway_attachments
48999
49440
  # The attachments.
49000
49441
  # @return [Array<Types::TransitGatewayRouteAttachment>]
@@ -49011,6 +49452,7 @@ module Aws::EC2
49011
49452
  #
49012
49453
  class TransitGatewayRoute < Struct.new(
49013
49454
  :destination_cidr_block,
49455
+ :prefix_list_id,
49014
49456
  :transit_gateway_attachments,
49015
49457
  :type,
49016
49458
  :state)
@@ -50022,17 +50464,18 @@ module Aws::EC2
50022
50464
  # number of IOPS that are provisioned for the volume. For General
50023
50465
  # Purpose SSD volumes, this represents the baseline performance of the
50024
50466
  # volume and the rate at which the volume accumulates I/O credits for
50025
- # bursting. For more information, see [Amazon EBS Volume Types][1] in
50467
+ # bursting. For more information, see [Amazon EBS volume types][1] in
50026
50468
  # the *Amazon Elastic Compute Cloud User Guide*.
50027
50469
  #
50028
50470
  # Constraints: Range is 100-16,000 IOPS for `gp2` volumes and 100 to
50029
- # 64,000IOPS for `io1` volumes, in most Regions. The maximum IOPS for
50030
- # `io1` of 64,000 is guaranteed only on [Nitro-based instances][2].
50031
- # Other instance families guarantee performance up to 32,000 IOPS.
50471
+ # 64,000 IOPS for `io1` and `io2` volumes, in most Regions. The
50472
+ # maximum IOPS for `io1` and `io2` of 64,000 is guaranteed only on
50473
+ # [Nitro-based instances][2]. Other instance families guarantee
50474
+ # performance up to 32,000 IOPS.
50032
50475
  #
50033
50476
  # Condition: This parameter is required for requests to create `io1`
50034
- # volumes; it is not used in requests to create `gp2`, `st1`, `sc1`,
50035
- # or `standard` volumes.
50477
+ # and `io2` volumes; it is not used in requests to create `gp2`,
50478
+ # `st1`, `sc1`, or `standard` volumes.
50036
50479
  #
50037
50480
  #
50038
50481
  #
@@ -50045,9 +50488,9 @@ module Aws::EC2
50045
50488
  # @return [Array<Types::Tag>]
50046
50489
  #
50047
50490
  # @!attribute [rw] volume_type
50048
- # The volume type. This can be `gp2` for General Purpose SSD, `io1`
50049
- # for Provisioned IOPS SSD, `st1` for Throughput Optimized HDD, `sc1`
50050
- # for Cold HDD, or `standard` for Magnetic volumes.
50491
+ # The volume type. This can be `gp2` for General Purpose SSD, `io1` or
50492
+ # `io2` for Provisioned IOPS SSD, `st1` for Throughput Optimized HDD,
50493
+ # `sc1` for Cold HDD, or `standard` for Magnetic volumes.
50051
50494
  # @return [String]
50052
50495
  #
50053
50496
  # @!attribute [rw] fast_restored