aws-sdk-ec2 1.221.0 → 1.226.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -123,6 +123,18 @@ module Aws::EC2
123
123
  data[:owner_alias]
124
124
  end
125
125
 
126
+ # The ARN of the AWS Outpost on which the snapshot is stored. For more
127
+ # information, see [EBS Local Snapshot on Outposts][1] in the *Amazon
128
+ # Elastic Compute Cloud User Guide*.
129
+ #
130
+ #
131
+ #
132
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html
133
+ # @return [String]
134
+ def outpost_arn
135
+ data[:outpost_arn]
136
+ end
137
+
126
138
  # Any tags assigned to the snapshot.
127
139
  # @return [Array<Types::Tag>]
128
140
  def tags
@@ -285,6 +297,7 @@ module Aws::EC2
285
297
  #
286
298
  # snapshot.copy({
287
299
  # description: "String",
300
+ # destination_outpost_arn: "String",
288
301
  # destination_region: "String",
289
302
  # encrypted: false,
290
303
  # kms_key_id: "KmsKeyId",
@@ -306,6 +319,19 @@ module Aws::EC2
306
319
  # @param [Hash] options ({})
307
320
  # @option options [String] :description
308
321
  # A description for the EBS snapshot.
322
+ # @option options [String] :destination_outpost_arn
323
+ # The Amazon Resource Name (ARN) of the Outpost to which to copy the
324
+ # snapshot. Only specify this parameter when copying a snapshot from an
325
+ # AWS Region to an Outpost. The snapshot must be in the Region for the
326
+ # destination Outpost. You cannot copy a snapshot from an Outpost to a
327
+ # Region, from one Outpost to another, or within the same Outpost.
328
+ #
329
+ # For more information, see [ Copying snapshots from an AWS Region to an
330
+ # Outpost][1] in the *Amazon Elastic Compute Cloud User Guide*.
331
+ #
332
+ #
333
+ #
334
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#copy-snapshots
309
335
  # @option options [String] :destination_region
310
336
  # The destination Region to use in the `PresignedUrl` parameter of a
311
337
  # snapshot copy operation. This parameter is only valid for specifying
@@ -287,6 +287,7 @@ module Aws::EC2
287
287
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
288
288
  # kms_key_id: "String",
289
289
  # throughput: 1,
290
+ # outpost_arn: "String",
290
291
  # encrypted: false,
291
292
  # },
292
293
  # no_device: "String",
@@ -601,7 +602,7 @@ module Aws::EC2
601
602
  #
602
603
  # Default: `false`
603
604
  # @option options [Types::IamInstanceProfileSpecification] :iam_instance_profile
604
- # The IAM instance profile.
605
+ # The name or Amazon Resource Name (ARN) of an IAM instance profile.
605
606
  # @option options [String] :instance_initiated_shutdown_behavior
606
607
  # Indicates whether an instance stops or terminates when you initiate
607
608
  # shutdown from the instance (using the operating system command for
@@ -1405,9 +1406,8 @@ module Aws::EC2
1405
1406
  # * `private-dns-name` - The private DNS name of the network interface
1406
1407
  # (IPv4).
1407
1408
  #
1408
- # * `requester-id` - The ID of the entity that launched the instance on
1409
- # your behalf (for example, AWS Management Console, Auto Scaling, and
1410
- # so on).
1409
+ # * `requester-id` - The alias or AWS account ID of the principal or
1410
+ # service that created the network interface.
1411
1411
  #
1412
1412
  # * `requester-managed` - Indicates whether the network interface is
1413
1413
  # being managed by an AWS service (for example, AWS Management
@@ -467,6 +467,35 @@ module Aws::EC2
467
467
  include Aws::Structure
468
468
  end
469
469
 
470
+ # The attributes associated with an Elastic IP address.
471
+ #
472
+ # @!attribute [rw] public_ip
473
+ # The public IP address.
474
+ # @return [String]
475
+ #
476
+ # @!attribute [rw] allocation_id
477
+ # \[EC2-VPC\] The allocation ID.
478
+ # @return [String]
479
+ #
480
+ # @!attribute [rw] ptr_record
481
+ # The pointer (PTR) record for the IP address.
482
+ # @return [String]
483
+ #
484
+ # @!attribute [rw] ptr_record_update
485
+ # The updated PTR record for the IP address.
486
+ # @return [Types::PtrUpdateStatus]
487
+ #
488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AddressAttribute AWS API Documentation
489
+ #
490
+ class AddressAttribute < Struct.new(
491
+ :public_ip,
492
+ :allocation_id,
493
+ :ptr_record,
494
+ :ptr_record_update)
495
+ SENSITIVE = []
496
+ include Aws::Structure
497
+ end
498
+
470
499
  # @note When making an API call, you may pass AdvertiseByoipCidrRequest
471
500
  # data as a hash:
472
501
  #
@@ -1138,10 +1167,12 @@ module Aws::EC2
1138
1167
  # }
1139
1168
  #
1140
1169
  # @!attribute [rw] ipv_6_address_count
1141
- # The number of IPv6 addresses to assign to the network interface.
1142
- # Amazon EC2 automatically selects the IPv6 addresses from the subnet
1143
- # range. You can't use this option if specifying specific IPv6
1144
- # addresses.
1170
+ # The number of additional IPv6 addresses to assign to the network
1171
+ # interface. The specified number of IPv6 addresses are assigned in
1172
+ # addition to the existing IPv6 addresses that are already assigned to
1173
+ # the network interface. Amazon EC2 automatically selects the IPv6
1174
+ # addresses from the subnet range. You can't use this option if
1175
+ # specifying specific IPv6 addresses.
1145
1176
  # @return [Integer]
1146
1177
  #
1147
1178
  # @!attribute [rw] ipv_6_addresses
@@ -1165,7 +1196,9 @@ module Aws::EC2
1165
1196
  end
1166
1197
 
1167
1198
  # @!attribute [rw] assigned_ipv_6_addresses
1168
- # The IPv6 addresses assigned to the network interface.
1199
+ # The new IPv6 addresses assigned to the network interface. Existing
1200
+ # IPv6 addresses that were assigned to the network interface before
1201
+ # the request are not included.
1169
1202
  # @return [Array<String>]
1170
1203
  #
1171
1204
  # @!attribute [rw] network_interface_id
@@ -1278,15 +1311,16 @@ module Aws::EC2
1278
1311
  # @return [String]
1279
1312
  #
1280
1313
  # @!attribute [rw] instance_id
1281
- # The ID of the instance. This is required for EC2-Classic. For
1282
- # EC2-VPC, you can specify either the instance ID or the network
1283
- # interface ID, but not both. The operation fails if you specify an
1284
- # instance ID unless exactly one network interface is attached.
1314
+ # The ID of the instance. The instance must have exactly one attached
1315
+ # network interface. For EC2-VPC, you can specify either the instance
1316
+ # ID or the network interface ID, but not both. For EC2-Classic, you
1317
+ # must specify an instance ID and the instance must be in the running
1318
+ # state.
1285
1319
  # @return [String]
1286
1320
  #
1287
1321
  # @!attribute [rw] public_ip
1288
- # The Elastic IP address to associate with the instance. This is
1289
- # required for EC2-Classic.
1322
+ # \[EC2-Classic\] The Elastic IP address to associate with the
1323
+ # instance. This is required for EC2-Classic.
1290
1324
  # @return [String]
1291
1325
  #
1292
1326
  # @!attribute [rw] allow_reassociation
@@ -1493,7 +1527,7 @@ module Aws::EC2
1493
1527
  # @!attribute [rw] certificate_s3_object_key
1494
1528
  # The Amazon S3 object key where the certificate, certificate chain,
1495
1529
  # and encrypted private key bundle are stored. The object key is
1496
- # formatted as follows: `certificate_arn`/`role_arn`.
1530
+ # formatted as follows: `role_arn`/`certificate_arn`.
1497
1531
  # @return [String]
1498
1532
  #
1499
1533
  # @!attribute [rw] encryption_kms_key_id
@@ -1613,24 +1647,24 @@ module Aws::EC2
1613
1647
  # data as a hash:
1614
1648
  #
1615
1649
  # {
1616
- # ipv_6_cidr_block: "String", # required
1617
1650
  # subnet_id: "SubnetId", # required
1651
+ # ipv_6_cidr_block: "String", # required
1618
1652
  # }
1619
1653
  #
1654
+ # @!attribute [rw] subnet_id
1655
+ # The ID of your subnet.
1656
+ # @return [String]
1657
+ #
1620
1658
  # @!attribute [rw] ipv_6_cidr_block
1621
1659
  # The IPv6 CIDR block for your subnet. The subnet must have a /64
1622
1660
  # prefix length.
1623
1661
  # @return [String]
1624
1662
  #
1625
- # @!attribute [rw] subnet_id
1626
- # The ID of your subnet.
1627
- # @return [String]
1628
- #
1629
1663
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlockRequest AWS API Documentation
1630
1664
  #
1631
1665
  class AssociateSubnetCidrBlockRequest < Struct.new(
1632
- :ipv_6_cidr_block,
1633
- :subnet_id)
1666
+ :subnet_id,
1667
+ :ipv_6_cidr_block)
1634
1668
  SENSITIVE = []
1635
1669
  include Aws::Structure
1636
1670
  end
@@ -1851,7 +1885,7 @@ module Aws::EC2
1851
1885
  # @!attribute [rw] certificate_s3_object_key
1852
1886
  # The key of the Amazon S3 object ey where the certificate,
1853
1887
  # certificate chain, and encrypted private key bundle is stored. The
1854
- # object key is formated as follows: `certificate_arn`/`role_arn`.
1888
+ # object key is formated as follows: `role_arn`/`certificate_arn`.
1855
1889
  # @return [String]
1856
1890
  #
1857
1891
  # @!attribute [rw] encryption_kms_key_id
@@ -2748,6 +2782,7 @@ module Aws::EC2
2748
2782
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
2749
2783
  # kms_key_id: "String",
2750
2784
  # throughput: 1,
2785
+ # outpost_arn: "String",
2751
2786
  # encrypted: false,
2752
2787
  # },
2753
2788
  # no_device: "String",
@@ -4937,17 +4972,18 @@ module Aws::EC2
4937
4972
  # name: "String", # required
4938
4973
  # source_image_id: "String", # required
4939
4974
  # source_region: "String", # required
4975
+ # destination_outpost_arn: "String",
4940
4976
  # dry_run: false,
4941
4977
  # }
4942
4978
  #
4943
4979
  # @!attribute [rw] client_token
4944
4980
  # Unique, case-sensitive identifier you provide to ensure idempotency
4945
- # of the request. For more information, see [How to Ensure
4946
- # Idempotency][1] in the *Amazon Elastic Compute Cloud User Guide*.
4981
+ # of the request. For more information, see [Ensuring idempotency][1]
4982
+ # in the *Amazon EC2 API Reference*.
4947
4983
  #
4948
4984
  #
4949
4985
  #
4950
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html
4986
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
4951
4987
  # @return [String]
4952
4988
  #
4953
4989
  # @!attribute [rw] description
@@ -5008,6 +5044,21 @@ module Aws::EC2
5008
5044
  # The name of the Region that contains the AMI to copy.
5009
5045
  # @return [String]
5010
5046
  #
5047
+ # @!attribute [rw] destination_outpost_arn
5048
+ # The Amazon Resource Name (ARN) of the Outpost to which to copy the
5049
+ # AMI. Only specify this parameter when copying an AMI from an AWS
5050
+ # Region to an Outpost. The AMI must be in the Region of the
5051
+ # destination Outpost. You cannot copy an AMI from an Outpost to a
5052
+ # Region, from one Outpost to another, or within the same Outpost.
5053
+ #
5054
+ # For more information, see [ Copying AMIs from an AWS Region to an
5055
+ # Outpost][1] in the *Amazon Elastic Compute Cloud User Guide*.
5056
+ #
5057
+ #
5058
+ #
5059
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#copy-amis
5060
+ # @return [String]
5061
+ #
5011
5062
  # @!attribute [rw] dry_run
5012
5063
  # Checks whether you have the required permissions for the action,
5013
5064
  # without actually making the request, and provides an error response.
@@ -5025,6 +5076,7 @@ module Aws::EC2
5025
5076
  :name,
5026
5077
  :source_image_id,
5027
5078
  :source_region,
5079
+ :destination_outpost_arn,
5028
5080
  :dry_run)
5029
5081
  SENSITIVE = []
5030
5082
  include Aws::Structure
@@ -5049,6 +5101,7 @@ module Aws::EC2
5049
5101
  #
5050
5102
  # {
5051
5103
  # description: "String",
5104
+ # destination_outpost_arn: "String",
5052
5105
  # destination_region: "String",
5053
5106
  # encrypted: false,
5054
5107
  # kms_key_id: "KmsKeyId",
@@ -5073,6 +5126,22 @@ module Aws::EC2
5073
5126
  # A description for the EBS snapshot.
5074
5127
  # @return [String]
5075
5128
  #
5129
+ # @!attribute [rw] destination_outpost_arn
5130
+ # The Amazon Resource Name (ARN) of the Outpost to which to copy the
5131
+ # snapshot. Only specify this parameter when copying a snapshot from
5132
+ # an AWS Region to an Outpost. The snapshot must be in the Region for
5133
+ # the destination Outpost. You cannot copy a snapshot from an Outpost
5134
+ # to a Region, from one Outpost to another, or within the same
5135
+ # Outpost.
5136
+ #
5137
+ # For more information, see [ Copying snapshots from an AWS Region to
5138
+ # an Outpost][1] in the *Amazon Elastic Compute Cloud User Guide*.
5139
+ #
5140
+ #
5141
+ #
5142
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#copy-snapshots
5143
+ # @return [String]
5144
+ #
5076
5145
  # @!attribute [rw] destination_region
5077
5146
  # The destination Region to use in the `PresignedUrl` parameter of a
5078
5147
  # snapshot copy operation. This parameter is only valid for specifying
@@ -5169,6 +5238,7 @@ module Aws::EC2
5169
5238
  #
5170
5239
  class CopySnapshotRequest < Struct.new(
5171
5240
  :description,
5241
+ :destination_outpost_arn,
5172
5242
  :destination_region,
5173
5243
  :encrypted,
5174
5244
  :kms_key_id,
@@ -6206,7 +6276,7 @@ module Aws::EC2
6206
6276
  # dry_run: false,
6207
6277
  # client_token: "String",
6208
6278
  # spot_options: {
6209
- # allocation_strategy: "lowest-price", # accepts lowest-price, diversified, capacity-optimized
6279
+ # allocation_strategy: "lowest-price", # accepts lowest-price, diversified, capacity-optimized, capacity-optimized-prioritized
6210
6280
  # maintenance_strategies: {
6211
6281
  # capacity_rebalance: {
6212
6282
  # replacement_strategy: "launch", # accepts launch
@@ -6365,7 +6435,13 @@ module Aws::EC2
6365
6435
  # @return [Time]
6366
6436
  #
6367
6437
  # @!attribute [rw] replace_unhealthy_instances
6368
- # Indicates whether EC2 Fleet should replace unhealthy instances.
6438
+ # Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
6439
+ # Supported only for fleets of type `maintain`. For more information,
6440
+ # see [EC2 Fleet health checks][1] in the *Amazon EC2 User Guide*.
6441
+ #
6442
+ #
6443
+ #
6444
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks
6369
6445
  # @return [Boolean]
6370
6446
  #
6371
6447
  # @!attribute [rw] tag_specifications
@@ -6731,6 +6807,7 @@ module Aws::EC2
6731
6807
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
6732
6808
  # kms_key_id: "String",
6733
6809
  # throughput: 1,
6810
+ # outpost_arn: "String",
6734
6811
  # encrypted: false,
6735
6812
  # },
6736
6813
  # no_device: "String",
@@ -6870,7 +6947,7 @@ module Aws::EC2
6870
6947
  # @return [String]
6871
6948
  #
6872
6949
  # @!attribute [rw] export_to_s3_task
6873
- # The format and location for an instance export task.
6950
+ # The format and location for an export instance task.
6874
6951
  # @return [Types::ExportToS3TaskSpecification]
6875
6952
  #
6876
6953
  # @!attribute [rw] instance_id
@@ -6882,7 +6959,7 @@ module Aws::EC2
6882
6959
  # @return [String]
6883
6960
  #
6884
6961
  # @!attribute [rw] tag_specifications
6885
- # The tags to apply to the instance export task during creation.
6962
+ # The tags to apply to the export instance task during creation.
6886
6963
  # @return [Array<Types::TagSpecification>]
6887
6964
  #
6888
6965
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTaskRequest AWS API Documentation
@@ -6898,7 +6975,7 @@ module Aws::EC2
6898
6975
  end
6899
6976
 
6900
6977
  # @!attribute [rw] export_task
6901
- # Information about the instance export task.
6978
+ # Information about the export instance task.
6902
6979
  # @return [Types::ExportTask]
6903
6980
  #
6904
6981
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTaskResult AWS API Documentation
@@ -7678,7 +7755,6 @@ module Aws::EC2
7678
7755
  # data as a hash:
7679
7756
  #
7680
7757
  # {
7681
- # allocation_id: "AllocationId", # required
7682
7758
  # client_token: "String",
7683
7759
  # dry_run: false,
7684
7760
  # subnet_id: "SubnetId", # required
@@ -7693,14 +7769,9 @@ module Aws::EC2
7693
7769
  # ],
7694
7770
  # },
7695
7771
  # ],
7772
+ # allocation_id: "AllocationId", # required
7696
7773
  # }
7697
7774
  #
7698
- # @!attribute [rw] allocation_id
7699
- # The allocation ID of an Elastic IP address to associate with the NAT
7700
- # gateway. If the Elastic IP address is associated with another
7701
- # resource, you must first disassociate it.
7702
- # @return [String]
7703
- #
7704
7775
  # @!attribute [rw] client_token
7705
7776
  # Unique, case-sensitive identifier that you provide to ensure the
7706
7777
  # idempotency of the request. For more information, see [How to Ensure
@@ -7731,14 +7802,20 @@ module Aws::EC2
7731
7802
  # The tags to assign to the NAT gateway.
7732
7803
  # @return [Array<Types::TagSpecification>]
7733
7804
  #
7805
+ # @!attribute [rw] allocation_id
7806
+ # The allocation ID of an Elastic IP address to associate with the NAT
7807
+ # gateway. If the Elastic IP address is associated with another
7808
+ # resource, you must first disassociate it.
7809
+ # @return [String]
7810
+ #
7734
7811
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGatewayRequest AWS API Documentation
7735
7812
  #
7736
7813
  class CreateNatGatewayRequest < Struct.new(
7737
- :allocation_id,
7738
7814
  :client_token,
7739
7815
  :dry_run,
7740
7816
  :subnet_id,
7741
- :tag_specifications)
7817
+ :tag_specifications,
7818
+ :allocation_id)
7742
7819
  SENSITIVE = []
7743
7820
  include Aws::Structure
7744
7821
  end
@@ -8651,6 +8728,7 @@ module Aws::EC2
8651
8728
  #
8652
8729
  # {
8653
8730
  # description: "String",
8731
+ # outpost_arn: "String",
8654
8732
  # volume_id: "VolumeId", # required
8655
8733
  # tag_specifications: [
8656
8734
  # {
@@ -8670,6 +8748,30 @@ module Aws::EC2
8670
8748
  # A description for the snapshot.
8671
8749
  # @return [String]
8672
8750
  #
8751
+ # @!attribute [rw] outpost_arn
8752
+ # The Amazon Resource Name (ARN) of the AWS Outpost on which to create
8753
+ # a local snapshot.
8754
+ #
8755
+ # * To create a snapshot of a volume in a Region, omit this parameter.
8756
+ # The snapshot is created in the same Region as the volume.
8757
+ #
8758
+ # * To create a snapshot of a volume on an Outpost and store the
8759
+ # snapshot in the Region, omit this parameter. The snapshot is
8760
+ # created in the Region for the Outpost.
8761
+ #
8762
+ # * To create a snapshot of a volume on an Outpost and store the
8763
+ # snapshot on an Outpost, specify the ARN of the destination
8764
+ # Outpost. The snapshot must be created on the same Outpost as the
8765
+ # volume.
8766
+ #
8767
+ # For more information, see [ Creating local snapshots from volumes on
8768
+ # an Outpost][1] in the *Amazon Elastic Compute Cloud User Guide*.
8769
+ #
8770
+ #
8771
+ #
8772
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#create-snapshot
8773
+ # @return [String]
8774
+ #
8673
8775
  # @!attribute [rw] volume_id
8674
8776
  # The ID of the EBS volume.
8675
8777
  # @return [String]
@@ -8689,6 +8791,7 @@ module Aws::EC2
8689
8791
  #
8690
8792
  class CreateSnapshotRequest < Struct.new(
8691
8793
  :description,
8794
+ :outpost_arn,
8692
8795
  :volume_id,
8693
8796
  :tag_specifications,
8694
8797
  :dry_run)
@@ -8705,6 +8808,7 @@ module Aws::EC2
8705
8808
  # instance_id: "InstanceId",
8706
8809
  # exclude_boot_volume: false,
8707
8810
  # },
8811
+ # outpost_arn: "String",
8708
8812
  # tag_specifications: [
8709
8813
  # {
8710
8814
  # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, internet-gateway, key-pair, launch-template, local-gateway-route-table-vpc-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
@@ -8730,6 +8834,32 @@ module Aws::EC2
8730
8834
  # snapshots.
8731
8835
  # @return [Types::InstanceSpecification]
8732
8836
  #
8837
+ # @!attribute [rw] outpost_arn
8838
+ # The Amazon Resource Name (ARN) of the AWS Outpost on which to create
8839
+ # the local snapshots.
8840
+ #
8841
+ # * To create snapshots from an instance in a Region, omit this
8842
+ # parameter. The snapshots are created in the same Region as the
8843
+ # instance.
8844
+ #
8845
+ # * To create snapshots from an instance on an Outpost and store the
8846
+ # snapshots in the Region, omit this parameter. The snapshots are
8847
+ # created in the Region for the Outpost.
8848
+ #
8849
+ # * To create snapshots from an instance on an Outpost and store the
8850
+ # snapshots on an Outpost, specify the ARN of the destination
8851
+ # Outpost. The snapshots must be created on the same Outpost as the
8852
+ # instance.
8853
+ #
8854
+ # For more information, see [ Creating multi-volume local snapshots
8855
+ # from instances on an Outpost][1] in the *Amazon Elastic Compute
8856
+ # Cloud User Guide*.
8857
+ #
8858
+ #
8859
+ #
8860
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#create-multivol-snapshot
8861
+ # @return [String]
8862
+ #
8733
8863
  # @!attribute [rw] tag_specifications
8734
8864
  # Tags to apply to every snapshot specified by the instance.
8735
8865
  # @return [Array<Types::TagSpecification>]
@@ -8750,6 +8880,7 @@ module Aws::EC2
8750
8880
  class CreateSnapshotsRequest < Struct.new(
8751
8881
  :description,
8752
8882
  :instance_specification,
8883
+ :outpost_arn,
8753
8884
  :tag_specifications,
8754
8885
  :dry_run,
8755
8886
  :copy_tags_from_source)
@@ -8842,11 +8973,11 @@ module Aws::EC2
8842
8973
  # ],
8843
8974
  # availability_zone: "String",
8844
8975
  # availability_zone_id: "String",
8845
- # cidr_block: "String", # required
8846
8976
  # ipv_6_cidr_block: "String",
8847
8977
  # outpost_arn: "String",
8848
8978
  # vpc_id: "VpcId", # required
8849
8979
  # dry_run: false,
8980
+ # cidr_block: "String", # required
8850
8981
  # }
8851
8982
  #
8852
8983
  # @!attribute [rw] tag_specifications
@@ -8877,13 +9008,6 @@ module Aws::EC2
8877
9008
  # The AZ ID or the Local Zone ID of the subnet.
8878
9009
  # @return [String]
8879
9010
  #
8880
- # @!attribute [rw] cidr_block
8881
- # The IPv4 network range for the subnet, in CIDR notation. For
8882
- # example, `10.0.0.0/24`. We modify the specified CIDR block to its
8883
- # canonical form; for example, if you specify `100.68.0.18/18`, we
8884
- # modify it to `100.68.0.0/18`.
8885
- # @return [String]
8886
- #
8887
9011
  # @!attribute [rw] ipv_6_cidr_block
8888
9012
  # The IPv6 network range for the subnet, in CIDR notation. The subnet
8889
9013
  # size must use a /64 prefix length.
@@ -8906,17 +9030,24 @@ module Aws::EC2
8906
9030
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
8907
9031
  # @return [Boolean]
8908
9032
  #
9033
+ # @!attribute [rw] cidr_block
9034
+ # The IPv4 network range for the subnet, in CIDR notation. For
9035
+ # example, `10.0.0.0/24`. We modify the specified CIDR block to its
9036
+ # canonical form; for example, if you specify `100.68.0.18/18`, we
9037
+ # modify it to `100.68.0.0/18`.
9038
+ # @return [String]
9039
+ #
8909
9040
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetRequest AWS API Documentation
8910
9041
  #
8911
9042
  class CreateSubnetRequest < Struct.new(
8912
9043
  :tag_specifications,
8913
9044
  :availability_zone,
8914
9045
  :availability_zone_id,
8915
- :cidr_block,
8916
9046
  :ipv_6_cidr_block,
8917
9047
  :outpost_arn,
8918
9048
  :vpc_id,
8919
- :dry_run)
9049
+ :dry_run,
9050
+ :cidr_block)
8920
9051
  SENSITIVE = []
8921
9052
  include Aws::Structure
8922
9053
  end
@@ -13785,6 +13916,72 @@ module Aws::EC2
13785
13916
  include Aws::Structure
13786
13917
  end
13787
13918
 
13919
+ # @note When making an API call, you may pass DescribeAddressesAttributeRequest
13920
+ # data as a hash:
13921
+ #
13922
+ # {
13923
+ # allocation_ids: ["AllocationId"],
13924
+ # attribute: "domain-name", # accepts domain-name
13925
+ # next_token: "NextToken",
13926
+ # max_results: 1,
13927
+ # dry_run: false,
13928
+ # }
13929
+ #
13930
+ # @!attribute [rw] allocation_ids
13931
+ # \[EC2-VPC\] The allocation IDs.
13932
+ # @return [Array<String>]
13933
+ #
13934
+ # @!attribute [rw] attribute
13935
+ # The attribute of the IP address.
13936
+ # @return [String]
13937
+ #
13938
+ # @!attribute [rw] next_token
13939
+ # The token for the next page of results.
13940
+ # @return [String]
13941
+ #
13942
+ # @!attribute [rw] max_results
13943
+ # The maximum number of results to return with a single call. To
13944
+ # retrieve the remaining results, make another call with the returned
13945
+ # `nextToken` value.
13946
+ # @return [Integer]
13947
+ #
13948
+ # @!attribute [rw] dry_run
13949
+ # Checks whether you have the required permissions for the action,
13950
+ # without actually making the request, and provides an error response.
13951
+ # If you have the required permissions, the error response is
13952
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
13953
+ # @return [Boolean]
13954
+ #
13955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesAttributeRequest AWS API Documentation
13956
+ #
13957
+ class DescribeAddressesAttributeRequest < Struct.new(
13958
+ :allocation_ids,
13959
+ :attribute,
13960
+ :next_token,
13961
+ :max_results,
13962
+ :dry_run)
13963
+ SENSITIVE = []
13964
+ include Aws::Structure
13965
+ end
13966
+
13967
+ # @!attribute [rw] addresses
13968
+ # Information about the IP addresses.
13969
+ # @return [Array<Types::AddressAttribute>]
13970
+ #
13971
+ # @!attribute [rw] next_token
13972
+ # The token to use to retrieve the next page of results. This value is
13973
+ # `null` when there are no more results to return.
13974
+ # @return [String]
13975
+ #
13976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesAttributeResult AWS API Documentation
13977
+ #
13978
+ class DescribeAddressesAttributeResult < Struct.new(
13979
+ :addresses,
13980
+ :next_token)
13981
+ SENSITIVE = []
13982
+ include Aws::Structure
13983
+ end
13984
+
13788
13985
  # @note When making an API call, you may pass DescribeAddressesRequest
13789
13986
  # data as a hash:
13790
13987
  #
@@ -16654,10 +16851,10 @@ module Aws::EC2
16654
16851
  # @!attribute [rw] attribute
16655
16852
  # The AMI attribute.
16656
16853
  #
16657
- # **Note**\: Depending on your account privileges, the
16658
- # `blockDeviceMapping` attribute may return a `Client.AuthFailure`
16659
- # error. If this happens, use DescribeImages to get information about
16660
- # the block device mapping for the AMI.
16854
+ # **Note**\: The `blockDeviceMapping` attribute is deprecated. Using
16855
+ # this attribute returns the `Client.AuthFailure` error. To get
16856
+ # information about the block device mappings for an AMI, use the
16857
+ # DescribeImages action.
16661
16858
  # @return [String]
16662
16859
  #
16663
16860
  # @!attribute [rw] image_id
@@ -16750,13 +16947,14 @@ module Aws::EC2
16750
16947
  #
16751
16948
  # * `name` - The name of the AMI (provided during image creation).
16752
16949
  #
16753
- # * `owner-alias` - The owner alias, from an Amazon-maintained list
16754
- # (`amazon` \| `aws-marketplace`). This is not the user-configured
16755
- # AWS account alias set using the IAM console. We recommend that you
16756
- # use the related parameter instead of this filter.
16950
+ # * `owner-alias` - The owner alias (`amazon` \| `aws-marketplace`).
16951
+ # The valid aliases are defined in an Amazon-maintained list. This
16952
+ # is not the AWS account alias that can be set using the IAM
16953
+ # console. We recommend that you use the **Owner** request parameter
16954
+ # instead of this filter.
16757
16955
  #
16758
16956
  # * `owner-id` - The AWS account ID of the owner. We recommend that
16759
- # you use the related parameter instead of this filter.
16957
+ # you use the **Owner** request parameter instead of this filter.
16760
16958
  #
16761
16959
  # * `platform` - The platform. To only list Windows-based AMIs, use
16762
16960
  # `windows`.
@@ -19664,9 +19862,8 @@ module Aws::EC2
19664
19862
  # * `private-dns-name` - The private DNS name of the network interface
19665
19863
  # (IPv4).
19666
19864
  #
19667
- # * `requester-id` - The ID of the entity that launched the instance
19668
- # on your behalf (for example, AWS Management Console, Auto Scaling,
19669
- # and so on).
19865
+ # * `requester-id` - The alias or AWS account ID of the principal or
19866
+ # service that created the network interface.
19670
19867
  #
19671
19868
  # * `requester-managed` - Indicates whether the network interface is
19672
19869
  # being managed by an AWS service (for example, AWS Management
@@ -21031,7 +21228,7 @@ module Aws::EC2
21031
21228
  # has been referenced in an outbound security group rule.
21032
21229
  #
21033
21230
  # * `egress.ip-permission.group-name` - The name of a security group
21034
- # that has been referenced in an outbound security group rule.
21231
+ # that is referenced in an outbound security group rule.
21035
21232
  #
21036
21233
  # * `egress.ip-permission.ipv6-cidr` - An IPv6 CIDR block for an
21037
21234
  # outbound security group rule.
@@ -21040,8 +21237,8 @@ module Aws::EC2
21040
21237
  # which a security group rule allows outbound access.
21041
21238
  #
21042
21239
  # * `egress.ip-permission.protocol` - The IP protocol for an outbound
21043
- # security group rule (`tcp` \| `udp` \| `icmp` or a protocol
21044
- # number).
21240
+ # security group rule (`tcp` \| `udp` \| `icmp`, a protocol number,
21241
+ # or -1 for all protocols).
21045
21242
  #
21046
21243
  # * `egress.ip-permission.to-port` - For an outbound rule, the end of
21047
21244
  # port range for the TCP and UDP protocols, or an ICMP code.
@@ -21062,8 +21259,8 @@ module Aws::EC2
21062
21259
  # * `ip-permission.group-id` - The ID of a security group that has
21063
21260
  # been referenced in an inbound security group rule.
21064
21261
  #
21065
- # * `ip-permission.group-name` - The name of a security group that has
21066
- # been referenced in an inbound security group rule.
21262
+ # * `ip-permission.group-name` - The name of a security group that is
21263
+ # referenced in an inbound security group rule.
21067
21264
  #
21068
21265
  # * `ip-permission.ipv6-cidr` - An IPv6 CIDR block for an inbound
21069
21266
  # security group rule.
@@ -21072,7 +21269,8 @@ module Aws::EC2
21072
21269
  # which a security group rule allows inbound access.
21073
21270
  #
21074
21271
  # * `ip-permission.protocol` - The IP protocol for an inbound security
21075
- # group rule (`tcp` \| `udp` \| `icmp` or a protocol number).
21272
+ # group rule (`tcp` \| `udp` \| `icmp`, a protocol number, or -1 for
21273
+ # all protocols).
21076
21274
  #
21077
21275
  # * `ip-permission.to-port` - For an inbound rule, the end of port
21078
21276
  # range for the TCP and UDP protocols, or an ICMP code.
@@ -24135,6 +24333,8 @@ module Aws::EC2
24135
24333
  #
24136
24334
  # * `service-name` - The name of the service.
24137
24335
  #
24336
+ # * `service-type` - The type of service (`Interface` \| `Gateway`).
24337
+ #
24138
24338
  # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned
24139
24339
  # to the resource. Use the tag key in the filter name and the tag
24140
24340
  # value as the filter value. For example, to find all resources that
@@ -26007,6 +26207,7 @@ module Aws::EC2
26007
26207
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
26008
26208
  # kms_key_id: "String",
26009
26209
  # throughput: 1,
26210
+ # outpost_arn: "String",
26010
26211
  # encrypted: false,
26011
26212
  # }
26012
26213
  #
@@ -26102,6 +26303,10 @@ module Aws::EC2
26102
26303
  # Valid Range: Minimum value of 125. Maximum value of 1000.
26103
26304
  # @return [Integer]
26104
26305
  #
26306
+ # @!attribute [rw] outpost_arn
26307
+ # The ARN of the Outpost on which the snapshot is stored.
26308
+ # @return [String]
26309
+ #
26105
26310
  # @!attribute [rw] encrypted
26106
26311
  # Indicates whether the encryption state of an EBS volume is changed
26107
26312
  # while being restored from a backing snapshot. The effect of setting
@@ -26134,6 +26339,7 @@ module Aws::EC2
26134
26339
  :volume_type,
26135
26340
  :kms_key_id,
26136
26341
  :throughput,
26342
+ :outpost_arn,
26137
26343
  :encrypted)
26138
26344
  SENSITIVE = []
26139
26345
  include Aws::Structure
@@ -27444,7 +27650,7 @@ module Aws::EC2
27444
27650
  # @return [String]
27445
27651
  #
27446
27652
  # @!attribute [rw] tag_specifications
27447
- # The tags to apply to the image being exported.
27653
+ # The tags to apply to the export image task during creation.
27448
27654
  # @return [Array<Types::TagSpecification>]
27449
27655
  #
27450
27656
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImageRequest AWS API Documentation
@@ -27501,7 +27707,7 @@ module Aws::EC2
27501
27707
  # @return [String]
27502
27708
  #
27503
27709
  # @!attribute [rw] tags
27504
- # Any tags assigned to the image being exported.
27710
+ # Any tags assigned to the export image task.
27505
27711
  # @return [Array<Types::Tag>]
27506
27712
  #
27507
27713
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImageResult AWS API Documentation
@@ -27553,7 +27759,7 @@ module Aws::EC2
27553
27759
  # @return [String]
27554
27760
  #
27555
27761
  # @!attribute [rw] tags
27556
- # Any tags assigned to the image being exported.
27762
+ # Any tags assigned to the export image task.
27557
27763
  # @return [Array<Types::Tag>]
27558
27764
  #
27559
27765
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImageTask AWS API Documentation
@@ -27571,7 +27777,7 @@ module Aws::EC2
27571
27777
  include Aws::Structure
27572
27778
  end
27573
27779
 
27574
- # Describes an instance export task.
27780
+ # Describes an export instance task.
27575
27781
  #
27576
27782
  # @!attribute [rw] description
27577
27783
  # A description of the resource being exported.
@@ -27661,7 +27867,7 @@ module Aws::EC2
27661
27867
  include Aws::Structure
27662
27868
  end
27663
27869
 
27664
- # Describes the format and location for an instance export task.
27870
+ # Describes the format and location for the export task.
27665
27871
  #
27666
27872
  # @!attribute [rw] container_format
27667
27873
  # The container format used to combine disk images with metadata (such
@@ -27693,7 +27899,7 @@ module Aws::EC2
27693
27899
  include Aws::Structure
27694
27900
  end
27695
27901
 
27696
- # Describes an instance export task.
27902
+ # Describes an export instance task.
27697
27903
  #
27698
27904
  # @note When making an API call, you may pass ExportToS3TaskSpecification
27699
27905
  # data as a hash:
@@ -27892,28 +28098,7 @@ module Aws::EC2
27892
28098
  # A filter name and value pair that is used to return a more specific
27893
28099
  # list of results from a describe operation. Filters can be used to
27894
28100
  # match a set of resources by specific criteria, such as tags,
27895
- # attributes, or IDs. The filters supported by a describe operation are
27896
- # documented with the describe operation. For example:
27897
- #
27898
- # * DescribeAvailabilityZones
27899
- #
27900
- # * DescribeImages
27901
- #
27902
- # * DescribeInstances
27903
- #
27904
- # * DescribeKeyPairs
27905
- #
27906
- # * DescribeSecurityGroups
27907
- #
27908
- # * DescribeSnapshots
27909
- #
27910
- # * DescribeSubnets
27911
- #
27912
- # * DescribeTags
27913
- #
27914
- # * DescribeVolumes
27915
- #
27916
- # * DescribeVpcs
28101
+ # attributes, or IDs.
27917
28102
  #
27918
28103
  # @note When making an API call, you may pass Filter
27919
28104
  # data as a hash:
@@ -28034,7 +28219,13 @@ module Aws::EC2
28034
28219
  # @return [Time]
28035
28220
  #
28036
28221
  # @!attribute [rw] replace_unhealthy_instances
28037
- # Indicates whether EC2 Fleet should replace unhealthy instances.
28222
+ # Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
28223
+ # Supported only for fleets of type `maintain`. For more information,
28224
+ # see [EC2 Fleet health checks][1] in the *Amazon EC2 User Guide*.
28225
+ #
28226
+ #
28227
+ #
28228
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks
28038
28229
  # @return [Boolean]
28039
28230
  #
28040
28231
  # @!attribute [rw] spot_options
@@ -28182,13 +28373,22 @@ module Aws::EC2
28182
28373
  # @return [Float]
28183
28374
  #
28184
28375
  # @!attribute [rw] priority
28185
- # The priority for the launch template override. If
28186
- # **AllocationStrategy** is set to `prioritized`, EC2 Fleet uses
28187
- # priority to determine which launch template override to use first in
28188
- # fulfilling On-Demand capacity. The highest priority is launched
28189
- # first. Valid values are whole numbers starting at `0`. The lower the
28376
+ # The priority for the launch template override. The highest priority
28377
+ # is launched first.
28378
+ #
28379
+ # If the On-Demand `AllocationStrategy` is set to `prioritized`, EC2
28380
+ # Fleet uses priority to determine which launch template override to
28381
+ # use first in fulfilling On-Demand capacity.
28382
+ #
28383
+ # If the Spot `AllocationStrategy` is set to
28384
+ # `capacity-optimized-prioritized`, EC2 Fleet uses priority on a
28385
+ # best-effort basis to determine which launch template override to use
28386
+ # first in fulfilling Spot capacity, but optimizes for capacity first.
28387
+ #
28388
+ # Valid values are whole numbers starting at `0`. The lower the
28190
28389
  # number, the higher the priority. If no number is set, the override
28191
- # has the lowest priority.
28390
+ # has the lowest priority. You can set the same priority for different
28391
+ # launch template overrides.
28192
28392
  # @return [Float]
28193
28393
  #
28194
28394
  # @!attribute [rw] placement
@@ -28258,13 +28458,22 @@ module Aws::EC2
28258
28458
  # @return [Float]
28259
28459
  #
28260
28460
  # @!attribute [rw] priority
28261
- # The priority for the launch template override. If
28262
- # **AllocationStrategy** is set to `prioritized`, EC2 Fleet uses
28263
- # priority to determine which launch template override to use first in
28264
- # fulfilling On-Demand capacity. The highest priority is launched
28265
- # first. Valid values are whole numbers starting at `0`. The lower the
28461
+ # The priority for the launch template override. The highest priority
28462
+ # is launched first.
28463
+ #
28464
+ # If the On-Demand `AllocationStrategy` is set to `prioritized`, EC2
28465
+ # Fleet uses priority to determine which launch template override to
28466
+ # use first in fulfilling On-Demand capacity.
28467
+ #
28468
+ # If the Spot `AllocationStrategy` is set to
28469
+ # `capacity-optimized-prioritized`, EC2 Fleet uses priority on a
28470
+ # best-effort basis to determine which launch template override to use
28471
+ # first in fulfilling Spot capacity, but optimizes for capacity first.
28472
+ #
28473
+ # Valid values are whole numbers starting at `0`. The lower the
28266
28474
  # number, the higher the priority. If no number is set, the launch
28267
- # template override has the lowest priority.
28475
+ # template override has the lowest priority. You can set the same
28476
+ # priority for different launch template overrides.
28268
28477
  # @return [Float]
28269
28478
  #
28270
28479
  # @!attribute [rw] placement
@@ -31094,7 +31303,7 @@ module Aws::EC2
31094
31303
  # @!attribute [rw] format
31095
31304
  # The format of the disk image being imported.
31096
31305
  #
31097
- # Valid values: `OVA` \| `VHD` \| `VHDX` \|`VMDK`
31306
+ # Valid values: `OVA` \| `VHD` \| `VHDX` \| `VMDK` \| `RAW`
31098
31307
  # @return [String]
31099
31308
  #
31100
31309
  # @!attribute [rw] snapshot_id
@@ -31383,7 +31592,7 @@ module Aws::EC2
31383
31592
  # @return [Array<Types::ImportImageLicenseConfigurationRequest>]
31384
31593
  #
31385
31594
  # @!attribute [rw] tag_specifications
31386
- # The tags to apply to the image being imported.
31595
+ # The tags to apply to the import image task during creation.
31387
31596
  # @return [Array<Types::TagSpecification>]
31388
31597
  #
31389
31598
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageRequest AWS API Documentation
@@ -31466,7 +31675,7 @@ module Aws::EC2
31466
31675
  # @return [Array<Types::ImportImageLicenseConfigurationResponse>]
31467
31676
  #
31468
31677
  # @!attribute [rw] tags
31469
- # Any tags assigned to the image being imported.
31678
+ # Any tags assigned to the import image task.
31470
31679
  # @return [Array<Types::Tag>]
31471
31680
  #
31472
31681
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageResult AWS API Documentation
@@ -32045,7 +32254,7 @@ module Aws::EC2
32045
32254
  # @return [String]
32046
32255
  #
32047
32256
  # @!attribute [rw] tag_specifications
32048
- # The tags to apply to the snapshot being imported.
32257
+ # The tags to apply to the import snapshot task during creation.
32049
32258
  # @return [Array<Types::TagSpecification>]
32050
32259
  #
32051
32260
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotRequest AWS API Documentation
@@ -32077,7 +32286,7 @@ module Aws::EC2
32077
32286
  # @return [Types::SnapshotTaskDetail]
32078
32287
  #
32079
32288
  # @!attribute [rw] tags
32080
- # Any tags assigned to the snapshot being imported.
32289
+ # Any tags assigned to the import snapshot task.
32081
32290
  # @return [Array<Types::Tag>]
32082
32291
  #
32083
32292
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotResult AWS API Documentation
@@ -34275,6 +34484,9 @@ module Aws::EC2
34275
34484
  #
34276
34485
  # @!attribute [rw] user_id
34277
34486
  # The AWS account ID.
34487
+ #
34488
+ # Constraints: Up to 10 000 account IDs can be specified in a single
34489
+ # request.
34278
34490
  # @return [String]
34279
34491
  #
34280
34492
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchPermission AWS API Documentation
@@ -34500,8 +34712,8 @@ module Aws::EC2
34500
34712
  # @return [Types::LaunchTemplateEbsBlockDevice]
34501
34713
  #
34502
34714
  # @!attribute [rw] no_device
34503
- # Suppresses the specified device included in the block device mapping
34504
- # of the AMI.
34715
+ # To omit the device from the block device mapping, specify an empty
34716
+ # string.
34505
34717
  # @return [String]
34506
34718
  #
34507
34719
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateBlockDeviceMapping AWS API Documentation
@@ -34555,8 +34767,8 @@ module Aws::EC2
34555
34767
  # @return [Types::LaunchTemplateEbsBlockDeviceRequest]
34556
34768
  #
34557
34769
  # @!attribute [rw] no_device
34558
- # Suppresses the specified device included in the block device mapping
34559
- # of the AMI.
34770
+ # To omit the device from the block device mapping, specify an empty
34771
+ # string.
34560
34772
  # @return [String]
34561
34773
  #
34562
34774
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateBlockDeviceMappingRequest AWS API Documentation
@@ -34831,9 +35043,9 @@ module Aws::EC2
34831
35043
  # [Instances built on the Nitro System][1]. Other instance families
34832
35044
  # guarantee performance up to 32,000 IOPS.
34833
35045
  #
34834
- # This parameter is required for `io1` and `io2` volumes. The default
34835
- # for `gp3` volumes is 3,000 IOPS. This parameter is not supported for
34836
- # `gp2`, `st1`, `sc1`, or `standard` volumes.
35046
+ # This parameter is supported for `io1`, `io2`, and `gp3` volumes
35047
+ # only. This parameter is not supported for `gp2`, `st1`, `sc1`, or
35048
+ # `standard` volumes.
34837
35049
  #
34838
35050
  #
34839
35051
  #
@@ -34851,11 +35063,8 @@ module Aws::EC2
34851
35063
  #
34852
35064
  # @!attribute [rw] volume_size
34853
35065
  # The size of the volume, in GiBs. You must specify either a snapshot
34854
- # ID or a volume size. If you specify a snapshot, the default is the
34855
- # snapshot size. You can specify a volume size that is equal to or
34856
- # larger than the snapshot size.
34857
- #
34858
- # The following are the supported volumes sizes for each volume type:
35066
+ # ID or a volume size. The following are the supported volumes sizes
35067
+ # for each volume type:
34859
35068
  #
34860
35069
  # * `gp2` and `gp3`\: 1-16,384
34861
35070
  #
@@ -34867,9 +35076,8 @@ module Aws::EC2
34867
35076
  # @return [Integer]
34868
35077
  #
34869
35078
  # @!attribute [rw] volume_type
34870
- # The volume type. The default is `gp2`. For more information, see
34871
- # [Amazon EBS volume types][1] in the *Amazon Elastic Compute Cloud
34872
- # User Guide*.
35079
+ # The volume type. For more information, see [Amazon EBS volume
35080
+ # types][1] in the *Amazon Elastic Compute Cloud User Guide*.
34873
35081
  #
34874
35082
  #
34875
35083
  #
@@ -35585,13 +35793,22 @@ module Aws::EC2
35585
35793
  # @return [Float]
35586
35794
  #
35587
35795
  # @!attribute [rw] priority
35588
- # The priority for the launch template override. If
35589
- # **OnDemandAllocationStrategy** is set to `prioritized`, Spot Fleet
35796
+ # The priority for the launch template override. The highest priority
35797
+ # is launched first.
35798
+ #
35799
+ # If `OnDemandAllocationStrategy` is set to `prioritized`, Spot Fleet
35590
35800
  # uses priority to determine which launch template override to use
35591
- # first in fulfilling On-Demand capacity. The highest priority is
35592
- # launched first. Valid values are whole numbers starting at `0`. The
35593
- # lower the number, the higher the priority. If no number is set, the
35594
- # launch template override has the lowest priority.
35801
+ # first in fulfilling On-Demand capacity.
35802
+ #
35803
+ # If the Spot `AllocationStrategy` is set to
35804
+ # `capacityOptimizedPrioritized`, Spot Fleet uses priority on a
35805
+ # best-effort basis to determine which launch template override to use
35806
+ # first in fulfilling Spot capacity, but optimizes for capacity first.
35807
+ #
35808
+ # Valid values are whole numbers starting at `0`. The lower the
35809
+ # number, the higher the priority. If no number is set, the launch
35810
+ # template override has the lowest priority. You can set the same
35811
+ # priority for different launch template overrides.
35595
35812
  # @return [Float]
35596
35813
  #
35597
35814
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateOverrides AWS API Documentation
@@ -36547,6 +36764,52 @@ module Aws::EC2
36547
36764
  include Aws::Structure
36548
36765
  end
36549
36766
 
36767
+ # @note When making an API call, you may pass ModifyAddressAttributeRequest
36768
+ # data as a hash:
36769
+ #
36770
+ # {
36771
+ # allocation_id: "AllocationId", # required
36772
+ # domain_name: "String",
36773
+ # dry_run: false,
36774
+ # }
36775
+ #
36776
+ # @!attribute [rw] allocation_id
36777
+ # \[EC2-VPC\] The allocation ID.
36778
+ # @return [String]
36779
+ #
36780
+ # @!attribute [rw] domain_name
36781
+ # The domain name to modify for the IP address.
36782
+ # @return [String]
36783
+ #
36784
+ # @!attribute [rw] dry_run
36785
+ # Checks whether you have the required permissions for the action,
36786
+ # without actually making the request, and provides an error response.
36787
+ # If you have the required permissions, the error response is
36788
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
36789
+ # @return [Boolean]
36790
+ #
36791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAddressAttributeRequest AWS API Documentation
36792
+ #
36793
+ class ModifyAddressAttributeRequest < Struct.new(
36794
+ :allocation_id,
36795
+ :domain_name,
36796
+ :dry_run)
36797
+ SENSITIVE = []
36798
+ include Aws::Structure
36799
+ end
36800
+
36801
+ # @!attribute [rw] address
36802
+ # Information about the Elastic IP address.
36803
+ # @return [Types::AddressAttribute]
36804
+ #
36805
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAddressAttributeResult AWS API Documentation
36806
+ #
36807
+ class ModifyAddressAttributeResult < Struct.new(
36808
+ :address)
36809
+ SENSITIVE = []
36810
+ include Aws::Structure
36811
+ end
36812
+
36550
36813
  # @note When making an API call, you may pass ModifyAvailabilityZoneGroupRequest
36551
36814
  # data as a hash:
36552
36815
  #
@@ -40797,8 +41060,8 @@ module Aws::EC2
40797
41060
  # @return [Array<Types::NetworkInterfacePrivateIpAddress>]
40798
41061
  #
40799
41062
  # @!attribute [rw] requester_id
40800
- # The ID of the entity that launched the instance on your behalf (for
40801
- # example, AWS Management Console or Auto Scaling).
41063
+ # The alias or AWS account ID of the principal or service that created
41064
+ # the network interface.
40802
41065
  # @return [String]
40803
41066
  #
40804
41067
  # @!attribute [rw] requester_managed
@@ -42376,6 +42639,31 @@ module Aws::EC2
42376
42639
  include Aws::Structure
42377
42640
  end
42378
42641
 
42642
+ # The status of an updated pointer (PTR) record for an Elastic IP
42643
+ # address.
42644
+ #
42645
+ # @!attribute [rw] value
42646
+ # The value for the PTR record update.
42647
+ # @return [String]
42648
+ #
42649
+ # @!attribute [rw] status
42650
+ # The status of the PTR record update.
42651
+ # @return [String]
42652
+ #
42653
+ # @!attribute [rw] reason
42654
+ # The reason for the PTR record update.
42655
+ # @return [String]
42656
+ #
42657
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PtrUpdateStatus AWS API Documentation
42658
+ #
42659
+ class PtrUpdateStatus < Struct.new(
42660
+ :value,
42661
+ :status,
42662
+ :reason)
42663
+ SENSITIVE = []
42664
+ include Aws::Structure
42665
+ end
42666
+
42379
42667
  # Describes an IPv4 address pool.
42380
42668
  #
42381
42669
  # @!attribute [rw] pool_id
@@ -42867,6 +43155,7 @@ module Aws::EC2
42867
43155
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
42868
43156
  # kms_key_id: "String",
42869
43157
  # throughput: 1,
43158
+ # outpost_arn: "String",
42870
43159
  # encrypted: false,
42871
43160
  # },
42872
43161
  # no_device: "String",
@@ -42905,6 +43194,20 @@ module Aws::EC2
42905
43194
  #
42906
43195
  # @!attribute [rw] block_device_mappings
42907
43196
  # The block device mapping entries.
43197
+ #
43198
+ # If you specify an EBS volume using the ID of an EBS snapshot, you
43199
+ # can't specify the encryption state of the volume.
43200
+ #
43201
+ # If you create an AMI on an Outpost, then all backing snapshots must
43202
+ # be on the same Outpost or in the Region of that Outpost. AMIs on an
43203
+ # Outpost that include local snapshots can be used to launch instances
43204
+ # on the same Outpost only. For more information, [ Amazon EBS local
43205
+ # snapshots on Outposts][1] in the *Amazon Elastic Compute Cloud User
43206
+ # Guide*.
43207
+ #
43208
+ #
43209
+ #
43210
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami
42908
43211
  # @return [Array<Types::BlockDeviceMapping>]
42909
43212
  #
42910
43213
  # @!attribute [rw] description
@@ -44180,7 +44483,7 @@ module Aws::EC2
44180
44483
  # @return [Boolean]
44181
44484
  #
44182
44485
  # @!attribute [rw] iam_instance_profile
44183
- # The IAM instance profile.
44486
+ # The name or Amazon Resource Name (ARN) of an IAM instance profile.
44184
44487
  # @return [Types::LaunchTemplateIamInstanceProfileSpecificationRequest]
44185
44488
  #
44186
44489
  # @!attribute [rw] block_device_mappings
@@ -44417,7 +44720,7 @@ module Aws::EC2
44417
44720
  # {
44418
44721
  # dry_run: false,
44419
44722
  # spot_fleet_request_config: { # required
44420
- # allocation_strategy: "lowestPrice", # accepts lowestPrice, diversified, capacityOptimized
44723
+ # allocation_strategy: "lowestPrice", # accepts lowestPrice, diversified, capacityOptimized, capacityOptimizedPrioritized
44421
44724
  # on_demand_allocation_strategy: "lowestPrice", # accepts lowestPrice, prioritized
44422
44725
  # spot_maintenance_strategies: {
44423
44726
  # capacity_rebalance: {
@@ -44450,6 +44753,7 @@ module Aws::EC2
44450
44753
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
44451
44754
  # kms_key_id: "String",
44452
44755
  # throughput: 1,
44756
+ # outpost_arn: "String",
44453
44757
  # encrypted: false,
44454
44758
  # },
44455
44759
  # no_device: "String",
@@ -44641,6 +44945,7 @@ module Aws::EC2
44641
44945
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
44642
44946
  # kms_key_id: "String",
44643
44947
  # throughput: 1,
44948
+ # outpost_arn: "String",
44644
44949
  # encrypted: false,
44645
44950
  # },
44646
44951
  # no_device: "String",
@@ -44901,6 +45206,7 @@ module Aws::EC2
44901
45206
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
44902
45207
  # kms_key_id: "String",
44903
45208
  # throughput: 1,
45209
+ # outpost_arn: "String",
44904
45210
  # encrypted: false,
44905
45211
  # },
44906
45212
  # no_device: "String",
@@ -45585,6 +45891,52 @@ module Aws::EC2
45585
45891
  include Aws::Structure
45586
45892
  end
45587
45893
 
45894
+ # @note When making an API call, you may pass ResetAddressAttributeRequest
45895
+ # data as a hash:
45896
+ #
45897
+ # {
45898
+ # allocation_id: "AllocationId", # required
45899
+ # attribute: "domain-name", # required, accepts domain-name
45900
+ # dry_run: false,
45901
+ # }
45902
+ #
45903
+ # @!attribute [rw] allocation_id
45904
+ # \[EC2-VPC\] The allocation ID.
45905
+ # @return [String]
45906
+ #
45907
+ # @!attribute [rw] attribute
45908
+ # The attribute of the IP address.
45909
+ # @return [String]
45910
+ #
45911
+ # @!attribute [rw] dry_run
45912
+ # Checks whether you have the required permissions for the action,
45913
+ # without actually making the request, and provides an error response.
45914
+ # If you have the required permissions, the error response is
45915
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
45916
+ # @return [Boolean]
45917
+ #
45918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetAddressAttributeRequest AWS API Documentation
45919
+ #
45920
+ class ResetAddressAttributeRequest < Struct.new(
45921
+ :allocation_id,
45922
+ :attribute,
45923
+ :dry_run)
45924
+ SENSITIVE = []
45925
+ include Aws::Structure
45926
+ end
45927
+
45928
+ # @!attribute [rw] address
45929
+ # Information about the IP address.
45930
+ # @return [Types::AddressAttribute]
45931
+ #
45932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetAddressAttributeResult AWS API Documentation
45933
+ #
45934
+ class ResetAddressAttributeResult < Struct.new(
45935
+ :address)
45936
+ SENSITIVE = []
45937
+ include Aws::Structure
45938
+ end
45939
+
45588
45940
  # @note When making an API call, you may pass ResetEbsDefaultKmsKeyIdRequest
45589
45941
  # data as a hash:
45590
45942
  #
@@ -46679,6 +47031,7 @@ module Aws::EC2
46679
47031
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
46680
47032
  # kms_key_id: "String",
46681
47033
  # throughput: 1,
47034
+ # outpost_arn: "String",
46682
47035
  # encrypted: false,
46683
47036
  # },
46684
47037
  # no_device: "String",
@@ -47046,7 +47399,7 @@ module Aws::EC2
47046
47399
  # @return [Boolean]
47047
47400
  #
47048
47401
  # @!attribute [rw] iam_instance_profile
47049
- # The IAM instance profile.
47402
+ # The name or Amazon Resource Name (ARN) of an IAM instance profile.
47050
47403
  # @return [Types::IamInstanceProfileSpecification]
47051
47404
  #
47052
47405
  # @!attribute [rw] instance_initiated_shutdown_behavior
@@ -48890,6 +49243,16 @@ module Aws::EC2
48890
49243
  # console.
48891
49244
  # @return [String]
48892
49245
  #
49246
+ # @!attribute [rw] outpost_arn
49247
+ # The ARN of the AWS Outpost on which the snapshot is stored. For more
49248
+ # information, see [EBS Local Snapshot on Outposts][1] in the *Amazon
49249
+ # Elastic Compute Cloud User Guide*.
49250
+ #
49251
+ #
49252
+ #
49253
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html
49254
+ # @return [String]
49255
+ #
48893
49256
  # @!attribute [rw] tags
48894
49257
  # Any tags assigned to the snapshot.
48895
49258
  # @return [Array<Types::Tag>]
@@ -48910,6 +49273,7 @@ module Aws::EC2
48910
49273
  :volume_id,
48911
49274
  :volume_size,
48912
49275
  :owner_alias,
49276
+ :outpost_arn,
48913
49277
  :tags)
48914
49278
  SENSITIVE = []
48915
49279
  include Aws::Structure
@@ -48996,7 +49360,7 @@ module Aws::EC2
48996
49360
  # @!attribute [rw] format
48997
49361
  # The format of the disk image being imported.
48998
49362
  #
48999
- # Valid values: `VHD` \| `VMDK`
49363
+ # Valid values: `VHD` \| `VMDK` \| `RAW`
49000
49364
  # @return [String]
49001
49365
  #
49002
49366
  # @!attribute [rw] url
@@ -49063,6 +49427,16 @@ module Aws::EC2
49063
49427
  # Snapshot id that can be used to describe this snapshot.
49064
49428
  # @return [String]
49065
49429
  #
49430
+ # @!attribute [rw] outpost_arn
49431
+ # The ARN of the AWS Outpost on which the snapshot is stored. For more
49432
+ # information, see [EBS Local Snapshot on Outposts][1] in the *Amazon
49433
+ # Elastic Compute Cloud User Guide*.
49434
+ #
49435
+ #
49436
+ #
49437
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html
49438
+ # @return [String]
49439
+ #
49066
49440
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotInfo AWS API Documentation
49067
49441
  #
49068
49442
  class SnapshotInfo < Struct.new(
@@ -49075,7 +49449,8 @@ module Aws::EC2
49075
49449
  :start_time,
49076
49450
  :progress,
49077
49451
  :owner_id,
49078
- :snapshot_id)
49452
+ :snapshot_id,
49453
+ :outpost_arn)
49079
49454
  SENSITIVE = []
49080
49455
  include Aws::Structure
49081
49456
  end
@@ -49253,6 +49628,7 @@ module Aws::EC2
49253
49628
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
49254
49629
  # kms_key_id: "String",
49255
49630
  # throughput: 1,
49631
+ # outpost_arn: "String",
49256
49632
  # encrypted: false,
49257
49633
  # },
49258
49634
  # no_device: "String",
@@ -49532,7 +49908,7 @@ module Aws::EC2
49532
49908
  # data as a hash:
49533
49909
  #
49534
49910
  # {
49535
- # allocation_strategy: "lowestPrice", # accepts lowestPrice, diversified, capacityOptimized
49911
+ # allocation_strategy: "lowestPrice", # accepts lowestPrice, diversified, capacityOptimized, capacityOptimizedPrioritized
49536
49912
  # on_demand_allocation_strategy: "lowestPrice", # accepts lowestPrice, prioritized
49537
49913
  # spot_maintenance_strategies: {
49538
49914
  # capacity_rebalance: {
@@ -49565,6 +49941,7 @@ module Aws::EC2
49565
49941
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
49566
49942
  # kms_key_id: "String",
49567
49943
  # throughput: 1,
49944
+ # outpost_arn: "String",
49568
49945
  # encrypted: false,
49569
49946
  # },
49570
49947
  # no_device: "String",
@@ -49704,9 +50081,19 @@ module Aws::EC2
49704
50081
  # If the allocation strategy is `diversified`, Spot Fleet launches
49705
50082
  # instances from all the Spot Instance pools that you specify.
49706
50083
  #
49707
- # If the allocation strategy is `capacityOptimized`, Spot Fleet
49708
- # launches instances from Spot Instance pools with optimal capacity
49709
- # for the number of instances that are launching.
50084
+ # If the allocation strategy is `capacityOptimized` (recommended),
50085
+ # Spot Fleet launches instances from Spot Instance pools with optimal
50086
+ # capacity for the number of instances that are launching. To give
50087
+ # certain instance types a higher chance of launching first, use
50088
+ # `capacityOptimizedPrioritized`. Set a priority for each instance
50089
+ # type by using the `Priority` parameter for
50090
+ # `LaunchTemplateOverrides`. You can assign the same priority to
50091
+ # different `LaunchTemplateOverrides`. EC2 implements the priorities
50092
+ # on a best-effort basis, but optimizes for capacity first.
50093
+ # `capacityOptimizedPrioritized` is supported only if your Spot Fleet
50094
+ # uses a launch template. Note that if the
50095
+ # `OnDemandAllocationStrategy` is set to `prioritized`, the same
50096
+ # priority is applied when fulfilling On-Demand capacity.
49710
50097
  # @return [String]
49711
50098
  #
49712
50099
  # @!attribute [rw] on_demand_allocation_strategy
@@ -50267,9 +50654,19 @@ module Aws::EC2
50267
50654
  # If the allocation strategy is `diversified`, EC2 Fleet launches
50268
50655
  # instances from all of the Spot Instance pools that you specify.
50269
50656
  #
50270
- # If the allocation strategy is `capacity-optimized`, EC2 Fleet
50271
- # launches instances from Spot Instance pools with optimal capacity
50272
- # for the number of instances that are launching.
50657
+ # If the allocation strategy is `capacity-optimized` (recommended),
50658
+ # EC2 Fleet launches instances from Spot Instance pools with optimal
50659
+ # capacity for the number of instances that are launching. To give
50660
+ # certain instance types a higher chance of launching first, use
50661
+ # `capacity-optimized-prioritized`. Set a priority for each instance
50662
+ # type by using the `Priority` parameter for
50663
+ # `LaunchTemplateOverrides`. You can assign the same priority to
50664
+ # different `LaunchTemplateOverrides`. EC2 implements the priorities
50665
+ # on a best-effort basis, but optimizes for capacity first.
50666
+ # `capacity-optimized-prioritized` is supported only if your fleet
50667
+ # uses a launch template. Note that if the On-Demand
50668
+ # `AllocationStrategy` is set to `prioritized`, the same priority is
50669
+ # applied when fulfilling On-Demand capacity.
50273
50670
  # @return [String]
50274
50671
  #
50275
50672
  # @!attribute [rw] maintenance_strategies
@@ -50334,7 +50731,7 @@ module Aws::EC2
50334
50731
  # data as a hash:
50335
50732
  #
50336
50733
  # {
50337
- # allocation_strategy: "lowest-price", # accepts lowest-price, diversified, capacity-optimized
50734
+ # allocation_strategy: "lowest-price", # accepts lowest-price, diversified, capacity-optimized, capacity-optimized-prioritized
50338
50735
  # maintenance_strategies: {
50339
50736
  # capacity_rebalance: {
50340
50737
  # replacement_strategy: "launch", # accepts launch
@@ -50359,9 +50756,19 @@ module Aws::EC2
50359
50756
  # If the allocation strategy is `diversified`, EC2 Fleet launches
50360
50757
  # instances from all of the Spot Instance pools that you specify.
50361
50758
  #
50362
- # If the allocation strategy is `capacity-optimized`, EC2 Fleet
50363
- # launches instances from Spot Instance pools with optimal capacity
50364
- # for the number of instances that are launching.
50759
+ # If the allocation strategy is `capacity-optimized` (recommended),
50760
+ # EC2 Fleet launches instances from Spot Instance pools with optimal
50761
+ # capacity for the number of instances that are launching. To give
50762
+ # certain instance types a higher chance of launching first, use
50763
+ # `capacity-optimized-prioritized`. Set a priority for each instance
50764
+ # type by using the `Priority` parameter for
50765
+ # `LaunchTemplateOverrides`. You can assign the same priority to
50766
+ # different `LaunchTemplateOverrides`. EC2 implements the priorities
50767
+ # on a best-effort basis, but optimizes for capacity first.
50768
+ # `capacity-optimized-prioritized` is supported only if your fleet
50769
+ # uses a launch template. Note that if the On-Demand
50770
+ # `AllocationStrategy` is set to `prioritized`, the same priority is
50771
+ # applied when fulfilling On-Demand capacity.
50365
50772
  # @return [String]
50366
50773
  #
50367
50774
  # @!attribute [rw] maintenance_strategies