aws-sdk-ec2 1.188.0 → 1.190.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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