aws-sdk-ec2 1.51.0 → 1.52.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,6 +28,8 @@ module Aws::EC2
28
28
  ActivityStatus = Shapes::StringShape.new(name: 'ActivityStatus')
29
29
  Address = Shapes::StructureShape.new(name: 'Address')
30
30
  AddressList = Shapes::ListShape.new(name: 'AddressList')
31
+ AdvertiseByoipCidrRequest = Shapes::StructureShape.new(name: 'AdvertiseByoipCidrRequest')
32
+ AdvertiseByoipCidrResult = Shapes::StructureShape.new(name: 'AdvertiseByoipCidrResult')
31
33
  Affinity = Shapes::StringShape.new(name: 'Affinity')
32
34
  AllocateAddressRequest = Shapes::StructureShape.new(name: 'AllocateAddressRequest')
33
35
  AllocateAddressResult = Shapes::StructureShape.new(name: 'AllocateAddressResult')
@@ -90,6 +92,9 @@ module Aws::EC2
90
92
  BundleTaskError = Shapes::StructureShape.new(name: 'BundleTaskError')
91
93
  BundleTaskList = Shapes::ListShape.new(name: 'BundleTaskList')
92
94
  BundleTaskState = Shapes::StringShape.new(name: 'BundleTaskState')
95
+ ByoipCidr = Shapes::StructureShape.new(name: 'ByoipCidr')
96
+ ByoipCidrSet = Shapes::ListShape.new(name: 'ByoipCidrSet')
97
+ ByoipCidrState = Shapes::StringShape.new(name: 'ByoipCidrState')
93
98
  CancelBatchErrorCode = Shapes::StringShape.new(name: 'CancelBatchErrorCode')
94
99
  CancelBundleTaskRequest = Shapes::StructureShape.new(name: 'CancelBundleTaskRequest')
95
100
  CancelBundleTaskResult = Shapes::StructureShape.new(name: 'CancelBundleTaskResult')
@@ -111,6 +116,7 @@ module Aws::EC2
111
116
  CancelSpotInstanceRequestsResult = Shapes::StructureShape.new(name: 'CancelSpotInstanceRequestsResult')
112
117
  CancelledSpotInstanceRequest = Shapes::StructureShape.new(name: 'CancelledSpotInstanceRequest')
113
118
  CancelledSpotInstanceRequestList = Shapes::ListShape.new(name: 'CancelledSpotInstanceRequestList')
119
+ CidrAuthorizationContext = Shapes::StructureShape.new(name: 'CidrAuthorizationContext')
114
120
  CidrBlock = Shapes::StructureShape.new(name: 'CidrBlock')
115
121
  CidrBlockSet = Shapes::ListShape.new(name: 'CidrBlockSet')
116
122
  ClassicLinkDnsSupport = Shapes::StructureShape.new(name: 'ClassicLinkDnsSupport')
@@ -272,6 +278,8 @@ module Aws::EC2
272
278
  DeleteVpnConnectionRequest = Shapes::StructureShape.new(name: 'DeleteVpnConnectionRequest')
273
279
  DeleteVpnConnectionRouteRequest = Shapes::StructureShape.new(name: 'DeleteVpnConnectionRouteRequest')
274
280
  DeleteVpnGatewayRequest = Shapes::StructureShape.new(name: 'DeleteVpnGatewayRequest')
281
+ DeprovisionByoipCidrRequest = Shapes::StructureShape.new(name: 'DeprovisionByoipCidrRequest')
282
+ DeprovisionByoipCidrResult = Shapes::StructureShape.new(name: 'DeprovisionByoipCidrResult')
275
283
  DeregisterImageRequest = Shapes::StructureShape.new(name: 'DeregisterImageRequest')
276
284
  DescribeAccountAttributesRequest = Shapes::StructureShape.new(name: 'DescribeAccountAttributesRequest')
277
285
  DescribeAccountAttributesResult = Shapes::StructureShape.new(name: 'DescribeAccountAttributesResult')
@@ -283,6 +291,8 @@ module Aws::EC2
283
291
  DescribeAvailabilityZonesResult = Shapes::StructureShape.new(name: 'DescribeAvailabilityZonesResult')
284
292
  DescribeBundleTasksRequest = Shapes::StructureShape.new(name: 'DescribeBundleTasksRequest')
285
293
  DescribeBundleTasksResult = Shapes::StructureShape.new(name: 'DescribeBundleTasksResult')
294
+ DescribeByoipCidrsRequest = Shapes::StructureShape.new(name: 'DescribeByoipCidrsRequest')
295
+ DescribeByoipCidrsResult = Shapes::StructureShape.new(name: 'DescribeByoipCidrsResult')
286
296
  DescribeClassicLinkInstancesRequest = Shapes::StructureShape.new(name: 'DescribeClassicLinkInstancesRequest')
287
297
  DescribeClassicLinkInstancesResult = Shapes::StructureShape.new(name: 'DescribeClassicLinkInstancesResult')
288
298
  DescribeConversionTaskList = Shapes::ListShape.new(name: 'DescribeConversionTaskList')
@@ -362,6 +372,8 @@ module Aws::EC2
362
372
  DescribePrefixListsResult = Shapes::StructureShape.new(name: 'DescribePrefixListsResult')
363
373
  DescribePrincipalIdFormatRequest = Shapes::StructureShape.new(name: 'DescribePrincipalIdFormatRequest')
364
374
  DescribePrincipalIdFormatResult = Shapes::StructureShape.new(name: 'DescribePrincipalIdFormatResult')
375
+ DescribePublicIpv4PoolsRequest = Shapes::StructureShape.new(name: 'DescribePublicIpv4PoolsRequest')
376
+ DescribePublicIpv4PoolsResult = Shapes::StructureShape.new(name: 'DescribePublicIpv4PoolsResult')
365
377
  DescribeRegionsRequest = Shapes::StructureShape.new(name: 'DescribeRegionsRequest')
366
378
  DescribeRegionsResult = Shapes::StructureShape.new(name: 'DescribeRegionsResult')
367
379
  DescribeReservedInstancesListingsRequest = Shapes::StructureShape.new(name: 'DescribeReservedInstancesListingsRequest')
@@ -843,6 +855,7 @@ module Aws::EC2
843
855
  PlacementGroupStringList = Shapes::ListShape.new(name: 'PlacementGroupStringList')
844
856
  PlacementStrategy = Shapes::StringShape.new(name: 'PlacementStrategy')
845
857
  PlatformValues = Shapes::StringShape.new(name: 'PlatformValues')
858
+ PoolMaxResults = Shapes::IntegerShape.new(name: 'PoolMaxResults')
846
859
  PortRange = Shapes::StructureShape.new(name: 'PortRange')
847
860
  PrefixList = Shapes::StructureShape.new(name: 'PrefixList')
848
861
  PrefixListId = Shapes::StructureShape.new(name: 'PrefixListId')
@@ -869,8 +882,14 @@ module Aws::EC2
869
882
  ProductDescriptionList = Shapes::ListShape.new(name: 'ProductDescriptionList')
870
883
  PropagatingVgw = Shapes::StructureShape.new(name: 'PropagatingVgw')
871
884
  PropagatingVgwList = Shapes::ListShape.new(name: 'PropagatingVgwList')
885
+ ProvisionByoipCidrRequest = Shapes::StructureShape.new(name: 'ProvisionByoipCidrRequest')
886
+ ProvisionByoipCidrResult = Shapes::StructureShape.new(name: 'ProvisionByoipCidrResult')
872
887
  ProvisionedBandwidth = Shapes::StructureShape.new(name: 'ProvisionedBandwidth')
873
888
  PublicIpStringList = Shapes::ListShape.new(name: 'PublicIpStringList')
889
+ PublicIpv4Pool = Shapes::StructureShape.new(name: 'PublicIpv4Pool')
890
+ PublicIpv4PoolRange = Shapes::StructureShape.new(name: 'PublicIpv4PoolRange')
891
+ PublicIpv4PoolRangeSet = Shapes::ListShape.new(name: 'PublicIpv4PoolRangeSet')
892
+ PublicIpv4PoolSet = Shapes::ListShape.new(name: 'PublicIpv4PoolSet')
874
893
  Purchase = Shapes::StructureShape.new(name: 'Purchase')
875
894
  PurchaseHostReservationRequest = Shapes::StructureShape.new(name: 'PurchaseHostReservationRequest')
876
895
  PurchaseHostReservationResult = Shapes::StructureShape.new(name: 'PurchaseHostReservationResult')
@@ -1194,6 +1213,8 @@ module Aws::EC2
1194
1213
  VpnStaticRouteList = Shapes::ListShape.new(name: 'VpnStaticRouteList')
1195
1214
  VpnStaticRouteSource = Shapes::StringShape.new(name: 'VpnStaticRouteSource')
1196
1215
  VpnTunnelOptionsSpecification = Shapes::StructureShape.new(name: 'VpnTunnelOptionsSpecification')
1216
+ WithdrawByoipCidrRequest = Shapes::StructureShape.new(name: 'WithdrawByoipCidrRequest')
1217
+ WithdrawByoipCidrResult = Shapes::StructureShape.new(name: 'WithdrawByoipCidrResult')
1197
1218
  ZoneNameStringList = Shapes::ListShape.new(name: 'ZoneNameStringList')
1198
1219
  scope = Shapes::StringShape.new(name: 'scope')
1199
1220
 
@@ -1250,17 +1271,27 @@ module Aws::EC2
1250
1271
  Address.add_member(:network_interface_owner_id, Shapes::ShapeRef.new(shape: String, location_name: "networkInterfaceOwnerId"))
1251
1272
  Address.add_member(:private_ip_address, Shapes::ShapeRef.new(shape: String, location_name: "privateIpAddress"))
1252
1273
  Address.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tagSet"))
1274
+ Address.add_member(:public_ipv_4_pool, Shapes::ShapeRef.new(shape: String, location_name: "publicIpv4Pool"))
1253
1275
  Address.struct_class = Types::Address
1254
1276
 
1255
1277
  AddressList.member = Shapes::ShapeRef.new(shape: Address, location_name: "item")
1256
1278
 
1279
+ AdvertiseByoipCidrRequest.add_member(:cidr, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Cidr"))
1280
+ AdvertiseByoipCidrRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
1281
+ AdvertiseByoipCidrRequest.struct_class = Types::AdvertiseByoipCidrRequest
1282
+
1283
+ AdvertiseByoipCidrResult.add_member(:byoip_cidr, Shapes::ShapeRef.new(shape: ByoipCidr, location_name: "byoipCidr"))
1284
+ AdvertiseByoipCidrResult.struct_class = Types::AdvertiseByoipCidrResult
1285
+
1257
1286
  AllocateAddressRequest.add_member(:domain, Shapes::ShapeRef.new(shape: DomainType, location_name: "Domain"))
1258
1287
  AllocateAddressRequest.add_member(:address, Shapes::ShapeRef.new(shape: String, location_name: "Address"))
1288
+ AllocateAddressRequest.add_member(:public_ipv_4_pool, Shapes::ShapeRef.new(shape: String, location_name: "PublicIpv4Pool"))
1259
1289
  AllocateAddressRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
1260
1290
  AllocateAddressRequest.struct_class = Types::AllocateAddressRequest
1261
1291
 
1262
1292
  AllocateAddressResult.add_member(:public_ip, Shapes::ShapeRef.new(shape: String, location_name: "publicIp"))
1263
1293
  AllocateAddressResult.add_member(:allocation_id, Shapes::ShapeRef.new(shape: String, location_name: "allocationId"))
1294
+ AllocateAddressResult.add_member(:public_ipv_4_pool, Shapes::ShapeRef.new(shape: String, location_name: "publicIpv4Pool"))
1264
1295
  AllocateAddressResult.add_member(:domain, Shapes::ShapeRef.new(shape: DomainType, location_name: "domain"))
1265
1296
  AllocateAddressResult.struct_class = Types::AllocateAddressResult
1266
1297
 
@@ -1476,6 +1507,14 @@ module Aws::EC2
1476
1507
 
1477
1508
  BundleTaskList.member = Shapes::ShapeRef.new(shape: BundleTask, location_name: "item")
1478
1509
 
1510
+ ByoipCidr.add_member(:cidr, Shapes::ShapeRef.new(shape: String, location_name: "cidr"))
1511
+ ByoipCidr.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
1512
+ ByoipCidr.add_member(:status_message, Shapes::ShapeRef.new(shape: String, location_name: "statusMessage"))
1513
+ ByoipCidr.add_member(:state, Shapes::ShapeRef.new(shape: ByoipCidrState, location_name: "state"))
1514
+ ByoipCidr.struct_class = Types::ByoipCidr
1515
+
1516
+ ByoipCidrSet.member = Shapes::ShapeRef.new(shape: ByoipCidr, location_name: "item")
1517
+
1479
1518
  CancelBundleTaskRequest.add_member(:bundle_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "BundleId"))
1480
1519
  CancelBundleTaskRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
1481
1520
  CancelBundleTaskRequest.struct_class = Types::CancelBundleTaskRequest
@@ -1546,6 +1585,10 @@ module Aws::EC2
1546
1585
 
1547
1586
  CancelledSpotInstanceRequestList.member = Shapes::ShapeRef.new(shape: CancelledSpotInstanceRequest, location_name: "item")
1548
1587
 
1588
+ CidrAuthorizationContext.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Message"))
1589
+ CidrAuthorizationContext.add_member(:signature, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Signature"))
1590
+ CidrAuthorizationContext.struct_class = Types::CidrAuthorizationContext
1591
+
1549
1592
  CidrBlock.add_member(:cidr_block, Shapes::ShapeRef.new(shape: String, location_name: "cidrBlock"))
1550
1593
  CidrBlock.struct_class = Types::CidrBlock
1551
1594
 
@@ -2243,6 +2286,13 @@ module Aws::EC2
2243
2286
  DeleteVpnGatewayRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
2244
2287
  DeleteVpnGatewayRequest.struct_class = Types::DeleteVpnGatewayRequest
2245
2288
 
2289
+ DeprovisionByoipCidrRequest.add_member(:cidr, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Cidr"))
2290
+ DeprovisionByoipCidrRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
2291
+ DeprovisionByoipCidrRequest.struct_class = Types::DeprovisionByoipCidrRequest
2292
+
2293
+ DeprovisionByoipCidrResult.add_member(:byoip_cidr, Shapes::ShapeRef.new(shape: ByoipCidr, location_name: "byoipCidr"))
2294
+ DeprovisionByoipCidrResult.struct_class = Types::DeprovisionByoipCidrResult
2295
+
2246
2296
  DeregisterImageRequest.add_member(:image_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ImageId"))
2247
2297
  DeregisterImageRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
2248
2298
  DeregisterImageRequest.struct_class = Types::DeregisterImageRequest
@@ -2286,6 +2336,15 @@ module Aws::EC2
2286
2336
  DescribeBundleTasksResult.add_member(:bundle_tasks, Shapes::ShapeRef.new(shape: BundleTaskList, location_name: "bundleInstanceTasksSet"))
2287
2337
  DescribeBundleTasksResult.struct_class = Types::DescribeBundleTasksResult
2288
2338
 
2339
+ DescribeByoipCidrsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
2340
+ DescribeByoipCidrsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, required: true, location_name: "MaxResults"))
2341
+ DescribeByoipCidrsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
2342
+ DescribeByoipCidrsRequest.struct_class = Types::DescribeByoipCidrsRequest
2343
+
2344
+ DescribeByoipCidrsResult.add_member(:byoip_cidrs, Shapes::ShapeRef.new(shape: ByoipCidrSet, location_name: "byoipCidrSet"))
2345
+ DescribeByoipCidrsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
2346
+ DescribeByoipCidrsResult.struct_class = Types::DescribeByoipCidrsResult
2347
+
2289
2348
  DescribeClassicLinkInstancesRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
2290
2349
  DescribeClassicLinkInstancesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
2291
2350
  DescribeClassicLinkInstancesRequest.add_member(:instance_ids, Shapes::ShapeRef.new(shape: InstanceIdStringList, location_name: "InstanceId"))
@@ -2684,6 +2743,15 @@ module Aws::EC2
2684
2743
  DescribePrincipalIdFormatResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
2685
2744
  DescribePrincipalIdFormatResult.struct_class = Types::DescribePrincipalIdFormatResult
2686
2745
 
2746
+ DescribePublicIpv4PoolsRequest.add_member(:pool_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "PoolId"))
2747
+ DescribePublicIpv4PoolsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
2748
+ DescribePublicIpv4PoolsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PoolMaxResults, location_name: "MaxResults"))
2749
+ DescribePublicIpv4PoolsRequest.struct_class = Types::DescribePublicIpv4PoolsRequest
2750
+
2751
+ DescribePublicIpv4PoolsResult.add_member(:public_ipv_4_pools, Shapes::ShapeRef.new(shape: PublicIpv4PoolSet, location_name: "publicIpv4PoolSet"))
2752
+ DescribePublicIpv4PoolsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
2753
+ DescribePublicIpv4PoolsResult.struct_class = Types::DescribePublicIpv4PoolsResult
2754
+
2687
2755
  DescribeRegionsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
2688
2756
  DescribeRegionsRequest.add_member(:region_names, Shapes::ShapeRef.new(shape: RegionNameStringList, location_name: "RegionName"))
2689
2757
  DescribeRegionsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
@@ -4794,6 +4862,15 @@ module Aws::EC2
4794
4862
 
4795
4863
  PropagatingVgwList.member = Shapes::ShapeRef.new(shape: PropagatingVgw, location_name: "item")
4796
4864
 
4865
+ ProvisionByoipCidrRequest.add_member(:cidr, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Cidr"))
4866
+ ProvisionByoipCidrRequest.add_member(:cidr_authorization_context, Shapes::ShapeRef.new(shape: CidrAuthorizationContext, location_name: "CidrAuthorizationContext"))
4867
+ ProvisionByoipCidrRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
4868
+ ProvisionByoipCidrRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
4869
+ ProvisionByoipCidrRequest.struct_class = Types::ProvisionByoipCidrRequest
4870
+
4871
+ ProvisionByoipCidrResult.add_member(:byoip_cidr, Shapes::ShapeRef.new(shape: ByoipCidr, location_name: "byoipCidr"))
4872
+ ProvisionByoipCidrResult.struct_class = Types::ProvisionByoipCidrResult
4873
+
4797
4874
  ProvisionedBandwidth.add_member(:provision_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "provisionTime"))
4798
4875
  ProvisionedBandwidth.add_member(:provisioned, Shapes::ShapeRef.new(shape: String, location_name: "provisioned"))
4799
4876
  ProvisionedBandwidth.add_member(:request_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "requestTime"))
@@ -4803,6 +4880,23 @@ module Aws::EC2
4803
4880
 
4804
4881
  PublicIpStringList.member = Shapes::ShapeRef.new(shape: String, location_name: "PublicIp")
4805
4882
 
4883
+ PublicIpv4Pool.add_member(:pool_id, Shapes::ShapeRef.new(shape: String, location_name: "poolId"))
4884
+ PublicIpv4Pool.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
4885
+ PublicIpv4Pool.add_member(:pool_address_ranges, Shapes::ShapeRef.new(shape: PublicIpv4PoolRangeSet, location_name: "poolAddressRangeSet"))
4886
+ PublicIpv4Pool.add_member(:total_address_count, Shapes::ShapeRef.new(shape: Integer, location_name: "totalAddressCount"))
4887
+ PublicIpv4Pool.add_member(:total_available_address_count, Shapes::ShapeRef.new(shape: Integer, location_name: "totalAvailableAddressCount"))
4888
+ PublicIpv4Pool.struct_class = Types::PublicIpv4Pool
4889
+
4890
+ PublicIpv4PoolRange.add_member(:first_address, Shapes::ShapeRef.new(shape: String, location_name: "firstAddress"))
4891
+ PublicIpv4PoolRange.add_member(:last_address, Shapes::ShapeRef.new(shape: String, location_name: "lastAddress"))
4892
+ PublicIpv4PoolRange.add_member(:address_count, Shapes::ShapeRef.new(shape: Integer, location_name: "addressCount"))
4893
+ PublicIpv4PoolRange.add_member(:available_address_count, Shapes::ShapeRef.new(shape: Integer, location_name: "availableAddressCount"))
4894
+ PublicIpv4PoolRange.struct_class = Types::PublicIpv4PoolRange
4895
+
4896
+ PublicIpv4PoolRangeSet.member = Shapes::ShapeRef.new(shape: PublicIpv4PoolRange, location_name: "item")
4897
+
4898
+ PublicIpv4PoolSet.member = Shapes::ShapeRef.new(shape: PublicIpv4Pool, location_name: "item")
4899
+
4806
4900
  Purchase.add_member(:currency_code, Shapes::ShapeRef.new(shape: CurrencyCodeValues, location_name: "currencyCode"))
4807
4901
  Purchase.add_member(:duration, Shapes::ShapeRef.new(shape: Integer, location_name: "duration"))
4808
4902
  Purchase.add_member(:host_id_set, Shapes::ShapeRef.new(shape: ResponseHostIdSet, location_name: "hostIdSet"))
@@ -6195,6 +6289,13 @@ module Aws::EC2
6195
6289
  VpnTunnelOptionsSpecification.add_member(:pre_shared_key, Shapes::ShapeRef.new(shape: String, location_name: "PreSharedKey"))
6196
6290
  VpnTunnelOptionsSpecification.struct_class = Types::VpnTunnelOptionsSpecification
6197
6291
 
6292
+ WithdrawByoipCidrRequest.add_member(:cidr, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Cidr"))
6293
+ WithdrawByoipCidrRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
6294
+ WithdrawByoipCidrRequest.struct_class = Types::WithdrawByoipCidrRequest
6295
+
6296
+ WithdrawByoipCidrResult.add_member(:byoip_cidr, Shapes::ShapeRef.new(shape: ByoipCidr, location_name: "byoipCidr"))
6297
+ WithdrawByoipCidrResult.struct_class = Types::WithdrawByoipCidrResult
6298
+
6198
6299
  ZoneNameStringList.member = Shapes::ShapeRef.new(shape: String, location_name: "ZoneName")
6199
6300
 
6200
6301
 
@@ -6239,6 +6340,14 @@ module Aws::EC2
6239
6340
  o.output = Shapes::ShapeRef.new(shape: AcceptVpcPeeringConnectionResult)
6240
6341
  end)
6241
6342
 
6343
+ api.add_operation(:advertise_byoip_cidr, Seahorse::Model::Operation.new.tap do |o|
6344
+ o.name = "AdvertiseByoipCidr"
6345
+ o.http_method = "POST"
6346
+ o.http_request_uri = "/"
6347
+ o.input = Shapes::ShapeRef.new(shape: AdvertiseByoipCidrRequest)
6348
+ o.output = Shapes::ShapeRef.new(shape: AdvertiseByoipCidrResult)
6349
+ end)
6350
+
6242
6351
  api.add_operation(:allocate_address, Seahorse::Model::Operation.new.tap do |o|
6243
6352
  o.name = "AllocateAddress"
6244
6353
  o.http_method = "POST"
@@ -7023,6 +7132,14 @@ module Aws::EC2
7023
7132
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
7024
7133
  end)
7025
7134
 
7135
+ api.add_operation(:deprovision_byoip_cidr, Seahorse::Model::Operation.new.tap do |o|
7136
+ o.name = "DeprovisionByoipCidr"
7137
+ o.http_method = "POST"
7138
+ o.http_request_uri = "/"
7139
+ o.input = Shapes::ShapeRef.new(shape: DeprovisionByoipCidrRequest)
7140
+ o.output = Shapes::ShapeRef.new(shape: DeprovisionByoipCidrResult)
7141
+ end)
7142
+
7026
7143
  api.add_operation(:deregister_image, Seahorse::Model::Operation.new.tap do |o|
7027
7144
  o.name = "DeregisterImage"
7028
7145
  o.http_method = "POST"
@@ -7071,6 +7188,14 @@ module Aws::EC2
7071
7188
  o.output = Shapes::ShapeRef.new(shape: DescribeBundleTasksResult)
7072
7189
  end)
7073
7190
 
7191
+ api.add_operation(:describe_byoip_cidrs, Seahorse::Model::Operation.new.tap do |o|
7192
+ o.name = "DescribeByoipCidrs"
7193
+ o.http_method = "POST"
7194
+ o.http_request_uri = "/"
7195
+ o.input = Shapes::ShapeRef.new(shape: DescribeByoipCidrsRequest)
7196
+ o.output = Shapes::ShapeRef.new(shape: DescribeByoipCidrsResult)
7197
+ end)
7198
+
7074
7199
  api.add_operation(:describe_classic_link_instances, Seahorse::Model::Operation.new.tap do |o|
7075
7200
  o.name = "DescribeClassicLinkInstances"
7076
7201
  o.http_method = "POST"
@@ -7415,6 +7540,14 @@ module Aws::EC2
7415
7540
  o.output = Shapes::ShapeRef.new(shape: DescribePrincipalIdFormatResult)
7416
7541
  end)
7417
7542
 
7543
+ api.add_operation(:describe_public_ipv_4_pools, Seahorse::Model::Operation.new.tap do |o|
7544
+ o.name = "DescribePublicIpv4Pools"
7545
+ o.http_method = "POST"
7546
+ o.http_request_uri = "/"
7547
+ o.input = Shapes::ShapeRef.new(shape: DescribePublicIpv4PoolsRequest)
7548
+ o.output = Shapes::ShapeRef.new(shape: DescribePublicIpv4PoolsResult)
7549
+ end)
7550
+
7418
7551
  api.add_operation(:describe_regions, Seahorse::Model::Operation.new.tap do |o|
7419
7552
  o.name = "DescribeRegions"
7420
7553
  o.http_method = "POST"
@@ -8198,6 +8331,14 @@ module Aws::EC2
8198
8331
  o.output = Shapes::ShapeRef.new(shape: MoveAddressToVpcResult)
8199
8332
  end)
8200
8333
 
8334
+ api.add_operation(:provision_byoip_cidr, Seahorse::Model::Operation.new.tap do |o|
8335
+ o.name = "ProvisionByoipCidr"
8336
+ o.http_method = "POST"
8337
+ o.http_request_uri = "/"
8338
+ o.input = Shapes::ShapeRef.new(shape: ProvisionByoipCidrRequest)
8339
+ o.output = Shapes::ShapeRef.new(shape: ProvisionByoipCidrResult)
8340
+ end)
8341
+
8201
8342
  api.add_operation(:purchase_host_reservation, Seahorse::Model::Operation.new.tap do |o|
8202
8343
  o.name = "PurchaseHostReservation"
8203
8344
  o.http_method = "POST"
@@ -8477,6 +8618,14 @@ module Aws::EC2
8477
8618
  o.input = Shapes::ShapeRef.new(shape: UpdateSecurityGroupRuleDescriptionsIngressRequest)
8478
8619
  o.output = Shapes::ShapeRef.new(shape: UpdateSecurityGroupRuleDescriptionsIngressResult)
8479
8620
  end)
8621
+
8622
+ api.add_operation(:withdraw_byoip_cidr, Seahorse::Model::Operation.new.tap do |o|
8623
+ o.name = "WithdrawByoipCidr"
8624
+ o.http_method = "POST"
8625
+ o.http_request_uri = "/"
8626
+ o.input = Shapes::ShapeRef.new(shape: WithdrawByoipCidrRequest)
8627
+ o.output = Shapes::ShapeRef.new(shape: WithdrawByoipCidrResult)
8628
+ end)
8480
8629
  end
8481
8630
 
8482
8631
  end
@@ -226,22 +226,23 @@ module Aws::EC2
226
226
  # leaving the subnet).
227
227
  # @option options [Types::IcmpTypeCode] :icmp_type_code
228
228
  # ICMP protocol: The ICMP or ICMPv6 type and code. Required if
229
- # specifying the ICMP protocol, or protocol 58 (ICMPv6) with an IPv6
230
- # CIDR block.
229
+ # specifying protocol 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR
230
+ # block.
231
231
  # @option options [String] :ipv_6_cidr_block
232
232
  # The IPv6 network range to allow or deny, in CIDR notation (for example
233
233
  # `2001:db8:1234:1a00::/64`).
234
234
  # @option options [Types::PortRange] :port_range
235
- # TCP or UDP protocols: The range of ports the rule applies to.
235
+ # TCP or UDP protocols: The range of ports the rule applies to. Required
236
+ # if specifying protocol 6 (TCP) or 17 (UDP).
236
237
  # @option options [required, String] :protocol
237
- # The protocol. A value of `-1` or `all` means all protocols. If you
238
- # specify `all`, `-1`, or a protocol number other than `6` (tcp), `17`
239
- # (udp), or `1` (icmp), traffic on all ports is allowed, regardless of
238
+ # The protocol number. A value of "-1" means all protocols. If you
239
+ # specify "-1" or a protocol number other than "6" (TCP), "17"
240
+ # (UDP), or "1" (ICMP), traffic on all ports is allowed, regardless of
240
241
  # any ports or ICMP types or codes that you specify. If you specify
241
- # protocol `58` (ICMPv6) and specify an IPv4 CIDR block, traffic for all
242
- # ICMP types and codes allowed, regardless of any that you specify. If
243
- # you specify protocol `58` (ICMPv6) and specify an IPv6 CIDR block, you
244
- # must specify an ICMP type and code.
242
+ # protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for
243
+ # all ICMP types and codes allowed, regardless of any that you specify.
244
+ # If you specify protocol "58" (ICMPv6) and specify an IPv6 CIDR
245
+ # block, you must specify an ICMP type and code.
245
246
  # @option options [required, String] :rule_action
246
247
  # Indicates whether to allow or deny the traffic that matches the rule.
247
248
  # @option options [required, Integer] :rule_number
@@ -392,23 +393,23 @@ module Aws::EC2
392
393
  # Default: If no value is specified, we replace the ingress rule.
393
394
  # @option options [Types::IcmpTypeCode] :icmp_type_code
394
395
  # ICMP protocol: The ICMP or ICMPv6 type and code. Required if
395
- # specifying the ICMP (1) protocol, or protocol 58 (ICMPv6) with an IPv6
396
- # CIDR block.
396
+ # specifying protocol 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR
397
+ # block.
397
398
  # @option options [String] :ipv_6_cidr_block
398
399
  # The IPv6 network range to allow or deny, in CIDR notation (for example
399
400
  # `2001:bd8:1234:1a00::/64`).
400
401
  # @option options [Types::PortRange] :port_range
401
402
  # TCP or UDP protocols: The range of ports the rule applies to. Required
402
- # if specifying TCP (6) or UDP (17) for the protocol.
403
+ # if specifying protocol 6 (TCP) or 17 (UDP).
403
404
  # @option options [required, String] :protocol
404
- # The IP protocol. You can specify `all` or `-1` to mean all protocols.
405
- # If you specify `all`, `-1`, or a protocol number other than `tcp`,
406
- # `udp`, or `icmp`, traffic on all ports is allowed, regardless of any
407
- # ports or ICMP types or codes you that specify. If you specify protocol
408
- # `58` (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP
409
- # types and codes allowed, regardless of any that you specify. If you
410
- # specify protocol `58` (ICMPv6) and specify an IPv6 CIDR block, you
411
- # must specify an ICMP type and code.
405
+ # The protocol number. A value of "-1" means all protocols. If you
406
+ # specify "-1" or a protocol number other than "6" (TCP), "17"
407
+ # (UDP), or "1" (ICMP), traffic on all ports is allowed, regardless of
408
+ # any ports or ICMP types or codes that you specify. If you specify
409
+ # protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for
410
+ # all ICMP types and codes allowed, regardless of any that you specify.
411
+ # If you specify protocol "58" (ICMPv6) and specify an IPv6 CIDR
412
+ # block, you must specify an ICMP type and code.
412
413
  # @option options [required, String] :rule_action
413
414
  # Indicates whether to allow or deny the traffic that matches the rule.
414
415
  # @option options [required, Integer] :rule_number
@@ -734,7 +734,7 @@ module Aws::EC2
734
734
  # If you have the required permissions, the error response is
735
735
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
736
736
  # @option options [required, Array<String>] :resources
737
- # The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
737
+ # The IDs of one or more resources, separated by spaces.
738
738
  # @option options [required, Array<Types::Tag>] :tags
739
739
  # One or more tags. The `value` parameter is required, but if you don't
740
740
  # want the tag to have a value, specify the parameter with no value, and
@@ -250,6 +250,10 @@ module Aws::EC2
250
250
  # Any tags assigned to the Elastic IP address.
251
251
  # @return [Array<Types::Tag>]
252
252
  #
253
+ # @!attribute [rw] public_ipv_4_pool
254
+ # The ID of an address pool.
255
+ # @return [String]
256
+ #
253
257
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Address AWS API Documentation
254
258
  #
255
259
  class Address < Struct.new(
@@ -261,18 +265,56 @@ module Aws::EC2
261
265
  :network_interface_id,
262
266
  :network_interface_owner_id,
263
267
  :private_ip_address,
264
- :tags)
268
+ :tags,
269
+ :public_ipv_4_pool)
270
+ include Aws::Structure
271
+ end
272
+
273
+ # @note When making an API call, you may pass AdvertiseByoipCidrRequest
274
+ # data as a hash:
275
+ #
276
+ # {
277
+ # cidr: "String", # required
278
+ # dry_run: false,
279
+ # }
280
+ #
281
+ # @!attribute [rw] cidr
282
+ # The IPv4 address range, in CIDR notation.
283
+ # @return [String]
284
+ #
285
+ # @!attribute [rw] dry_run
286
+ # Checks whether you have the required permissions for the action,
287
+ # without actually making the request, and provides an error response.
288
+ # If you have the required permissions, the error response is
289
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
290
+ # @return [Boolean]
291
+ #
292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidrRequest AWS API Documentation
293
+ #
294
+ class AdvertiseByoipCidrRequest < Struct.new(
295
+ :cidr,
296
+ :dry_run)
265
297
  include Aws::Structure
266
298
  end
267
299
 
268
- # Contains the parameters for AllocateAddress.
300
+ # @!attribute [rw] byoip_cidr
301
+ # Information about the address range.
302
+ # @return [Types::ByoipCidr]
269
303
  #
304
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidrResult AWS API Documentation
305
+ #
306
+ class AdvertiseByoipCidrResult < Struct.new(
307
+ :byoip_cidr)
308
+ include Aws::Structure
309
+ end
310
+
270
311
  # @note When making an API call, you may pass AllocateAddressRequest
271
312
  # data as a hash:
272
313
  #
273
314
  # {
274
315
  # domain: "vpc", # accepts vpc, standard
275
316
  # address: "String",
317
+ # public_ipv_4_pool: "String",
276
318
  # dry_run: false,
277
319
  # }
278
320
  #
@@ -284,7 +326,15 @@ module Aws::EC2
284
326
  # @return [String]
285
327
  #
286
328
  # @!attribute [rw] address
287
- # \[EC2-VPC\] The Elastic IP address to recover.
329
+ # \[EC2-VPC\] The Elastic IP address to recover or an IPv4 address
330
+ # from an address pool.
331
+ # @return [String]
332
+ #
333
+ # @!attribute [rw] public_ipv_4_pool
334
+ # The ID of an address pool that you own. Use this parameter to let
335
+ # Amazon EC2 select an address from the address pool. To specify a
336
+ # specific address from the address pool, use the `Address` parameter
337
+ # instead.
288
338
  # @return [String]
289
339
  #
290
340
  # @!attribute [rw] dry_run
@@ -299,12 +349,11 @@ module Aws::EC2
299
349
  class AllocateAddressRequest < Struct.new(
300
350
  :domain,
301
351
  :address,
352
+ :public_ipv_4_pool,
302
353
  :dry_run)
303
354
  include Aws::Structure
304
355
  end
305
356
 
306
- # Contains the output of AllocateAddress.
307
- #
308
357
  # @!attribute [rw] public_ip
309
358
  # The Elastic IP address.
310
359
  # @return [String]
@@ -314,6 +363,10 @@ module Aws::EC2
314
363
  # the Elastic IP address for use with instances in a VPC.
315
364
  # @return [String]
316
365
  #
366
+ # @!attribute [rw] public_ipv_4_pool
367
+ # The ID of an address pool.
368
+ # @return [String]
369
+ #
317
370
  # @!attribute [rw] domain
318
371
  # Indicates whether this Elastic IP address is for use with instances
319
372
  # in EC2-Classic (`standard`) or instances in a VPC (`vpc`).
@@ -324,6 +377,7 @@ module Aws::EC2
324
377
  class AllocateAddressResult < Struct.new(
325
378
  :public_ip,
326
379
  :allocation_id,
380
+ :public_ipv_4_pool,
327
381
  :domain)
328
382
  include Aws::Structure
329
383
  end
@@ -529,8 +583,6 @@ module Aws::EC2
529
583
  include Aws::Structure
530
584
  end
531
585
 
532
- # Contains the parameters for AssociateAddress.
533
- #
534
586
  # @note When making an API call, you may pass AssociateAddressRequest
535
587
  # data as a hash:
536
588
  #
@@ -602,8 +654,6 @@ module Aws::EC2
602
654
  include Aws::Structure
603
655
  end
604
656
 
605
- # Contains the output of AssociateAddress.
606
- #
607
657
  # @!attribute [rw] association_id
608
658
  # \[EC2-VPC\] The ID that represents the association of the Elastic IP
609
659
  # address with an instance.
@@ -1622,6 +1672,36 @@ module Aws::EC2
1622
1672
  include Aws::Structure
1623
1673
  end
1624
1674
 
1675
+ # Information about an address range that is provisioned for use with
1676
+ # your AWS resources through bring your own IP addresses (BYOIP).
1677
+ #
1678
+ # @!attribute [rw] cidr
1679
+ # The public IPv4 address range, in CIDR notation.
1680
+ # @return [String]
1681
+ #
1682
+ # @!attribute [rw] description
1683
+ # The description of the address range.
1684
+ # @return [String]
1685
+ #
1686
+ # @!attribute [rw] status_message
1687
+ # Upon success, contains the ID of the address pool. Otherwise,
1688
+ # contains an error message.
1689
+ # @return [String]
1690
+ #
1691
+ # @!attribute [rw] state
1692
+ # The state of the address pool.
1693
+ # @return [String]
1694
+ #
1695
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ByoipCidr AWS API Documentation
1696
+ #
1697
+ class ByoipCidr < Struct.new(
1698
+ :cidr,
1699
+ :description,
1700
+ :status_message,
1701
+ :state)
1702
+ include Aws::Structure
1703
+ end
1704
+
1625
1705
  # Contains the parameters for CancelBundleTask.
1626
1706
  #
1627
1707
  # @note When making an API call, you may pass CancelBundleTaskRequest
@@ -1986,6 +2066,33 @@ module Aws::EC2
1986
2066
  include Aws::Structure
1987
2067
  end
1988
2068
 
2069
+ # Provides authorization for Amazon to bring a specific IP address range
2070
+ # to a specific AWS account using bring your own IP addresses (BYOIP).
2071
+ #
2072
+ # @note When making an API call, you may pass CidrAuthorizationContext
2073
+ # data as a hash:
2074
+ #
2075
+ # {
2076
+ # message: "String", # required
2077
+ # signature: "String", # required
2078
+ # }
2079
+ #
2080
+ # @!attribute [rw] message
2081
+ # The plain-text authorization message for the prefix and account.
2082
+ # @return [String]
2083
+ #
2084
+ # @!attribute [rw] signature
2085
+ # The signed authorization message for the prefix and account.
2086
+ # @return [String]
2087
+ #
2088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CidrAuthorizationContext AWS API Documentation
2089
+ #
2090
+ class CidrAuthorizationContext < Struct.new(
2091
+ :message,
2092
+ :signature)
2093
+ include Aws::Structure
2094
+ end
2095
+
1989
2096
  # Describes an IPv4 CIDR block.
1990
2097
  #
1991
2098
  # @!attribute [rw] cidr_block
@@ -3911,7 +4018,7 @@ module Aws::EC2
3911
4018
  #
3912
4019
  # @!attribute [rw] icmp_type_code
3913
4020
  # ICMP protocol: The ICMP or ICMPv6 type and code. Required if
3914
- # specifying the ICMP protocol, or protocol 58 (ICMPv6) with an IPv6
4021
+ # specifying protocol 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6
3915
4022
  # CIDR block.
3916
4023
  # @return [Types::IcmpTypeCode]
3917
4024
  #
@@ -3926,16 +4033,17 @@ module Aws::EC2
3926
4033
  #
3927
4034
  # @!attribute [rw] port_range
3928
4035
  # TCP or UDP protocols: The range of ports the rule applies to.
4036
+ # Required if specifying protocol 6 (TCP) or 17 (UDP).
3929
4037
  # @return [Types::PortRange]
3930
4038
  #
3931
4039
  # @!attribute [rw] protocol
3932
- # The protocol. A value of `-1` or `all` means all protocols. If you
3933
- # specify `all`, `-1`, or a protocol number other than `6` (tcp), `17`
3934
- # (udp), or `1` (icmp), traffic on all ports is allowed, regardless of
3935
- # any ports or ICMP types or codes that you specify. If you specify
3936
- # protocol `58` (ICMPv6) and specify an IPv4 CIDR block, traffic for
4040
+ # The protocol number. A value of "-1" means all protocols. If you
4041
+ # specify "-1" or a protocol number other than "6" (TCP), "17"
4042
+ # (UDP), or "1" (ICMP), traffic on all ports is allowed, regardless
4043
+ # of any ports or ICMP types or codes that you specify. If you specify
4044
+ # protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for
3937
4045
  # all ICMP types and codes allowed, regardless of any that you
3938
- # specify. If you specify protocol `58` (ICMPv6) and specify an IPv6
4046
+ # specify. If you specify protocol "58" (ICMPv6) and specify an IPv6
3939
4047
  # CIDR block, you must specify an ICMP type and code.
3940
4048
  # @return [String]
3941
4049
  #
@@ -4666,7 +4774,7 @@ module Aws::EC2
4666
4774
  # @return [Boolean]
4667
4775
  #
4668
4776
  # @!attribute [rw] resources
4669
- # The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
4777
+ # The IDs of one or more resources, separated by spaces.
4670
4778
  # @return [Array<String>]
4671
4779
  #
4672
4780
  # @!attribute [rw] tags
@@ -6413,7 +6521,7 @@ module Aws::EC2
6413
6521
  # @return [Boolean]
6414
6522
  #
6415
6523
  # @!attribute [rw] resources
6416
- # The IDs of one or more resources.
6524
+ # The IDs of one or more resources, separated by spaces.
6417
6525
  # @return [Array<String>]
6418
6526
  #
6419
6527
  # @!attribute [rw] tags
@@ -6738,6 +6846,46 @@ module Aws::EC2
6738
6846
  include Aws::Structure
6739
6847
  end
6740
6848
 
6849
+ # @note When making an API call, you may pass DeprovisionByoipCidrRequest
6850
+ # data as a hash:
6851
+ #
6852
+ # {
6853
+ # cidr: "String", # required
6854
+ # dry_run: false,
6855
+ # }
6856
+ #
6857
+ # @!attribute [rw] cidr
6858
+ # The public IPv4 address range, in CIDR notation. The prefix must be
6859
+ # the same prefix that you specified when you provisioned the address
6860
+ # range.
6861
+ # @return [String]
6862
+ #
6863
+ # @!attribute [rw] dry_run
6864
+ # Checks whether you have the required permissions for the action,
6865
+ # without actually making the request, and provides an error response.
6866
+ # If you have the required permissions, the error response is
6867
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
6868
+ # @return [Boolean]
6869
+ #
6870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidrRequest AWS API Documentation
6871
+ #
6872
+ class DeprovisionByoipCidrRequest < Struct.new(
6873
+ :cidr,
6874
+ :dry_run)
6875
+ include Aws::Structure
6876
+ end
6877
+
6878
+ # @!attribute [rw] byoip_cidr
6879
+ # Information about the address range.
6880
+ # @return [Types::ByoipCidr]
6881
+ #
6882
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidrResult AWS API Documentation
6883
+ #
6884
+ class DeprovisionByoipCidrResult < Struct.new(
6885
+ :byoip_cidr)
6886
+ include Aws::Structure
6887
+ end
6888
+
6741
6889
  # Contains the parameters for DeregisterImage.
6742
6890
  #
6743
6891
  # @note When making an API call, you may pass DeregisterImageRequest
@@ -6809,8 +6957,6 @@ module Aws::EC2
6809
6957
  include Aws::Structure
6810
6958
  end
6811
6959
 
6812
- # Contains the parameters for DescribeAddresses.
6813
- #
6814
6960
  # @note When making an API call, you may pass DescribeAddressesRequest
6815
6961
  # data as a hash:
6816
6962
  #
@@ -6889,8 +7035,6 @@ module Aws::EC2
6889
7035
  include Aws::Structure
6890
7036
  end
6891
7037
 
6892
- # Contains the output of DescribeAddresses.
6893
- #
6894
7038
  # @!attribute [rw] addresses
6895
7039
  # Information about one or more Elastic IP addresses.
6896
7040
  # @return [Array<Types::Address>]
@@ -7084,6 +7228,58 @@ module Aws::EC2
7084
7228
  include Aws::Structure
7085
7229
  end
7086
7230
 
7231
+ # @note When making an API call, you may pass DescribeByoipCidrsRequest
7232
+ # data as a hash:
7233
+ #
7234
+ # {
7235
+ # dry_run: false,
7236
+ # max_results: 1, # required
7237
+ # next_token: "NextToken",
7238
+ # }
7239
+ #
7240
+ # @!attribute [rw] dry_run
7241
+ # Checks whether you have the required permissions for the action,
7242
+ # without actually making the request, and provides an error response.
7243
+ # If you have the required permissions, the error response is
7244
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
7245
+ # @return [Boolean]
7246
+ #
7247
+ # @!attribute [rw] max_results
7248
+ # The maximum number of results to return with a single call. To
7249
+ # retrieve the remaining results, make another call with the returned
7250
+ # `nextToken` value.
7251
+ # @return [Integer]
7252
+ #
7253
+ # @!attribute [rw] next_token
7254
+ # The token for the next page of results.
7255
+ # @return [String]
7256
+ #
7257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrsRequest AWS API Documentation
7258
+ #
7259
+ class DescribeByoipCidrsRequest < Struct.new(
7260
+ :dry_run,
7261
+ :max_results,
7262
+ :next_token)
7263
+ include Aws::Structure
7264
+ end
7265
+
7266
+ # @!attribute [rw] byoip_cidrs
7267
+ # Information about your address ranges.
7268
+ # @return [Array<Types::ByoipCidr>]
7269
+ #
7270
+ # @!attribute [rw] next_token
7271
+ # The token to use to retrieve the next page of results. This value is
7272
+ # `null` when there are no more results to return.
7273
+ # @return [String]
7274
+ #
7275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrsResult AWS API Documentation
7276
+ #
7277
+ class DescribeByoipCidrsResult < Struct.new(
7278
+ :byoip_cidrs,
7279
+ :next_token)
7280
+ include Aws::Structure
7281
+ end
7282
+
7087
7283
  # @note When making an API call, you may pass DescribeClassicLinkInstancesRequest
7088
7284
  # data as a hash:
7089
7285
  #
@@ -9703,8 +9899,6 @@ module Aws::EC2
9703
9899
  include Aws::Structure
9704
9900
  end
9705
9901
 
9706
- # Contains the parameters for DescribeMovingAddresses.
9707
- #
9708
9902
  # @note When making an API call, you may pass DescribeMovingAddressesRequest
9709
9903
  # data as a hash:
9710
9904
  #
@@ -9748,7 +9942,7 @@ module Aws::EC2
9748
9942
  # @return [Integer]
9749
9943
  #
9750
9944
  # @!attribute [rw] next_token
9751
- # The token to use to retrieve the next page of results.
9945
+ # The token for the next page of results.
9752
9946
  # @return [String]
9753
9947
  #
9754
9948
  # @!attribute [rw] public_ips
@@ -9766,8 +9960,6 @@ module Aws::EC2
9766
9960
  include Aws::Structure
9767
9961
  end
9768
9962
 
9769
- # Contains the output of DescribeMovingAddresses.
9770
- #
9771
9963
  # @!attribute [rw] moving_address_statuses
9772
9964
  # The status for each Elastic IP address.
9773
9965
  # @return [Array<Types::MovingAddressStatus>]
@@ -10508,6 +10700,55 @@ module Aws::EC2
10508
10700
  include Aws::Structure
10509
10701
  end
10510
10702
 
10703
+ # @note When making an API call, you may pass DescribePublicIpv4PoolsRequest
10704
+ # data as a hash:
10705
+ #
10706
+ # {
10707
+ # pool_ids: ["String"],
10708
+ # next_token: "NextToken",
10709
+ # max_results: 1,
10710
+ # }
10711
+ #
10712
+ # @!attribute [rw] pool_ids
10713
+ # The IDs of the address pools.
10714
+ # @return [Array<String>]
10715
+ #
10716
+ # @!attribute [rw] next_token
10717
+ # The token for the next page of results.
10718
+ # @return [String]
10719
+ #
10720
+ # @!attribute [rw] max_results
10721
+ # The maximum number of results to return with a single call. To
10722
+ # retrieve the remaining results, make another call with the returned
10723
+ # `nextToken` value.
10724
+ # @return [Integer]
10725
+ #
10726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4PoolsRequest AWS API Documentation
10727
+ #
10728
+ class DescribePublicIpv4PoolsRequest < Struct.new(
10729
+ :pool_ids,
10730
+ :next_token,
10731
+ :max_results)
10732
+ include Aws::Structure
10733
+ end
10734
+
10735
+ # @!attribute [rw] public_ipv_4_pools
10736
+ # Information about the address pools.
10737
+ # @return [Array<Types::PublicIpv4Pool>]
10738
+ #
10739
+ # @!attribute [rw] next_token
10740
+ # The token to use to retrieve the next page of results. This value is
10741
+ # `null` when there are no more results to return.
10742
+ # @return [String]
10743
+ #
10744
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4PoolsResult AWS API Documentation
10745
+ #
10746
+ class DescribePublicIpv4PoolsResult < Struct.new(
10747
+ :public_ipv_4_pools,
10748
+ :next_token)
10749
+ include Aws::Structure
10750
+ end
10751
+
10511
10752
  # Contains the parameters for DescribeRegions.
10512
10753
  #
10513
10754
  # @note When making an API call, you may pass DescribeRegionsRequest
@@ -14313,8 +14554,6 @@ module Aws::EC2
14313
14554
  include Aws::Structure
14314
14555
  end
14315
14556
 
14316
- # Contains the parameters for DisassociateAddress.
14317
- #
14318
14557
  # @note When making an API call, you may pass DisassociateAddressRequest
14319
14558
  # data as a hash:
14320
14559
  #
@@ -21986,8 +22225,6 @@ module Aws::EC2
21986
22225
  include Aws::Structure
21987
22226
  end
21988
22227
 
21989
- # Contains the parameters for MoveAddressToVpc.
21990
- #
21991
22228
  # @note When making an API call, you may pass MoveAddressToVpcRequest
21992
22229
  # data as a hash:
21993
22230
  #
@@ -22015,8 +22252,6 @@ module Aws::EC2
22015
22252
  include Aws::Structure
22016
22253
  end
22017
22254
 
22018
- # Contains the output of MoveAddressToVpc.
22019
- #
22020
22255
  # @!attribute [rw] allocation_id
22021
22256
  # The allocation ID for the Elastic IP address.
22022
22257
  # @return [String]
@@ -22277,7 +22512,7 @@ module Aws::EC2
22277
22512
  # @return [Types::PortRange]
22278
22513
  #
22279
22514
  # @!attribute [rw] protocol
22280
- # The protocol. A value of `-1` means all protocols.
22515
+ # The protocol number. A value of "-1" means all protocols.
22281
22516
  # @return [String]
22282
22517
  #
22283
22518
  # @!attribute [rw] rule_action
@@ -23109,6 +23344,63 @@ module Aws::EC2
23109
23344
  include Aws::Structure
23110
23345
  end
23111
23346
 
23347
+ # @note When making an API call, you may pass ProvisionByoipCidrRequest
23348
+ # data as a hash:
23349
+ #
23350
+ # {
23351
+ # cidr: "String", # required
23352
+ # cidr_authorization_context: {
23353
+ # message: "String", # required
23354
+ # signature: "String", # required
23355
+ # },
23356
+ # description: "String",
23357
+ # dry_run: false,
23358
+ # }
23359
+ #
23360
+ # @!attribute [rw] cidr
23361
+ # The public IPv4 address range, in CIDR notation. The most specific
23362
+ # prefix that you can specify is /24. The address range cannot overlap
23363
+ # with another address range that you've brought to this or another
23364
+ # region.
23365
+ # @return [String]
23366
+ #
23367
+ # @!attribute [rw] cidr_authorization_context
23368
+ # A signed document that proves that you are authorized to bring the
23369
+ # specified IP address range to Amazon using BYOIP.
23370
+ # @return [Types::CidrAuthorizationContext]
23371
+ #
23372
+ # @!attribute [rw] description
23373
+ # A description for the address range and the address pool.
23374
+ # @return [String]
23375
+ #
23376
+ # @!attribute [rw] dry_run
23377
+ # Checks whether you have the required permissions for the action,
23378
+ # without actually making the request, and provides an error response.
23379
+ # If you have the required permissions, the error response is
23380
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
23381
+ # @return [Boolean]
23382
+ #
23383
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidrRequest AWS API Documentation
23384
+ #
23385
+ class ProvisionByoipCidrRequest < Struct.new(
23386
+ :cidr,
23387
+ :cidr_authorization_context,
23388
+ :description,
23389
+ :dry_run)
23390
+ include Aws::Structure
23391
+ end
23392
+
23393
+ # @!attribute [rw] byoip_cidr
23394
+ # Information about the address pool.
23395
+ # @return [Types::ByoipCidr]
23396
+ #
23397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidrResult AWS API Documentation
23398
+ #
23399
+ class ProvisionByoipCidrResult < Struct.new(
23400
+ :byoip_cidr)
23401
+ include Aws::Structure
23402
+ end
23403
+
23112
23404
  # Reserved. If you need to sustain traffic greater than the [documented
23113
23405
  # limits][1], contact us through the [Support Center][2].
23114
23406
  #
@@ -23178,6 +23470,67 @@ module Aws::EC2
23178
23470
  include Aws::Structure
23179
23471
  end
23180
23472
 
23473
+ # Describes an address pool.
23474
+ #
23475
+ # @!attribute [rw] pool_id
23476
+ # The ID of the IPv4 address pool.
23477
+ # @return [String]
23478
+ #
23479
+ # @!attribute [rw] description
23480
+ # A description of the address pool.
23481
+ # @return [String]
23482
+ #
23483
+ # @!attribute [rw] pool_address_ranges
23484
+ # The address ranges.
23485
+ # @return [Array<Types::PublicIpv4PoolRange>]
23486
+ #
23487
+ # @!attribute [rw] total_address_count
23488
+ # The total number of addresses.
23489
+ # @return [Integer]
23490
+ #
23491
+ # @!attribute [rw] total_available_address_count
23492
+ # The total number of available addresses.
23493
+ # @return [Integer]
23494
+ #
23495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PublicIpv4Pool AWS API Documentation
23496
+ #
23497
+ class PublicIpv4Pool < Struct.new(
23498
+ :pool_id,
23499
+ :description,
23500
+ :pool_address_ranges,
23501
+ :total_address_count,
23502
+ :total_available_address_count)
23503
+ include Aws::Structure
23504
+ end
23505
+
23506
+ # Describes an address range of an IPv4 address pool.
23507
+ #
23508
+ # @!attribute [rw] first_address
23509
+ # The first IP address in the range.
23510
+ # @return [String]
23511
+ #
23512
+ # @!attribute [rw] last_address
23513
+ # The last IP address in the range.
23514
+ # @return [String]
23515
+ #
23516
+ # @!attribute [rw] address_count
23517
+ # The number of addresses in the range.
23518
+ # @return [Integer]
23519
+ #
23520
+ # @!attribute [rw] available_address_count
23521
+ # The number of available addresses in the range.
23522
+ # @return [Integer]
23523
+ #
23524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PublicIpv4PoolRange AWS API Documentation
23525
+ #
23526
+ class PublicIpv4PoolRange < Struct.new(
23527
+ :first_address,
23528
+ :last_address,
23529
+ :address_count,
23530
+ :available_address_count)
23531
+ include Aws::Structure
23532
+ end
23533
+
23181
23534
  # Describes the result of the purchase.
23182
23535
  #
23183
23536
  # @!attribute [rw] currency_code
@@ -23766,8 +24119,6 @@ module Aws::EC2
23766
24119
  include Aws::Structure
23767
24120
  end
23768
24121
 
23769
- # Contains the parameters for ReleaseAddress.
23770
- #
23771
24122
  # @note When making an API call, you may pass ReleaseAddressRequest
23772
24123
  # data as a hash:
23773
24124
  #
@@ -23961,8 +24312,8 @@ module Aws::EC2
23961
24312
  #
23962
24313
  # @!attribute [rw] icmp_type_code
23963
24314
  # ICMP protocol: The ICMP or ICMPv6 type and code. Required if
23964
- # specifying the ICMP (1) protocol, or protocol 58 (ICMPv6) with an
23965
- # IPv6 CIDR block.
24315
+ # specifying protocol 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6
24316
+ # CIDR block.
23966
24317
  # @return [Types::IcmpTypeCode]
23967
24318
  #
23968
24319
  # @!attribute [rw] ipv_6_cidr_block
@@ -23976,18 +24327,18 @@ module Aws::EC2
23976
24327
  #
23977
24328
  # @!attribute [rw] port_range
23978
24329
  # TCP or UDP protocols: The range of ports the rule applies to.
23979
- # Required if specifying TCP (6) or UDP (17) for the protocol.
24330
+ # Required if specifying protocol 6 (TCP) or 17 (UDP).
23980
24331
  # @return [Types::PortRange]
23981
24332
  #
23982
24333
  # @!attribute [rw] protocol
23983
- # The IP protocol. You can specify `all` or `-1` to mean all
23984
- # protocols. If you specify `all`, `-1`, or a protocol number other
23985
- # than `tcp`, `udp`, or `icmp`, traffic on all ports is allowed,
23986
- # regardless of any ports or ICMP types or codes you that specify. If
23987
- # you specify protocol `58` (ICMPv6) and specify an IPv4 CIDR block,
23988
- # traffic for all ICMP types and codes allowed, regardless of any that
23989
- # you specify. If you specify protocol `58` (ICMPv6) and specify an
23990
- # IPv6 CIDR block, you must specify an ICMP type and code.
24334
+ # The protocol number. A value of "-1" means all protocols. If you
24335
+ # specify "-1" or a protocol number other than "6" (TCP), "17"
24336
+ # (UDP), or "1" (ICMP), traffic on all ports is allowed, regardless
24337
+ # of any ports or ICMP types or codes that you specify. If you specify
24338
+ # protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for
24339
+ # all ICMP types and codes allowed, regardless of any that you
24340
+ # specify. If you specify protocol "58" (ICMPv6) and specify an IPv6
24341
+ # CIDR block, you must specify an ICMP type and code.
23991
24342
  # @return [String]
23992
24343
  #
23993
24344
  # @!attribute [rw] rule_action
@@ -25923,8 +26274,6 @@ module Aws::EC2
25923
26274
  include Aws::Structure
25924
26275
  end
25925
26276
 
25926
- # Contains the parameters for RestoreAddressToClassic.
25927
- #
25928
26277
  # @note When making an API call, you may pass RestoreAddressToClassicRequest
25929
26278
  # data as a hash:
25930
26279
  #
@@ -25952,8 +26301,6 @@ module Aws::EC2
25952
26301
  include Aws::Structure
25953
26302
  end
25954
26303
 
25955
- # Contains the output of RestoreAddressToClassic.
25956
- #
25957
26304
  # @!attribute [rw] public_ip
25958
26305
  # The Elastic IP address.
25959
26306
  # @return [String]
@@ -28764,7 +29111,7 @@ module Aws::EC2
28764
29111
  #
28765
29112
  # @!attribute [rw] fulfilled_capacity
28766
29113
  # The number of units fulfilled by this request compared to the set
28767
- # target capacity.
29114
+ # target capacity. You cannot set this value.
28768
29115
  # @return [Float]
28769
29116
  #
28770
29117
  # @!attribute [rw] on_demand_fulfilled_capacity
@@ -29750,7 +30097,7 @@ module Aws::EC2
29750
30097
  # @return [String]
29751
30098
  #
29752
30099
  # @!attribute [rw] resource_id
29753
- # The ID of the resource. For example, `ami-1a2b3c4d`.
30100
+ # The ID of the resource.
29754
30101
  # @return [String]
29755
30102
  #
29756
30103
  # @!attribute [rw] resource_type
@@ -31577,5 +31924,43 @@ module Aws::EC2
31577
31924
  include Aws::Structure
31578
31925
  end
31579
31926
 
31927
+ # @note When making an API call, you may pass WithdrawByoipCidrRequest
31928
+ # data as a hash:
31929
+ #
31930
+ # {
31931
+ # cidr: "String", # required
31932
+ # dry_run: false,
31933
+ # }
31934
+ #
31935
+ # @!attribute [rw] cidr
31936
+ # The public IPv4 address range, in CIDR notation.
31937
+ # @return [String]
31938
+ #
31939
+ # @!attribute [rw] dry_run
31940
+ # Checks whether you have the required permissions for the action,
31941
+ # without actually making the request, and provides an error response.
31942
+ # If you have the required permissions, the error response is
31943
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
31944
+ # @return [Boolean]
31945
+ #
31946
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidrRequest AWS API Documentation
31947
+ #
31948
+ class WithdrawByoipCidrRequest < Struct.new(
31949
+ :cidr,
31950
+ :dry_run)
31951
+ include Aws::Structure
31952
+ end
31953
+
31954
+ # @!attribute [rw] byoip_cidr
31955
+ # Information about the address pool.
31956
+ # @return [Types::ByoipCidr]
31957
+ #
31958
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidrResult AWS API Documentation
31959
+ #
31960
+ class WithdrawByoipCidrResult < Struct.new(
31961
+ :byoip_cidr)
31962
+ include Aws::Structure
31963
+ end
31964
+
31580
31965
  end
31581
31966
  end